From bcb0b5f05984af58e329404ec8e7b3862878515f Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Wed, 11 May 2022 11:40:25 +0800
Subject: [PATCH] 农场地图展示完善
---
src/views/farm/getMapDataInThere.vue | 244 ++++--------------------------------------------
1 files changed, 23 insertions(+), 221 deletions(-)
diff --git a/src/views/farm/getMapDataInThere.vue b/src/views/farm/getMapDataInThere.vue
index 41e4922..d1a0abf 100644
--- a/src/views/farm/getMapDataInThere.vue
+++ b/src/views/farm/getMapDataInThere.vue
@@ -2,7 +2,7 @@
<div class="getMapData" :key="Refresh">
<MapInThere ref="getMapDataRefs" />
<div class="notDatas" v-show="isCheck">
- <div style="color:red">*</div>
+ <div style="color: red">*</div>
未绘画区域
</div>
<div class="controlMapWindowTitle">
@@ -15,77 +15,6 @@
>
</el-button-group>
</div>
- <!-- <div class="controlMapWindow">
- <div class="controlMapWindowTitle">
- <el-button-group>
- <el-button
- type="primary"
- icon="el-icon-finished"
- @click="openDrawLineMethod"
- :disabled="fromView"
- >新增路线</el-button
- >
- <el-button
- type="primary"
- @click="openDrawPointMethod"
- icon="el-icon-coordinate"
- :disabled="fromView"
- >新增标点</el-button
- >
- </el-button-group>
- </div>
- <div class="controlMapWindowmain">
- <transition-group
- :name="animateName"
- :enter-active-class="animateEnter"
- :leave-active-class="animateLeave"
- >
- <div
- class="getMapData__once"
- v-for="(item, index) in ourDatas"
- :key="index"
- >
- <div class="getMapData_once_label">
- <el-tag> {{ item.label }}</el-tag>
- </div>
- <el-input
- :class="[
- 'getMapData_once_name',
- item.notPath == 2 ? 'notPath' : '',
- ]"
- @blur="myRules(index)"
- v-model="item.name"
- placeholder="请输入路径名称"
- :disabled="fromView"
- ></el-input>
- <transition
- :name="animateNames"
- :enter-active-class="animateEnters"
- :leave-active-class="animateLeaves"
- >
- <div class="notPathTitile" v-show="item.notPath == 2">
- 请输入名称或选择路径
- </div>
- </transition>
- <el-button
- class="getMapData_once_get"
- :type="item.value ? 'success' : 'primary'"
- :title="item.value ? '重新选择' : '点击选择'"
- :icon="item.isLine ? 'el-icon-finished' : 'el-icon-add-location'"
- @click="openMap(item.label, index, item.value)"
- :disabled="MapDataShow || fromView"
- ></el-button>
- <el-button
- class="getMapData_once_endBut"
- icon="el-icon-delete"
- circle
- @click="deleteRowOurs(index)"
- :disabled="MapDataShow || fromView"
- ></el-button>
- </div>
- </transition-group>
- </div>
- </div> -->
</div>
</template>
@@ -95,47 +24,29 @@
export default {
name: "getMapData",
components: {
- MapInThere
+ MapInThere,
},
computed: {
- ...mapGetters(["rotesData", "pointData", "polygons"])
+ ...mapGetters(["rotesData", "pointData", "polygons"]),
},
watch: {
ourDatas: {
handler(val) {
- // console.log("深度监听:", val);
- this.checkDom("getMapDataRefs", dom => {
+ this.checkDom("getMapDataRefs", (dom) => {
dom.onceOnlodad(val);
});
},
- deep: true
+ deep: true,
},
polygons() {
- console.log(this.polygons);
if (this.polygons.length > 0) {
this.isCheck = false;
}
- }
+ },
},
data() {
return {
Refresh: false,
- // routers: [
- // {
- // label: "路径1",
- // value: "",
- // routerName: "",
- // notPath: true,
- // },
- // ],
- // potions: [
- // {
- // label: "标点1",
- // value: "",
- // potionName: "",
- // notPath: true,
- // },
- // ],
//动画效果
animateName: "custom-classes-transition",
animateEnter: "animated fadeIn",
@@ -147,68 +58,30 @@
openTitle: "路径1",
MapDataShow: false,
fromView: false,
- ourDatas: [
- // {
- // label: "路径2",
- // value:
- // "LINESTRING(114.03870329193403 27.630853600622704,114.03979921475035 27.628518808535755,114.04046629820375 27.629042945534867,114.04041864938566 27.628971472307715);LINESTRING(114.0392325389847 27.631412806376527,114.03958275318838 27.630799931520087,114.0393492770526 27.630391348282462,114.03993296739206 27.629778473426025,114.04019562804483 27.629982765044836)",
- // name: "xxx2",
- // notPath: false,
- // isLine: true,
- // id: 2,
- // },
- // {
- // label: "路径3",
- // value:
- // "LINESTRING(114.03902048124041 27.631126394329247,114.03985626036528 27.6309025249208,114.03997565738312 27.630215992068223,114.03887123496811 27.630111519677616,114.03903540586764 27.6294548360795,114.04046817008171 27.6294548360795,114.04078158725353 27.629022021889835,114.0396174663296 27.628574283072936,114.03996073275589 27.628245941273878,114.04105023054368 27.628589207700166,114.04105023054368 27.628589207700166)",
- // name: "xxx3",
- // notPath: false,
- // isLine: true,
- // id: 3,
- // },
- // {
- // label: "标点4",
- // value: [114.03887343706977, 27.63000553765213],
- // name: "喜迎校庆选点1",
- // notPath: false,
- // isLine: false,
- // id: 4,
- // },
- ],
+ ourDatas: [],
nowId: 0,
- isCheck: false
+ isCheck: false,
};
},
mounted() {
- // this.$emit("setMapData", [this.routers, this.potions]);
- // let that = this;
- // if (that.ourDatas.length != 0) {
- // for (let k in that.ourDatas) {
- // that.ourDatas[k].id = +k + 1;
- // }
- // }
- // this.checkDom("getMapDataRefs", dom => {
- // dom.addLines(that.polygons);
- // });
- // this.nowId = +this.ourDatas.length + 1;
- if (this.polygons.length > 0) {
- this.doThat(this.polygons);
- }
+
},
methods: {
+ draw(usePolygons) {
+ this.$store.commit("setpolygon", usePolygons); //用vuex传最终数据
+ this.doThat(usePolygons)
+ },
doThat(val) {
- this.checkDom("getMapDataRefs", dom => {
- dom.addLines(val);
- // 移动位置
- dom.move(val);
+ this.checkDom("getMapDataRefs", (dom) => {
+ dom.addLines(val);
+ // 移动位置
+ dom.move(val);
});
},
drawFace() {
- // console.log(this.$refs.getMapDataRefs);
this.$refs.getMapDataRefs.drawStart();
},
giveUp() {
- // console.log(234);
this.$refs.getMapDataRefs.closeDraw();
},
openDrawLineMethod() {
@@ -219,7 +92,7 @@
name: "",
notPath: false,
isLine: true,
- id: +id
+ id: +id,
});
},
openDrawPointMethod() {
@@ -230,7 +103,7 @@
name: "",
notPath: false,
isLine: false,
- id: +id
+ id: +id,
});
},
deleteRowOurs(index) {
@@ -282,7 +155,7 @@
name: rname[k],
notPath: false,
isLine: true,
- id: this.ourDatas.length
+ id: this.ourDatas.length,
});
}
for (let k in p) {
@@ -293,7 +166,7 @@
name: pname[k],
notPath: false,
isLine: false,
- id: this.ourDatas.length
+ id: this.ourDatas.length,
});
}
this.nowId = +this.ourDatas.length + 1;
@@ -321,7 +194,6 @@
}
let line = this.changeMapData(lineBefor, "name");
let point = this.changeMapData(pointBefor, "name");
- // console.log(line, point);
if (line[0] == "namenot" || point[0] == "namenot") {
//需要显示验证失败合集
let errorId = [];
@@ -331,9 +203,7 @@
if (point[0] == "namenot") {
errorId.push(...point[1]);
}
- // console.log(errorId, "errorId");
for (let x in this.ourDatas) {
- // console.log(this.ourDatas[x], "x");
let flog = true;
for (let k in errorId) {
if (errorId[k] == this.ourDatas[x].id) {
@@ -348,7 +218,6 @@
}
return false;
} else {
- // console.log("通过");
for (let i in this.ourDatas) {
this.ourDatas[i].notPath = false;
}
@@ -361,7 +230,6 @@
value = "",
notData = [];
let itemLength = item.length - 1;
- // console.log(item, names, 7777);
for (let k in item) {
let inItem = item[k];
for (let kin in inItem) {
@@ -371,7 +239,6 @@
kin != "isLine" &&
kin != "id"
) {
- // console.log(kin);
notData.push(inItem.id);
break;
}
@@ -418,8 +285,8 @@
}
// 首次执行
checkDom();
- }
- }
+ },
+ },
};
</script>
@@ -438,71 +305,6 @@
left: calc(50% - 42px);
top: 0;
}
- // .controlMapWindow {
- // width: 320px;
- // height: calc(100% - 20px);
- // // border: 1px solid red;
- // // box-shadow: 2px 0 15px 2px #acacac;
- // position: absolute;
- // left: 10px;
- // top: 10px;
- // background-color: #fff;
- // border-radius: 0 15px 15px 0;
- // padding: 10px 10px;
- // overflow: hidden;
- // // .controlMapWindowTitle {
- // // height: 40px;
- // // width: 100%;
- // // margin-bottom: 5px;
- // // @extend .flexCenter;
- // // }
- // .controlMapWindowmain {
- // width: 100%;
- // height: calc(100% - 45px);
- // overflow-x: hidden;
- // overflow-y: scroll;
- // .getMapData_left {
- // width: 50%;
- // height: 40px;
- // box-sizing: border-box;
- // }
- // .getMapData_right {
- // width: 50%;
- // height: 40px;
- // box-sizing: border-box;
- // }
- // .getMapData__once {
- // width: 100%;
- // height: 40px;
- // margin-bottom: 10px;
- // position: relative;
- // @extend .flexCenter;
- // flex-direction: row;
- // .getMapData_once_label {
- // padding-left: 15px;
- // width: 90px;
- // height: 100%;
- // @extend .flexCenter;
- // justify-content: space-around;
- // }
- // .getMapData_once_name {
- // width: calc(100% - 130px);
- // }
- // .getMapData_once_get {
- // padding: 6px 16px;
- // font-size: 20px;
- // }
- // .notPathTitile {
- // position: absolute;
- // left: 90px;
- // bottom: -20px;
- // color: red;
- // font-size: 1px;
- // }
- // }
- // }
- // }
- // 验证
.notPath {
// border-bottom: 0.5px solid red;
}
--
Gitblit v1.9.3