| | |
| | | <template> |
| | | <div class="menuPop"> |
| | | <div style="padding: 5px"> |
| | | <el-form |
| | | :inline="true" |
| | | :model="ruleForm" |
| | | class="demo-form-inline" |
| | | > |
| | | <el-form :inline="true" :model="ruleForm" class="demo-form-inline"> |
| | | <el-form-item> |
| | | <el-input |
| | | size="small" |
| | | style="width:30vh" |
| | | v-model="ruleForm.fileName" |
| | | disabled |
| | | placeholder="请输入..." |
| | | ></el-input> |
| | | <el-input size="small" style="width:30vh" v-model="ruleForm.fileName" placeholder="请输入..."></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | @click="conditionVisible = true" |
| | | size="small" |
| | | type="success" |
| | | >{{$t('common.lable6')}}</el-button> |
| | | <el-button |
| | | size="small" |
| | | @click="resetForm" |
| | | >重置</el-button> |
| | | <el-button @click="getDomainsLayer" size="small" type="success">查询</el-button> |
| | | <el-button size="small" @click="resetForm">重置</el-button> |
| | | </el-form-item> |
| | | <el-form-item v-if="spaceLayer == 'sexplorationpoint'"> |
| | | <el-button |
| | | size="small" |
| | | @click="spaceHistogram()" |
| | | plain |
| | | >柱状图</el-button> |
| | | <el-button |
| | | plain |
| | | size="small" |
| | | @click="spaceGeobody()" |
| | | >地质体</el-button> |
| | | <el-button size="small" @click="spaceHistogram()" plain>柱状图</el-button> |
| | | <el-button plain size="small" @click="spaceGeobody()">地质体</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <!-- <el-form |
| | |
| | | </el-form-item> |
| | | </el-form> --> |
| | | <div class="centTable"> |
| | | <el-table |
| | | :data="tableData" |
| | | border |
| | | height="100%" |
| | | ref="filterTable" |
| | | style="width: 100%" |
| | | > |
| | | <el-table-column |
| | | align="center" |
| | | type="index" |
| | | label="序号" |
| | | width="50" |
| | | /> |
| | | <el-table-column |
| | | label="定位" |
| | | width="100" |
| | | align="center" |
| | | > |
| | | <el-table :data="tableData" border height="100%" ref="filterTable" style="width: 100%"> |
| | | <el-table-column align="center" type="index" label="序号" width="50" /> |
| | | <el-table-column label="定位" width="100" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | icon="el-icon-map-location" |
| | | size="small" |
| | | @click="spaceLocation(scope.$index, scope.row)" |
| | | ></el-button> |
| | | <el-button icon="el-icon-map-location" size="small" |
| | | @click="spaceLocation(scope.$index, scope.row)"></el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="名称" prop="name" align="center"></el-table-column> |
| | | <el-table-column label="环线" prop="line" align="center"></el-table-column> |
| | | <el-table-column label="类型" prop="type" align="center"></el-table-column> |
| | | <el-table-column label="位置" prop="geom" align="center"></el-table-column> |
| | | <!-- <el-table-column |
| | | label="柱状图" |
| | | width="100" |
| | |
| | | ></el-button> |
| | | </template> |
| | | </el-table-column> --> |
| | | <el-table-column |
| | | v-for="(item, index) in attributeData" |
| | | :key="index" |
| | | :label="item.alias" |
| | | :prop="item.field" |
| | | show-overflow-tooltip |
| | | align="center" |
| | | :fit="true" |
| | | ></el-table-column> |
| | | |
| | | </el-table> |
| | | </div> |
| | | |
| | | <div class="bottomPage pagination_box"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="listdata.pageIndex" |
| | | :page-sizes="[10, 20, 50, 100]" |
| | | :page-size="listdata.pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="count" |
| | | > |
| | | <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" |
| | | :current-page="listdata.pageIndex" :page-sizes="[10, 20, 50, 100]" :page-size="listdata.pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" :total="count"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | <el-dialog |
| | | :visible.sync="conditionVisible" |
| | | title="高级查询" |
| | | width="44%" |
| | | :close-on-click-modal="false" |
| | | :modal="false" |
| | | > |
| | | <el-dialog :visible.sync="conditionVisible" title="高级查询" width="44%" :close-on-click-modal="false" :modal="false"> |
| | | |
| | | <el-form |
| | | :inline=" true" |
| | | :model="formSql" |
| | | class="demo-form-inline" |
| | | label-position="top" |
| | | > |
| | | <el-form :inline="true" :model="formSql" class="demo-form-inline" label-position="top"> |
| | | |
| | | <el-form-item> |
| | | <el-select |
| | | @change="fieldChange($event)" |
| | | v-model="formSql.field" |
| | | :popper-append-to-body="false" |
| | | > |
| | | <el-option |
| | | v-for="item in filedsOption" |
| | | :key="item.field" |
| | | :label="item.alias" |
| | | :value="item.field" |
| | | > |
| | | <el-select @change="fieldChange($event)" v-model="formSql.field" :popper-append-to-body="false"> |
| | | <el-option v-for="item in filedsOption" :key="item.field" :label="item.alias" :value="item.field"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-select |
| | | :popper-append-to-body="false" |
| | | v-model="formSql.condition" |
| | | > |
| | | <el-option |
| | | v-for="item in condOption" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | <el-select :popper-append-to-body="false" v-model="formSql.condition"> |
| | | <el-option v-for="item in condOption" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item v-show="!fromSqlflag"> |
| | | <el-input |
| | | v-model="formSql.value" |
| | | :placeholder="$t('shuJuGuanLi.shuJuJianSuo.queryContent')" |
| | | > </el-input> |
| | | <el-input v-model="formSql.value" :placeholder="$t('shuJuGuanLi.shuJuJianSuo.queryContent')"> </el-input> |
| | | </el-form-item> |
| | | <el-form-item v-show="fromSqlflag"> |
| | | <el-date-picker |
| | | v-model="formSql.date" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | value-format="yyyy-MM-dd" |
| | | > |
| | | <el-date-picker v-model="formSql.date" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | |
| | | </el-form> |
| | | |
| | | <span |
| | | slot="footer" |
| | | class="dialog-footer" |
| | | > |
| | | <el-button |
| | | size="small" |
| | | @click="startFiledAndcondition" |
| | | >取 消</el-button> |
| | | <el-button |
| | | class="primaries" |
| | | size="small" |
| | | @click="appendQueryFilter" |
| | | >确 定</el-button> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button size="small" @click="startFiledAndcondition">取 消</el-button> |
| | | <el-button class="primaries" size="small" @click="appendQueryFilter">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | |
| | |
| | | |
| | | <script> |
| | | import { |
| | | dataQuerySelectByPage, |
| | | dataQuerySelectWktById, |
| | | inquiry_selectFields, |
| | | inquiry_selectDomains, |
| | | decr, |
| | | encr, |
| | | zhangzitou_selectAll |
| | | } from "../../api/api.js" |
| | | import * as turf from "@turf/turf" |
| | | import { conditions } from "../../views/Archive/Archive.js"; |
| | |
| | | }, |
| | | //初始化查询阈值表 |
| | | async getDomainsLayer() { |
| | | this.$store.state.loading = true; |
| | | const data = await inquiry_selectDomains({ name: this.spaceLayer }) |
| | | if (data.code != 200) { |
| | | this.$message.error("列表阈值调用失败") |
| | | } |
| | | // if (data.result.length == 0) { |
| | | // this.$message("列表阈值查无数据") |
| | | // } |
| | | this.domainsLayer = data.result |
| | | const data = await zhangzitou_selectAll(this.listdata) |
| | | |
| | | this.setListDataStart() |
| | | this.getTableselectFields() |
| | | if (data.code != 200) return |
| | | |
| | | this.count = data.result.total |
| | | this.tableData =data.result.pois; |
| | | // this.$store.state.loading = true; |
| | | // const data = await inquiry_selectDomains({ name: this.spaceLayer }) |
| | | // if (data.code != 200) { |
| | | // this.$message.error("列表阈值调用失败") |
| | | // } |
| | | // // if (data.result.length == 0) {showLayerAttribute |
| | | // // this.$message("列表阈值查无数据") |
| | | // // } |
| | | // this.domainsLayer = data.result |
| | | |
| | | // this.setListDataStart() |
| | | // this.getTableselectFields() |
| | | }, |
| | | |
| | | |
| | |
| | | }; |
| | | }, |
| | | async spaceLocation(index, row) { |
| | | var param = { |
| | | gid: row.gid, |
| | | name: this.spaceLayer, |
| | | } |
| | | const data = await dataQuerySelectWktById(param) |
| | | if (data.code != 200) { |
| | | this.$message.error("列表调用失败") |
| | | } |
| | | // var param = { |
| | | // gid: row.gid, |
| | | // name: this.spaceLayer, |
| | | // } |
| | | // const data = await dataQuerySelectWktById(param) |
| | | // if (data.code != 200) { |
| | | // this.$message.error("列表调用失败") |
| | | // } |
| | | |
| | | var val1 = decr(data.result) |
| | | if (val1) { |
| | | // var val1 = decr(row.geom) |
| | | |
| | | if (row) { |
| | | if (this.$store.state.primitLayer != null) { |
| | | sgworld.Viewer.entities.remove(this.$store.state.primitLayer) |
| | | sgworld.Creator.DeleteObject(this.$store.state.primitLayer) |
| | | this.$store.state.primitLayer = null |
| | | } |
| | | var wkt = this.$wkt.parse(val1) |
| | | var wkt = this.$wkt.parse(row.geom) |
| | | |
| | | this.setMapLoaction(wkt, row) |
| | | } |
| | | }, |
| | | handleSizeChange(val) { |
| | | this.listdata.pageSize = val |
| | | this.getSpaceTableLayer() |
| | | this.listdata.limit = val |
| | | this.getDomainsLayer() |
| | | }, |
| | | handleCurrentChange(val) { |
| | | this.listdata.pageIndex = val |
| | | this.getSpaceTableLayer() |
| | | this.listdata.page = val |
| | | this.getDomainsLayer() |
| | | }, |
| | | setMapLoaction(res, properties) { |
| | | if (this.$store.state.primitLayer != null) { |
| | |
| | | |
| | | switch (res.type) { |
| | | case "Point": |
| | | console.log(res) |
| | | var val = Cesium.Cartesian3.fromDegrees( |
| | | res.coordinates[0], |
| | | res.coordinates[1] |
| | |
| | | show: true, |
| | | }, |
| | | }) |
| | | console.log(point) |
| | | point.billboard.disableDepthTestDistance = Number.POSITIVE_INFINITY |
| | | this.$store.state.queryInfo.push(point) |
| | | sgworld.Navigate.flyToObj(point) |
| | | Viewer.flyTo(point) |
| | | this.$store.state.primitLayer = point |
| | | break |
| | | case "LineString": |
| | |
| | | overflow: hidden; |
| | | border: 1px solid gray; |
| | | float: left; |
| | | |
| | | .centTable { |
| | | position: absolute; |
| | | height: 66%; |
| | | width: 98%; |
| | | } |
| | | |
| | | .rightTitle { |
| | | padding: 5px; |
| | | |
| | | width: 100%; |
| | | |
| | | .boxClose { |
| | | float: right; |
| | | margin-right: 20px; |
| | | } |
| | | } |
| | | |
| | | .bottomPage { |
| | | position: absolute; |
| | | bottom: 10px; |
| | | } |
| | | |
| | | /deep/.el-form-item { |
| | | margin-bottom: 0px; |
| | | } |