From bcb6af1fa7973001a43bb08a2d7a8f96e81bc5e5 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Fri, 02 Sep 2022 17:53:22 +0800
Subject: [PATCH] 地块添加修改显示天地图
---
src/views/land/landAdd.vue | 137 +++++++++++++++++++++++++++++++++++++--------
1 files changed, 111 insertions(+), 26 deletions(-)
diff --git a/src/views/land/landAdd.vue b/src/views/land/landAdd.vue
index cf861a7..d8f1a47 100644
--- a/src/views/land/landAdd.vue
+++ b/src/views/land/landAdd.vue
@@ -4,15 +4,21 @@
:modal-append-to-body="false"
:append-to-body="true"
:close-on-click-modal="false"
- width="60%"
+ width="80%"
:visible.sync="visible"
+ top="10vh"
>
<avue-form ref="form" v-model="form" :option="option" @submit="submit">
<!-- 地图插入 -->
<template slot-scope="{ type, disabled }" slot="line">
- <getMapDataInThere ref="getMapData" id="getMapData" @setMapData="setMapData"></getMapDataInThere>
+ <!-- <getMapDataInThere ref="getMapData" id="getMapData" @setMapData="setMapData"></getMapDataInThere> -->
+
</template>
</avue-form>
+ <div class="map">
+ <iframe :src="url" frameborder="0" width="100%" height="100%" ></iframe>
+ </div>
+
</el-dialog>
</template>
@@ -23,7 +29,10 @@
import { getDeptTree } from "@/api/system/dept"
import { add } from "@/api/land/land"
import website from '@/config/website'
+import domtoimage from 'dom-to-image'
+import h2 from 'html2canvas'
import getMapDataInThere from "./getMapDataInThere.vue"
+// import canvas2Image from 'canvas2Image'
export default {
components: {
@@ -36,6 +45,7 @@
option: {
emptyBtn: false,
submitText: "保存",
+ submitBtn:false,
gutter: 30,
column: [
{
@@ -99,26 +109,49 @@
dataType: "number",
span: 6,
},
- {
- label: "地块展示",
- labelWidth: "0",
- prop: "line",
- className: "mapClass",
- span: 24,
- formslot: true,
- }
+ // {
+ // label: "地块展示",
+ // labelWidth: "0",
+ // prop: "line",
+ // className: "mapClass",
+ // span: 24,
+ // formslot: true,
+ // }
],
},
+ url:"",
+ landUrl:"",
+ polygon:[],
+ area:"",
visible: false,
}
},
+ created() {
+ this.url = this.drawMapUrlBase + "/base?type=1&lng=112&lat=24&status=manage"
+ },
computed: {
- ...mapGetters(["userInfo", "permission", "polygons","$farmId"]),
+ ...mapGetters(["userInfo", "permission", "polygons","$farmId", "drawMapUrlBase"]),
+ },
+ watch:{
+ "landUrl":{
+ handler(newVal,oldVal){
+ this.$refs.form.submit()
+ }
+ }
},
mounted () {
this.initData(this.userInfo.tenant_id)
+ window.addEventListener('message', this.handleMessage)
},
methods: {
+ handleMessage(event) {
+ if(event.type){
+ var obj = event.data
+ this.polygon = obj.polygons
+ this.landUrl = obj.url
+ this.area = obj.area.toFixed(2)
+ }
+ },
initData (tenantId) {
getFarmList().then(res => {
const column = this.findObject(this.option.column, "farmId")
@@ -135,17 +168,32 @@
},
// 表单提交
submit (row, done) {
+ console.log(row)
row['deptId'] = this.userInfo.dept_id
// row.farmId = this.farm.id
+
+
var that = this
- if (this.polygons.length == 0) {
+ var poly = []
+ if(this.polygon.length !=0 ){
+ this.polygon.forEach((e)=>{
+ poly.push({
+ lng:e[0],
+ lat:e[1]
+ })
+ })
+ this.polygon = poly
+ }
+
+
+ if (this.polygon.length == 0) {
//没有面的数据
// this.$refs.getMapData.isCheck = true
// loading()
} else {
//如果有值,空间坐标转换
- let pol = this.polygons
- let polLength = this.polygons.length - 1
+ let pol = this.polygon
+ let polLength = this.polygon.length - 1
let usePolygons = ""
for (let k in pol) {
usePolygons += pol[k].lng + "," + pol[k].lat
@@ -156,26 +204,59 @@
//设置坐标点
row.userId = this.userInfo.user_id
row.landRange = usePolygons
+
}
+
+ // if (this.polygons.length == 0) {
+ // //没有面的数据
+ // // this.$refs.getMapData.isCheck = true
+ // // loading()
+ // } else {
+ // //如果有值,空间坐标转换
+ // let pol = this.polygons
+ // let polLength = this.polygons.length - 1
+ // let usePolygons = ""
+ // for (let k in pol) {
+ // usePolygons += pol[k].lng + "," + pol[k].lat
+ // if (k != polLength) {
+ // usePolygons += ";"
+ // }
+ // }
+ // //设置坐标点
+ // row.userId = this.userInfo.user_id
+ // row.landRange = usePolygons
+ // console.log(row.landRange)
+ // }
+
+
+
+ row['url'] = this.landUrl
+ row['landArea'] = this.area
add(row).then(() => {
- that.$emit("refreshOnLoad")
- that.$refs.form.resetFields()
- that.form.landUnit = "0"
- that.visible = false
- this.$message({
- type: "success",
- message: "操作成功!"
+ that.$emit("refreshOnLoad")
+ that.$refs.form.resetFields()
+ that.form.landUnit = "0"
+ that.visible = false
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ done()
+ }, error => {
+ // loading()
+ window.console.log(error)
})
- done()
- }, error => {
- // loading()
- window.console.log(error)
- })
+
},
+
setMapData (val) {
this.LineData = val[0]
this.PointData = val[1]
},
+
+ showMap(){
+ this.mapVisible = true
+ }
},
};
</script>
@@ -191,4 +272,8 @@
top: 10px;
left: 90px;
}
+
+.map{
+ height: 450px;
+}
</style>
--
Gitblit v1.9.3