pc-master #37
|
@ -178,7 +178,7 @@ export default {
|
|||
value: this.openIndex,
|
||||
},
|
||||
};
|
||||
this.changeBtn(21600 + ((this.indexs - 1) * 11), dataNum);
|
||||
this.changeBtn('21600', dataNum);
|
||||
},
|
||||
//失去焦点 计算公式 x/10
|
||||
blurChange10(code, el) {
|
||||
|
|
|
@ -52,19 +52,28 @@
|
|||
|
||||
<div class="environmentData">
|
||||
<div class="e_title">温室环境数据</div>
|
||||
<div class="detail scroll">
|
||||
<div class="title_child">一号温室</div>
|
||||
<div class="e_content">
|
||||
<div class="detail">
|
||||
<!-- <div class="title_child">一号温室</div> -->
|
||||
<vue-seamless class="e_content" :data="list" :class-option="defaultOption">
|
||||
<div class="item" v-for="(el, index) in list" :key="index">
|
||||
<!-- <img :src="el.formula" alt=""> -->
|
||||
<img :src="require('../../assets/image/real-time-'+el.formula+'.png')" alt="">
|
||||
<img :src="el.img" alt="">
|
||||
<div class="item_child">
|
||||
<span>{{ el.environmentDataId }}</span>
|
||||
<span>{{ el.environmentData }}</span>
|
||||
<span>{{ el.name }}</span>
|
||||
<span>{{ el.num }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</vue-seamless>
|
||||
<!-- <div class="e_content">
|
||||
<div class="item" v-for="(el, index) in list" :key="index">
|
||||
<img :src="el.img" alt="">
|
||||
<div class="item_child">
|
||||
<span>{{ el.name }}</span>
|
||||
<span>{{ el.num }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="thisWeekTemperature">
|
||||
|
@ -141,41 +150,48 @@
|
|||
</div>
|
||||
|
||||
<div class="device_content scroll">
|
||||
<div class="content_item" v-for="(content_item, index) in 6" :key="index">
|
||||
<div class="content_item">
|
||||
<div class="i_title">
|
||||
<img src="../../assets/img/i_title_img.png" alt="">
|
||||
<span>卷膜天窗</span>
|
||||
<span>风机</span>
|
||||
<span class="line"></span>
|
||||
<span>打开</span>
|
||||
<span>{{ fanStatus.open == 1 ? '自动控制' : '手动控制' }}</span>
|
||||
<span class="line"></span>
|
||||
<span>位置50%</span>
|
||||
<span @click="i_contentHandler(index)">菜单</span>
|
||||
<span>菜单</span>
|
||||
</div>
|
||||
<div class="i_content" v-if="menu_current == true && content_item_current == index">
|
||||
<div class="i_content">
|
||||
<div class="i_content_item">
|
||||
<span>1#风机</span>
|
||||
<span>开启</span>
|
||||
<span>{{ fanStatus.status[0] == 1 ? '打开' : '关闭' }}</span>
|
||||
<span class="line"></span>
|
||||
<span>2#风机</span>
|
||||
<span>开启</span>
|
||||
<span>{{ fanStatus.status[1] == 1 ? '打开' : '关闭' }}</span>
|
||||
</div>
|
||||
<div class="line1"></div>
|
||||
<div class="i_content_item">
|
||||
<span>3#风机</span>
|
||||
<span>开启</span>
|
||||
<span>{{ fanStatus.status[2] == 1 ? '打开' : '关闭' }}</span>
|
||||
<span class="line"></span>
|
||||
<span>4#风机</span>
|
||||
<span>开启</span>
|
||||
<span>{{ fanStatus.status[3] == 1 ? '打开' : '关闭' }}</span>
|
||||
</div>
|
||||
<div class="line1"></div>
|
||||
<div class="i_content_item">
|
||||
<span>5#风机</span>
|
||||
<span>开启</span>
|
||||
<span>{{ fanStatus.status[4] == 1 ? '打开' : '关闭' }}</span>
|
||||
<span class="line"></span>
|
||||
<span>6#风机</span>
|
||||
<span>开启</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="i_title" style="margin-top: 0.2rem;" v-for="(item, index) in statusList" :key="index">
|
||||
<img src="../../assets/img/i_title_img.png" alt="">
|
||||
<span>{{ item.name }}</span>
|
||||
<span class="line"></span>
|
||||
<span>{{ item.open == 1 ? '自动控制' : '手动控制' }}</span>
|
||||
<span class="line"></span>
|
||||
<span>位置{{ item.progress }}%</span>
|
||||
<span>菜单</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -192,9 +208,24 @@ import { weather_echart, thisWeekTemperature_echart } from '@/assets/js/echarts'
|
|||
import EZUIKit from 'ezuikit-js';
|
||||
import videojs from 'video.js';
|
||||
import video_zhCN from 'video.js/dist/lang/zh-CN.json'
|
||||
|
||||
import vueSeamless from 'vue-seamless-scroll'
|
||||
export default {
|
||||
name: 'largeScreen',
|
||||
components: { vueSeamless },
|
||||
computed: {
|
||||
defaultOption() {
|
||||
return {
|
||||
step: 0.3, // 数值越大速度滚动越快
|
||||
limitMoveNum: 8, // 开始无缝滚动的数据量 this.dataList.length
|
||||
hoverStop: true, // 是否开启鼠标悬停stop
|
||||
direction: 1, // 0向下 1向上 2向左 3向右
|
||||
openWatch: true, // 开启数据实时监控刷新dom
|
||||
singleHeight: 0, // 单步运动停止的高度(默认值0是无缝不停止的滚动) direction => 0/1
|
||||
singleWidth: 0, // 单步运动停止的宽度(默认值0是无缝不停止的滚动) direction => 2/3
|
||||
waitTime: 1000 // 单步运动停止的时间(默认值1000ms)
|
||||
}
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
list: [],
|
||||
|
@ -238,7 +269,12 @@ export default {
|
|||
// 获取摄像头得地址 Copy
|
||||
getVideoDataList: [],
|
||||
|
||||
url:''
|
||||
url: '',
|
||||
|
||||
fanStatus: {
|
||||
name: '风机', open: 0, status: []
|
||||
},
|
||||
statusList: [],
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
|
@ -261,9 +297,9 @@ export default {
|
|||
|
||||
this.drag_boxHandler()
|
||||
|
||||
// this.timer_ = setTimeout(() => {
|
||||
// this.$router.push({ path: '/largeScreen1' })
|
||||
// }, 6000);
|
||||
this.timer_ = setTimeout(() => {
|
||||
this.$router.push({ path: '/largeScreen1' })
|
||||
}, 6000);
|
||||
|
||||
|
||||
this.login()
|
||||
|
@ -329,7 +365,40 @@ export default {
|
|||
this.api.getcontrol_rtdata(equipmentId).then(res => {
|
||||
// console.log('主页查看控制器实时数据',res);
|
||||
if (res.data.code == 200) {
|
||||
this.list = res.data.data
|
||||
this.list = []
|
||||
var store = this.$store.state
|
||||
var list = store.typeList
|
||||
res.data.data.forEach((el, index) => {
|
||||
list.forEach((el1, index1) => {
|
||||
if (el.formula == el1.value) {
|
||||
var num = 0
|
||||
var name = ''
|
||||
num = el.environmentData + el1.unit
|
||||
if (el.equipmentNumber == 0) {
|
||||
if (el.targetValue == 1) {
|
||||
name = '目标' + el.environmentDataId
|
||||
} else {
|
||||
name = '1#平均' + el.environmentDataId
|
||||
}
|
||||
} else if (el.equipmentNumber == 15) {
|
||||
if (el.targetValue == 1) {
|
||||
name = '目标' + el.environmentDataId
|
||||
} else {
|
||||
name = '2#平均' + el.environmentDataId
|
||||
}
|
||||
} else {
|
||||
name = el.equipmentNumber + '#' + el.environmentDataId
|
||||
}
|
||||
this.list.push({
|
||||
...el,
|
||||
name: name,
|
||||
num: num,
|
||||
img: require(`../../assets/image/real-time-${el.formula}.png`)
|
||||
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
|
@ -363,10 +432,30 @@ export default {
|
|||
})
|
||||
},
|
||||
|
||||
padString(str, length) {
|
||||
return str.padStart(length, '0');
|
||||
},
|
||||
|
||||
|
||||
// 控制器状态值获取 Copy
|
||||
get_readControl_getState(deviceId) {
|
||||
this.api.readControl_getState(deviceId).then(res => {
|
||||
console.log('控制器状态值获取 Copy', res);
|
||||
if (res.data.code == 200) {
|
||||
this.fanStatus.open = res.data.data['1023']
|
||||
this.fanStatus.status = []
|
||||
var num = res.data.data['1024']
|
||||
var num1 = this.padString(num.toString(2), 5)
|
||||
var openListNew = []
|
||||
openListNew = num1.split("")
|
||||
this.fanStatus.status = openListNew.reverse()
|
||||
this.statusList = []
|
||||
for (var i = 0; i < 4; i++) {
|
||||
var statusData = { name: `顶卷膜${i + 1}`, open: res.data.data[(1025 + (i * 3))], progress: res.data.data[(1027 + (i * 3))], index: res.data.data[(1026 + (i * 3))] }
|
||||
this.statusList.push(statusData)
|
||||
}
|
||||
console.log(this.statusList);
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
|
@ -518,7 +607,22 @@ export default {
|
|||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss">
|
||||
.environmentData {
|
||||
.e_content {
|
||||
>div {
|
||||
width: 100% !important;
|
||||
|
||||
>div {
|
||||
width: 100% !important;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</style>
|
||||
<style lang="scss" scoped>
|
||||
.home {
|
||||
width: 100%;
|
||||
|
@ -751,7 +855,7 @@ export default {
|
|||
.detail {
|
||||
width: 3.98rem;
|
||||
height: 3.08rem;
|
||||
overflow: auto;
|
||||
overflow: hidden;
|
||||
|
||||
.title_child {
|
||||
width: 100%;
|
||||
|
@ -770,6 +874,8 @@ export default {
|
|||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
||||
|
||||
|
||||
.item {
|
||||
width: 50%;
|
||||
display: flex;
|
||||
|
|
|
@ -191,15 +191,15 @@ export default {
|
|||
mounted() {
|
||||
this.drag_boxHandler()
|
||||
|
||||
// this.timer1 = setTimeout(() => {
|
||||
// this.$router.push({ path: '/largeScreen' })
|
||||
// }, 20000);
|
||||
this.timer1 = setTimeout(() => {
|
||||
this.$router.push({ path: '/largeScreen' })
|
||||
}, 20000);
|
||||
|
||||
|
||||
|
||||
// this.timer = setInterval(() => {
|
||||
// this.dialogVisible = !this.dialogVisible
|
||||
// }, 3000);
|
||||
this.timer = setInterval(() => {
|
||||
this.dialogVisible = !this.dialogVisible
|
||||
}, 3000);
|
||||
|
||||
this.login()
|
||||
|
||||
|
|
Loading…
Reference in New Issue