From d8f42b4615121e2607f7f7e2ba2e93194cefd965 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Sat, 16 Jul 2022 10:20:41 +0800
Subject: [PATCH] 设备
---
src/views/equipment/index.vue | 181 +++++++++++++++++++++++++++++++++++++++++++-
src/styles/element-ui.scss | 24 ++++++
2 files changed, 199 insertions(+), 6 deletions(-)
diff --git a/src/styles/element-ui.scss b/src/styles/element-ui.scss
index a5febae..05abcc4 100644
--- a/src/styles/element-ui.scss
+++ b/src/styles/element-ui.scss
@@ -38,4 +38,28 @@
left: 50%;
transform: translate(-50%, -50%);
z-index: 99;
+}
+
+.equipment-plot-select {
+
+ .el-input {
+ position: relative;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ .el-input__suffix {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+ }
+
+ input {
+ color: rgba(255, 255, 255, 1);
+ font-size: 28px !important;
+ font-weight: bold;
+ background: transparent !important;
+ border: none !important;
+ }
}
\ No newline at end of file
diff --git a/src/views/equipment/index.vue b/src/views/equipment/index.vue
index 91cfd60..01e4647 100644
--- a/src/views/equipment/index.vue
+++ b/src/views/equipment/index.vue
@@ -13,7 +13,16 @@
<i class="el-icon-back"></i> 返回
</span>
</div>
- <div class="title">{{currentDetails.farmName}}</div>
+ <div class="title">
+ <el-select class="equipment-plot-select" v-model="plotName" placeholder="选择地块">
+ <el-option
+ v-for="(item, index) in plotList"
+ :key="index"
+ :label="item.name"
+ :value="item.id"
+ ></el-option>
+ </el-select>
+ </div>
</div>
<div class="current-body">
@@ -70,7 +79,7 @@
<div class="bottom">
<div class="l">
<i class="el-icon-time"></i>
- <span class="old-btn">历史数据</span>
+ <span class="old-btn" @click="historyData">历史数据</span>
</div>
<div class="r">48天前更新</div>
@@ -82,9 +91,15 @@
</div>
</div>
- <div class="echarts-box">
+ <div class="echarts-box" v-show="echartsBosShow">
<div class="box">
- <img class="close" src="/img/icon/echarts-close.png" alt />
+ <img
+ @click="echartsBosShow = false"
+ class="close"
+ src="/img/icon/echarts-close.png"
+ alt
+ />
+ <div id="EchartsBox"></div>
</div>
</div>
</div>
@@ -95,7 +110,22 @@
export default {
data () {
return {
- currentDetails: {}
+ plotName: '非凡渔业专业合作社',
+ plotList: [{
+ name: '1号',
+ id: 1
+ }, {
+ name: '2号',
+ id: 2
+ }, {
+ name: '3号',
+ id: 3
+ }, {
+ name: '4号',
+ id: 4
+ }],
+ currentDetails: {},
+ echartsBosShow: false
}
},
created () {
@@ -105,8 +135,137 @@
},
methods: {
+ prev () {
+ this.$router.go(-1)
+ },
+
getParams () {
this.currentDetails = this.$route.query
+ },
+
+ initLine (dom, yName, x, y) {
+ const that = this
+ const chartDom = document.getElementById(dom)
+ const myChart = this.$echarts.init(chartDom)
+
+ const option = {
+ tooltip: {},
+ grid: {
+ top: '30px',
+ left: '28px',
+ right: '28px',
+ bottom: '0px',
+ containLabel: true
+ },
+ xAxis: [
+ {
+
+ type: 'category',
+ boundaryGap: false,
+ axisLine: {
+ show: true,
+ lineStyle: {
+ color: '#697B89'
+ }
+ },
+ axisLabel: {
+ // 坐标轴刻度标签的相关设置
+ lineHeight: 18,
+ textStyle: {
+ color: '#A9D1D7',
+ margin: 8
+ },
+ formatter: function (value) {
+ var ret = ''// 拼接加\n返回的类目项
+ var maxLength = 5// 每项显示文字个数
+ value = value.replace(/\s*/g, '')
+ var valLength = value.length// X轴类目项的文字个数
+
+ var rowN = Math.ceil(valLength / maxLength) // 类目项需要换行的行数
+ // 如果类目项的文字大于5,
+ if (rowN > 1) {
+ for (var i = 0; i < rowN; i++) {
+ var temp = ''// 每次截取的字符串
+ var start = i * maxLength// 开始截取的位置
+ var end = start + maxLength// 结束截取的位置
+ // 这里也可以加一个是否是最后一行的判断,但是不加也没有影响,那就不加吧
+ temp = value.substring(start, end) + '\n'
+ ret += temp // 凭借最终的字符串
+ }
+ return ret
+ } else {
+ return value
+ }
+ }
+ },
+ axisTick: { show: false },
+ data: x
+ }
+ ],
+ yAxis: [
+ {
+ name: yName,
+ nameTextStyle: {
+ color: '#A9D1D7'
+ },
+ type: 'value',
+ min: 0,
+ splitLine: {
+ show: false
+ },
+ axisLine: {
+ show: true,
+ lineStyle: {
+ color: '#697B89'
+ }
+ },
+ axisLabel: {
+ margin: 8,
+ textStyle: {
+ color: '#A9D1D7'
+ }
+ },
+ axisTick: { show: false }
+ }
+ ],
+ series: [
+ {
+ type: 'line',
+ smooth: true, // 是否平滑曲线显示
+ symbolSize: 0,
+ lineStyle: {
+ normal: {
+ color: '#5ABF78' // 线条颜色
+ }
+ },
+ areaStyle: {
+ // 区域填充样式
+ normal: {
+ // 线性渐变,前4个参数分别是x0,y0,x2,y2(范围0~1);相当于图形包围盒中的百分比。如果最后一个参数是‘true’,则该四个值是绝对像素位置。
+ color: new that.$echarts.graphic.LinearGradient(0, 0, 0, 1, [{
+ offset: 0,
+ color: 'rgba(90, 191, 120, 0.5000)'
+ }, {
+ offset: 1,
+ color: 'rgba(90, 191, 120, 0)'
+ }]),
+
+ shadowColor: 'rgba(53,142,215, 0.9)', // 阴影颜色
+ shadowBlur: 20 // shadowBlur设图形阴影的模糊大小。配合shadowColor,shadowOffsetX/Y, 设置图形的阴影效果。
+ }
+ },
+ data: y
+ }
+ ]
+ }
+
+ option && myChart.setOption(option)
+ },
+
+ historyData () {
+ this.initLine('EchartsBox', '单位:℃', ['03-14 16:00', '03-15 16:00', '03-16 16:00', '03-17 16:00', '03-18 16:00', '03-19 16:00'], [20, 24, 23, 25, 30, 18])
+
+ this.echartsBosShow = true
}
}
}
@@ -153,13 +312,16 @@
}
.title {
+ display: flex;
+ align-items: center;
+ justify-content: center;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
margin: auto;
- width: 200px;
+ width: calc(100% - 200px);
font-size: 28px;
font-weight: bold;
color: #08f4ff;
@@ -392,6 +554,13 @@
top: 20px;
right: 20px;
width: 28px;
+ cursor: pointer;
+ }
+
+ #EchartsBox {
+ margin-top: 48px;
+ width: 914px;
+ height: 280px;
}
}
}
--
Gitblit v1.9.3