diff --git a/src/views/modules/communityParty/heart/heartForm.vue b/src/views/modules/communityParty/heart/heartForm.vue index 7bf73d055..883e32a05 100644 --- a/src/views/modules/communityParty/heart/heartForm.vue +++ b/src/views/modules/communityParty/heart/heartForm.vue @@ -796,13 +796,13 @@ export default { if (data.resultList && data.resultList.length > 0) { this.resultListAct = data.resultList - this.searchOptions = this.resultListAct.map(item => { + this.searchOptionsAct = this.resultListAct.map(item => { return { value: `${item.hotPointID}`, label: `${item.address + item.name}` }; }); } } else { - this.searchOptions = [ + this.searchOptionsAct = [ { value: '0', label: '未检索到结果' @@ -810,7 +810,7 @@ export default { ] } } else { - this.searchOptions = []; + this.searchOptionsAct = []; } }, async remoteMethodSignin (query) { @@ -818,7 +818,7 @@ export default { if (query !== '') { this.loadingSign = true; - const { msg, data } = await map.searchNearby(query); + const { msg, data } = await map_signin.searchNearby(query); this.loadingSign = false; this.resultListSignin = [] @@ -826,13 +826,13 @@ export default { if (data.resultList && data.resultList.length > 0) { this.resultListSignin = data.resultList - this.searchOptions = this.resultListSignin.map(item => { + this.searchOptionsSignin = this.resultListSignin.map(item => { return { value: `${item.hotPointID}`, label: `${item.address + item.name}` }; }); } } else { - this.searchOptions = [ + this.searchOptionsSignin = [ { value: '0', label: '未检索到结果' @@ -840,7 +840,7 @@ export default { ] } } else { - this.searchOptions = []; + this.searchOptionsSignin = []; } }, diff --git a/src/views/modules/cpts/base/cpts/edit.vue b/src/views/modules/cpts/base/cpts/edit.vue index 972d079d4..61b36ae4f 100644 --- a/src/views/modules/cpts/base/cpts/edit.vue +++ b/src/views/modules/cpts/base/cpts/edit.vue @@ -1,327 +1,317 @@ @@ -394,10 +384,13 @@ export default { }, }, - data() { + data () { return { iniLoaded: false, - + searchOptions: [], + searchValue: '', + resultList: [], + loading: false, btnDisable: false, fmData: {}, @@ -407,24 +400,26 @@ export default { uploadUrl: window.SITE_CONFIG["apiURL"] + "/oss/file/uploadqrcodeV2", customerId: localStorage.getItem("customerId"), + + addressItem: {} }; }, computed: {}, watch: { editParams: { - handler() { + handler () { this.computeFmData(); }, deep: true, }, }, - async mounted() { + async mounted () { this.initForm(); }, methods: { - async initForm() { + async initForm () { this.iniFmData(); if (this.formId && this.formType != "add") { @@ -432,11 +427,11 @@ export default { } }, - computeFmData() { + computeFmData () { console.log(this.fmData); }, - iniFmData() { + iniFmData () { const { editParams, fmData, editParamsDiv } = this; editParams.forEach((item, index) => { if (typeof item.value == "function") { @@ -491,6 +486,8 @@ export default { } else if (item.type == "address") { this.$nextTick(async () => { await nextTick(300); + + this.addressItem = item this.initMap(item); }); } @@ -507,7 +504,7 @@ export default { this.iniLoaded = true; }, - handleClickHtmlNode(e) { + handleClickHtmlNode (e) { //在判断事件目标节点的时候,考虑到兼容性应该统一转换成大写或小写进行判断 if (e.target.localName.toLowerCase() === "a") { // 通过判端目标节点以后,就能在这里对其进行操作啦。 @@ -516,7 +513,7 @@ export default { } }, - async getFmOptions(index, url, params, cookFn) { + async getFmOptions (index, url, params, cookFn) { const { data, code, msg } = await requestPost(url, { ...params, }); @@ -529,13 +526,13 @@ export default { } }, - handleChangeCascader(vals, item) { + handleChangeCascader (vals, item) { this.fmData[item["keyName"]] = vals; if (typeof item.handleChangeFn == "function") { item.handleChangeFn(vals, item, this); } }, - handleChangeSelect(vals, item) { + handleChangeSelect (vals, item) { console.log(vals, item); this.fmData[item["keyName"]] = vals; if (typeof item.handleChangeFn == "function") { @@ -543,14 +540,14 @@ export default { } }, - beforeImgUpload(file, item) { + beforeImgUpload (file, item) { if (typeof item.beforeImgUpload == "function") { if (!item.beforeImgUpload(file, item, this)) return false; } return true; }, - handleImgRemove(file, item) { + handleImgRemove (file, item) { console.log("handleImgRemove", file); let url = file.response ? file.response.data.url : file.url; if (url) { @@ -572,7 +569,7 @@ export default { } }, - handleImgExceed(res, item) { + handleImgExceed (res, item) { console.log(res); // this.$message({ // type: "warning", @@ -580,7 +577,7 @@ export default { // }); }, - handleImgSuccess(res, file, item) { + handleImgSuccess (res, file, item) { console.log("handleImgSuccess", res); if (res.code === 0 && res.msg === "success") { let { fmData } = this; @@ -616,16 +613,16 @@ export default { } }, - handleImgError(res, file, item) { + handleImgError (res, file, item) { console.log(res); }, // 地图初始化函数,本例取名为init,开发者可根据实际情况定义 - initMap(item) { + initMap (item) { let { latitude, longitude } = this.$store.state.user; map = new daiMap( - document.getElementById("app"), + document.getElementById("app_base"), { latitude, longitude }, { zoom: 16.2, // 设置地图缩放级别 @@ -638,10 +635,13 @@ export default { map.on("dragend", (e) => { this.handleMoveCenter(item, e); }); - // this.handleMoveCenter(item); + map.setCenter(latitude, longitude); + map.setMarker(latitude, longitude); }, - async handleSearchMap(item) { + + + async handleSearchMap (item) { const { msg, data } = await map.searchNearby(this.fmData[item.keyName]); if (msg == "success") { const { lat, lng } = data; @@ -654,7 +654,7 @@ export default { } }, - async handleMoveCenter(item, e) { + async handleMoveCenter (item, e) { console.log("handleMoveCenter", e); //修改地图中心点 const { lat, lng } = map.getCenter(); @@ -666,10 +666,60 @@ export default { let { msg, data } = await map.getAddress(lat, lng); if (msg == "success") { this.fmData[item.keyName] = data.address; + this.searchValue = data.address + this.searchOptions = [] } }, - async getInfo() { + async remoteMethod (query) { + + if (query !== '') { + this.loading = true; + + const { msg, data } = await map.searchNearby(query); + this.loading = false; + this.resultList = [] + + if (msg == "success" && data.resultList && data.resultList.length > 0) { + + if (data.resultList && data.resultList.length > 0) { + this.resultList = data.resultList + this.searchOptions = this.resultList.map(item => { + return { value: `${item.hotPointID}`, label: `${item.address + item.name}` }; + + }); + } + } else { + this.searchOptions = [ + { + value: '0', + label: '未检索到结果' + } + ] + } + } else { + this.searchOptions = []; + } + }, + + handleClickKey (index) { + let selPosition = this.resultList[index] + let lonlat = selPosition.lonlat.split(" ") + map.setCenter(lonlat[1], lonlat[0]); + map.setMarker(lonlat[1], lonlat[0]); + + + + this.fmData[this.addressItem.supKeys[0]] = lonlat[1]; + this.fmData[this.addressItem.supKeys[1]] = lonlat[0]; + // this.formData.latitude = lonlat[1]; + // this.formData.longitude = lonlat[0]; + // this.formData.address = selPosition.address + selPosition.name + this.fmData[this.addressItem.keyName] = selPosition.address + selPosition.name + }, + + + async getInfo () { let url = this.infoUrl; if (!url) return; const { idName, formId } = this; @@ -710,12 +760,12 @@ export default { } }, - watchImg(src) { + watchImg (src) { window.open(src); }, // 过滤文本 - dormatHtml(content) { + dormatHtml (content) { if ( content.startsWith( "\n\n\n\n\n" @@ -727,7 +777,7 @@ export default { return content; }, - cookBeforeSubmit(data) { + cookBeforeSubmit (data) { Object.keys(data).forEach((k) => { if (typeof data[k] == "string") { data[k] = this.dormatHtml(data[k]); @@ -736,7 +786,7 @@ export default { return data; }, - async handleComfirm() { + async handleComfirm () { this.btnDisable = true; setTimeout(() => { this.btnDisable = false; @@ -768,7 +818,7 @@ export default { }); }, - async submit() { + async submit () { const { editConfig, fmData, formType, editFixedParams } = this; if ( typeof editConfig.beforeSubmit == "function" && @@ -808,7 +858,7 @@ export default { } }, - handleCancle() { + handleCancle () { this.$emit("close"); }, }, diff --git a/src/views/modules/shequzhili/event/cpts/add.vue b/src/views/modules/shequzhili/event/cpts/add.vue index 0219f9df8..7f5e460d5 100644 --- a/src/views/modules/shequzhili/event/cpts/add.vue +++ b/src/views/modules/shequzhili/event/cpts/add.vue @@ -130,50 +130,39 @@ - - - - -
- - - 查询 -
+ + + +
-
+ + + + +
@@ -249,6 +238,7 @@ var geocoder; // 新建一个正逆地址解析类 function iniFmData () { return { + gridId: "", //所属网格 reportUserId: "", // 报事人ID name: "", // 报事人姓名 @@ -272,6 +262,10 @@ export default { data () { return { formType: "add", //表单操作类型 add新增,edit编辑,detail详情 + searchOptions: [], + searchValue: '', + resultList: [], + loading: false, btnDisable: false, gridList: [], //所属网格list--场所区域 @@ -397,10 +391,9 @@ export default { this.formData.latitude = latitude; this.formData.longitude = longitude; - this.initMap(); - map.setCenter(this.formData.latitude, this.formData.longitude); - map.setMarker(this.formData.latitude, this.formData.longitude); - this.handleMoveCenter() + + this.initMap(this.formData.latitude, this.formData.longitude); + this.loadGrid(); this.getCategoryList(); @@ -570,11 +563,10 @@ export default { }, // 地图初始化函数,本例取名为init,开发者可根据实际情况定义 - initMap () { - let { latitude, longitude } = this.$store.state.user; + initMap (latitude, longitude) { map = new daiMap( - document.getElementById("map_event"), + document.getElementById("app_event"), { latitude, longitude }, { zoom: 16.2, // 设置地图缩放级别 @@ -587,21 +579,14 @@ export default { map.on("dragend", (e) => { this.handleMoveCenter(e); }); - }, - async handleSearchMap () { - const { msg, data } = await map.searchNearby(this.formData.address); - if (msg == "success") { - const { lat, lng } = data; - map.setCenter(lat, lng); - map.setMarker(lat, lng); - this.formData.latitude = lat; - this.formData.longitude = lng; - } else { - this.$message.error("未检索到相关位置坐标"); - } + + map.setCenter(latitude, longitude); + map.setMarker(latitude, longitude); + }, - async handleMoveCenter (e) { + + async handleMoveCenter () { //修改地图中心点 const { lat, lng } = map.getCenter(); this.formData.latitude = lat; @@ -610,13 +595,60 @@ export default { let { msg, data } = await map.getAddress(lat, lng); if (msg == "success") { - this.formData.address = data.address; + this.formData.address = data.address + this.searchValue = data.address + this.searchOptions = [] + + } + }, + + async remoteMethod (query) { + + if (query !== '') { + this.loading = true; + + const { msg, data } = await map.searchNearby(query); + this.loading = false; + this.resultList = [] + + if (msg == "success" && data.resultList && data.resultList.length > 0) { + + if (data.resultList && data.resultList.length > 0) { + this.resultList = data.resultList + this.searchOptions = this.resultList.map(item => { + return { value: `${item.hotPointID}`, label: `${item.address + item.name}` }; + + }); + } + } else { + this.searchOptions = [ + { + value: '0', + label: '未检索到结果' + } + ] + } + } else { + this.searchOptions = []; } }, + handleClickKey (index) { + let selPosition = this.resultList[index] + let lonlat = selPosition.lonlat.split(" ") + map.setCenter(lonlat[1], lonlat[0]); + map.setMarker(lonlat[1], lonlat[0]); + this.formData.latitude = lonlat[1]; + this.formData.longitude = lonlat[0]; + this.formData.address = selPosition.address + selPosition.name + }, + resetData () { this.formData = iniFmData(); this.replayImgList = []; + this.searchValue = '' + this.searchOptions = [] + this.resultList = [] }, // 开启加载动画 startLoading () {