| | |
| | | <template> |
| | | <div class="mapBox"> |
| | | <div id="mapdiv"> |
| | | <div |
| | | class="menu_Top box_divm" |
| | | v-if="$store.state.mapMenuBoolean" |
| | | > |
| | | <div class="menu_Top box_divm" |
| | | v-if="$store.state.mapMenuBoolean"> |
| | | <map-menu-top v-if="$store.state.mapMenuBoxFlag == '1'" /> |
| | | <map-space-top v-if="$store.state.mapMenuBoxFlag == '2'" /> |
| | | </div> |
| | | <div |
| | | class="bufferBox" |
| | | v-if="showBufferBoxDialog" |
| | | > |
| | | <div class="bufferBox" |
| | | v-if="showBufferBoxDialog"> |
| | | <el-card class="box-card box_divm"> |
| | | <div |
| | | slot="header" |
| | | class="clearfix" |
| | | > |
| | | <div slot="header" |
| | | class="clearfix"> |
| | | <span>缓冲区分析</span> |
| | | <div style="float: right; cursor: pointer"> |
| | | <i |
| | | class="el-icon-close" |
| | | @click="closeBufferBox(1)" |
| | | ></i> |
| | | <i class="el-icon-close" |
| | | @click="closeBufferBox(1)"></i> |
| | | </div> |
| | | </div> |
| | | <div class="box-body"> |
| | | <el-form |
| | | ref="form" |
| | | :model="bufFrom" |
| | | label-width="100px" |
| | | > |
| | | <el-form ref="form" |
| | | :model="bufFrom" |
| | | label-width="100px"> |
| | | <el-form-item label="缓冲半径(米):"> |
| | | <el-input v-model="bufFrom.val"></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | @click="addBuffer(1)" |
| | | type="info" |
| | | >点</el-button> |
| | | <el-button |
| | | @click="addBuffer(2)" |
| | | type="info" |
| | | >线</el-button> |
| | | <el-button |
| | | @click="addBuffer(3)" |
| | | type="info" |
| | | >面</el-button> |
| | | <el-button |
| | | @click="clearBuffer" |
| | | type="info" |
| | | >清除</el-button> |
| | | <el-button @click="addBuffer(1)" |
| | | type="info">点</el-button> |
| | | <el-button @click="addBuffer(2)" |
| | | type="info">线</el-button> |
| | | <el-button @click="addBuffer(3)" |
| | | type="info">面</el-button> |
| | | <el-button @click="clearBuffer" |
| | | type="info">清除</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | <!--坐标点位--> |
| | | <div |
| | | class="coordLocalBox" |
| | | v-if="showCoordLocalBoxDialog" |
| | | > |
| | | <div class="coordLocalBox" |
| | | v-if="showCoordLocalBoxDialog"> |
| | | <el-card class="box-card"> |
| | | <div slot="header"> |
| | | <span>坐标定位</span> |
| | | <div style="float: right; cursor: pointer"> |
| | | <i |
| | | class="el-icon-close" |
| | | @click="closeBufferBox(2)" |
| | | ></i> |
| | | <i class="el-icon-close" |
| | | @click="closeBufferBox(2)"></i> |
| | | </div> |
| | | </div> |
| | | <div class="box-body"> |
| | | <el-form |
| | | ref="form" |
| | | :model="coordFrom" |
| | | label-width="50px" |
| | | > |
| | | <el-form ref="form" |
| | | :model="coordFrom" |
| | | label-width="50px"> |
| | | <el-form-item label="经度:"> |
| | | <el-input |
| | | v-model="coordFrom.lon" |
| | | placeholder="请输入经度" |
| | | ></el-input> |
| | | <el-input v-model="coordFrom.lon" |
| | | placeholder="请输入经度"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="纬度:"> |
| | | <el-input |
| | | v-model="coordFrom.lat" |
| | | placeholder="请输入维度" |
| | | ></el-input> |
| | | <el-input v-model="coordFrom.lat" |
| | | placeholder="请输入维度"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="高度:"> |
| | | <el-input |
| | | v-model="coordFrom.height" |
| | | placeholder="请输入高度" |
| | | ></el-input> |
| | | <el-input v-model="coordFrom.height" |
| | | placeholder="请输入高度"></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | @click="setCoordLocal" |
| | | type="info" |
| | | >定位</el-button> |
| | | <el-button @click="setCoordLocal" |
| | | type="info">定位</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | <!--地形平整--> |
| | | <div |
| | | class="terrainLevelBox" |
| | | v-if="showTerrainLevelDialog" |
| | | > |
| | | <div class="terrainLevelBox" |
| | | v-if="showTerrainLevelDialog"> |
| | | <el-card class="box-card"> |
| | | <div slot="header"> |
| | | <span>地形平整</span> |
| | | <div style="float: right; cursor: pointer"> |
| | | <i |
| | | class="el-icon-close" |
| | | @click="closeBufferBox(5)" |
| | | ></i> |
| | | <i class="el-icon-close" |
| | | @click="closeBufferBox(5)"></i> |
| | | </div> |
| | | </div> |
| | | <div class="box-body"> |
| | | <el-form |
| | | ref="form" |
| | | :model="terrainFrom" |
| | | label-width="100px" |
| | | > |
| | | <el-form ref="form" |
| | | :model="terrainFrom" |
| | | label-width="100px"> |
| | | <el-form-item label="平整高度:"> |
| | | <el-input v-model="terrainFrom.height"></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item> |
| | | <el-button |
| | | @click="drawTerrainLevel" |
| | | type="parmary" |
| | | >绘制</el-button> |
| | | <el-button |
| | | @click="clearTerrainLevel" |
| | | type="info" |
| | | >清除</el-button> |
| | | <el-button @click="drawTerrainLevel" |
| | | type="parmary">绘制</el-button> |
| | | <el-button @click="clearTerrainLevel" |
| | | type="info">清除</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | <div |
| | | class="toponymicLocalBox" |
| | | v-if="showToponymicLocalBoxDialog" |
| | | > |
| | | <div class="toponymicLocalBox" |
| | | v-if="showToponymicLocalBoxDialog"> |
| | | <el-card class="box-card"> |
| | | <div |
| | | slot="header" |
| | | class="clearfix" |
| | | > |
| | | <div slot="header" |
| | | class="clearfix"> |
| | | <span>地名定位</span> |
| | | <div style="float: right; cursor: pointer"> |
| | | <i |
| | | class="el-icon-close" |
| | | @click="closeBufferBox(3)" |
| | | ></i> |
| | | <i class="el-icon-close" |
| | | @click="closeBufferBox(3)"></i> |
| | | </div> |
| | | </div> |
| | | <div class="box-body"> |
| | | <el-form |
| | | :model="comprehensive" |
| | | :inline="true" |
| | | > |
| | | <el-form :model="comprehensive" |
| | | :inline="true"> |
| | | <el-form-item label="地名:"> |
| | | <el-input |
| | | style="width: 160px" |
| | | v-model="comprehensive.name" |
| | | placeholder="请输入地名...." |
| | | ></el-input> |
| | | <el-input style="width: 160px" |
| | | v-model="comprehensive.name" |
| | | placeholder="请输入地名...."></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | @click="setQueryTable" |
| | | type="info" |
| | | >查询</el-button> |
| | | <el-button @click="setQueryTable" |
| | | type="info">查询</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-table |
| | | :data="tableData" |
| | | height="200px" |
| | | border |
| | | style="width: 100%" |
| | | > |
| | | <el-table-column |
| | | align="center" |
| | | type="index" |
| | | label="序号" |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | align="center" |
| | | label="地名" |
| | | > |
| | | <el-table :data="tableData" |
| | | height="200px" |
| | | border |
| | | style="width: 100%"> |
| | | <el-table-column align="center" |
| | | type="index" |
| | | label="序号" /> |
| | | <el-table-column prop="name" |
| | | align="center" |
| | | label="地名"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | @click="handleLocation(scope.$index, scope.row)" |
| | | size="small" |
| | | >{{scope.row.name}}<i |
| | | class="el-icon-place" |
| | | style="padding-left: 5px" |
| | | ></i></el-button> |
| | | <el-button @click="handleLocation(scope.$index, scope.row)" |
| | | size="small">{{scope.row.name}}<i class="el-icon-place" |
| | | style="padding-left: 5px"></i></el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column--> |
| | |
| | | <!-- </el-table-column>--> |
| | | </el-table> |
| | | <div class="pagination_box"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="listData.pageIndex" |
| | | :page-sizes="[10, 20, 50, 100]" |
| | | :pager-count="3" |
| | | :page-size="listData.pageSize" |
| | | layout="total, prev, pager, next" |
| | | :total="count" |
| | | > |
| | | <el-pagination @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="listData.pageIndex" |
| | | :page-sizes="[10, 20, 50, 100]" |
| | | :pager-count="3" |
| | | :page-size="listData.pageSize" |
| | | layout="total, prev, pager, next" |
| | | :total="count"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | <!-- 路径分析弹窗--> |
| | | <div |
| | | class="pathAnalysisBox" |
| | | v-if="showPathAnalysisBoxDialog" |
| | | > |
| | | <div class="pathAnalysisBox" |
| | | v-if="showPathAnalysisBoxDialog"> |
| | | <el-card class="box-card"> |
| | | <div |
| | | slot="header" |
| | | class="clearfix" |
| | | > |
| | | <div slot="header" |
| | | class="clearfix"> |
| | | <span>路径分析</span> |
| | | <div style="float: right; cursor: pointer"> |
| | | <i |
| | | class="el-icon-close" |
| | | @click="closeBufferBox(4)" |
| | | ></i> |
| | | <i class="el-icon-close" |
| | | @click="closeBufferBox(4)"></i> |
| | | </div> |
| | | </div> |
| | | <div class="box-body"> |
| | | <el-form |
| | | ref="form" |
| | | :model="pathFrom" |
| | | :rules="rules" |
| | | label-width="55px" |
| | | > |
| | | <el-form-item |
| | | label="起点:" |
| | | prop="lon" |
| | | > |
| | | <el-input |
| | | style="width: 250px" |
| | | v-model="pathFrom.lon" |
| | | placeholder="坐标格式:116.799,39.979" |
| | | ></el-input> |
| | | <el-link |
| | | :underline="false" |
| | | @click="showMouseLeftClick(1)" |
| | | style="margin-left: 10px" |
| | | ><i class="el-icon-plus"></i></el-link> |
| | | <el-form ref="form" |
| | | :model="pathFrom" |
| | | :rules="rules" |
| | | label-width="55px"> |
| | | <el-form-item label="起点:" |
| | | prop="lon"> |
| | | <el-input style="width: 250px" |
| | | v-model="pathFrom.lon" |
| | | placeholder="坐标格式:116.799,39.979"></el-input> |
| | | <el-link :underline="false" |
| | | @click="showMouseLeftClick(1)" |
| | | style="margin-left: 10px"><i class="el-icon-plus"></i></el-link> |
| | | </el-form-item> |
| | | <el-form-item |
| | | label="终点:" |
| | | prop="lat" |
| | | > |
| | | <el-input |
| | | style="width: 250px" |
| | | v-model="pathFrom.lat" |
| | | placeholder="坐标格式:116.824,39.938" |
| | | ></el-input> |
| | | <el-link |
| | | :underline="false" |
| | | @click="showMouseLeftClick(2)" |
| | | style="margin-left: 10px" |
| | | ><i class="el-icon-plus"></i></el-link> |
| | | <el-form-item label="终点:" |
| | | prop="lat"> |
| | | <el-input style="width: 250px" |
| | | v-model="pathFrom.lat" |
| | | placeholder="坐标格式:116.824,39.938"></el-input> |
| | | <el-link :underline="false" |
| | | @click="showMouseLeftClick(2)" |
| | | style="margin-left: 10px"><i class="el-icon-plus"></i></el-link> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | @click="showMouseLeftClick(3)" |
| | | type="info" |
| | | >查询</el-button> |
| | | <el-button @click="showMouseLeftClick(3)" |
| | | type="info">查询</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | <!-- <div style="display: flex;">--> |
| | | <div |
| | | class="changeTerrain" |
| | | @click="changeTerrainLayer" |
| | | > |
| | | <div |
| | | title="地形切换" |
| | | id="cenBg" |
| | | class="mapTerrain" |
| | | ></div> |
| | | <div class="changeTerrain" |
| | | @click="changeTerrainLayer"> |
| | | <div title="地形切换" |
| | | id="cenBg" |
| | | class="mapTerrain"></div> |
| | | </div> |
| | | <!-- class="center CenDiv"--> |
| | | <div |
| | | @click="changeMenulayer" |
| | | class="changeLayer" |
| | | > |
| | | <div |
| | | title="底图切换" |
| | | id="cenBg" |
| | | class="mapBaseMap" |
| | | ></div> |
| | | <div @click="changeMenulayer" |
| | | class="changeLayer"> |
| | | <div title="底图切换" |
| | | id="cenBg" |
| | | class="mapBaseMap"></div> |
| | | </div> |
| | | |
| | | <div |
| | | @click="changeMapType" |
| | | class="changeMapType" |
| | | > |
| | | <div |
| | | title="2/3维切换" |
| | | id="cenBg" |
| | | :class="show2DMap ? 'mapTypeTwo' : 'mapTypeThree'" |
| | | ></div> |
| | | <div @click="changeMapType" |
| | | class="changeMapType"> |
| | | <div title="2/3维切换" |
| | | id="cenBg" |
| | | :class="show2DMap ? 'mapTypeTwo' : 'mapTypeThree'"></div> |
| | | </div> |
| | | <!-- </div>--> |
| | | <!-- 坡度分析弹窗--> |
| | | <div |
| | | class="lengend" |
| | | v-show="showLengendDialog" |
| | | > |
| | | <div class="lengend" |
| | | v-show="showLengendDialog"> |
| | | <el-card class="box-card"> |
| | | <div class="lengendBox"> |
| | | <div> |
| | | <img |
| | | class="lengendImg" |
| | | src="../assets/img/colors.png" |
| | | /> |
| | | <img class="lengendImg" |
| | | src="../assets/img/colors.png" /> |
| | | </div> |
| | | <div class="lengendSpan"> |
| | | <div>0°</div> |
| | |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | <div |
| | | class="HistLeng" |
| | | v-show="$store.state.histLenged" |
| | | > |
| | | <div class="HistLeng" |
| | | v-show="$store.state.histLenged"> |
| | | <el-card class="box-card"> |
| | | <table> |
| | | <tr> |
| | |
| | | </el-card> |
| | | </div> |
| | | <!--属性信息弹窗--> |
| | | <div |
| | | class="propertiesPop" |
| | | v-if="$store.state.propertiesFlag == '1'" |
| | | v-drag |
| | | > |
| | | <div class="propertiesPop" |
| | | v-if="$store.state.propertiesFlag == '1'" |
| | | v-drag> |
| | | <el-card class="box-card"> |
| | | <div slot="header"> |
| | | <span>属性信息</span> |
| | | <div style="float: right; cursor: pointer"> |
| | | <el-link |
| | | v-if="$store.state.propertiesName.enName == 's_surveyworksite'" |
| | | type="primary" |
| | | :underline="false" |
| | | @click="getPointInfo" |
| | | style="margin-right: 10px" |
| | | >勘察信息表</el-link> |
| | | <el-link |
| | | type="primary" |
| | | :underline="false" |
| | | @click="getAttatchList" |
| | | style="margin-right: 10px" |
| | | >查看附件</el-link> |
| | | <i |
| | | class="el-icon-close" |
| | | @click="closeBufferBox(6)" |
| | | ></i> |
| | | <el-link v-if="$store.state.propertiesName.enName == 's_surveyworksite'" |
| | | type="primary" |
| | | :underline="false" |
| | | @click="getPointInfo" |
| | | style="margin-right: 10px">勘察信息表</el-link> |
| | | <el-link type="primary" |
| | | :underline="false" |
| | | @click="getAttatchList" |
| | | style="margin-right: 10px">查看附件</el-link> |
| | | <i class="el-icon-close" |
| | | @click="closeBufferBox(6)"></i> |
| | | </div> |
| | | </div> |
| | | <div |
| | | class="pointInfoBoxContext" |
| | | style="height:250px;overflow-y: auto" |
| | | > |
| | | <div |
| | | style="line-height: 20px" |
| | | v-for="(value, key) in $store.state.propertiesInfo" |
| | | :key="key" |
| | | > |
| | | <span |
| | | v-if="key != 'eventid'" |
| | | style="font-size: 14px;font-weight: bold;margin-right: 5px" |
| | | >{{key}}:</span> |
| | | <div class="pointInfoBoxContext" |
| | | style="height:250px;overflow-y: auto"> |
| | | <div style="line-height: 20px" |
| | | v-for="(value, key) in $store.state.propertiesInfo" |
| | | :key="key"> |
| | | <span v-if="key != 'eventid'" |
| | | 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 |
| | | v-drag |
| | | class="attributionPop" |
| | | v-if="showAttribute" |
| | | > |
| | | <div v-drag |
| | | 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> |
| | | <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" |
| | | > |
| | | <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> |
| | |
| | | </el-card> |
| | | </div> |
| | | |
| | | <div |
| | | class="propertiesPop" |
| | | style="right:22%" |
| | | v-if="$store.state.propertiesFlag == '2'" |
| | | > |
| | | <div class="propertiesPop" |
| | | style="right:22%" |
| | | v-if="$store.state.propertiesFlag == '2'"> |
| | | <el-card class="box-card"> |
| | | <div slot="header"> |
| | | <span>{{ $store.state.propertiesInfo.title }}</span> |
| | | </div> |
| | | <div |
| | | class="pointInfoBoxContext" |
| | | style="height:250px;overflow-y: auto" |
| | | > |
| | | <div class="pointInfoBoxContext" |
| | | style="height:250px;overflow-y: auto"> |
| | | <div style="line-height: 20px">岩土名称: {{ $store.state.propertiesInfo.name }}</div> |
| | | <div style="line-height: 20px">岩土类型: {{ $store.state.propertiesInfo.type }}</div> |
| | | <div style="line-height: 20px">层底深度: {{ $store.state.propertiesInfo.botdepth }} 米</div> |
| | |
| | | </el-card> |
| | | </div> |
| | | <!--三维截面分析弹窗--> |
| | | <div |
| | | class="modelClipPop" |
| | | v-if="$store.state.propertiesFlag == '3'" |
| | | > |
| | | <div class="modelClipPop" |
| | | v-if="$store.state.propertiesFlag == '3'"> |
| | | <div class="slide-bg"> |
| | | <el-slider |
| | | class="slide" |
| | | @change="valveChange()" |
| | | :min="-300" |
| | | :max="300" |
| | | v-model="valueX" |
| | | ></el-slider> |
| | | <el-slider class="slide" |
| | | @change="valveChange()" |
| | | :min="-300" |
| | | :max="300" |
| | | v-model="valueX"></el-slider> |
| | | <span>左右截面</span> |
| | | </div> |
| | | <div class="slide-bg"> |
| | | <el-slider |
| | | class="slide" |
| | | @change="valveChange()" |
| | | :min="-300" |
| | | :max="300" |
| | | v-model="valueY" |
| | | ></el-slider> |
| | | <el-slider class="slide" |
| | | @change="valveChange()" |
| | | :min="-300" |
| | | :max="300" |
| | | v-model="valueY"></el-slider> |
| | | <span>前后截面</span> |
| | | </div> |
| | | <div class="slide-bg"> |
| | | <el-slider |
| | | class="slide" |
| | | @change="valveChange()" |
| | | :min="-300" |
| | | :max="300" |
| | | v-model="valueZ" |
| | | ></el-slider> |
| | | <el-slider class="slide" |
| | | @change="valveChange()" |
| | | :min="-300" |
| | | :max="300" |
| | | v-model="valueZ"></el-slider> |
| | | <span>上下截面</span> |
| | | </div> |
| | | </div> |
| | | |
| | | <!--附件列表弹窗--> |
| | | <el-dialog |
| | | title="附件列表" |
| | | :append-to-body="false" |
| | | :visible.sync="showAttach" |
| | | width="35%" |
| | | :close-on-click-modal="false" |
| | | > |
| | | <el-dialog title="附件列表" |
| | | :append-to-body="false" |
| | | :visible.sync="showAttach" |
| | | width="35%" |
| | | :close-on-click-modal="false"> |
| | | <div> |
| | | <el-table |
| | | :data="attachList" |
| | | height="100%" |
| | | style="width: 100%" |
| | | border |
| | | > |
| | | <el-table-column |
| | | align="center" |
| | | type="index" |
| | | label="序号" |
| | | width="50" |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="名称" |
| | | > |
| | | <el-table :data="attachList" |
| | | height="100%" |
| | | style="width: 100%" |
| | | border> |
| | | <el-table-column align="center" |
| | | type="index" |
| | | label="序号" |
| | | width="50" /> |
| | | <el-table-column prop="name" |
| | | label="名称"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="时间" |
| | | width="180" |
| | | > |
| | | <el-table-column label="时间" |
| | | width="180"> |
| | | <template slot-scope="scope"> |
| | | <span>{{format(scope.row.createTime)}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="操作" |
| | | width="100" |
| | | > |
| | | <el-table-column label="操作" |
| | | width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | v-if="showAttachDetailBtn(scope.row)" |
| | | @click="showAttachDetail(scope.row)" |
| | | type="text" |
| | | size="small" |
| | | >查看</el-button> |
| | | <el-button v-if="showAttachDetailBtn(scope.row)" |
| | | @click="showAttachDetail(scope.row)" |
| | | type="text" |
| | | size="small">查看</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </el-dialog> |
| | | <!--附件弹窗--> |
| | | <el-dialog |
| | | title="预览" |
| | | :append-to-body="false" |
| | | :visible.sync="dialog.dialogVisible" |
| | | width="70%" |
| | | :close-on-click-modal="false" |
| | | > |
| | | <div |
| | | v-if="dialog.isPdf" |
| | | class="pdfClass" |
| | | > |
| | | <iframe |
| | | :src="dialog.src" |
| | | type="application/x-google-chrome-pdf" |
| | | width="100%" |
| | | height="100%" |
| | | > |
| | | <el-dialog title="预览" |
| | | :append-to-body="false" |
| | | :visible.sync="dialog.dialogVisible" |
| | | width="70%" |
| | | :close-on-click-modal="false"> |
| | | <div v-if="dialog.isPdf" |
| | | class="pdfClass"> |
| | | <iframe :src="dialog.src" |
| | | type="application/x-google-chrome-pdf" |
| | | width="100%" |
| | | height="100%"> |
| | | </iframe> |
| | | </div> |
| | | <div |
| | | v-if="dialog.isJpg" |
| | | class="pdfClass" |
| | | > |
| | | <el-image |
| | | style="width:100%; height:100%" |
| | | :src="dialog.src" |
| | | :preview-src-list="[dialog.src]" |
| | | > |
| | | <div v-if="dialog.isJpg" |
| | | class="pdfClass"> |
| | | <el-image style="width:100%; height:100%" |
| | | :src="dialog.src" |
| | | :preview-src-list="[dialog.src]"> |
| | | </el-image> |
| | | |
| | | </div> |
| | |
| | | <!-- v-bind:class="{ active: isActive, menuLayer: isMenuLayer }"--> |
| | | <!-- ></div>--> |
| | | <!-- </div>--> |
| | | |
| | | <el-dialog title="瓦片下载" |
| | | :append-to-body="false" |
| | | :visible.sync="downTitleFlag" |
| | | :close-on-click-modal="false" |
| | | :show-close="false" |
| | | width="30%"> |
| | | <el-form :model="ruleForm" |
| | | status-icon |
| | | :rules="rules" |
| | | ref="ruleForm" |
| | | label-width="100px" |
| | | class="demo-ruleForm"> |
| | | <el-form-item label="名称" |
| | | prop="title"> |
| | | <el-input v-model="ruleForm.title" |
| | | size="small" |
| | | placeholder="请输入数据名称..."></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="密码" |
| | | prop="pass"> |
| | | <el-input show-password |
| | | type="password" |
| | | v-model="ruleForm.pass" |
| | | autocomplete="off" |
| | | size="small" |
| | | placeholder="请输入密码..."></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="确认密码" |
| | | prop="checkPass"> |
| | | <el-input show-password |
| | | type="password" |
| | | v-model="ruleForm.checkPass" |
| | | autocomplete="off" |
| | | size="small" |
| | | placeholder="确认密码..."></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" |
| | | size="small" |
| | | @click='submitTitleDown("ruleForm")'>提交</el-button> |
| | | <el-button size="small" |
| | | @click='cannelTitleDown("ruleForm")'>取消</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-dialog> |
| | | </div> |
| | | <model-property ref='modelProperty'></model-property> |
| | | </div> |
| | |
| | | select_Comprehensive_SelectWktById, |
| | | comprehensive_selectRoute, |
| | | dataLib_selectFiles, dataQuery_selectFields, dataQuery_selectDomains, |
| | | dataQuery_selectByPage, |
| | | dataQuery_selectByPage, sign_getPublicKey, inquiry_downloadTiles, |
| | | comprehensive_selectPubById, comprehensive_selectModelByGuid |
| | | } from '../api/api' |
| | | import { getToken } from '@/utils/auth' |
| | |
| | | ModelProperty |
| | | |
| | | }, |
| | | data() { |
| | | data () { |
| | | var validatePosition = (rule, value, callback) => { |
| | | if (value === "") { |
| | | callback(new Error("请输入密码")); |
| | |
| | | valueX: 0, |
| | | valueY: 0, |
| | | terrainflag: false, |
| | | downTitleFlag: false, |
| | | downTitleData: null, |
| | | ruleForm: { |
| | | pass: '', |
| | | checkPass: '', |
| | | title: '' |
| | | }, |
| | | loadingText: '', |
| | | loading: false |
| | | }; |
| | | }, |
| | | mounted() { |
| | | mounted () { |
| | | this.init3DMap(); |
| | | this.$bus.$on("mapChangeBox", (res) => { |
| | | this.showChangeBox(res); |
| | |
| | | } |
| | | }); |
| | | //模型捕捉 |
| | | this.catchmodel() |
| | | this.catchmodel(); |
| | | this.$bus.$on("titleDown", res => { |
| | | this.setDownLoadTitle(res); |
| | | }); |
| | | |
| | | window.localStorage.setItem('slider_x', this.valueX); |
| | | window.localStorage.setItem('slider_y', this.valueY); |
| | | window.localStorage.setItem('slider_z', this.valueZ); |
| | | }, |
| | | methods: { |
| | | |
| | | catchmodel() { |
| | | setDownLoadTitle (res) { |
| | | this.signGetPublicKey() |
| | | this.downTitleFlag = true; |
| | | this.downTitleData = res; |
| | | }, |
| | | async signGetPublicKey () { |
| | | const res = await sign_getPublicKey() |
| | | if (res && res.code == 200) { |
| | | window.encrypt = new JSEncrypt(); |
| | | encrypt.setPublicKey(res.result); |
| | | } |
| | | }, |
| | | submitTitleDown (formName) { |
| | | this.$refs[formName].validate((valid) => { |
| | | if (valid) { |
| | | this.downTitleData.title = this.ruleForm.title |
| | | // this.downTitleData.pwd = encr(this.ruleForm.pass) |
| | | this.downTitleData.pwd = encrypt.encrypt(this.ruleForm.pass) |
| | | this.getDownLoadTile(this.downTitleData); |
| | | this.cannelTitleDown(); |
| | | } else { |
| | | console.log('error submit!!'); |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | async getDownLoadTile (res) { |
| | | this.loading = true; |
| | | this.loadingText = "数据下载中,请稍等..." |
| | | $.ajax({ |
| | | url: BASE_URL + "/inquiry/downloadTiles?token=" + getToken(), |
| | | type: "POST", |
| | | data: JSON.stringify(res), |
| | | dataType: 'json', // html、json、jsonp、script、text |
| | | contentType: "application/json", // "application/x-www-form-urlencoded" |
| | | success: (data) => { |
| | | var token = getToken() |
| | | var url = BASE_URL + "/dataLib/downloadFile?token=" + token + "&guid=" + data.result + "&pwd=" + res.pwd; |
| | | $("#downFrame").attr("src", url).click(); |
| | | this.loading = false; |
| | | this.loadingText = "" |
| | | }, |
| | | error: function (e) { |
| | | } |
| | | }); |
| | | }, |
| | | cannelTitleDown (formName) { |
| | | this.downTitleFlag = false; |
| | | // this.$refs[formName].resetFields(); |
| | | this.ruleForm = { |
| | | pass: '', |
| | | checkPass: '', |
| | | title: '' |
| | | } |
| | | }, |
| | | catchmodel () { |
| | | var that = this; |
| | | window.pickedFeature; |
| | | window.pickedColor; |
| | |
| | | } |
| | | }, Cesium.ScreenSpaceEventType.LEFT_CLICK) |
| | | }, |
| | | async setModelInfoData(result) { |
| | | async setModelInfoData (result) { |
| | | var modelKey = 'id'; |
| | | |
| | | var modelid; |
| | | debugger |
| | | if (result.tileset) { |
| | | if (result.tileset.pubid && parseInt(result.tileset.pubid) > 0) { |
| | | |
| | |
| | | layerName: pickedFeature.primitive.id |
| | | }; |
| | | that.$refs && that.$refs.modelProperty && that.$refs.modelProperty.open(); |
| | | |
| | | }, |
| | | |
| | | |
| | | drawTerrainLevel() { |
| | | drawTerrainLevel () { |
| | | this.clearTerrainLevel() |
| | | var deep = parseFloat(this.terrainFrom.height) |
| | | sgworld.Creator.createSimpleGraphic( |
| | |
| | | } |
| | | ); |
| | | }, |
| | | clearTerrainLevel() { |
| | | clearTerrainLevel () { |
| | | if (window.TerrainFlattening) { |
| | | window.TerrainFlattening && window.TerrainFlattening.remove(); |
| | | } |
| | | }, |
| | | init3DMap() { |
| | | init3DMap () { |
| | | var webKey = "94a34772eb88317fcbf8428e10448561"; |
| | | //地图初始化 |
| | | window.sgworld = new SmartEarth.SGWorld("mapdiv", { |
| | | |
| | | licenseServer: window.sceneConfig.licenseServer, |
| | | }); |
| | | |
| | | |
| | | window.Viewer = window.sgworld._Viewer; |
| | | |
| | | if (is_production) { |
| | |
| | | ); |
| | | } |
| | | |
| | | |
| | | |
| | | var option = { |
| | | url: window.sceneConfig.SGUrl, |
| | | layerName: window.sceneConfig.mptName, |
| | |
| | | window.terrainFlag = 'MPT' |
| | | window.elevationTool = new SmartEarth.ElevationTool(window.sgworld); |
| | | elevationTool.setContourColor("#F1D487"); |
| | | |
| | | |
| | | }, |
| | | //dem切换 |
| | | changeTerrainLayer() { |
| | | changeTerrainLayer () { |
| | | if (this.terrainflag) { |
| | | Viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider(); |
| | | var option = { |
| | |
| | | roll: 0.0 |
| | | } |
| | | }); |
| | | |
| | | } |
| | | this.terrainflag = !this.terrainflag |
| | | }, |
| | | changeMenulayer() { |
| | | changeMenulayer () { |
| | | this.$bus.$emit("setChangeBaseMapLayer", true) |
| | | // this.$refs && this.$refs.addOnlineMap && this.$refs.addOnlineMap.open("地下模式", null,); |
| | | // this.isActive = !this.isActive; |
| | | // this.isMenuLayer = !this.isMenuLayer; |
| | | // this.setLayerVisible(); |
| | | }, |
| | | setLayerVisible() { |
| | | setLayerVisible () { |
| | | if (this.isActive == true) { |
| | | Viewer.imageryLayers._layers[1].show = true |
| | | Viewer.imageryLayers._layers[2].show = false |
| | |
| | | } |
| | | }, |
| | | //显示弹窗 |
| | | showChangeBox(res) { |
| | | showChangeBox (res) { |
| | | if (res.name == "Query") { |
| | | if (res.id == "6") { |
| | | } else if (res.id == "7") { |
| | |
| | | } |
| | | } |
| | | }, |
| | | handleSizeChange(val) { |
| | | handleSizeChange (val) { |
| | | this.listData.pageSize = val; |
| | | this.getToponymicData(); |
| | | }, |
| | | handleCurrentChange(val) { |
| | | handleCurrentChange (val) { |
| | | this.listData.pageIndex = val; |
| | | this.getToponymicData(); |
| | | }, |
| | | setQueryTable() { |
| | | setQueryTable () { |
| | | this.listData.pageSize = 10; |
| | | this.listData.pageIndex = 1; |
| | | this.getToponymicData(); |
| | | }, |
| | | async getToponymicData() { |
| | | async getToponymicData () { |
| | | if (this.listData.tab == "") { |
| | | delete this.listData.tab; |
| | | } |
| | |
| | | this.tableData = data.result; |
| | | this.count = data.count; |
| | | }, |
| | | async handleLocation(index, row) { |
| | | async handleLocation (index, row) { |
| | | const data = await select_Comprehensive_SelectWktById({ id: row.gid }); |
| | | if (data.code != 200) { |
| | | this.$message.error("列表调用失败"); |
| | |
| | | ), |
| | | }); |
| | | }, |
| | | closeBufferBox(res) { |
| | | closeBufferBox (res) { |
| | | switch (res) { |
| | | case 1: |
| | | this.showBufferBoxDialog = false; |
| | |
| | | } |
| | | }, |
| | | //定位 |
| | | setCoordLocal() { |
| | | setCoordLocal () { |
| | | if (!this.coordFrom.lon) { |
| | | return this.$message('请输入经度'); |
| | | } |
| | |
| | | // }); |
| | | }, |
| | | //缓冲区分析 |
| | | clearBuffer() { |
| | | clearBuffer () { |
| | | if (this.buffer == null) return; |
| | | this.buffer && this.buffer.clearBuff(); |
| | | this.buffer = null; |
| | | }, |
| | | getBufferTable(type) { |
| | | getBufferTable (type) { |
| | | const points = |
| | | this.buffer.this_buff.buff.polygon.hierarchy.getValue().positions; |
| | | let geometrys = ""; |
| | |
| | | if (geometrys.length != 0) geometrys.trimEnd(","); |
| | | geometrys = "{rings:[[" + geometrys + "]]}"; |
| | | }, |
| | | addBuffer(res) { |
| | | addBuffer (res) { |
| | | this.clearBuffer(); |
| | | var buffRadius = this.bufFrom.val; |
| | | switch (res) { |
| | |
| | | break; |
| | | } |
| | | }, |
| | | async showMouseLeftClick(res) { |
| | | async showMouseLeftClick (res) { |
| | | if (res == 3) { |
| | | this.$refs.form.validate(async (valid) => { |
| | | if (valid) { |
| | |
| | | }, Cesium.ScreenSpaceEventType.LEFT_CLICK); |
| | | } |
| | | }, |
| | | clearPathAll(res) { |
| | | clearPathAll (res) { |
| | | switch (res) { |
| | | case 1: |
| | | if (this.pathStart != null) { |
| | |
| | | break; |
| | | } |
| | | }, |
| | | clearLeftClick() { |
| | | clearLeftClick () { |
| | | this.handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK); //移除事件 |
| | | this.handler = null; |
| | | }, |
| | | executeFly3D(res) { |
| | | executeFly3D (res) { |
| | | var position = []; |
| | | if (res) { |
| | | var positionA = res.features; |
| | |
| | | } |
| | | }, |
| | | //二维/三维地图切换 |
| | | changeMapType() { |
| | | changeMapType () { |
| | | // |
| | | this.show2DMap = !this.show2DMap; |
| | | //二维 |
| | |
| | | this.$bus.$emit("changemapType", this.show2DMap); |
| | | }, |
| | | //获取附件列表 |
| | | async getAttatchList() { |
| | | async getAttatchList () { |
| | | if (this.$store.state.propertiesName == null) { |
| | | return |
| | | } |
| | |
| | | this.showAttach = true; |
| | | }, |
| | | //是否显示查看按钮 |
| | | showAttachDetailBtn(row) { |
| | | showAttachDetailBtn (row) { |
| | | var name = row.name; |
| | | |
| | | if ( |
| | |
| | | return false; |
| | | }, |
| | | //数据初始化 |
| | | refreshAttatchDetail() { |
| | | refreshAttatchDetail () { |
| | | this.dialog.src = ""; |
| | | this.dialog.dialogVisible = false; |
| | | this.dialog.isPdf = false; |
| | | this.dialog.isJpg = false; |
| | | }, |
| | | //查看附件 |
| | | showAttachDetail(row) { |
| | | showAttachDetail (row) { |
| | | this.refreshAttatchDetail(); |
| | | var name = row.name; |
| | | if (name.indexOf('.pdf') != -1 || name.indexOf('.PDF') != -1) { |
| | |
| | | } |
| | | }, |
| | | //格式化时间 |
| | | format(shijianchuo) { |
| | | format (shijianchuo) { |
| | | //shijianchuo是整数,否则要parseInt转换 |
| | | var time = new Date(shijianchuo); |
| | | var y = time.getFullYear(); |
| | |
| | | ); |
| | | }, |
| | | //格式化时间 |
| | | add0(m) { |
| | | add0 (m) { |
| | | return m < 10 ? '0' + m : m; |
| | | }, |
| | | //勘察信息表 |
| | | getPointInfo() { |
| | | getPointInfo () { |
| | | |
| | | if (this.showAttribute) { |
| | | |
| | |
| | | this.getAttributeDomFiled(name); |
| | | }, |
| | | //获取每个表字段名称及阈值 |
| | | async getAttributeDomFiled(res) { |
| | | async getAttributeDomFiled (res) { |
| | | //查询字段信息; |
| | | const fileds = await dataQuery_selectFields({ |
| | | name: res, |
| | |
| | | this.getAttributeTableData(std, res, this.$store.state.propertiesInfo.工点名称, data1) |
| | | }, |
| | | //获取表格信息 |
| | | async getAttributeTableData(res, name, title, list) { |
| | | async getAttributeTableData (res, name, title, list) { |
| | | let attributeFild = res; |
| | | let parmams = { |
| | | name: name, |
| | |
| | | this.attributeList = list; |
| | | } |
| | | }, |
| | | valveChange() { |
| | | valveChange () { |
| | | window.localStorage.setItem('slider_x', this.valueX); |
| | | window.localStorage.setItem('slider_y', this.valueY); |
| | | window.localStorage.setItem('slider_z', this.valueZ); |
| | | } |
| | | }, |
| | | destroyed() { |
| | | destroyed () { |
| | | this.showAttribute = false |
| | | } |
| | | }; |