From ed7ac80be6c37723043707819ddd4c892147e3cb Mon Sep 17 00:00:00 2001 From: dai <851733175@qq.com> Date: Tue, 28 Jun 2022 17:21:19 +0800 Subject: [PATCH] =?UTF-8?q?=E7=95=8C=E9=9D=A2=E9=AB=98=E5=BA=A6=E3=80=81?= =?UTF-8?q?=E5=9C=B0=E5=9B=BE=E4=B8=8D=E6=98=BE=E7=A4=BA=E7=BB=8F=E7=BA=AC?= =?UTF-8?q?=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + .../communityService/dqfwzx/cpts/edit.vue | 21 +++++++-- .../communityService/sqzzz/cpts/edit.vue | 10 ++-- src/views/modules/cpts/base/cpts/edit.vue | 47 +++++++++++++++---- src/views/modules/cpts/base/index.vue | 30 +++++++++--- .../shequzhili/tuceng/anquan/weihua/index.vue | 8 ++++ .../shequzhili/tuceng/anquan/xuncha/index.vue | 8 ++++ .../shequzhili/tuceng/yingji/ziyuan/index.vue | 8 ++++ .../shequzhili/tuceng/zhonghe/base.vue | 4 +- 9 files changed, 108 insertions(+), 29 deletions(-) diff --git a/package.json b/package.json index 3def21d3..ca7e8abb 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "dependencies": { "@riophae/vue-treeselect": "^0.4.0", "@tinymce/tinymce-vue": "^3.2.8", + "async-validator": "^4.2.5", "axios": "^0.19.0", "babel-eslint": "^8.0.1", "babel-plugin-component": "^1.1.1", diff --git a/src/views/modules/communityService/dqfwzx/cpts/edit.vue b/src/views/modules/communityService/dqfwzx/cpts/edit.vue index 8b31439d..c3fd4bb3 100644 --- a/src/views/modules/communityService/dqfwzx/cpts/edit.vue +++ b/src/views/modules/communityService/dqfwzx/cpts/edit.vue @@ -140,7 +140,7 @@ >查询
-
+
经度 { - this.handleMoveCenter(); + map.on("panend", (e) => { + this.handleMoveCenter(e); }); - this.handleMoveCenter(); + // this.handleMoveCenter(); }, setMarker(lat, lng) { @@ -510,7 +513,7 @@ export default { }); }, - handleMoveCenter() { + handleMoveCenter(e) { //修改地图中心点 const center = map.getCenter(); const lat = center.getLat(); @@ -518,6 +521,14 @@ export default { this.dataForm.latitude = lat; this.dataForm.longitude = lng; this.setMarker(lat, lng); + + if (e && e.originalEvent) { + geocoder + .getAddress({ location: new TMap.LatLng(lat, lng) }) // 将给定的坐标位置转换为地址 + .then((result) => { + this.dataForm.locationAddress = result.result.address; + }); + } }, async initForm(type, row) { diff --git a/src/views/modules/communityService/sqzzz/cpts/edit.vue b/src/views/modules/communityService/sqzzz/cpts/edit.vue index e0c54fcc..0b756baf 100644 --- a/src/views/modules/communityService/sqzzz/cpts/edit.vue +++ b/src/views/modules/communityService/sqzzz/cpts/edit.vue @@ -186,13 +186,13 @@ 查询
-
+
经度 { this.handleMoveCenter(e); }); - this.handleMoveCenter(); + // this.handleMoveCenter(); }, setMarker(lat, lng) { @@ -613,7 +613,7 @@ export default { width: 200px; } .item_width_4 { - width: 200px; + width: 430px; } .div_map { diff --git a/src/views/modules/cpts/base/cpts/edit.vue b/src/views/modules/cpts/base/cpts/edit.vue index 5bcaa412..8c88f8f0 100644 --- a/src/views/modules/cpts/base/cpts/edit.vue +++ b/src/views/modules/cpts/base/cpts/edit.vue @@ -110,11 +110,12 @@ style="margin-left: 10px" type="default" size="small" + ref="mapSearch" @click="handleSearchMap(item)" >查询
-
+
经度 查询
-
+
经度 import { requestPost } from "@/js/dai/request"; import nextTick from "dai-js/tools/nextTick"; +import Schema from "async-validator"; var map; var search; @@ -349,14 +351,16 @@ export default { }, editFixedParams: { type: Object, - default: () => { - return {}; - }, + default: () => ({}), }, editParamsDiv: { type: Number, default: 0, }, + editElseRules: { + type: Object, + default: () => ({}), + }, }, data() { @@ -460,7 +464,7 @@ export default { // 定义map变量,调用 TMap.Map() 构造函数创建地图 map = new window.TMap.Map(document.getElementById("app"), { center: center, // 设置地图中心点坐标 - zoom: 17.2, // 设置地图缩放级别 + zoom: 15, // 设置地图缩放级别 pitch: 43.5, // 设置俯仰角 rotation: 45, // 设置地图旋转角度 }); @@ -479,7 +483,7 @@ export default { map.on("panend", (e) => { this.handleMoveCenter(item, e); }); - this.handleMoveCenter(item); + // this.handleMoveCenter(item); }, setMarker(lat, lng) { @@ -569,8 +573,15 @@ export default { console.log("------------------------------------info", this.fmData); await nextTick(800); - if (map && data.latitude) { - map.setCenter(new TMap.LatLng(data.latitude, data.longitude)); + if (map) { + if (data.latitude) { + map.setCenter(new TMap.LatLng(data.latitude, data.longitude)); + } else { + if (this.$refs && this.$refs.mapSearch) { + console.log(this.$refs.mapSearch[0].handleClick); + this.$refs.mapSearch[0].handleClick(); + } + } } } else { this.$message.error(msg); @@ -587,12 +598,28 @@ export default { this.btnDisable = false; }, 5000); + console.log(this.$refs["ref_form"]); + this.$refs["ref_form"].validate((valid, messageObj) => { + console.log(valid, messageObj); if (!valid) { app.util.validateRule(messageObj); this.btnDisable = false; } else { - this.submit(); + if (this.editElseRules) { + const validator = new Schema(this.editElseRules); + validator + .validate(this.fmData) + .then(() => { + this.submit(); + }) + .catch(({ err, fields }) => { + console.log("--------------", err, fields); + app.util.validateRule(fields); + }); + } else { + this.submit(); + } } }); }, diff --git a/src/views/modules/cpts/base/index.vue b/src/views/modules/cpts/base/index.vue index 39be8e8e..3c8250b4 100644 --- a/src/views/modules/cpts/base/index.vue +++ b/src/views/modules/cpts/base/index.vue @@ -1,7 +1,7 @@