作物
This commit is contained in:
parent
2a384502ab
commit
dac2b7a581
@ -2,7 +2,7 @@ window.serverAPI = {
|
||||
baseUrl: "http://192.168.2.96:8080",
|
||||
|
||||
// geoserver
|
||||
geoserverUrl: "http://192.168.2.20:9080/geoserver",
|
||||
geoserverUrl: "http://121.36.229.60:9080/geoserver",
|
||||
username: "admin",
|
||||
password: 'geoserver',
|
||||
}
|
@ -17,10 +17,7 @@
|
||||
<span>作物类型统计-高标准农田</span>
|
||||
<p>
|
||||
下载
|
||||
<img
|
||||
src="@/assets/icons/svg/downloads.svg"
|
||||
style="width: 14px; height: 14px; cursor: pointer"
|
||||
/>
|
||||
<img src="@/assets/icons/svg/downloads.svg" style="width: 14px; height: 14px; cursor: pointer" />
|
||||
</p>
|
||||
</div>
|
||||
<div ref="farmlandDiv" class="farmlandDiv"></div>
|
||||
@ -31,19 +28,12 @@
|
||||
<span>作物类型统计-行政区划</span>
|
||||
<p>
|
||||
下载
|
||||
<img
|
||||
src="@/assets/icons/svg/downloads.svg"
|
||||
style="width: 14px; height: 14px; cursor: pointer"
|
||||
/>
|
||||
<img src="@/assets/icons/svg/downloads.svg" style="width: 14px; height: 14px; cursor: pointer" />
|
||||
</p>
|
||||
</div>
|
||||
<el-select @change="selectTab(item)" v-model="value" clearable placeholder="全部">
|
||||
<el-option
|
||||
v-for="item in Township.arr"
|
||||
:key="item.properties.XZDM"
|
||||
:label="item.properties.XZMC"
|
||||
:value="item.properties.XZDM"
|
||||
/>
|
||||
<el-option v-for="item in Township.arr" :key="item.properties.XZDM" :label="item.properties.XZMC"
|
||||
:value="item.properties.XZDM" />
|
||||
</el-select>
|
||||
<div ref="ASdivisionDiv" class="ASdivision"></div>
|
||||
</div>
|
||||
@ -53,96 +43,62 @@
|
||||
<template #title>图例</template>
|
||||
<div class="mt-4">
|
||||
<el-checkbox-group v-model="checkList" @change="change">
|
||||
<el-checkbox
|
||||
style="
|
||||
<el-checkbox v-for="(value, item, key) in dic" :key="key" :style="{
|
||||
background: value.color,
|
||||
border: `1px solid ${value.color}`,
|
||||
width: `100%`,
|
||||
}" v-model="checked3" :disabled="value.disabled" :label="item" />
|
||||
|
||||
<!-- <el-checkbox style="
|
||||
background: rgba(251, 171, 60, 1);
|
||||
border: 1px solid rgba(251, 171, 60, 1);
|
||||
width: 100%;
|
||||
"
|
||||
v-model="checked3"
|
||||
label="小麦"
|
||||
/>
|
||||
<el-checkbox
|
||||
style="
|
||||
" v-model="checked3" label="小麦" />
|
||||
<el-checkbox style="
|
||||
background: rgba(251, 219, 13, 1);
|
||||
border: 1px solid rgba(251, 219, 13, 1);
|
||||
width: 100%;
|
||||
"
|
||||
v-model="checked4"
|
||||
label="玉米"
|
||||
/>
|
||||
<el-checkbox
|
||||
style="
|
||||
" v-model="checked4" label="玉米" />
|
||||
<el-checkbox style="
|
||||
background: rgba(244, 218, 136, 1);
|
||||
border: 1px solid rgba(244, 218, 136, 1);
|
||||
width: 100%;
|
||||
"
|
||||
v-model="checked3"
|
||||
label="大豆"
|
||||
/>
|
||||
<el-checkbox
|
||||
style="
|
||||
" v-model="checked3" label="大豆" />
|
||||
<el-checkbox style="
|
||||
background: rgba(174, 83, 110, 1);
|
||||
border: 1px solid rgba(174, 83, 110, 1);
|
||||
width: 100%;
|
||||
"
|
||||
v-model="checked4"
|
||||
label="地瓜"
|
||||
/>
|
||||
<el-checkbox
|
||||
style="
|
||||
" v-model="checked4" label="地瓜" />
|
||||
<el-checkbox style="
|
||||
background: rgba(242, 177, 167, 1);
|
||||
border: 1px solid rgba(242, 177, 167, 1);
|
||||
width: 100%;
|
||||
"
|
||||
v-model="checked3"
|
||||
label="花生"
|
||||
/>
|
||||
<el-checkbox
|
||||
style="
|
||||
" v-model="checked3" label="花生" />
|
||||
<el-checkbox style="
|
||||
background: rgba(50, 211, 235, 0.8);
|
||||
border: 1px solid rgba(50, 211, 235, 1);
|
||||
width: 100%;
|
||||
"
|
||||
v-model="checked4"
|
||||
label="蓝莓"
|
||||
/>
|
||||
<el-checkbox
|
||||
style="
|
||||
" v-model="checked4" label="蓝莓" />
|
||||
<el-checkbox style="
|
||||
background: rgba(91, 196, 159, 1);
|
||||
border: 1px solid rgba(91, 196, 159, 1);
|
||||
width: 100%;
|
||||
"
|
||||
v-model="checked3"
|
||||
label="茶叶"
|
||||
/>
|
||||
<el-checkbox
|
||||
style="
|
||||
" v-model="checked3" label="茶叶" />
|
||||
<el-checkbox style="
|
||||
background: rgba(225, 153, 75, 1);
|
||||
border: 1px solid rgba(225, 153, 75, 1);
|
||||
width: 100%;
|
||||
"
|
||||
v-model="checked3"
|
||||
label="马铃薯"
|
||||
/>
|
||||
<el-checkbox
|
||||
style="
|
||||
" v-model="checked3" label="马铃薯" />
|
||||
<el-checkbox style="
|
||||
background: rgba(166, 209, 82, 1);
|
||||
border: 1px solid rgba(166, 209, 82, 1);
|
||||
width: 100%;
|
||||
"
|
||||
v-model="checked3"
|
||||
label="白菜和萝卜"
|
||||
/>
|
||||
<el-checkbox
|
||||
style="
|
||||
background: rgba(175, 110, 250, 0.8);
|
||||
border: 1px solid rgba(175, 110, 250, 0.8);
|
||||
width: 100%;
|
||||
"
|
||||
v-model="checked3"
|
||||
label="其他"
|
||||
/>
|
||||
" v-model="checked3" label="白菜和萝卜" />
|
||||
<el-checkbox style=" -->
|
||||
background: rgba(175, 110, 250, 0.8);
|
||||
border: 1px solid rgba(175, 110, 250, 0.8);
|
||||
width: 100%;
|
||||
" v-model="checked3" label="其他" />
|
||||
</el-checkbox-group>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
@ -158,11 +114,21 @@
|
||||
<span><img src="@/assets/images/face.png" alt="" /></span>
|
||||
<span><img src="@/assets/images/position.png" alt="" /></span>
|
||||
</div>
|
||||
<div id="popup1">
|
||||
<div v-for="(item, index) in clickInfoMap.info" :key="index">
|
||||
<div class="rowWra"><span>作物:</span><span>{{ item.crop }}</span></div>
|
||||
<div class="rowWra"><span>面积:</span><span>{{ item.Shape_Area }}</span></div>
|
||||
<div class="rowWra"><span>镇名:</span><span>{{ item.town }}</span></div>
|
||||
<div class="rowWra" v-if="item.village"><span>村名:</span><span>{{ item.village }}</span></div>
|
||||
<div class="rowWra" v-if="item.people"><span>土地所有人:</span><span>{{ item.people }}</span></div>
|
||||
</div>
|
||||
<div class="cancel" @click="hiddenOverlayChart">X</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, onMounted, inject } from 'vue';
|
||||
import { ref, onMounted, inject, watch } from 'vue';
|
||||
import * as echarts from 'echarts';
|
||||
import TimeLine from '@/components/TimeLine/TimeLine.vue';
|
||||
import { useEcharts } from '@/hooks/useEcharts';
|
||||
@ -176,6 +142,7 @@ const ProgressBarDiv = ref(null);
|
||||
const ASdivisionDiv = ref(null);
|
||||
let Township = reactive({ arr: [], brr: [], crr: [] }); //街道
|
||||
const value = ref('');
|
||||
const clickInfoMap = ref({ info: [] });
|
||||
let dd = {
|
||||
小麦: [],
|
||||
玉米: [],
|
||||
@ -189,17 +156,30 @@ let dd = {
|
||||
其他: [],
|
||||
};
|
||||
let dic = {
|
||||
小麦: 'rgba(102, 142, 214, 0.8)',
|
||||
玉米: 'rgba(255, 225, 104, 0.8)',
|
||||
大豆: 'rgba(156, 220, 130, 0.8)',
|
||||
地瓜: 'rgba(156, 220, 130, 0.8)',
|
||||
花生: 'rgba(212, 236, 89, 0.8)',
|
||||
蓝莓: 'rgba(50, 211, 235, 0.8)',
|
||||
茶叶: 'rgba(91, 196, 159, 0.8)',
|
||||
马铃薯: 'rgba(254, 182, 77, 0.8)',
|
||||
白菜和萝卜: 'rgba(250, 129, 109, 0.8)',
|
||||
其他: 'rgba(250, 129, 109, 0.8)',
|
||||
小麦: { color: 'rgba(255, 141, 26, 1)', disabled: false },
|
||||
玉米: { color: 'rgba(255, 255, 26, 1)', disabled: true },
|
||||
大豆: { color: 'rgba(255, 201, 148, 1)', disabled: false },
|
||||
地瓜: { color: 'rgba(255, 84, 84, 1)', disabled: false },
|
||||
花生: { color: 'rgba(255, 140, 255, 1)', disabled: false },
|
||||
蓝莓: { color: 'rgba(26, 255, 255, 1)', disabled: false },
|
||||
茶叶: { color: 'rgba(26, 255, 140, 1)', disabled: false },
|
||||
马铃薯: { color: 'rgba(255, 171, 87, 1)', disabled: true },
|
||||
白菜和萝卜: { color: 'rgba(140, 255, 26, 1)', disabled: true },
|
||||
其他: { color: 'rgba(140, 26, 255, 1)', disabled: false },
|
||||
};
|
||||
// 图层字典
|
||||
let layersDic = {
|
||||
小麦: 'shuzisannong:xiaomai',
|
||||
// 玉米: 'shuzisannong:yumi',
|
||||
大豆: 'shuzisannong:dadou',
|
||||
地瓜: 'shuzisannong:digua',
|
||||
花生: 'shuzisannong:huasheng',
|
||||
蓝莓: 'shuzisannong:lanmei',
|
||||
茶叶: 'shuzisannong:chaye',
|
||||
其他: 'shuzisannong:other',
|
||||
// 马铃薯: 'rgba(225, 153, 75, 1)',
|
||||
// 白菜和萝卜: 'rgba(166, 209, 82, 1)',
|
||||
}
|
||||
var data = {
|
||||
title: ['区域一', '区域二', '区域三', '区域四', '区域五', '区域六', '区域七', '区域八'],
|
||||
corn: [333.3, null, 500, 500, 333.3, null, 333.3, 500],
|
||||
@ -231,6 +211,9 @@ onMounted(() => {
|
||||
ProgressBar(); //图表
|
||||
ASdivision(); //图表
|
||||
getArea(); //请求
|
||||
|
||||
checkList.value = Object.keys(dic)
|
||||
// checkList.value = Object.keys(dic.filter(item => !item.disabled))
|
||||
});
|
||||
const mapOption = {
|
||||
url:
|
||||
@ -342,7 +325,6 @@ function initMap() {
|
||||
});
|
||||
// 拿取最后一个图层
|
||||
let provider = providerPoint._imageryProvider;
|
||||
console.log(providerPoint);
|
||||
if (provider && provider.ready && provider._layers && providerPoint.show === true) {
|
||||
xy = provider.tilingScheme.positionToTileXY(cartographic, level, xy);
|
||||
let promise = provider.pickFeatures(
|
||||
@ -363,7 +345,9 @@ function initMap() {
|
||||
}
|
||||
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
|
||||
|
||||
addwms();
|
||||
// addwms();
|
||||
// 图层点击事件
|
||||
layerClick()
|
||||
|
||||
//加载黄岛区村级地图服务
|
||||
// Cesium.GeoJsonDataSource.load(
|
||||
@ -471,7 +455,7 @@ function initMap() {
|
||||
// );
|
||||
}
|
||||
|
||||
const checkList = ref(Object.keys(dic));
|
||||
const checkList = ref([]);
|
||||
|
||||
function getLevel(height) {
|
||||
if (height > 48000000) {
|
||||
@ -515,13 +499,47 @@ function getLevel(height) {
|
||||
}
|
||||
}
|
||||
|
||||
function change(e) {
|
||||
console.log('e:', e);
|
||||
console.log('checkList:', checkList.value);
|
||||
removeWms('crop');
|
||||
addwms();
|
||||
function change(e, a) {
|
||||
console.log('e:', e, a);
|
||||
// console.log('checkList:', checkList.value);
|
||||
// removeWms('crop');
|
||||
// addwms();
|
||||
}
|
||||
|
||||
watch(() => checkList.value, (val, oldVal) => {
|
||||
if (val.length > oldVal.length) {
|
||||
// 挑选出增多的数据
|
||||
const newData = val.filter(item => {
|
||||
const index = oldVal.findIndex(it => it === item)
|
||||
if (index < 0) {
|
||||
return item
|
||||
}
|
||||
})
|
||||
newData.forEach(item => {
|
||||
if (layersDic[item]) {
|
||||
addLayerWms(layersDic[item], item)
|
||||
}
|
||||
})
|
||||
} else if (val.length < oldVal.length) {
|
||||
// 挑选出减少的数据
|
||||
const newData = oldVal.filter(item => {
|
||||
const index = val.findIndex(it => it === item)
|
||||
if (index < 0) {
|
||||
return item
|
||||
}
|
||||
})
|
||||
newData.forEach(item => {
|
||||
if (layersDic[item]) {
|
||||
removeWms(item)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
watch(() => clickInfoMap.value, (val) => {
|
||||
console.log('valvalvalvalvalvalvalvalvalval:', val)
|
||||
|
||||
})
|
||||
// 根据name移除wms
|
||||
function removeWms(name) {
|
||||
// 倒叙遍历,customName是自定义的属性
|
||||
// let viewer = viewers.value
|
||||
@ -535,7 +553,6 @@ function removeWms(name) {
|
||||
function addwms() {
|
||||
// let viewer = viewers.value
|
||||
const name = "'" + checkList.value.join("','") + "'";
|
||||
console.log('name:', name);
|
||||
let map = new Cesium.WebMapServiceImageryProvider({
|
||||
url: `http://121.36.229.60:9080/geoserver/shuzisannong/wms?`,
|
||||
layers: 'shuzisannong:fenlei', //图层名
|
||||
@ -549,11 +566,151 @@ function addwms() {
|
||||
map.customName = 'crop'; //自己定义各种属性
|
||||
viewer.imageryLayers.addImageryProvider(map); //添加图层
|
||||
}
|
||||
// 添加wms
|
||||
function addLayerWms(layers, customName) {
|
||||
let map = new Cesium.WebMapServiceImageryProvider({
|
||||
url: serverAPI.geoserverUrl + `/shuzisannong/wms?`,
|
||||
layers: layers, //图层名
|
||||
parameters: {
|
||||
service: 'WMS',
|
||||
format: 'image/png',
|
||||
transparent: true, //是否透明
|
||||
// CQL_FILTER: `crop in (${name})`,
|
||||
},
|
||||
});
|
||||
map.customName = customName; //自己定义各种属性
|
||||
viewer.imageryLayers.addImageryProvider(map); //添加图层
|
||||
}
|
||||
// 图层点击事件
|
||||
function layerClick() {
|
||||
|
||||
var handler = new Cesium.ScreenSpaceEventHandler(viewer.canvas);
|
||||
handler.setInputAction(async function (movement) {
|
||||
var ray = viewer.camera.getPickRay(movement.position);
|
||||
var cartesian = viewer.scene.globe.pick(ray, viewer.scene);
|
||||
if (cartesian) {
|
||||
let cartographic = Cesium.Cartographic.fromCartesian(cartesian);
|
||||
if (cartographic) {
|
||||
let xy = new Cesium.Cartesian2();
|
||||
let alti = viewer.camera.positionCartographic.height;
|
||||
let level = getLevel(alti);
|
||||
const layers = viewer.imageryLayers._layers;
|
||||
console.log('layers:', layers);
|
||||
// 筛选出种植结构的最后一个图层
|
||||
// let newLayer = layers.filter(item => {
|
||||
// const index = Object.values(layersDic).findIndex(it => item._imageryProvider._layers && it === item._imageryProvider._layers)
|
||||
// if (index > -1) {
|
||||
// return item
|
||||
// }
|
||||
// })
|
||||
let newData = []
|
||||
let promise = layers.map(async item => {
|
||||
console.log('item')
|
||||
if (item._imageryProvider._layers) {
|
||||
// 是种植结构图层
|
||||
if (Object.values(layersDic).findIndex(it => it === item._imageryProvider._layers) > -1) {
|
||||
const providerPoint = item;
|
||||
// 拿取最后一个图层
|
||||
let provider = providerPoint._imageryProvider;
|
||||
if (provider && provider.ready && provider._layers && providerPoint.show === true) {
|
||||
xy = provider.tilingScheme.positionToTileXY(cartographic, level, xy);
|
||||
let promise = provider.pickFeatures(xy.x, xy.y, level, cartographic.longitude, cartographic.latitude);
|
||||
if (promise) {
|
||||
await promise.then(data => {
|
||||
if (data.length > 0) {
|
||||
let info = data['0'].properties
|
||||
console.log('info:', info)
|
||||
const ind = newData.findIndex(ii => ii && ii.crop === info.crop)
|
||||
if (ind < 0) {
|
||||
console.log('push:', info)
|
||||
newData.push(info)
|
||||
console.log('newData:', newData)
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
await Promise.all(promise)
|
||||
console.log('newDatanewDatanewDatanewDatanewData:', newData)
|
||||
if (newData.length > 0) {
|
||||
const coordinate = movement.position; //屏幕坐标 // 转为经纬度,保存,用于监听时转换坐标
|
||||
var ellipsoid = viewer.scene.globe.ellipsoid; // 将屏幕坐标转为地理坐标
|
||||
var cartesian = viewer.camera.pickEllipsoid(coordinate, ellipsoid);
|
||||
console.log('cartesian:', cartesian);
|
||||
if (cartesian) {
|
||||
let cartographic = ellipsoid.cartesianToCartographic(cartesian);
|
||||
let longitudeString = Cesium.Math.toDegrees(cartographic.longitude).toFixed(6);
|
||||
let latitudeString = Cesium.Math.toDegrees(cartographic.latitude).toFixed(6);
|
||||
console.log('longitudeString:', longitudeString);
|
||||
// newData.lon = longitudeString;
|
||||
// newData.lat = latitudeString; /*保存(弹窗)的数据*/
|
||||
|
||||
console.log('data:', newData);
|
||||
clickInfoMap.value = {
|
||||
info: newData,
|
||||
// ...newData['0'],
|
||||
lon: longitudeString,
|
||||
lat: latitudeString,
|
||||
};
|
||||
}
|
||||
showOverlayChart(coordinate); // 添加地图移动监听:使地图移动弹窗跟着移动
|
||||
viewer.scene.postRender.addEventListener(infoWindowPostRender);
|
||||
} else {
|
||||
hiddenOverlayChart(); // 清除监听事件 // viewer.scene.postRender.removeEventListener(infoWindowPostRender);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
|
||||
|
||||
}
|
||||
// 地图移动时弹窗跟随
|
||||
function infoWindowPostRender() {
|
||||
// let viewer = viewers.value;
|
||||
// console.log('clickInfoMap.value:', clickInfoMap.value);
|
||||
if (clickInfoMap.value && clickInfoMap.value.lon && clickInfoMap.value.lat) {
|
||||
//经纬度转为世界坐标
|
||||
const gisPosition = Cesium.Cartesian3.fromDegrees(
|
||||
Number(clickInfoMap.value.lon),
|
||||
Number(clickInfoMap.value.lat),
|
||||
0
|
||||
); //转化为屏幕坐标
|
||||
var windowPosition = Cesium.SceneTransforms.wgs84ToWindowCoordinates(
|
||||
viewer.scene,
|
||||
gisPosition
|
||||
);
|
||||
|
||||
if (Cesium.defined(windowPosition)) {
|
||||
const pop = document.getElementById('popup1');
|
||||
pop.style.top = windowPosition.y - 10 + 'px';
|
||||
pop.style.left = windowPosition.x + 10 + 'px';
|
||||
}
|
||||
}
|
||||
}
|
||||
// 隐藏弹窗
|
||||
function hiddenOverlayChart() {
|
||||
// let viewer = viewers.value;
|
||||
const pop = document.getElementById('popup1');
|
||||
pop.style.display = 'none'; // 清除监听事件
|
||||
viewer.scene.postRender.removeEventListener(infoWindowPostRender);
|
||||
}
|
||||
//显示弹窗
|
||||
function showOverlayChart(position) {
|
||||
console.log('显示')
|
||||
const pop = document.getElementById('popup1');
|
||||
pop.style.display = 'block';
|
||||
pop.style.position = 'absolute';
|
||||
pop.style.top = position.y - 10 + 'px';
|
||||
pop.style.left = position.x + 10 + 'px';
|
||||
pop.style.zIndex = 99;
|
||||
}
|
||||
|
||||
//接口
|
||||
const getArea = (item, index) => {
|
||||
return getarea({ time: '2023-04-19', subregion: index, parent: item }).then(response => {
|
||||
console.log(response.data);
|
||||
return response.data;
|
||||
});
|
||||
};
|
||||
@ -618,7 +775,6 @@ const selectTab = () => {
|
||||
let arr = [...Township.arr];
|
||||
arr.forEach(item => {
|
||||
if (item.properties.XZDM == value.value) {
|
||||
console.log(item.properties);
|
||||
getArea(item.properties.XZMC, '2');
|
||||
viewer.camera.flyTo({
|
||||
destination: Cesium.Rectangle.fromDegrees(
|
||||
@ -632,13 +788,11 @@ const selectTab = () => {
|
||||
}
|
||||
let arr = [...Township.brr];
|
||||
let brr = [];
|
||||
// console.log(Township.brr);
|
||||
arr.forEach(item => {
|
||||
if (item.properties.XZDM == value.value) {
|
||||
brr.push(item.properties.XZQMC);
|
||||
}
|
||||
});
|
||||
// console.log(brr);
|
||||
data.title = [...Object.values(brr)];
|
||||
ASdivision();
|
||||
});
|
||||
@ -1015,7 +1169,6 @@ function farmland() {
|
||||
var tooltip = option.tooltip;
|
||||
// 提示框自定义内容包括总合及文字
|
||||
function formatFun(params) {
|
||||
// console.log('params====>', params)
|
||||
let tipStr = params[0].axisValueLabel + '</br>'; // 初始化提示框文字默认当前轴名称并换行
|
||||
let totalNum = 0; // 用于存储当前列总数
|
||||
// params为当前柱状图数组数量 遍历求和并添加类目label:value
|
||||
@ -1416,9 +1569,11 @@ function ASdivision() {
|
||||
|
||||
<style lang="scss" scoped>
|
||||
$height: calc(100vh - 100px);
|
||||
|
||||
.center {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
.title {
|
||||
width: 100%;
|
||||
height: 45px;
|
||||
@ -1432,22 +1587,22 @@ $height: calc(100vh - 100px);
|
||||
align-items: center;
|
||||
cursor: pointer;
|
||||
justify-content: space-between;
|
||||
|
||||
span {
|
||||
width: 80%;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
p {
|
||||
width: 79px;
|
||||
height: 25px;
|
||||
border-radius: 20px;
|
||||
font-size: 14px;
|
||||
background: linear-gradient(
|
||||
180deg,
|
||||
rgba(16, 111, 111, 1) 0%,
|
||||
rgba(47, 214, 214, 1) 100%
|
||||
);
|
||||
background: linear-gradient(180deg,
|
||||
rgba(16, 111, 111, 1) 0%,
|
||||
rgba(47, 214, 214, 1) 100%);
|
||||
border: 1.5px solid rgba(23, 194, 180, 1);
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
@ -1464,11 +1619,13 @@ $height: calc(100vh - 100px);
|
||||
width: 23%;
|
||||
background: rgba(2, 31, 26, 0.85);
|
||||
box-shadow: inset 0px 0px 15px 6px rgba(41, 255, 255, 0.5);
|
||||
|
||||
.leftTop {
|
||||
// height: 35%;
|
||||
max-width: calc(100% - 20px);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.areaDiv {
|
||||
width: 100%;
|
||||
height: 327px;
|
||||
@ -1477,10 +1634,12 @@ $height: calc(100vh - 100px);
|
||||
padding: 1px;
|
||||
}
|
||||
}
|
||||
|
||||
.leftbottom {
|
||||
height: 35%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.typesofDiv {
|
||||
width: 100%;
|
||||
height: 267px;
|
||||
@ -1500,6 +1659,7 @@ $height: calc(100vh - 100px);
|
||||
align-items: center;
|
||||
background: rgba(2, 31, 26, 0.85);
|
||||
box-shadow: inset 0px 0px 15px 6px rgba(41, 255, 255, 0.5);
|
||||
|
||||
.rightTop {
|
||||
width: 100%;
|
||||
height: 40%;
|
||||
@ -1508,17 +1668,20 @@ $height: calc(100vh - 100px);
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
|
||||
.farmlandDiv {
|
||||
width: 100%;
|
||||
height: 340px;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.ProgressBar {
|
||||
width: 100%;
|
||||
height: 9px;
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.rightbottom {
|
||||
width: 100%;
|
||||
height: 455px;
|
||||
@ -1528,6 +1691,7 @@ $height: calc(100vh - 100px);
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
padding-top: 13px;
|
||||
|
||||
.el-select {
|
||||
width: 80%;
|
||||
font-size: 14px;
|
||||
@ -1535,13 +1699,16 @@ $height: calc(100vh - 100px);
|
||||
background: rgba(22, 94, 102, 1);
|
||||
border: 1px solid rgba(4, 153, 153, 1) !important;
|
||||
margin-top: 20px;
|
||||
|
||||
:deep(.el-input__wrapper) {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
:deep(.el-input__inner) {
|
||||
color: rgba(255, 255, 255, 0.7);
|
||||
}
|
||||
}
|
||||
|
||||
.ASdivision {
|
||||
width: 415px;
|
||||
height: 368px;
|
||||
@ -1549,6 +1716,7 @@ $height: calc(100vh - 100px);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
:deep(.el-select-dropdown) {
|
||||
background: red !important;
|
||||
}
|
||||
@ -1558,6 +1726,8 @@ $height: calc(100vh - 100px);
|
||||
right: 25%;
|
||||
bottom: 7%;
|
||||
width: 129px;
|
||||
border: 1px solid rgba(4, 153, 153, 1);
|
||||
|
||||
// height: 50px;
|
||||
:deep(.el-collapse-item__header) {
|
||||
background: rgba(2, 31, 26, 0.6);
|
||||
@ -1566,15 +1736,19 @@ $height: calc(100vh - 100px);
|
||||
padding: 0 30px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
--el-collapse-content-bg-color {
|
||||
background: rgba(2, 31, 26, 0.6);
|
||||
}
|
||||
|
||||
:deep(.el-collapse-item__content) {
|
||||
background: rgba(2, 31, 26, 0.6);
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
--el-collapse-border-color: none;
|
||||
--el-collapse-content-bg-color: none;
|
||||
|
||||
// opacity: 1;
|
||||
// border-radius: 4px;
|
||||
// background: rgba(2, 31, 26, 0.6);
|
||||
@ -1592,6 +1766,7 @@ $height: calc(100vh - 100px);
|
||||
color: rgba(255, 255, 255, 1);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.mt-4 {
|
||||
.el-checkbox {
|
||||
height: 30px;
|
||||
@ -1606,6 +1781,7 @@ $height: calc(100vh - 100px);
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
|
||||
:deep(.el-checkbox__label) {
|
||||
color: rgba(255, 255, 255, 1);
|
||||
}
|
||||
@ -1623,6 +1799,7 @@ $height: calc(100vh - 100px);
|
||||
background: rgba(2, 31, 26, 0.6);
|
||||
border: 1px solid rgba(4, 153, 153, 1);
|
||||
}
|
||||
|
||||
.tool {
|
||||
position: absolute;
|
||||
right: 30%;
|
||||
@ -1636,4 +1813,52 @@ $height: calc(100vh - 100px);
|
||||
align-items: flex-start;
|
||||
display: none;
|
||||
}
|
||||
|
||||
#popup1 {
|
||||
border-radius: 5px;
|
||||
background: rgba(2, 31, 26, 0.6);
|
||||
display: none;
|
||||
// justify-content: flex-start;
|
||||
// align-items: flex-end;
|
||||
padding: 30px 8px 20px 8px;
|
||||
border: 2px solid rgba(4, 153, 153, 1);
|
||||
|
||||
|
||||
.rowWra {
|
||||
display: flex;
|
||||
margin-bottom: 10px;
|
||||
|
||||
&>span:nth-child(1) {
|
||||
font-weight: 400;
|
||||
letter-spacing: 0px;
|
||||
color: rgba(255, 255, 255, 1);
|
||||
// margin-top: 20px;
|
||||
line-height: 24px;
|
||||
width: 3em;
|
||||
// font-size: 14px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
&>span:nth-child(2) {
|
||||
color: rgba(255, 255, 255, 1);
|
||||
width: 129px;
|
||||
height: 24px;
|
||||
opacity: 1;
|
||||
border-radius: 2px;
|
||||
background: rgba(217, 231, 255, 0.2);
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
padding: 2px 10px 2px 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.cancel {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 5px;
|
||||
color: rgba(255, 255, 255, 1);
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
Loading…
Reference in New Issue
Block a user