From 082613d446e29e4ec1c16bfaa52345106a498b23 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Tue, 08 Nov 2022 09:03:49 +0800
Subject: [PATCH] 农事操作隐藏后四个,地图模式2d改为3d
---
src/views/mapPattern/index.vue | 1122 ++++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 765 insertions(+), 357 deletions(-)
diff --git a/src/views/mapPattern/index.vue b/src/views/mapPattern/index.vue
index ddec951..d178ba1 100644
--- a/src/views/mapPattern/index.vue
+++ b/src/views/mapPattern/index.vue
@@ -1,413 +1,821 @@
<template>
- <div style="width: 1920px;
- height: 1080px;
- background: #FFFFFF;
- border-radius: 0px 0px 0px 0px;
- opacity: 1;">
- <div class="top">
- <div class="logo">
- <img src="../../../public/mg.png" />
- </div>
- <div class="farm-info">
- <div class="farm-name">
- <span>{{ farmInfo.farmName }}</span>
- </div>
- <div class="farm-area">
- <span>地块总面积:</span>
- <span style="font-size: 16px;font-weight: bold;"> {{landAreaInfo.zarea}}亩</span>
-
- <span>在田面积:</span>
- <span style="font-size: 16px;font-weight: bold;"> {{landAreaInfo.sarea}}亩</span>
- </div>
- </div>
- <div class="out" @click="goToBack">
- <img src="../../../public/img/out.png" />
- <span> 退出</span>
- </div>
- </div>
- <div class="down">
- <div class="farm-plant">
- <div class="title"><span>种养品种 · {{ this.page.total }}种</span></div>
- <div class="content">
- <div class="list-item" v-for="item in farmPlantList">
- <div class="item-img">
- <img :src="item.url" />
- <span>{{ item.strainName }}</span>
+ <div @click="bodyClick($event)" style="position: relative; height: 100%;">
+ <plot-map ref="plotMap" style="position: absolute; width: 100%; height: 100%;"></plot-map>
+
+ <div class="top">
+ <div class="logo">
+ <img src="../../../public/mg.png" />
</div>
- <div class="item-num">{{ item.area }}亩</div>
- </div>
- </div>
- </div>
- <div class="land-info">
- <div class="content">
- <span>有轮廓的地块:</span><span style="font-size: 26px;font-weight: bold;color: #5ABF78;"> {{landIsAreaStatistic[0]}}</span>
-
- <span>无轮廓的地块:</span><span style="font-size: 26px;font-weight: bold;color: #E3B745;"> {{landIsAreaStatistic[1]}}</span>
- </div>
- </div>
- <div class="farm-land">
- <div class="title"><span>地块 · {{ this.pageLand.total }}种</span></div>
- <div class="content">
- <div class="list-item" v-for="item in landList">
- <div class="item-img">
- <img :src="item.url" />
- <span>{{ item.landName }}</span>
+ <div class="farm-info">
+ <div class="farm-name">
+ <span>{{ farmInfo.farmName }}</span>
+ </div>
+ <div class="farm-area">
+ <span>地块总面积:</span>
+ <span style="font-size: 16px;font-weight: bold;"> {{landAreaInfo.zarea}}亩</span>
+
+ <span>在田面积:</span>
+ <span style="font-size: 16px;font-weight: bold;"> {{landAreaInfo.sarea}}亩</span>
+ </div>
</div>
- <div class="item-num">{{ item.landArea }}亩</div>
- </div>
+ <div class="out" @click="goToBack">
+ <img src="../../../public/img/out.png" />
+ <span> 返回</span>
+ </div>
</div>
- </div>
+
+ <div class="farm-plant">
+ <div class="title">
+ <span>种养品种 · {{ this.plotPlantBreed.length }}种</span>
+ </div>
+ <div class="content">
+ <div class="list-item" v-for="(item, index) in plotPlantBreed" :key="index">
+ <div class="item-img">
+ <img :src="item.url" />
+ <span>{{ item.strainName }}</span>
+ </div>
+ <div class="item-num">{{ item.area }}亩</div>
+ </div>
+ </div>
+ </div>
+
+ <div class="land-info">
+ <div class="content">
+ <div>
+ 有轮廓的地块:
+ <span
+ style="font-size: 26px;font-weight: bold;color: #5ABF78;"
+ >{{landIsAreaStatistic.length > 0 ? landIsAreaStatistic[0] : 0}}</span>
+ </div>
+
+ <div>
+ 无轮廓的地块:
+ <span
+ style="font-size: 26px;font-weight: bold;color: #E3B745;"
+ >{{landIsAreaStatistic.length > 1 ? landIsAreaStatistic[1] : 0}}</span>
+ </div>
+ </div>
+ </div>
+
+ <div class="farm-land">
+ <div class="title">
+ <span>地块 · {{ this.pageLand.total }}个</span>
+ </div>
+ <div class="content">
+ <div
+ class="list-item"
+ v-for="(item, index) in landList"
+ :key="index"
+ @click="setCenter(item)"
+ >
+ <div class="item-img">
+ <img :src="item.url" />
+ <span>{{ item.landName }}</span>
+ </div>
+ <div class="item-num">{{ item.landArea }}亩</div>
+ </div>
+ </div>
+ </div>
+
+ <div class="plot-detail-popup" v-show="cPShow" ref="showCP">
+ <div class="close-plot-popup" @click="closePlotPopup">
+ <i class="el-icon-close" style="color: #fff;"></i>
+ </div>
+
+ <div class="header">
+ <div class="plot-name">
+ <div v-show="!plotNameEditShow">
+ <div
+ class="name"
+ style="font-weight: bold;"
+ >{{ currentPlotDetails.landName }}</div>
+ <i
+ @click="plotNameEditShow=true"
+ class="el-icon-edit-outline edit-btn"
+ title="编辑地块名称"
+ style="margin-left: 9px;"
+ ></i>
+ </div>
+
+ <div v-show="plotNameEditShow" class="edit-name">
+ <el-input style="flex: 1;" v-model="currentPlotName" size="small"></el-input>
+ <div class="btn-grounp">
+ <span class="edit-btn" @click="editName">保存</span>
+
+ <span style="color: #999;">|</span>
+
+ <span
+ class="edit-btn"
+ @click="plotNameEditShow=fasle"
+ style="color: #acdcd0;"
+ >取消</span>
+ </div>
+ </div>
+ </div>
+ <div class="plot-area-type">
+ <div class="l">
+ 占地面积:{{ currentPlotDetails.landArea }}{{ currentPlotDetails.dica }}
+ <span
+ class="type"
+ >{{ currentPlotDetails.dic }}</span>
+ </div>
+ <div class="r" @click="goToPlotDetail">
+ 进入地块
+ <i class="el-icon-arrow-right"></i>
+ </div>
+ </div>
+ </div>
+
+ <div class="body">
+ <div
+ v-show="cPPBreed.length > 0"
+ class="list"
+ v-for="(item, index) in cPPBreed"
+ :key="index"
+ >
+ <div class="l">
+ <img :src="item.url" />
+ {{ item.strainName }}
+ </div>
+ <div
+ class="r"
+ >{{ item.createTime }}{{ item.plantingWay == 0 ? "移摘" : item.plantingWay == 1 ? "播种" : "秧苗" }}</div>
+ </div>
+
+ <div
+ v-show="cPPBreed.length == 0"
+ style="height: 100%; display: flex; align-items: center; justify-content: center;"
+ >暂无种养品种</div>
+ </div>
+ </div>
</div>
- </div>
</template>
<script>
import { mapGetters } from "vuex"
-import { getList } from "@/api/farmplant/farmplant";
-import { getList as getLandList, selectCount,getLandIsAreaStatistic } from "@/api/land/land";
-import { getDetails } from "@/api/farm/farm";
+import { getList } from "@/api/farmplant/farmplant"
+import { getList as getLandList, selectCount, getLandIsAreaStatistic, submit } from "@/api/land/land"
+import { getDetails } from "@/api/farm/farm"
export default {
- components: {
- },
- data() {
- return {
- page: {
- pageSize: 10,
- currentPage: 1,
- total: 0,
- },
- pageLand: {
- pageSize: 10,
- currentPage: 1,
- total: 0,
- },
- farmPlantList: [],
- landList: [],
- farmInfo: {},
- landAreaInfo:{},
- landIsAreaStatistic:null,
- }
+ components: {
+ },
+ data () {
+ return {
+ page: {
+ pageSize: 100,
+ currentPage: 1,
+ total: 0,
+ },
+ pageLand: {
+ pageSize: 100,
+ currentPage: 1,
+ total: 0,
+ },
+ farmPlantList: [],
- },
- computed: {
- ...mapGetters(["userInfo"]),
- },
- created() {
- //获取种样品列表
- this.getFarmPlantList(this.page);
- //获取地块列表
- this.getLandList(this.pageLand);
- //获取农场信息
- this.getFarmInfo();
- //获取统计面积信息
- this.getLandCount();
- //获取地块轮廓统计信息
- this.getLandIsAreaStatistic();
- },
- methods: {
- //获取种养品列表
- getFarmPlantList(page, params = {}) {
- params['farmId'] = this.userInfo.farmId;
- this.loading = true;
- getList(
- page.currentPage,
- page.pageSize,
- Object.assign(params)
- ).then((res) => {
- const data = res.data.data;
- this.page.total = data.total;
- this.farmPlantList = data.records;
- this.loading = false;
- this.selectionClear();
- });
+ // 数据合并后的种养品种
+ plotPlantBreed: [],
+
+ // 当前地块种养品种
+ cPPBreed: [],
+
+ // 当前地块对应弹框
+ cPShow: false,
+
+ // 当前点击地块详情
+ currentPlotDetails: {},
+ currentPlotName: "",
+
+ // 名称编辑是否显示
+ plotNameEditShow: false,
+
+ plotClickNum: 0,
+
+ landList: [],
+ farmInfo: {},
+ landAreaInfo: {},
+ landIsAreaStatistic: [],
+ }
+
},
- //获取地块列表
- getLandList(page, params = {}) {
- params['farmId'] = this.userInfo.farmId;
- params['tenantId'] = this.userInfo.tenant_id;
- this.loading = true;
- getLandList(
- page.currentPage,
- page.pageSize,
- Object.assign(params)
- ).then((res) => {
- const data = res.data.data;
- this.pageLand.total = data.total;
- this.landList = data.records;
- this.loading = false;
- this.selectionClear();
- });
+ computed: {
+ ...mapGetters(["userInfo", "$farmId"]),
},
- //返回上一页
- goToBack() {
- this.$router.go(-1)
+ created () {
+ if (this.$farmId == 0){
+ if (sessionStorage.getItem("myFarmId")){
+ this.$store.commit("SET_FARMID",JSON.parse(sessionStorage.getItem("myFarmId")))
+ }
+ }
+ window.addEventListener('beforeunload', () => {
+ sessionStorage.setItem('myFarmId', JSON.stringify(this.$farmId))
+ })
+ //获取种样品列表
+ this.getFarmPlantList(this.page)
+ //获取地块列表
+ this.getLandList(this.pageLand)
+ //获取农场信息
+ this.getFarmInfo()
+ //获取统计面积信息
+ this.getLandCount()
+ //获取地块轮廓统计信息
+ this.getLandIsAreaStatistic()
},
- //获取农场信息
- getFarmInfo() {
- var that = this;
- getDetails(this.userInfo.farmId).then(res => {
- that.farmInfo = res.data.data;
- })
- },
- //获取统计面积信息
- getLandCount() {
- selectCount(this.userInfo.farmId).then(res => {
- this.landAreaInfo = res.data.data;
- })
- },
- //获取地块轮廓统计信息
- getLandIsAreaStatistic(){
- getLandIsAreaStatistic(this.userInfo.farmId).then(res=>{
- this.landIsAreaStatistic = res.data.data;
- })
+ methods: {
+ //获取种养品列表
+ getFarmPlantList (page, params = {}) {
+ params['farmId'] = this.$farmId
+ params['status'] = 1
+ this.loading = true
+ getList(
+ page.currentPage,
+ page.pageSize,
+ Object.assign(params)
+ ).then((res) => {
+ const data = res.data.data
+ this.page.total = data.total
+ this.farmPlantList = data.records
+
+ let arr = []
+ this.farmPlantList.forEach(item => {
+ if (arr.length > 0) {
+ let result = arr.some(it => {
+ if (item.strainName == it.strainName) {
+ it.area += Number(item.area)
+
+ return true
+ }
+ })
+
+ if (!result) {
+ arr.push({
+ strainName: item.strainName,
+ area: Number(item.area),
+ url: item.url
+ })
+ }
+ } else {
+ arr.push({
+ strainName: item.strainName,
+ area: Number(item.area),
+ url: item.url
+ })
+ }
+ })
+
+ arr.forEach((e)=>{
+ e.area = e.area.toFixed(3)
+ })
+
+ this.plotPlantBreed = arr
+
+ this.loading = false
+
+
+
+ // this.selectionClear()
+ })
+ },
+ //获取地块列表
+ getLandList (page, params = {}) {
+ const that = this
+ params['farmId'] = this.$farmId
+ params['tenantId'] = this.userInfo.tenant_id
+ this.loading = true
+ getLandList(
+ page.currentPage,
+ page.pageSize,
+ Object.assign(params)
+ ).then((res) => {
+ const data = res.data.data
+
+ data.records.forEach(item => {
+ if (item.landRange != '' || item.landRange != null) {
+ item.landRange = item.landRange.replace(/POLYGON\(\(/g, '')
+ item.landRange = item.landRange.replace(/\)\)/g, '')
+
+ const arr = item.landRange.split(',')
+ var brr = []
+ arr.forEach(it => {
+ brr.push(it.split(' '))
+ })
+ that.$refs.plotMap.addPlotPolygon(brr, item)
+ }
+ })
+
+ this.pageLand.total = data.total
+ this.landList = data.records
+ this.loading = false
+ // this.selectionClear()
+ })
+ },
+ //返回上一页
+ goToBack () {
+ this.$EventBus.$emit("getFarmObj", this.farmInfo);
+ this.$router.go(-1)
+ },
+ //获取农场信息
+ getFarmInfo () {
+ var that = this
+ getDetails(this.$farmId).then(res => {
+ that.farmInfo = res.data.data
+ })
+ },
+ //获取统计面积信息
+ getLandCount () {
+ selectCount(this.$farmId).then(res => {
+ this.landAreaInfo = res.data.data
+ })
+ },
+ //获取地块轮廓统计信息
+ getLandIsAreaStatistic () {
+ getLandIsAreaStatistic(this.$farmId).then(res => {
+ this.landIsAreaStatistic = res.data.data
+ })
+ },
+
+ // 地块定位
+ setCenter (item) {
+ console.log(item)
+ this.$refs.plotMap.setPlotCenter(item)
+ },
+
+ plotDetailsPopupShow (params) {
+ this.currentPlotDetails = params
+ this.currentPlotName = params.landName
+ let arr = []
+
+ this.farmPlantList.forEach((item, index) => {
+ if (params.id == item.landId) {
+ arr.push(item)
+ }
+ })
+
+ this.cPPBreed = arr
+
+ this.cPShow = true
+ },
+
+ bodyClick (e) {
+ if (this.plotClickNum == 0) {
+ this.plotClickNum++
+ return
+ }
+
+ if (this.$refs.showCP) {
+ let isSelf = this.$refs.showCP.contains(e.target)
+ if (!isSelf) {
+ this.plotClickNum = 0
+ this.cPShow = false
+ }
+ }
+ },
+
+ editName () {
+ if (this.currentPlotName == "") {
+ this.$message({
+ message: '地块名称不能为空',
+ type: "warning",
+ })
+ return
+ }
+
+ submit({
+ id: this.currentPlotDetails.id,
+ landName: this.currentPlotName
+ }).then(res => {
+ if (res.data.code == 200) {
+ this.currentPlotDetails.landName = this.currentPlotName
+ this.$refs.plotMap.setPlotAttr(this.currentPlotDetails)
+ this.landList.some(item => {
+ if (item.id == this.currentPlotDetails.id) {
+ item.landName = this.currentPlotDetails.landName
+ return true
+ }
+ })
+
+ this.plotNameEditShow = false
+
+ this.$message({
+ message: '地块名称修改成功',
+ type: "success",
+ })
+ }
+ })
+ },
+
+ closePlotPopup () {
+ this.plotClickNum = 0
+ this.plotNameEditShow = false
+ this.cPShow = false
+ },
+
+ goToPlotDetail () {
+ this.landList.some(item => {
+ if (item.id == this.currentPlotDetails.id) {
+ var arr = []
+ this.$store.state.tags.tagList.forEach((item) => {
+ if (item.label != "地块详情") {
+ arr.push(item)
+ }
+ })
+ this.$store.state.tags.tagList = arr
+
+ this.$router.push({
+ path: `/LandDetail`,
+ query: item,
+ })
+ return true
+ }
+ })
+ }
}
- }
}
</script>
+
<style lang="scss" scope>
.top {
- width: 100%;
- height: 80px;
- background: #000000;
- border-radius: 0px 0px 0px 0px;
- opacity: 0.5;
-
- .logo {
position: absolute;
- left: 36px;
- top: 12px;
-
- img {
- height: 55px;
- }
- }
-
- .farm-info {
- height: 100%;
+ top: 0;
width: 100%;
+ height: 80px;
+ background: rgba(0, 0, 0, 0.5);
+ z-index: 9;
- .farm-name {
- width: 100%;
- height: 33px;
- font-size: 25px;
- font-weight: bold;
- color: #5ABF78;
- text-align: center;
- padding-top: 13px;
+ .logo {
+ position: absolute;
+ left: 36px;
+ top: 12px;
+
+ img {
+ height: 55px;
+ }
}
- .farm-area {
- width: 100%;
- height: 19px;
- font-size: 14px;
- font-weight: 400;
- color: #FFFFFF;
- text-align: center;
- padding-top: 6px;
- }
- }
+ .farm-info {
+ height: 100%;
+ width: 100%;
- .out {
- width: 136px;
- height: 33px;
- line-height: 33px;
- background: rgba(236, 95, 89, 0.8000);
- border-radius: 4px 4px 4px 4px;
- opacity: 1;
- border: 1px solid #EC5F59;
- position: absolute;
- top: 24px;
- right: 33px;
- text-align: center;
- cursor: pointer;
+ .farm-name {
+ width: 100%;
+ height: 33px;
+ font-size: 25px;
+ font-weight: bold;
+ color: #5abf78;
+ text-align: center;
+ padding-top: 13px;
+ }
- img {
- width: 12px;
- height: 18px;
- position: relative;
- top: 4px;
- }
-
- span {
- font-size: 14px;
- color: #FFFFFF;
- font-weight: 400;
- }
- }
-
-
-}
-
-.down {
- width: 100%;
-
- .farm-plant {
- width: 292px;
- height: 550px;
- position: absolute;
- left: 30px;
- top: 242px;
-
- .title {
- width: 292px;
- height: 50px;
- background: #5ABF78;
- border-radius: 4px 4px 0px 0px;
- opacity: 1;
- line-height: 50px;
- font-size: 17px;
- font-weight: bold;
- color: #FFFFFF;
-
- span {
- margin-left: 20px;
- }
- }
-
- .content {
- width: 292px;
- // height: 500px;
- background: #08551E;
- border-radius: 4px 4px 0px 0px;
- opacity: 0.9;
- padding-bottom: 30px;
-
- .list-item {
- width: 252px;
- margin: auto;
- display: flex;
- height: 64px;
- line-height: 64px;
- border-bottom: 1px solid #cccccc;
- flex-flow: row nowrap;
- justify-content: space-between;
-
- .item-img {
- margin-left: 5px;
- display: flex;
-
- img {
- margin-top: 12px;
- width: 40px;
- height: 40px;
- background: #2389EF;
- border-radius: 84px 84px 84px 84px;
- opacity: 1;
- }
-
- span {
- margin-left: 11px;
+ .farm-area {
+ width: 100%;
+ height: 19px;
font-size: 14px;
font-weight: 400;
- color: #FFFFFF;
- }
+ color: #ffffff;
+ text-align: center;
+ padding-top: 6px;
}
-
- .item-num {
- font-size: 14px;
- font-weight: 400;
- color: #FFFFFF;
- }
-
-
- }
}
+ .out {
+ width: 136px;
+ height: 33px;
+ line-height: 33px;
+ background: rgba(236, 95, 89, 0.8);
+ border-radius: 4px 4px 4px 4px;
+ opacity: 1;
+ border: 1px solid #ec5f59;
+ position: absolute;
+ top: 24px;
+ right: 33px;
+ text-align: center;
+ cursor: pointer;
- }
+ img {
+ width: 12px;
+ height: 18px;
+ position: relative;
+ top: 4px;
+ }
- .land-info{
+ span {
+ font-size: 14px;
+ color: #ffffff;
+ font-weight: 400;
+ }
+ }
+}
+
+.land-info {
width: 100%;
position: absolute;
top: 112px;
- .content{
- margin: auto;
- width: 431px;
- height: 56px;
- background: #000000;
- border-radius: 28px 28px 28px 28px;
- opacity: 0.5;
- display: flex;
- justify-content: center;
- align-items:center;
- font-size: 16px;
- font-weight: 400;
- color: #FFFFFF;
- }
- }
+ .content {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin: auto;
+ padding: 0 40px;
+ width: 431px;
+ height: 56px;
+ background: rgba(0, 0, 0, 0.5);
+ border-radius: 28px 28px 28px 28px;
+ font-size: 16px;
+ font-weight: 400;
+ color: #ffffff;
- .farm-land {
+ & > div {
+ display: flex;
+ align-items: center;
+ }
+ }
+}
+
+.farm-plant {
+ position: absolute;
+ left: 30px;
+ top: 242px;
+ z-index: 99;
+
width: 292px;
height: 550px;
+
+ .title {
+ width: 292px;
+ height: 50px;
+ background: #5abf78;
+ border-radius: 4px 4px 0px 0px;
+ opacity: 1;
+ line-height: 50px;
+ font-size: 17px;
+ font-weight: bold;
+ color: #ffffff;
+
+ span {
+ margin-left: 20px;
+ }
+ }
+
+ .content {
+ width: 292px;
+ height: calc(100% - 50px);
+ background: rgba(8, 85, 30, 0.9);
+ // height: 500px;
+ border-radius: 4px 4px 0px 0px;
+ opacity: 0.9;
+ padding-bottom: 30px;
+
+ overflow-x: hidden;
+ overflow-y: auto;
+
+ .list-item {
+ width: 252px;
+ margin: auto;
+ display: flex;
+ height: 64px;
+ line-height: 64px;
+ border-bottom: 1px solid #cccccc;
+ flex-flow: row nowrap;
+ justify-content: space-between;
+
+ .item-img {
+ margin-left: 5px;
+ display: flex;
+
+ img {
+ margin-top: 12px;
+ width: 40px;
+ height: 40px;
+ background: #2389ef;
+ border-radius: 84px 84px 84px 84px;
+ opacity: 1;
+ }
+
+ span {
+ margin-left: 11px;
+ font-size: 14px;
+ font-weight: 400;
+ color: #ffffff;
+ }
+ }
+
+ .item-num {
+ font-size: 14px;
+ font-weight: 400;
+ color: #ffffff;
+ }
+ }
+ }
+}
+
+.farm-land {
position: absolute;
right: 30px;
top: 242px;
- .title {
- width: 292px;
- height: 50px;
- background: #5ABF78;
- border-radius: 4px 4px 0px 0px;
- opacity: 1;
- line-height: 50px;
- font-size: 17px;
- font-weight: bold;
- color: #FFFFFF;
+ z-index: 99;
- span {
- margin-left: 20px;
- }
+ width: 292px;
+ height: 550px;
+
+ .title {
+ width: 292px;
+ height: 50px;
+ background: #5abf78;
+ border-radius: 4px 4px 0px 0px;
+ opacity: 1;
+ line-height: 50px;
+ font-size: 17px;
+ font-weight: bold;
+ color: #ffffff;
+
+ span {
+ margin-left: 20px;
+ }
}
.content {
- width: 292px;
- // height: 500px;
- background: #08551E;
- border-radius: 4px 4px 0px 0px;
- opacity: 0.9;
- padding-bottom: 30px;
+ width: 292px;
+ height: calc(100% - 50px);
+ background: rgba(8, 85, 30, 0.9);
+ // height: 500px;
- .list-item {
- width: 252px;
- margin: auto;
- display: flex;
- height: 64px;
- line-height: 64px;
- border-bottom: 1px solid #cccccc;
- flex-flow: row nowrap;
- justify-content: space-between;
+ border-radius: 4px 4px 0px 0px;
+ opacity: 0.9;
+ padding-bottom: 30px;
- .item-img {
- margin-left: 5px;
- display: flex;
+ overflow-x: hidden;
+ overflow-y: auto;
- img {
- margin-top: 12px;
- width: 40px;
- height: 40px;
- background: #2389EF;
- border-radius: 84px 84px 84px 84px;
- opacity: 1;
- }
+ .list-item {
+ width: 252px;
+ margin: auto;
+ display: flex;
+ height: 64px;
+ line-height: 64px;
+ border-bottom: 1px solid #cccccc;
+ flex-flow: row nowrap;
+ justify-content: space-between;
+ cursor: pointer;
- span {
- margin-left: 11px;
- font-size: 14px;
- font-weight: 400;
- color: #FFFFFF;
- }
+ .item-img {
+ margin-left: 5px;
+ display: flex;
+
+ img {
+ margin-top: 12px;
+ width: 40px;
+ height: 40px;
+ background: #2389ef;
+ border-radius: 84px 84px 84px 84px;
+ opacity: 1;
+ }
+
+ span {
+ margin-left: 11px;
+ font-size: 14px;
+ font-weight: 400;
+ color: #ffffff;
+ }
+ }
+
+ .item-num {
+ font-size: 14px;
+ font-weight: 400;
+ color: #ffffff;
+ }
}
-
- .item-num {
- font-size: 14px;
- font-weight: 400;
- color: #FFFFFF;
- }
-
-
- }
}
- }
+}
+
+.plot-detail-popup {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+
+ width: 462px;
+ height: 262px;
+
+ transform: translate(-50%, -50%);
+ z-index: 11;
+ background: rgba(255, 255, 255, 0.9);
+ border-radius: 8px;
+
+ .close-plot-popup {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ position: absolute;
+ top: -10px;
+ right: -10px;
+ width: 20px;
+ height: 20px;
+ border-radius: 50%;
+ background: #ccc;
+ }
+
+ .header {
+ display: flex;
+ flex-direction: column;
+ padding: 10px 20px;
+ height: 80px;
+ background: #2cd2a9;
+ color: #fff;
+ border-radius: 8px 8px 0 0;
+ box-sizing: border-box;
+
+ & > div {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ }
+
+ .plot-name {
+ & > div {
+ display: flex;
+ align-items: center;
+ }
+
+ .edit-btn {
+ cursor: pointer;
+ }
+
+ .edit-name {
+ width: 100%;
+ background: rgba(0, 0, 0, 0.15);
+ border-radius: 4px;
+
+ .btn-grounp {
+ margin-right: 15px;
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+ width: 80px;
+ font-size: 14px;
+ }
+ }
+ }
+
+ .plot-area-type {
+ justify-content: space-between;
+ font-size: 14px;
+
+ .l {
+ color: #e7f7f3;
+
+ .type {
+ padding: 2px 10px;
+ border-radius: 11px;
+ background-color: #31bd9a;
+ }
+ }
+
+ .r {
+ cursor: pointer;
+ }
+ }
+ }
+
+ .body {
+ padding: 10px 20px;
+ height: calc(100% - 80px);
+ background: rgba(0, 0, 0, 0);
+ box-sizing: border-box;
+ overflow-x: hidden;
+ overflow-y: auto;
+ border-radius: 0 0 8px 8px;
+
+ .list:first-child {
+ margin: 0;
+ }
+
+ .list {
+ margin-top: 10px;
+ padding: 0 10px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ height: 50px;
+ background: #fff;
+ font-size: 14px;
+
+ .l {
+ display: flex;
+ align-items: center;
+ color: #2cd2a9;
+
+ img {
+ margin-right: 10px;
+ width: 30px;
+ height: 30px;
+ }
+ }
+
+ .r {
+ color: #999;
+ }
+ }
+ }
}
</style>
--
Gitblit v1.9.3