From 7e32d3d7ab3b116ceef1dfaa4a6216ed1d0fbf7b Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Tue, 20 Jul 2021 18:51:33 +0800
Subject: [PATCH] 位置选择
---
src/views/feedbackReport/feedbackReport.vue | 142 +++++++++++++++++++++++++++++++++++++----------
1 files changed, 112 insertions(+), 30 deletions(-)
diff --git a/src/views/feedbackReport/feedbackReport.vue b/src/views/feedbackReport/feedbackReport.vue
index 8e6b65a..de8449b 100644
--- a/src/views/feedbackReport/feedbackReport.vue
+++ b/src/views/feedbackReport/feedbackReport.vue
@@ -50,6 +50,7 @@
} from "@/api/feedback/feedback";
import {getBaTree} from "@/api/client/client";
import {mapGetters} from "vuex";
+ import AvueMap from "avue-plugin-map";
export default {
data() {
@@ -112,36 +113,6 @@
],
},
{
- label: "上报地址",
- prop: "place",
- rules: [
- {
- required: true,
- message: "请输入事发地址",
- trigger: "blur",
- },
- ],
- },
- {
- label: "经度",
- prop: "jd",
- },
- {
- label: "纬度",
- prop: "wd",
- },
- {
- label: "备注",
- prop: "result",
- rules: [
- {
- required: true,
- message: "请输入处理结果",
- trigger: "blur",
- },
- ],
- },
- {
label: "上报时间",
prop: "stime",
type: "datetime",
@@ -166,6 +137,62 @@
{
required: true,
message: "请选择上报时间",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "地址",
+ prop: "place",
+ span: 10,
+ rules: [
+ {
+ required: true,
+ message: "请选择地址",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: null,
+ prop: "map",
+ labelWidth: "0",
+ searchSpan: 0,
+ maxlength: 0,
+ hide: true,
+ span: 2,
+ // display:false,
+ component: "AvueMap",
+ },
+ {
+ label: "经度",
+ hide: true,
+ prop: "jd",
+ searchSpan: 2,
+ width: "100",
+ labelWidth: "120",
+ formatter: (row, value, label, column) => {
+ return (value = value.substring(0, 11));
+ },
+ span: 7,
+ },
+ {
+ label: "纬度",
+ labelWidth: "45",
+ hide: true,
+ prop: "wd",
+ formatter: (row, value, label, column) => {
+ return (value = value.substring(0, 10));
+ },
+ span: 5,
+ },
+ {
+ label: "备注",
+ prop: "result",
+ rules: [
+ {
+ required: true,
+ message: "请输入处理结果",
trigger: "blur",
},
],
@@ -208,6 +235,61 @@
};
},
watch: {
+ "form.map": {
+ // form是表单或者表格绑定的数据集,v-model='form'
+ handler(val) {
+ var that = this;
+ if (val) {
+ //重新加载一次页面详情数据,解决新的省市区无法写入问题
+ //判断是新增还是修改
+ if (that.isEdit) {
+ getclient(this.form.id).then((res) => {
+ // that.province = res.data.data.province;
+ // that.city = res.data.data.city;
+ // that.district = res.data.data.district;
+ });
+ }
+
+ //地址截取,从县/区开始截取,并且取从县区第一个出现的位置开始
+ if (val.formattedAddress == "") {
+ return;
+ }
+
+ //经纬度替换
+ this.form.wd = val.latitude;
+ this.form.jd = val.longitude;
+
+ var address = val.formattedAddress.toString();
+ if (address.search("县") != -1) {
+ this.form.place = address.substring(
+ address.indexOf("县") + 1,
+ address.length
+ );
+ }
+ if (address.search("区") != -1) {
+ this.form.place = address.substring(
+ address.indexOf("区") + 1,
+ address.length
+ );
+ }
+ //写入新的省市区
+ that.form.province = val.addressComponent.province;
+ if (val.addressComponent.city == "") {
+ that.form.city = val.addressComponent.province;
+ } else {
+ that.form.city = val.addressComponent.city;
+ }
+ that.form.district = val.addressComponent.district;
+ } else {
+ that.form.map = {
+ formattedAddress: "",
+ latitude: 28.699957,
+ longitude: 115.862118,
+ };
+ }
+ },
+ immediate: true,
+ },
handler(val) {
var that = this;
if (val != null && val != "") {
--
Gitblit v1.9.3