From 965b4ade196fc23c3138320edb7c1e0653c9964c Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期二, 14 二月 2023 14:22:02 +0800 Subject: [PATCH] 在线制图出图申请重复, --- src/views/exportMap/index.vue | 342 ++++++++++++++++++++++---------------------------------- 1 files changed, 133 insertions(+), 209 deletions(-) diff --git a/src/views/exportMap/index.vue b/src/views/exportMap/index.vue index 3847d1a..a66e89a 100644 --- a/src/views/exportMap/index.vue +++ b/src/views/exportMap/index.vue @@ -1,23 +1,29 @@ <template> <div id="mapView" - class="MapBox" + class="MapBox " v-loading="loading" element-loading-background="rgba(0, 0, 0, 0.8)" > - <div class="topMenu"> - <el-form :inline="true" :model="formInline" class="demo-form-inline"> + <div class="topMenu box_divm"> + <el-form + :inline="true" + :model="formInline" + class="demo-form-inline" + > <el-form-item> <el-link - style="color: white" @click="showLeftMenu(1)" :underline="false" title="鍥惧眰鍒楄〃" - ><i class="el-icon-s-operation"></i - ></el-link> + ><i class="el-icon-s-operation"></i></el-link> </el-form-item> <el-form-item> - <el-select v-model="value" placeholder="璇烽�夋嫨"> + <el-select + :popper-append-to-body="false" + v-model="value" + placeholder="璇烽�夋嫨" + > <el-option v-for="item in options" :key="item.value" @@ -30,55 +36,44 @@ <el-form-item> <el-link - style="color: white" @click="setMapAddDraw()" :underline="false" - ><i class="el-icon-edit-outline"></i>缁樺埗</el-link - > + ><i class="el-icon-edit-outline"></i>缁樺埗</el-link> </el-form-item> <el-form-item> <el-link :disabled="layerExtent == null" - style="color: white" @click="setMapRemoveDraw()" :underline="false" title="鍥惧眰鍒楄〃" - ><i class="el-icon-delete"></i>娓呴櫎</el-link - > + ><i class="el-icon-delete"></i>娓呴櫎</el-link> </el-form-item> <el-form-item> <el-link - style="color: white" @click="showMapApply = true" :underline="false" :disabled="layerExtent == null" - >鍑哄浘鐢宠 + >鍑哄浘鐢宠 </el-link> </el-form-item> <el-form-item> <el-link - style="color: white" @click="getShowMapList" :underline="false" - >鍑哄浘鍒楄〃</el-link - > + >鍑哄浘鍒楄〃</el-link> </el-form-item> <el-form-item> <el-link - style="color: white" @click="changeMenulayer" :underline="false" v-show="isActive" - >褰卞儚</el-link - > + >褰卞儚</el-link> <el-link - style="color: white" v-show="!isActive" @click="changeMenulayer" :underline="false" - >鐭㈤噺</el-link - > + >鐭㈤噺</el-link> </el-form-item> <el-form-item label="鏃嬭浆瑙掑害"> <el-input @@ -94,14 +89,20 @@ class="left_Menu" :class="{ left_main_show: !leftMenuOpen }" > - <div class="menu_content"> - <div class="topHeader" v-show="lefMenuContent"> + <div class="menu_content box_divm"> + <div + class="topHeader" + v-show="lefMenuContent" + > <div>鍥惧眰鍒楄〃</div> <div @click="showLeftMenu(2)"><i class="el-icon-s-fold"></i></div> </div> <el-divider></el-divider> <div class="bottomContent"> - <div style="width: 100%" v-show="lefMenuContent"> + <div + style="width: 100%" + v-show="lefMenuContent" + > <el-tree :data="treeData" show-checkbox @@ -117,46 +118,58 @@ </div> </div> - <div class="mapApplay" v-if="showMapApply"> + <div + class="mapApplay box_divm" + v-if="showMapApply" + > <label>鍑哄浘鐢宠</label> <el-divider /> - <el-form ref="form" :model="form" label-width="80px"> + <el-form + ref="form" + :model="form" + label-width="80px" + > <el-form-item label="鍑哄浘鍚嶇О"> <el-input v-model="form.name"></el-input> </el-form-item> <el-form-item> - <div style="padding: 1%; border: 1px solid white"> + <div style="padding: 1%; "> <el-table ref="singleTable" :data="tableData" style="width: 100%" height="200" > - <el-table-column type="index" label="搴忓彿" width="50"> + <el-table-column + type="index" + label="搴忓彿" + width="50" + > </el-table-column> - <el-table-column property="name" label="鍥惧眰鍚嶇О"> + <el-table-column + property="name" + label="鍥惧眰鍚嶇О" + > </el-table-column> </el-table> </div> </el-form-item> <el-form-item> - <el-button type="primary" @click="setMapApply">绔嬪嵆鍒涘缓</el-button> + <el-button + type="primary" + @click="setMapApply" + >绔嬪嵆鍒涘缓</el-button> <el-button @click="showMapApply = false">鍙栨秷</el-button> </el-form-item> </el-form> </div> - <div class="mapApplay" v-if="showMapList"> - <div> - <label>鍑哄浘鍒楄〃</label> - <div style="float: right"> - <el-link @click="showMapList = false" :underline="false" - ><i style="color: white" class="el-icon-close"></i - ></el-link> - </div> - </div> - <el-divider /> + + <el-dialog + title="鍑哄浘鍒楄〃" + :visible.sync="showMapList" + > <el-table ref="singleTable" :data="exportable" @@ -164,11 +177,24 @@ height="200" @selection-change="handleSelectionChange" > - <el-table-column type="index" width="50" label="搴忓彿"> + <el-table-column + type="index" + width="50" + label="搴忓彿" + > </el-table-column> - <el-table-column property="descr" label="鏍囬"> </el-table-column> - <el-table-column property="name" label="鏂囦欢鍚嶇О"> </el-table-column> - <el-table-column property="createName" label="鍑哄浘浜�"> + <el-table-column + property="descr" + label="鏍囬" + > </el-table-column> + <el-table-column + property="name" + label="鏂囦欢鍚嶇О" + > </el-table-column> + <el-table-column + property="createName" + label="鍑哄浘浜�" + > </el-table-column> <el-table-column property="createTime" @@ -177,14 +203,15 @@ > </el-table-column> - <el-table-column label="鎿嶄綔" width="120"> + <el-table-column + label="鎿嶄綔" + width="120" + > <template slot-scope="scope"> <el-link - style="color: white" @click.native.prevent="downloadMap(scope.$index, scope.row)" :underline="false" - >涓嬭浇</el-link - > + >涓嬭浇</el-link> </template> </el-table-column> </el-table> @@ -200,15 +227,18 @@ > </el-pagination> </div> - </div> - + </el-dialog> <el-dialog title="鎻愮ず" :visible.sync="dialogVisible" width="30%" :before-close="handleClose" > - <el-form ref="layerform" :model="layerform" label-width="80px"> + <el-form + ref="layerform" + :model="layerform" + label-width="80px" + > <el-form-item label="鏈嶅姟鍚嶇О"> <el-input v-model="layerform.name"></el-input> </el-form-item> @@ -218,12 +248,21 @@ </el-radio-group> </el-form-item> <el-form-item label="鏈嶅姟鍦板潃"> - <el-input type="textarea" v-model="layerform.resource"></el-input> + <el-input + type="textarea" + v-model="layerform.resource" + ></el-input> </el-form-item> </el-form> - <span slot="footer" class="dialog-footer"> + <span + slot="footer" + class="dialog-footer" + > <el-button @click="dialogVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="setAddMapLayer">纭� 瀹�</el-button> + <el-button + type="primary" + @click="setAddMapLayer" + >纭� 瀹�</el-button> </span> </el-dialog> </div> @@ -234,7 +273,7 @@ import Map from "ol/Map" import XYZ from "ol/source/XYZ" import View from "ol/View" -import { OverviewMap, defaults as defaultControls, FullScreen, ScaleLine, Rotate} from "ol/control.js" +import { OverviewMap, defaults as defaultControls, FullScreen, ScaleLine, Rotate } from "ol/control.js" import Image from "ol/layer/Image" import TileLayer from "ol/layer/Tile" import { transform } from "ol/proj" @@ -337,6 +376,9 @@ layer_list.push(layer_entity) if (data.result[i].isShow == 1) { std.push(data.result[i].id) + this.tableData.push({ + name: layer_entity.label, + }) this.showMapLayer(layer_entity) } } @@ -349,22 +391,31 @@ } } } - this.treeData = layer_groups - for (var i in data.result) { - if (data.result[i].type == 2 && data.result[i].url != null) { - for (var j = 0; j < window.Viewer.imageryLayers._layers.length; j++) { - var val_id = window.Viewer.imageryLayers._layers[j] - if (val_id.show == true) { - if (val_id.imageryProvider.name == data.result[i].cnName) { - std.push(data.result[i].id) - } - } - } + layer_groups = layer_groups.filter((res) => { + if (res.children != null && res.children.length != 0) { + return res } - } + }) + this.treeData = layer_groups; + + // for (var i in data.result) { + // if (data.result[i].type == 2 && data.result[i].url != null) { + // for (var j = 0; j < window.mapView.imageryLayers._layers.length; j++) { + // var val_id = window.mapView.imageryLayers._layers[j] + // if (val_id.show == true) { + // if (val_id.imageryProvider.name == data.result[i].cnName) { + // std.push(data.result[i].id) + // } + // } + // } + // } + // } + debugger this.$refs.tree.setCheckedKeys(std) }, showMapLayer(val) { + debugger + if (val == undefined) return; var layer2 = new Image({ name: val.label, source: new ImageWMS({ @@ -461,7 +512,7 @@ data: JSON.stringify(data), contentType: "application/json", dataType: "json", - error: function () {}, + error: function () { }, success: rs => { this.loading = false var value = "code = " + rs.code + ", result = " + rs.result @@ -559,7 +610,7 @@ this.showMapApply = false this.form = {} }, - handleClose() {}, + handleClose() { }, handleTreeNodeClick(data, nodes) { if (data.children != null) return var layers = mapView.getAllLayers() @@ -570,13 +621,13 @@ layer.setVisible(nodes) //鏄剧ず鍥惧眰 if (nodes == true) { str++ - this.arrList.push({ + this.tableData.push({ name: data.label, }) } else { - this.arrList.some((item, i) => { + this.tableData.some((item, i) => { if (item.name === data.label) { - this.arrList.splice(i, 1) + this.tableData.splice(i, 1) } }) } @@ -585,12 +636,12 @@ if (str == 0 && nodes == true) { this.showMapLayer(data) - this.arrList.push({ + this.tableData.push({ name: data.label, }) } - this.tableData = this.arrList + // this.tableData = this.arrList }, setAddMapLayer() { this.dialogVisible = false @@ -670,7 +721,7 @@ .topMenu { z-index: 40; position: absolute; - background: rgba(0, 0, 0, 0.5); + width: 100%; height: 70px; padding-left: 20px; @@ -678,7 +729,7 @@ .left_Menu { z-index: 40; width: 300px; - background: rgba(0, 0, 0, 0.5); + height: calc(100% - 220px); position: fixed; left: 0; @@ -692,7 +743,6 @@ margin: 10px; display: flex; justify-content: space-between; - color: white; } .bottomContent { width: calc(100% - 40px); @@ -738,140 +788,14 @@ .mapApplay { width: 40%; position: absolute; - background: #303030; + z-index: 40; top: 15%; margin-left: 30%; padding: 1%; - label { - color: white; - } } - /deep/.el-form-item__label { - color: white; - line-height: 70px; - } - /deep/.el-form-item__content { - line-height: 70px; - } - /deep/.el-input__inner { - background-color: transparent !important ; - color: #fff; - border: 1px solid; - } - /deep/ .el-select .el-input__inner { - border-color: #fff !important; - } - /deep/ .el-divider--horizontal { - margin: 5px 0px; - } - /*淇敼table 琛ㄤ綋鐨勮儗鏅鑹插拰鏂囧瓧棰滆壊*/ - /deep/ .el-table { - background-color: transparent; - - th, - td { - background-color: transparent; - } - .el-table__expanded-cell { - background-color: transparent !important; - } - - // 琛ㄥご鑳屾櫙鑹� - th.el-table__cell { - background-color: #303030; - - color: #fff; - } - tr > td { - background-color: #303030; - color: #fff; - } - - // hover鏁堟灉 - tr:hover > td { - background-color: rgba(255, 255, 255, 0.3) !important; - } - - tbody tr:hover { - background-color: rgba(255, 255, 255, 0.3) !important; - // text-align: center; - } - - // 婊氬姩鏉″楂� - .el-table__body-wrapper::-webkit-scrollbar { - width: 5px; - height: 5px; - } - - .el-table__body-wrapper::-webkit-scrollbar { - width: 5px; - /*婊氬姩鏉″搴�*/ - height: 5px; - /*婊氬姩鏉¢珮搴�*/ - } - /*瀹氫箟婊氬姩鏉¤建閬� 鍐呴槾褰�+鍦嗚*/ - .el-table__body-wrapper::-webkit-scrollbar-track { - box-shadow: 0px 1px 3px #216fe6 inset; - /*婊氬姩鏉$殑鑳屾櫙鍖哄煙鐨勫唴闃村奖*/ - border-radius: 10px; - } - - /*瀹氫箟婊戝潡 鍐呴槾褰�+鍦嗚*/ - .el-table__body-wrapper::-webkit-scrollbar-thumb { - box-shadow: 0px 1px 3px #216fe6 inset; - border-radius: 6px; - background-color: #216fe6; - } - } - .pagination_box { - margin-top: 20px; - /deep/.el-input__inner { - background-color: transparent !important; - border: 1px solid; - color: white; - } - /deep/.el-pagination__total { - color: white; - } - /deep/.el-pagination__jump { - color: white; - } - /deep/.el-pager li.active { - color: #409eff; - } - /deep/.el-pager li { - color: white; - background: transparent; - } - /deep/.el-pager li { - color: white; - } - /deep/.btn-prev { - background: transparent; - } - /deep/.btn-next { - background: transparent; - } - /deep/.btn-next i { - color: white; - } - /deep/.btn-prev i { - color: white; - } - } - /deep/.el-loading-spinner i { - color: #409eff !important; - } - /deep/.el-tree .el-tree-node__content:hover { - background-color: transparent !important; - } - /deep/.el-tree { - color: white !important; - background: transparent !important; - } - /deep/.el-tree-node:focus > .el-tree-node__content { - background: transparent !important; + /deep/.el-form-item { + margin-top: 10px; } } </style> -- Gitblit v1.9.3