This commit is contained in:
2023-04-28 16:00:04 +08:00
parent 05f977fc56
commit 7907a06dad
271 changed files with 5432 additions and 410 deletions

View File

@ -105,7 +105,35 @@
</div>
</div>
<div class="leftFoldDiv" @click="leftFoldClick()">
<el-icon><ArrowRightBold /></el-icon>
<el-tooltip
class="box-item"
:show-arrow="false"
:disabled="leftWraFlag"
hide-after="0"
show-after="200"
effect="dark"
content="展开"
placement="top"
>
<img v-if="!leftWraFlag" src="@/assets/images/close1.png" alt="" />
</el-tooltip>
<el-tooltip
:disabled="!leftWraFlag"
:show-arrow="false"
class="box-item"
show-after="200"
hide-after="0"
effect="dark"
content="收起"
placement="top"
>
<img
class="imgrotate"
v-if="leftWraFlag"
src="@/assets/images/close1.png"
alt=""
/>
</el-tooltip>
</div>
</div>
<div class="rightWra">
@ -163,7 +191,35 @@
<div ref="ASdivisionDiv" class="ASdivision"></div>
</div>
<div class="rightFoldDiv" @click="rightFoldClick()">
<el-icon><ArrowLeftBold /></el-icon>
<el-tooltip
:disabled="!rightWraFlag"
:show-arrow="false"
hide-after="0"
show-after="200"
class="box-item"
effect="dark"
content="收起"
placement="top"
>
<img v-if="rightWraFlag" src="@/assets/images/close1.png" alt="" />
</el-tooltip>
<el-tooltip
:disabled="rightWraFlag"
:show-arrow="false"
hide-after="0"
show-after="200"
class="box-item"
effect="dark"
content="展开"
placement="top"
>
<img
class="imgrotate"
v-if="!rightWraFlag"
src="@/assets/images/close1.png"
alt=""
/>
</el-tooltip>
</div>
</div>
@ -840,6 +896,17 @@ function villageClick(layers, xy, level, cartographic) {
promise.then(data => {
if (data.length > 0) {
let newData = data['0'];
console.log(newData);
viewer.camera.flyTo({
destination: Cesium.Rectangle.fromDegrees(
newData.data.bbox[0],
newData.data.bbox[1],
newData.data.bbox[2],
newData.data.bbox[3]
),
duration: 2,
});
if (newData.properties && newData.properties.XZQDM) {
if (XZQDM !== newData.properties.XZQDM) {
//防止
@ -1144,11 +1211,11 @@ const selectTab = () => {
};
areatext = '8383894';
typesofdata = {
小麦: { value: 12364, percent: '20%' },
花生: { value: 12364, percent: '20%' },
大豆: { value: 12364, percent: '20%' },
地瓜: { value: 12364, percent: '20%' },
花生: { value: 12364, percent: '20%' },
小麦: { value: 30111, percent: '20%' },
花生: { value: 52590, percent: '20%' },
大豆: { value: 1767, percent: '20%' },
地瓜: { value: 797, percent: '20%' },
花生: { value: 1820, percent: '20%' },
};
Pie3D = reactive({
arr: [
@ -2309,6 +2376,7 @@ function back() {
duration: 2,
});
flag.value = false;
hiddenOverlayChart();
}
// 图表点击事件
function ChartClick(item) {
@ -3025,7 +3093,6 @@ function hiddenOverlayChart() {
deleteEntityByName('villageLine');
deleteEntityByName('townLine');
const pop = document.getElementById('pop');
pop.style.display = 'none'; // 清除监听事件
viewer.scene.postRender.removeEventListener(infoWindowPostRender);
@ -3035,7 +3102,9 @@ function hiddenOverlayChart() {
duration: 2,
});
removeWms(['gbznt'], true);
// addWms('shuzisannong:huangdaoqu_town', 'tl');
if (flag.value) {
addWms('shuzisannong:huangdaoqu_town', 'tl');
}
flag.value = false;
}
//显示弹窗
@ -3062,7 +3131,9 @@ $height: calc(100vh - 100px);
.center {
width: 100%;
height: 100%;
.imgrotate {
transform: rotate(180deg);
}
.title {
width: 100%;
height: 45px;
@ -3124,7 +3195,7 @@ $height: calc(100vh - 100px);
width: 30px;
height: 30px;
position: absolute;
right: -12%;
right: -14%;
top: 50%;
transform: translate(-50%, -50%);
font-size: 30px;

View File

@ -5,7 +5,13 @@
<div class="leftTop">
<div class="title">
<span>作物分类面积统计</span>
<p>
<p
@click="
Deta(
'https://1912c.oss-cn-beijing.aliyuncs.com/egg-oss-demo/zhongzhimianjishijian.xlsx'
)
"
>
下载 &nbsp;
<img
src="@/assets/icons/svg/downloads.svg"
@ -18,7 +24,13 @@
<div class="leftbottom">
<div class="title">
<span>作物类型统计</span>
<p>
<p
@click="
Deta(
'https://1912c.oss-cn-beijing.aliyuncs.com/egg-oss-demo/zhongzhimianjishijian.xlsx'
)
"
>
下载 &nbsp;
<img
src="@/assets/icons/svg/downloads.svg"
@ -29,14 +41,50 @@
<div ref="typesofDiv" class="typesofDiv"></div>
</div>
<div class="leftFoldDiv" @click="leftFoldClick()">
<el-icon><ArrowRightBold /></el-icon>
<el-tooltip
:disabled="leftWraFlag"
:show-arrow="false"
hide-after="0"
show-after="200"
class="box-item"
effect="dark"
content="展开"
placement="top"
>
<!-- <el-icon v-if="!leftWraFlag"><ArrowRightBold /></el-icon> -->
<img v-if="!leftWraFlag" src="@/assets/images/close1.png" alt="" />
</el-tooltip>
<el-tooltip
:disabled="!leftWraFlag"
:show-arrow="false"
hide-after="0"
show-after="200"
class="box-item"
effect="dark"
content="收起"
placement="top"
>
<!-- <el-icon v-if="leftWraFlag"><ArrowLeftBold /></el-icon> -->
<img
class="imgrotate"
v-if="leftWraFlag"
src="@/assets/images/close1.png"
alt=""
/>
</el-tooltip>
</div>
</div>
<div class="rightWra">
<div class="rightTop">
<div class="title">
<span>作物类型统计-高标准农田</span>
<p>
<p
@click="
Deta(
'https://1912c.oss-cn-beijing.aliyuncs.com/egg-oss-demo/zhongzhimianjishijian.xlsx'
)
"
>
下载 &nbsp;
<img
src="@/assets/icons/svg/downloads.svg"
@ -50,7 +98,13 @@
<div class="rightbottom">
<div class="title">
<span>作物类型统计-行政区划</span>
<p>
<p
@click="
Deta(
'https://1912c.oss-cn-beijing.aliyuncs.com/egg-oss-demo/zhongzhimianjishijian.xlsx'
)
"
>
下载 &nbsp;
<img
src="@/assets/icons/svg/downloads.svg"
@ -75,7 +129,35 @@
<div ref="ASdivisionDiv" class="ASdivision"></div>
</div>
<div class="rightFoldDiv" @click="rightFoldClick()">
<el-icon><ArrowLeftBold /></el-icon>
<el-tooltip
:disabled="!rightWraFlag"
hide-after="0"
:show-arrow="false"
show-after="200"
class="box-item"
effect="dark"
content="收起"
placement="top"
>
<img v-if="rightWraFlag" src="@/assets/images/close1.png" alt="" />
</el-tooltip>
<el-tooltip
:disabled="rightWraFlag"
hide-after="0"
:show-arrow="false"
show-after="200"
class="box-item"
effect="dark"
content="展开"
placement="top"
>
<img
class="imgrotate"
v-if="!rightWraFlag"
src="@/assets/images/close1.png"
alt=""
/>
</el-tooltip>
</div>
</div>
<el-collapse class="legend" accordion>
@ -209,6 +291,19 @@ const clickInfoMap = ref({ info: [] });
const flag = ref(false);
let leftWraFlag = ref(true);
let rightWraFlag = ref(true);
//下载
/*---------------------------*/
const Deta = item => {
downloadURL(item);
};
const downloadURL = url => {
let link = document.createElement('a');
link.style.display = 'none';
link.href = url;
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
};
let dd = {
小麦: [],
玉米: [],
@ -2161,7 +2256,10 @@ $height: calc(100vh - 100px);
.center {
width: 100%;
height: 100%;
.imgrotate {
transform: rotate(180deg);
}
.title {
width: 100%;
height: 45px;
@ -2223,7 +2321,7 @@ $height: calc(100vh - 100px);
width: 30px;
height: 30px;
position: absolute;
right: -12%;
right: -14%;
top: 50%;
transform: translate(-50%, -50%);
font-size: 30px;
@ -2429,7 +2527,7 @@ $height: calc(100vh - 100px);
.bottom_center {
position: absolute;
// left: calc(400px + 20px + 8vw);
left: 0;
left: -2%;
right: 0;
margin: auto;
width: calc(100% - (400px * 2) - (10vw * 2));

View File

@ -67,21 +67,17 @@
<div class="rightTop">
<div class="title">
<span>墒情土质监测数据</span>
<p
@click="
Deta(
'https://1912c.oss-cn-beijing.aliyuncs.com/egg-oss-demo/81f3b011-7a5d-4a21-88aa-8ea51142e564_%E6%95%B0%E6%8D%AE%E5%AF%BC%E5%87%BA.xlsx'
)
"
>
下载 &nbsp;
<img
src="@/assets/icons/svg/downloads.svg"
style="width: 14px; height: 14px; cursor: pointer"
/>
</p>
</div>
<div ref="farmlandDiv" class="farmlandDiv"></div>
<div ref="Phdiv" class="Phdiv"></div>
<div class="depth">
<p class="SelectedDiv">0cm</p>
<p>-10cm</p>
<p>-20cm</p>
<p>-30cm</p>
</div>
<div ref="soilDiv" class="soilDiv"></div>
</div>
<div class="rightFoldDiv" @click="rightFoldClick()">
<el-icon><ArrowLeftBold /></el-icon>
@ -89,7 +85,44 @@
</div>
<div class="bottom_center">
<TimeLine />
<div class="left_bottom">
<div class="title">
<span>设备照片</span>
</div>
<div class="imgdiv">
<img
width="100%"
src="https://img.js.design/assets/img/641d73a7cece21d6b61bedf9.png#d27dd8c8c5369101dca2dcf160e5bba9"
alt=""
/>
</div>
</div>
<div class="right_bottom">
<div class="title">
<span>作物长势等级面积占比</span>
<p
@click="
Deta(
'https://1912c.oss-cn-beijing.aliyuncs.com/egg-oss-demo/zhongzhimianji%20.xlsx'
)
"
>
历史数据 &nbsp;
<img
src="@/assets/icons/svg/downloads.svg"
style="width: 14px; height: 14px; cursor: pointer"
/>
</p>
</div>
<div class="tableDiv">
<el-table max-height="200px" :data="tableData" stripe style="width: 100%">
<el-table-column prop="date" label="设备编号" />
<el-table-column prop="name" label="监测时间" />
<el-table-column prop="address" label="预警情况" />
<el-table-column prop="address" label="照片" />
</el-table>
</div>
</div>
</div>
<div class="tool">
<span><img src="@/assets/images/LAYER.png" alt="" /></span>
@ -132,6 +165,8 @@ import { download } from '@/utils/request';
let viewer = ref(null);
const farmlandDiv = ref(null);
const Phdiv = ref(null);
const soilDiv = ref(null);
const ProgressBarDiv = ref(null);
const value = ref('370211');
const leftProgressBarDiv = ref(null);
@ -143,89 +178,6 @@ const formLandRef = ref([]);
const flag = ref(false);
let leftWraFlag = ref(true);
let rightWraFlag = ref(true);
let ff = ref('{x:765,y:191}');
let Pie3D = reactive({
arr: [
{
name: '小麦',
value: 101,
itemStyle: {
opacity: 0.5,
color: 'rgba(110, 209, 84, 0.9)',
},
},
{
// 数据项名称
name: '花生',
value: 156,
itemStyle: {
// 透明度
opacity: 0.5,
// 扇形颜色
color: 'rgba(251, 201, 3, 1)',
},
label: {
show: true,
},
},
{
// 数据项名称
name: '大豆',
value: 156,
itemStyle: {
// 透明度
opacity: 0.5,
// 扇形颜色
color: 'rgba(240, 129, 31, 0.9)',
},
label: {
show: true,
},
},
{
// 数据项名称
name: '地瓜',
value: 156,
itemStyle: {
// 透明度
opacity: 0.5,
// 扇形颜色
color: 'rgba(27, 85, 222, 1)',
},
label: {
show: true,
},
},
{
// 数据项名称
name: '蓝莓',
value: 56,
itemStyle: {
// 透明度
opacity: 0.5,
// 扇形颜色
color: 'rgba(72, 102, 211, 0.9)',
},
label: {
show: true,
},
},
{
// 数据项名称
name: '茶叶',
value: 56,
itemStyle: {
// 透明度
opacity: 0.5,
// 扇形颜色
color: 'rgba(26, 255, 140, 1)',
},
label: {
show: true,
},
},
],
});
watch(
() => Township.arr,
val => {
@ -277,12 +229,6 @@ let tableData = [
address: '19%',
},
];
let TypeTime = {
大豆: [1100, 1395, 1948, 2203, 3402, 1860, 2934, 2490, 2323],
小麦: [1283, 2883, 2939, 1233, 1992, 1928, 3949, 1929, 3434],
地瓜: [1823, 1948, 1928, 2294, 2302, 3903, 3493, 2323, 2545],
花生: [2374, 1934, 3943, 3493, 2083, 1928, 2984, 3279, 1739],
};
// 组件挂载完成后执行
onMounted(() => {
@ -293,8 +239,9 @@ onMounted(() => {
//地图
initMap();
farmland();
// ProgressBar();
getFarmland();
Ph();
soil();
});
/*-------------地图------------------------*/
@ -911,7 +858,6 @@ const getaArea = () => {
});
};
//下载
/*---------------------------*/
const Deta = item => {
@ -931,114 +877,131 @@ const downloadURL = url => {
function farmland() {
const farmlandDivIntance = echarts.init(farmlandDiv.value);
var option = {
grid: {
top: '10%',
left: '15%',
right: '2%',
bottom: '14%',
},
tooltip: {
show: false,
},
xAxis: {
data: ['06:00', '07:00', '08:00', '09:00', '10:00', '11:00', '12:00'],
axisLine: {
lineStyle: {
color: 'transparent', //底部边框颜色
},
grid: {
top: '15%',
left: '17%',
right: '2%',
bottom: '14%',
},
axisLabel: {
legend: {
data: ['EC值'],
inactiveColor: 'rgba(92,200,255,0.35)',
icon: 'roundRect',
top: 0,
right: 0,
itemWidth: 20,
itemHeight: 7,
textStyle: {
color: '#fff', //底部文字颜色
fontSize: 12,
color: '#FFF',
},
show: true,
},
},
yAxis: [
{
type: 'value',
splitLine: {
show: true,
lineStyle: {
color: 'rgba(255,255,255,0.2)', //网格线的颜色
width: 1,
type: 'solid',
},
},
tooltip: {
show: false,
},
xAxis: {
data: ['06:00', '07:00', '08:00', '09:00', '10:00', '11:00', '12:00'],
axisLine: {
show: false,
lineStyle: {
color: 'transparent', //边框颜色
color: 'transparent', //底部边框颜色
},
},
axisLabel: {
show: true,
fontSize: 12,
textStyle: {
color: '#ADD6FF', //文字颜色
color: '#fff', //底部文字颜色
fontSize: 12,
},
},
},
],
series: [
{
name: '毕业学员',
type: 'bar',
barWidth: 20,
showBackground: true,
backgroundStyle: {
color: 'rgba(255, 255, 255, 0.3)',
},
itemStyle: {
normal: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{
offset: 0,
// color: '#00FFE3',//渐变1
color: 'rgba(43, 224, 152, 1)', //渐变1
},
{
offset: 1,
// color: '#4693EC',//渐变2
color: 'rgba(185, 250, 224, 1)', //渐变2
},
]),
yAxis: [
{
name: 'EC值(mS/cm) ',
nameTextStyle: {
color: 'rgba(255, 255, 255, 0.8)',
fontSize: 14,
},
type: 'value',
splitLine: {
show: true,
lineStyle: {
color: 'rgba(255,255,255,0.2)', //网格线的颜色
width: 1,
type: 'solid',
},
},
axisLine: {
show: false,
lineStyle: {
color: 'transparent', //左边框颜色
},
},
axisLabel: {
show: true,
fontSize: 12,
textStyle: {
color: '#ADD6FF', //左文字颜色
},
},
},
data: [20, 80, 100, 40, 34, 90, 60, 20, 80, 100, 40, 34],
z: 0,
zlevel: 0,
// label: {
// show: true,
// position: 'top',
// fontSize: 14,
// color: '#fff', //柱状顶部文字颜色
// formatter: function (params) {
// return '20%';
// },
// },
},
{
type: 'pictorialBar',
barWidth: 20,
itemStyle: {
normal: {
color: 'rgba(2, 31, 26, 0.85)', //数据的间隔颜色
],
series: [
{
name: 'EC值',
type: 'bar',
barWidth: 20,
showBackground: true,
backgroundStyle: {
color: 'rgba(255, 255, 255, 0.3)',
},
itemStyle: {
normal: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{
offset: 0,
// color: '#00FFE3',//渐变1
color: 'rgba(43, 224, 152, 1)', //渐变1
},
{
offset: 1,
// color: '#4693EC',//渐变2
color: 'rgba(185, 250, 224, 1)', //渐变2
},
]),
},
},
data: [20, 80, 100, 40, 34, 90, 60, 20, 80, 100, 40, 34],
z: 0,
zlevel: 0,
// label: {
// show: true,
// position: 'top',
// fontSize: 14,
// color: '#fff', //柱状顶部文字颜色
// formatter: function (params) {
// return '20%';
// },
// },
},
symbolRepeat: 'fixed',
symbolMargin: 3,
symbol: 'rect',
symbolSize: [30, 4],
symbolPosition: 'end',
symbolOffset: [0, 0],
data: [20, 80, 100, 40, 34, 90, 60, 20, 80, 100, 40, 34],
z: 1,
zlevel: 0,
},
],
};
{
type: 'pictorialBar',
barWidth: 20,
itemStyle: {
normal: {
color: 'rgba(2, 31, 26, 0.85)', //数据的间隔颜色
},
},
symbolRepeat: 'fixed',
symbolMargin: 3,
symbol: 'rect',
symbolSize: [30, 4],
symbolPosition: 'end',
symbolOffset: [0, 0],
data: [20, 80, 100, 40, 34, 90, 60, 20, 80, 100, 40, 34],
z: 1,
zlevel: 0,
},
],
};
farmlandDivIntance.on('click', function (params) {
console.log(params.name);
@ -1047,74 +1010,295 @@ function farmland() {
option && farmlandDivIntance.setOption(option, { notMerge: true, grid: { bottom: 20 } });
useEcharts(farmlandDivIntance, option);
}
function ProgressBar() {
const ProgressBarDivIntance = echarts.init(ProgressBarDiv.value);
var option = {
// backgroundColor: '#031d33',
function Ph() {
const PhDivIntance = echarts.init(Phdiv.value);
let dataC1 = [20, 30, 60, 40, 50, 30];
let dataC2 = [20, 30, 60, 40, 50, 30];
let dataC3 = [20, 30, 60, 40, 50, 30];
let xData = [
'2023/03/0814:52:00',
'2023/03/0814:52:00',
'2023/03/0814:52:00',
'2023/03/0814:52:00',
];
var fontColor = '#30eee9';
let option = {
backgroundColor: 'transparent',
grid: {
top: 0,
bottom: 0,
left: '10%',
right: '10%',
left: '15%',
right: '2%',
top: '15%',
bottom: '17%',
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow',
lineStyle: {
color: '#57617B',
},
},
},
xAxis: {
show: false,
type: 'value',
boundaryGap: [0, 0],
type: 'category',
axisLine: {
show: true,
lineStyle: {
color: 'rgba(255, 255, 255, 0.7)',
},
},
offset: 12,
axisTick: {
show: false,
alignWithLabel: true,
lineStyle: {
color: '#dddddd',
},
},
axisLabel: {
//x轴文字的配置
show: true,
interval: 0, //使x轴文字显示全
textStyle: {
color: 'rgba(219, 225, 255, 1)',
},
formatter: function (params) {
var newParamsName = '';
var paramsNameNumber = params.length;
var provideNumber = 10; //一行显示几个字
var rowNumber = Math.ceil(paramsNameNumber / provideNumber);
if (paramsNameNumber > provideNumber) {
for (var p = 0; p < rowNumber; p++) {
var tempStr = '';
var start = p * provideNumber;
var end = start + provideNumber;
if (p == rowNumber - 1) {
tempStr = params.substring(start, paramsNameNumber);
} else {
tempStr = params.substring(start, end) + '\n';
}
newParamsName += tempStr;
}
} else {
newParamsName = params;
}
return newParamsName;
},
},
data: xData,
},
yAxis: [
yAxis: {
name: 'PH值(ph)',
type: 'value',
axisLine: {
show: false,
lineStyle: {
color: '#dddddd',
},
},
splitLine: {
show: true,
lineStyle: {
color: 'rgba(255,255,255,0.2)', //网格线的颜色
width: 1,
type: 'solid',
},
},
axisTick: {
show: false,
},
axisLabel: {
fontSize: 16,
},
boundaryGap: ['20%', '20%'],
},
series: [
{
name: '',
type: 'line',
stack: '总量',
smooth: true,
symbol: 'none',
showSymbol: false,
symbolSize: 8,
itemStyle: {
normal: {
areaStyle: {
//color: '#94C9EC'
color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
{
offset: 0.4,
color: 'rgba(163, 198, 255, 0.4)',
},
{
offset: 1,
color: 'rgba(163, 198, 255, 0.01)',
},
]),
},
},
},
markPoint: {
itemStyle: {
normal: {
color: 'red',
},
},
},
data: dataC1,
},
],
};
useEcharts(PhDivIntance, option);
}
function soil() {
const soilDivIntance = echarts.init(soilDiv.value);
var time = ['06:00', '06:30', '07:00', '07:30', '08:00', '08:30', '09:00'];
var sportData = [688, 108, 2288, 188, 929, 3108, 1008];
var sportTime = [1140, 2135, 125, 140, 1130, 138, 120];
let option = {
// backgroundColor: '#2C313E',
legend: {
icon: 'rect',
top: 7,
left: 'center',
itemWidth: 20,
itemHeight: 10,
itemGap: 30,
textStyle: {
color: 'rgba(255, 255, 255, 0.7)',
},
},
tooltip: {
trigger: 'axis',
},
grid: {
top: '15%',
left: '5%',
right: '4%',
bottom: '15%',
containLabel: true,
},
xAxis: [
{
type: 'category',
data: [''],
axisLine: { show: false },
axisTick: [
{
show: false,
data: time,
axisLine: {
show: false,
},
axisLabel: {
textStyle: {
color: 'rgba(255, 255, 255, 0.7)',
},
],
},
boundaryGap: false,
axisTick: {
//坐标轴刻度相关设置。
show: false,
},
},
],
yAxis: [
{
name: 'PH值(ph)',
type: 'value',
axisLine: {
show: false,
lineStyle: {
color: '#dddddd',
},
},
axisTick: {
show: false,
},
axisLabel: {
textStyle: {
color: 'rgba(255, 255, 255, 0.7)', //左侧数标
},
},
splitLine: {
show: true,
lineStyle: {
color: '#ccc',
type: 'solid',
opacity: 1,
},
},
},
{
name: '土壤湿度(%RH)',
type: 'value',
axisLine: {
show: false,
lineStyle: {
color: '#dddddd',
},
},
position: 'right',
axisTick: {
show: false,
},
axisLabel: {
textStyle: {
color: 'rgba(255, 255, 255, 0.7)', //右侧数标
},
formatter: '{value}',
},
splitLine: {
show: false,
},
},
],
series: [
{
name: '金额',
type: 'bar',
zlevel: 1,
name: '土壤温度',
type: 'line',
data: sportTime,
symbolSize: 1,
// symbol: 'circle',
itemStyle: {
// 设置symbol的颜色
normal: {
barBorderRadius: 30,
color: new echarts.graphic.LinearGradient(1, 0, 0, 1, [
{
offset: 1,
color: 'rgba(7,99,84,0.95) ',
},
{
offset: 0,
color: 'rgba(71,179,161,0.95)',
},
]),
color: 'rgba(252, 186, 211, 1)',
},
},
barWidth: 20,
data: [10],
smooth: true,
yAxisIndex: 0,
showSymbol: false,
lineStyle: {
width: 1,
color: 'rgba(252, 186, 211, 1)',
},
},
{
name: '背景',
type: 'bar',
barWidth: 20,
barGap: '-100%',
data: [20],
name: '土壤湿度',
type: 'line',
data: sportData,
symbolSize: 1,
yAxisIndex: 1,
// symbol: 'circle',
itemStyle: {
// 设置symbol的颜色
normal: {
color: 'rgba(255, 255, 255, 0.2)',
barBorderRadius: 50,
color: 'rgba(168, 216, 234, 1)',
},
},
smooth: true,
showSymbol: false,
lineStyle: {
width: 1,
color: 'rgba(168, 216, 234, 1)',
},
},
],
};
// option && ProgressBarDivIntance.setOption(option);
useEcharts(ProgressBarDivIntance, option);
useEcharts(soilDivIntance, option);
}
// 添加wms
function addWms(layers, customName) {
let map = new Cesium.WebMapServiceImageryProvider({
@ -1512,7 +1696,7 @@ $height: calc(100vh - 100px);
--el-table-tr-bg-color: none;
--el-table-border-color: none;
::v-deep .el-table__body tr.el-table__row--striped td {
background: rgba(38, 255, 255, 0.01)
background: rgba(38, 255, 255, 0.01);
}
// ::v-deep .el-table__row {
// background: linear-gradient(
@ -1581,7 +1765,7 @@ $height: calc(100vh - 100px);
}
.rightTop {
width: 100%;
height: 40%;
height: 100%;
opacity: 1;
display: flex;
flex-direction: column;
@ -1590,11 +1774,58 @@ $height: calc(100vh - 100px);
.farmlandDiv {
width: 100%;
height: 340px;
height: 30%;
opacity: 1;
display: flex;
justify-content: center;
}
.Phdiv {
width: 100%;
display: flex;
height: 30%;
justify-content: center;
}
.depth {
width: 244px;
height: 26px;
opacity: 1;
border-radius: 4px;
font-size: 12px;
color: rgba(255, 255, 255, 1);
margin-top: 20px;
background: linear-gradient(
180deg,
rgba(16, 111, 111, 0.1) 0%,
rgba(47, 214, 214, 0.1) 100%
);
border: 1px solid rgba(23, 194, 180, 0.3);
display: flex;
align-items: center;
p {
flex: 1;
text-align: center;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
.SelectedDiv {
opacity: 1;
border-radius: 4px;
background: linear-gradient(
180deg,
rgba(16, 111, 111, 1) 0%,
rgba(47, 214, 214, 1) 100%
);
}
}
.soilDiv {
width: 100%;
display: flex;
height: 30%;
justify-content: center;
}
.ProgressBar {
width: 100%;
@ -1678,15 +1909,71 @@ $height: calc(100vh - 100px);
.bottom_center {
position: absolute;
left: calc(400px + 12vw);
width: calc(100% - (400px * 2) - (10vw * 2));
left: 50%;
transform: translate(-50%);
width: calc(100% - 50% - (1vw * 2));
min-width: 380px;
bottom: 5%;
height: 75px;
height: 30%;
opacity: 1;
border-radius: 5px;
background: rgba(2, 31, 26, 0.6);
border: 1px solid rgba(4, 153, 153, 1);
display: flex;
div {
flex: 1;
}
.el-table {
--el-table-tr-bg-color: none;
--el-table-border-color: none;
::v-deep .el-table__body tr.el-table__row--striped td {
background: rgba(38, 255, 255, 0.01);
}
// ::v-deep .el-table__row {
// background: linear-gradient(
// 90deg,
// rgba(38, 255, 255, 0.15) 0%,
// rgba(38, 255, 255, 0.01) 100%
// );
// }
::v-deep .el-table__body tr:hover > td {
background: linear-gradient(
90deg,
rgba(38, 255, 255, 0.15) 0%,
rgba(38, 255, 255, 0.01) 100%
) !important;
}
color: rgba(255, 255, 255, 1);
}
.el-checkbox-group {
display: flex;
flex-direction: column;
}
:deep(.ones) {
width: 100%;
height: 171;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: flex-start;
--el-table-tr-bg-color: null;
--el-table-border-color: null;
font-size: 14px;
font-weight: 400;
letter-spacing: 0px;
line-height: 0px;
color: rgba(255, 255, 255, 1);
}
.imgdiv {
width: 100%;
height: 248px;
display: flex;
justify-content: center;
padding: 10px;
}
}
.tool {