From f80f19a0bd6c7bb360cc6bad8852ac65546a6a48 Mon Sep 17 00:00:00 2001 From: 584911253@qq.com <584911253@qq.com> Date: 星期四, 09 三月 2023 16:39:41 +0800 Subject: [PATCH] 勘察信息弹窗 --- src/components/mapsdk.vue | 148 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 145 insertions(+), 3 deletions(-) diff --git a/src/components/mapsdk.vue b/src/components/mapsdk.vue index 0cc288b..8999209 100644 --- a/src/components/mapsdk.vue +++ b/src/components/mapsdk.vue @@ -345,6 +345,7 @@ </div> </el-card> </div> + <!--灞炴�т俊鎭脊绐�--> <div class="propertiesPop" v-if="$store.state.propertiesFlag == '1'" @@ -353,6 +354,13 @@ <div slot="header"> <span>灞炴�т俊鎭�</span> <div style="float: right; cursor: pointer"> + <el-link + v-if="$store.state.propertiesName.tabDesc == '鍕樺療宸ョ偣'" + type="primary" + :underline="false" + @click="getPointInfo" + style="margin-right: 10px" + >鍕樺療淇℃伅琛�</el-link> <el-link type="primary" :underline="false" @@ -379,6 +387,38 @@ style="font-size: 14px;font-weight: bold;margin-right: 5px" >{{key}}:</span> <span v-if="key != 'eventid'">{{value}}</span> + </div> + </div> + </el-card> + </div> + <!--鍕樺療淇℃伅寮圭獥--> + <div + class="attributionPop" + v-if="showAttribute" + > + <el-card class="box-card"> + <div slot="header"> + <span>鍕樺療淇℃伅</span> + <div style="float: right; cursor: pointer"> + <i + class="el-icon-close" + @click="showAttribute=false" + ></i> + </div> + </div> + <div + class="pointInfoBoxContext" + style="height:250px;overflow-y: auto" + > + <div + style="line-height: 20px" + v-for="(item, index) in attributeList" + :key="index" + > + <span + style="font-size: 14px;font-weight: bold;margin-right: 5px" + >{{item.alias}}:</span> + <span>{{item.value ? item.value :'鏆傛棤鏁版嵁'}}</span> </div> </div> </el-card> @@ -508,8 +548,8 @@ select_Comprehensive_ByPageAndCount, select_Comprehensive_SelectWktById, comprehensive_selectRoute, - dataLib_selectFiles -} from "../api/api"; + dataLib_selectFiles, dataQuery_selectFields, dataQuery_selectDomains, dataQuery_selectByPage +} from '../api/api' import { getToken } from '@/utils/auth' export default { @@ -612,7 +652,9 @@ isPdf: false, isJpg: false, src: '' - } + }, + showAttribute: false, + attributeList: [], }; }, mounted() { @@ -934,6 +976,7 @@ break; case 6: this.$store.state.propertiesFlag = null; + this.showAttribute = false; break; } }, @@ -1312,7 +1355,92 @@ add0(m) { return m < 10 ? '0' + m : m; }, + //鍕樺療淇℃伅琛� + getPointInfo(){ + this.showAttribute = !this.showAttribute; + if (this.showAttribute){ + let attrbuteOption = workSite; + var name = attrbuteOption[0].table.replaceAll("_", ""); + this.getAttributeDomFiled(name); + } + }, + //鑾峰彇姣忎釜琛ㄥ瓧娈靛悕绉板強闃堝�� + async getAttributeDomFiled(res) { + //鏌ヨ瀛楁淇℃伅; + const fileds = await dataQuery_selectFields({ + name: res, + }); + if (fileds.code != 200) { + this.$message.error("璋冪敤鍒楄〃澶辫触,璇疯仈绯诲伐浣滀汉鍛�!"); + return; + } + //鏌ヨ闃堝�间俊鎭紱 + const domains = await dataQuery_selectDomains({ + name: res, + }); + if (domains.code != 200) { + this.$message.error("璋冪敤鍒楄〃澶辫触,璇疯仈绯诲伐浣滀汉鍛�!"); + return; + } + var data1 = fileds.result; + var data2 = domains.result; + var std = []; + this.filedsOption = []; + for (var i in data1) { + if (data1[i].type != 'geometry' && data1[i].type) { + this.filedsOption.push(data1[i]); + } + if (data1[i].showtype == 1) { + if (data1[i].domainNa != null) { + data1[i].domainNa = this.getDomainNaFild(data1[i].domainNa, data2); + } + std.push(data1[i]); + } + } + this.getAttributeTableData(std, res,this.$store.state.propertiesInfo.宸ョ偣鍚嶇О,data1) + }, + //鑾峰彇琛ㄦ牸淇℃伅 + async getAttributeTableData(res, name,title,list) { + let attributeFild = res; + let parmams = { + name:name, + pageIndex:1, + pageSize:10, + count:0, + title:title, + filter : "workname = " + "'" + title + "'", + } + const data = await dataQuery_selectByPage(parmams); + if (data.code != 200) { + this.$message.error("璋冪敤鍒楄〃澶辫触,璇疯仈绯诲伐浣滀汉鍛�!"); + return; + } + var res_val = attributeFild; + for (var i in data.result) { + let val_Data = data.result[i]; + for (var j in res_val) { + if (res_val[j].domainNa != null && res_val[j].domainNa != undefined) { + val_Data[res_val[j].field] = res_val[j].domainNa; + } + } + } + let info = data.result.length >0 ? data.result[0] : ''; + if (info){ + let keys = Object.keys(info); + keys.forEach((obj) => { + list.forEach((item) => { + if (item.field == obj){ + item.value = info[obj]; + } + }) + }) + this.attributeList = list; + } + }, }, + destroyed() { + this.showAttribute = false + } }; </script> @@ -1366,6 +1494,20 @@ padding: 10px 20px; } } + .attributionPop{ + width: 350px; + height: 370px; + z-index: 40; + position: absolute; + right: 38%; + bottom: 1%; + /deep/ .el-card__header { + padding: 10px 20px; + } + /deep/ .el-card__body { + padding: 10px 20px; + } + } .terrainLevelBox { width: 350px; -- Gitblit v1.9.3