| | |
| | | <template> |
| | | <div |
| | | class="project_tree" |
| | | :class="{ left_main_show: !leftMenuOpen }" |
| | | > |
| | | <div class="project_tree" :class="{ left_main_show: !leftMenuOpen }"> |
| | | <div class="project_tree__title">工程项目</div> |
| | | <el-input |
| | | style="width: 80%" |
| | | placeholder="输入关键字进行查询" |
| | | suffix-icon="el-icon-search" |
| | | v-model="filterText" |
| | | size="mini" |
| | | :filter-node-method="filterNode" |
| | | > |
| | | <el-input style="width: 80%" placeholder="输入关键字进行查询" suffix-icon="el-icon-search" v-model="filterText" size="mini" |
| | | :filter-node-method="filterNode"> |
| | | </el-input> |
| | | <div class="tree-container"> |
| | | <el-tree |
| | | :data="treeData" |
| | | show-checkbox |
| | | node-key="id" |
| | | default-expand-all |
| | | :props="defaultProps" |
| | | ref="tree" |
| | | class="el-tree" |
| | | @check="handleCheckChange" |
| | | :filter-node-method="filterNode" |
| | | @node-click="handleLeftclick" |
| | | > |
| | | <div |
| | | style="display: flex" |
| | | class="custom-tree-node" |
| | | slot-scope="{ node, data }" |
| | | > |
| | | <el-tree :data="treeData" show-checkbox node-key="id" :props="defaultProps" ref="tree" class="el-tree" |
| | | @check="handleCheckChange" :filter-node-method="filterNode" @node-click="handleLeftclick"> |
| | | <div style="display: flex" class="custom-tree-node" slot-scope="{ node, data }"> |
| | | <div style=""> |
| | | <i |
| | | v-if="data.children && data.children.length > 0" |
| | | style="color: yellow" |
| | | class="el-icon-folder-opened" |
| | | ></i> |
| | | <i |
| | | v-else |
| | | style="color: skyblue" |
| | | class="el-icon-folder-opened" |
| | | ></i> |
| | | <i v-if="data.children && data.children.length > 0" style="color: yellow" class="el-icon-folder-opened"></i> |
| | | <i v-else style="color: skyblue" class="el-icon-folder-opened"></i> |
| | | </div> |
| | | <!-- <div style=""> |
| | | <i |
| | |
| | | ></i> |
| | | <i v-else style="color: skyblue" class="el-icon-folder-opened"></i> |
| | | </div> --> |
| | | <div |
| | | :style=" |
| | | data.children && data.children.length > 0 |
| | | ? 'padding-left: 20px' |
| | | : 'padding-left: 20px' |
| | | " |
| | | class="tree-label" |
| | | :title="node.label || '-'" |
| | | > |
| | | <div :style="data.children && data.children.length > 0 |
| | | ? 'padding-left: 20px' |
| | | : 'padding-left: 20px' |
| | | " class="tree-label" :title="node.label || '-'"> |
| | | {{ node.label }} |
| | | </div> |
| | | </div> |
| | |
| | | this.rightMenu = right_menu |
| | | this.changeSelectli = this.rightList[0].id |
| | | this.changeSelectStyle = this.rightMenu[0].id |
| | | this.addImageLayer() |
| | | |
| | | this.$bus.$on("changeProjectLayer", (res) => { |
| | | this.setShowCheckedLayer(); |
| | | }) |
| | |
| | | filterText(val) { |
| | | this.$refs.tree.filter(val) |
| | | }, |
| | | obj(newVal, oldVal) { |
| | | if (newVal) { |
| | | this.addImageLayer() |
| | | } |
| | | } |
| | | }, |
| | | computed: { |
| | | obj() { |
| | | return this.$store.state.showThematicFlag |
| | | } |
| | | }, |
| | | methods: { |
| | | // 查询 |
| | |
| | | std.push(3); |
| | | this.$refs.tree.setCheckedKeys(std) |
| | | } |
| | | this.getWMSLayer(); |
| | | |
| | | }, |
| | | async addImageLayer() { |
| | |
| | | return str; |
| | | } |
| | | }) |
| | | |
| | | |
| | | |
| | | this.$refs.tree.setCheckedKeys(checkKey) |
| | | var res = this.setTreeData(val); |
| | | |
| | | this.treeData = res |
| | | |
| | | |
| | | this.setShowImageLayer(value) |
| | | }, |
| | | setTreeData(source) { |
| | |
| | | // } |
| | | |
| | | |
| | | |
| | | if (data.type == 1) { |
| | | this.childOption = []; |
| | | this.getchilds(data); |
| | |
| | | |
| | | } |
| | | } |
| | | this.setShowWMSLayer(listWMS); |
| | | this.getWMSLayer(); |
| | | this.setShowTilesetLayer(listTileset); |
| | | this.setShowMptLayer(listMpt); |
| | | this.setShowTMSLayer(listTMS); |
| | | } else if (data.type == 2) { |
| | | if (data.serveType == "WMS") { |
| | | this.setShowWMSLayer([data]); |
| | | this.getWMSLayer(); |
| | | } else if (data.serveType == "Tileset") { |
| | | this.setShowTilesetLayer([data]); |
| | | } else if (data.serveType == "Mpt") { |
| | |
| | | new Cesium.Cesium3DTileset({ |
| | | name: res.cnName, |
| | | url: url, //192.168.20.106,to4 |
| | | maximumScreenSpaceError: 64, // 最大屏幕空间错误:16 |
| | | maximumScreenSpaceError: url.indexOf("/pnts/") > -1 ? 16 : 64, // 最大屏幕空间错误:16 |
| | | maximumMemoryUsage: 768, // 最大内存:512 |
| | | dynamicScreenSpaceError: true, // 减少离相机较远的屏幕空间错误:false |
| | | skipLevelOfDetail: true, // 在遍历时候跳过详情:false |
| | |
| | | setShowWMSLayer(res) { |
| | | var url = []; |
| | | this.setClearWmsLayer(); |
| | | |
| | | for (var i in res) { |
| | | if (res[i].url) { |
| | | url.push(res[i].url) |
| | |
| | | background: url("~@/assets/img/Screen/prjectree.png") no-repeat center; |
| | | |
| | | background-size: 100% 100%; |
| | | |
| | | &__title { |
| | | color: #fff; |
| | | height: 30px; |
| | |
| | | width: 140px; |
| | | padding-top: 15px; |
| | | color: #fff; |
| | | background: linear-gradient( |
| | | 0deg, |
| | | rgba(81, 192, 243, 0.65) 0%, |
| | | rgba(255, 255, 255, 0.65) 86% |
| | | ); |
| | | background: linear-gradient(0deg, |
| | | rgba(81, 192, 243, 0.65) 0%, |
| | | rgba(255, 255, 255, 0.65) 86%); |
| | | -webkit-background-clip: text; |
| | | font-size: 17.5px; |
| | | font-family: HYLingXinJ, HYLingXinJ-regular; |
| | | font-weight: normal; |
| | | letter-spacing: 1.05px; |
| | | } |
| | | |
| | | .el-input { |
| | | width: 80%; |
| | | padding: 5px 0 5px 30px; |
| | |
| | | margin: 10px; |
| | | height: 85%; |
| | | overflow-y: auto; |
| | | |
| | | /deep/ .tree-label { |
| | | color: #eee !important; |
| | | } |
| | | |
| | | /deep/ .el-tree { |
| | | color: #eee !important; |
| | | } |
| | | } |
| | | |
| | | .changeBaseLayer { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: flex-end; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .CenDiv { |
| | | height: 40px; |
| | | width: 60px; |
| | |
| | | background-size: 100% 100%; |
| | | border-radius: 5px; |
| | | } |
| | | |
| | | .menuLayer { |
| | | height: 40px; |
| | | width: 60px; |
| | |
| | | border-radius: 5px; |
| | | } |
| | | } |
| | | |
| | | /* 滚动条样式 */ |
| | | |
| | | ::-webkit-scrollbar { |
| | |
| | | margin-left: -14px; |
| | | } |
| | | |
| | | .el-tree-node__content > label.el-checkbox { |
| | | .el-tree-node__content>label.el-checkbox { |
| | | margin-right: -30px; |
| | | } |
| | | .el-tree-node__content > .el-tree-node__expand-icon { |
| | | |
| | | .el-tree-node__content>.el-tree-node__expand-icon { |
| | | visibility: hidden; |
| | | } |
| | | .el-tree .el-tree-node .is-leaf + .el-checkbox .el-checkbox__inner { |
| | | |
| | | .el-tree .el-tree-node .is-leaf+.el-checkbox .el-checkbox__inner { |
| | | display: block; |
| | | visibility: visible; |
| | | } |
| | | |
| | | .el-tree .el-tree-node .el-checkbox .el-checkbox__inner { |
| | | display: none; |
| | | // visibility: hidden; |
| | | } |
| | | |
| | | .tree-label { |
| | | font-size: 16px; |
| | | color: #fff; |