From c6a9b11ff0783bcd81a043a179fbc27f685eee70 Mon Sep 17 00:00:00 2001 From: lxl <lixuliang_hd@126.com> Date: 星期一, 07 十一月 2022 16:19:43 +0800 Subject: [PATCH] 菜单 --- src/views/datamanage/metadataManage.vue | 5 src/views/Synthesis/plotting.vue | 326 +++++++++------ src/api/api.js | 19 src/assets/lang/zh.js | 14 src/views/Synthesis/index.vue | 247 ++++++++++- public/index.html | 17 src/assets/lang/en.js | 13 src/views/userManage/userInfoManage.vue | 1 src/views/maintenance/menuSettings.vue | 4 src/components/navMenu.vue | 2 src/views/datamanage/domainManage.vue | 601 ++++++++++++++++++++++++++++ src/router/index.js | 10 12 files changed, 1,087 insertions(+), 172 deletions(-) diff --git a/public/index.html b/public/index.html index 7c4d7db..1c313ed 100644 --- a/public/index.html +++ b/public/index.html @@ -7,16 +7,13 @@ <meta name="viewport" content="width=device-width,initial-scale=1.0"> <title> </title> - <script src="./SmartEarthSDK/Workers/polyfill.min.js"></script> - <script src="./SmartEarthSDK/Cesium/Cesium.js"></script> - <script src="./SmartEarthSDK/SmartEarth.min.js"></script> - <script src="./SmartEarthSDK/Workers/TreeTool.js"></script> - <script src="./config/config.js"></script> - <script src="./config/rsa.min.js"></script> + <link rel="stylesheet" href="./SmartEarthSDK/Workers/css/smartearth.css"> + <link rel="stylesheet" href="./SmartEarthSDK/Workers/layui/css/layui.css"> <style> .esriControlsBR { display: none; } + .ol-overlaycontainer-stopevent { display: none; } @@ -24,6 +21,14 @@ </head> <body> + + <script src="./SmartEarthSDK/Workers/polyfill.min.js"></script> + <script src="./SmartEarthSDK/Cesium/Cesium.js"></script> + <script src="./SmartEarthSDK/SmartEarth.min.js"></script> + <script src="./SmartEarthSDK/Workers/TreeTool.js"></script> + <script src="./SmartEarthSDK/Workers/layui/layui.js"></script> + <script src="./config/config.js"></script> + <script src="./config/rsa.min.js"></script> <div id="app"></div> </body> diff --git a/src/api/api.js b/src/api/api.js index 0a26a90..95ad999 100644 --- a/src/api/api.js +++ b/src/api/api.js @@ -198,6 +198,10 @@ export function queryMenuTree() { return request.get('/perms/selectMenus'); } +// //璇锋眰缂栬緫鑿滃崟鏍忔暟鎹� +export function queryMenuAll() { + return request.get('/menu/selectMenuAll'); +} //鑿滃崟閫掑綊鏌ヨ鏁版嵁 export function selectMenuRecursive(params) { return request.get('/menu/selectMenuRecursive', { params: params }); @@ -527,3 +531,18 @@ export function getPerms() { return request.get('perms/selectPermsEntity'); } +// 鏌ヨ鍊煎煙琛ㄧ粨鏋勬爲 +export function getDomainTabs() { + return request.get('domain/selectTabs'); +} +//鍒嗛〉鏌ヨ +export function getSingleTab(params) { + return request.get('domain/selectByPageAndCount', { params: params }); +} + +export function updateDomain(params) { + return service.post('domain/update', params); +} +export function insertDomain(params) { + return service.post('domain/insert', params); +} \ No newline at end of file diff --git a/src/assets/lang/en.js b/src/assets/lang/en.js index b446fea..81842c5 100644 --- a/src/assets/lang/en.js +++ b/src/assets/lang/en.js @@ -78,6 +78,17 @@ modifySuccessfully: 'modify successfully', tipsUp: 'Are you sure to save the changes?', }, + domainManage: { + index:'index', + bak: "bak", + bsm: "bsm", + codeDesc: "codeDesc", + domCode: "domCode", + domDesc: "domDesc", + domName: "domName", + level: "level", + orderid: "orderid", + }, styleManage: 'Style Manage', styleObj: { index: 'Index', @@ -350,6 +361,8 @@ flatterrain: 'Flat Terrain', terrainexcavation: 'Terrain Excavation', removepaint: 'Remove Paint', + openFile: 'open File', + saveFile: 'save File', synthobj: { m1: 'Horizontal distance', m2: 'Spatial distance', diff --git a/src/assets/lang/zh.js b/src/assets/lang/zh.js index 1cb3596..9d46361 100644 --- a/src/assets/lang/zh.js +++ b/src/assets/lang/zh.js @@ -78,6 +78,18 @@ modifySuccessfully: '淇敼鎴愬姛', tipsUp: '鏄惁纭畾淇濆瓨淇敼鍐呭?', }, + domainManage: { + index: '搴忓彿', + bak: "澶囨敞", + bsm: "鏍囪瘑鐮�", + codeDesc: "缂栫爜鎻忚堪", + domCode: "缂栫爜", + domDesc: "鍊煎煙琛ㄦ弿杩�", + domName: "鍊煎煙琛ㄥ悕", + level: "灞傜骇", + orderid: "搴忓彿", + + }, styleManage: '鏍峰紡绠$悊', styleObj: { index: '搴忓彿', @@ -348,6 +360,8 @@ flatterrain: '鍦板舰骞虫暣', terrainexcavation: '鍦板舰寮�鎸�', removepaint: '娓呴櫎缁樺埗', + openFile: '鎵撳紑', + saveFile: '淇濆瓨', synthobj: { m1: '姘村钩璺濈', m2: '绌洪棿璺濈', diff --git a/src/components/navMenu.vue b/src/components/navMenu.vue index 7de28f7..15e444d 100644 --- a/src/components/navMenu.vue +++ b/src/components/navMenu.vue @@ -128,7 +128,7 @@ }) .then(async () => { const data = await logout({ token: getToken() }); - console.log(data); + // console.log(data); if (data.code != 200) { return this.$message.error('閫�鍑虹櫥褰曞け璐�'); } diff --git a/src/router/index.js b/src/router/index.js index eeb2a3a..f07342e 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -27,6 +27,7 @@ import SpatialData from '../views/datamanage/SpatialData.vue'; //鏁版嵁绠$悊-绌洪棿鏁版嵁 import versionManage from '../views/datamanage/versionManage.vue'; //鏁版嵁绠$悊-鐗堟湰绠$悊 import dictionaryManage from '../views/datamanage/dictionaryManage.vue'; //鏁版嵁绠$悊-瀛楀吀绠$悊 +import domainManage from '../views/datamanage/domainManage.vue'; //鏁版嵁绠$悊-鍊煎煙绠$悊 import styleManage from '../views/datamanage/styleManage.vue'; //鏁版嵁绠$悊-鏍峰紡绠$悊 import addStyle from '../views/datamanage/addStyle.vue'; //鏁版嵁绠$悊-鏍峰紡绠$悊-娣诲姞鏍峰紡 @@ -157,6 +158,15 @@ }, }, { + path: '/domainManage', + component: domainManage, + name: 'domainManage', + meta: { + title: '鍊煎煙绠$悊', + requireAuth: true, // 鏍囪瘑璇ヨ矾鐢辨槸鍚﹂渶瑕佺櫥褰� + }, + }, + { path: '/styleManage', component: styleManage, name: 'styleManage', diff --git a/src/views/Synthesis/index.vue b/src/views/Synthesis/index.vue index b16b0a7..43e74b1 100644 --- a/src/views/Synthesis/index.vue +++ b/src/views/Synthesis/index.vue @@ -23,26 +23,44 @@ <measurement /> </el-tab-pane> <el-tab-pane v-if="menuStatus.menu8" :label="$t('synthesis.plotting')"> - <plotting /> + <plotting @drawing="showBtn" /> </el-tab-pane> </el-tabs> <el-card class="box-card"> <map-div></map-div> </el-card> + <div class="plotBox"> + <el-collapse-transition> + <div class="transition-box" v-show="showBtnBox"> + <ul> + <li + @click="changePlot(item)" + v-for="item in itemsOne" + :key="item.id" + > + <div class="divli"> + <div :class="item.class" class="backimge8"></div> + </div> + <div class="div_li">{{ $t(item.name) }}</div> + </li> + </ul> + </div> + </el-collapse-transition> + </div> </div> </template> <script> -import coverage from './coverage.vue'; //鍥惧眰 -import viewport from './viewport.vue'; //瑙嗗浘 -import wander from './wander.vue'; //婕父 -import analyse from './analyse.vue'; //鍒嗘瀽 -import iqyery from './inquire.vue'; //鏌ヨ -import orientation from './orientation.vue'; //瀹氫綅 -import measurement from './measurement.vue'; //娴嬮噺 -import plotting from './plotting.vue'; //鏍囩粯 -import MapDiv from '../../components/MapDiv'; -import { getPerms } from '../../api/api'; +import coverage from "./coverage.vue"; //鍥惧眰 +import viewport from "./viewport.vue"; //瑙嗗浘 +import wander from "./wander.vue"; //婕父 +import analyse from "./analyse.vue"; //鍒嗘瀽 +import iqyery from "./inquire.vue"; //鏌ヨ +import orientation from "./orientation.vue"; //瀹氫綅 +import measurement from "./measurement.vue"; //娴嬮噺 +import plotting from "./plotting.vue"; //鏍囩粯 +import MapDiv from "../../components/MapDiv"; +import { getPerms } from "../../api/api"; export default { components: { coverage, @@ -57,6 +75,59 @@ }, data() { return { + showBtnBox: false, + itemsOne: [ + { + id: "1", + name: "synthesis.point", + class: "h1", + }, + { + id: "2", + name: "synthesis.line", + class: "h2", + }, + // { + // id: "3", + // name: "synthesis.rectangle", + // class: "h3", + // }, + { + id: "4", + name: "synthesis.polygon", + class: "h4", + }, + // { + // id: "7", + // name: "synthesis.symboliclabel", + // class: "h7", + // }, + // { + // id: "5", + // name: "synthesis.flatterrain", + // class: "h5", + // }, + // { + // id: "6", + // name: "synthesis.terrainexcavation", + // class: "h6", + // }, + { + id: "8", + name: "synthesis.removepaint", + class: "h8", + }, + // { + // id: "9", + // name: "synthesis.openFile", + // class: "h6", + // }, + // { + // id: "10", + // name: "synthesis.saveFile", + // class: "h8", + // }, + ], iframeSrc: null, messageName: null, permsId: null, @@ -73,14 +144,88 @@ }; }, watch: {}, + created() {}, methods: { + showBtn() { + this.showBtnBox = !this.showBtnBox; + }, + changePlot(res) { + sgworld.Creator.SimpleGraphic.edit(true, { editProp: true }); + switch (res.id) { + case "1": + sgworld.Creator.createSimpleGraphic( + "point", + {}, + function (entity) {} + ); + break; + case "2": + sgworld.Creator.createSimpleGraphic( + "polyline", + {}, + function (entity) {} + ); + break; + case "3": + sgworld.Creator.createSimpleGraphic( + "rectangle", + {}, + function (entity) {} + ); + break; + case "4": + sgworld.Creator.createSimpleGraphic( + "polygon", + {}, + function (entity) {} + ); + break; + case "6": + if (window.Excavation) { + window.Excavation.clear(); + window.Excavation = null; + } else { + this.$refs.terrainDig.open(); + } + break; + case "5": + if (window.TerrainFlattening) { + window.TerrainFlattening.remove(); + window.TerrainFlattening = null; + } else { + this.$refs.modelPress.open(); + } + break; + case "7": + sgworld.Creator.createModelLibrary(); + break; + case "8": + this.clearAll(); + break; + case "10": + + break; + } + }, + + clearAll() { + sgworld.Creator.SimpleGraphic.clear(); + if (window.Excavation) { + window.Excavation.clear(); + window.Excavation = null; + } + if (window.TerrainFlattening) { + window.TerrainFlattening.remove(); + window.TerrainFlattening = null; + } + }, tepostmessage(res) { const msg = { - message: 'changeTool', + message: "changeTool", data: res, }; document - .getElementById('sunIframe') + .getElementById("sunIframe") .contentWindow.postMessage(msg, this.iframeSrc); }, showMenuChange(res, result) { @@ -94,28 +239,28 @@ }, showMenuStatus(res) { switch (res.cnName) { - case '鍥惧眰': + case "鍥惧眰": this.menuStatus.menu1 = true; break; - case '瑙嗗浘': + case "瑙嗗浘": this.menuStatus.menu2 = true; break; - case '婕父': + case "婕父": this.menuStatus.menu3 = true; break; - case '鍒嗘瀽': + case "鍒嗘瀽": this.menuStatus.menu4 = true; break; - case '鏌ヨ': + case "鏌ヨ": this.menuStatus.menu5 = true; break; - case '瀹氫綅': + case "瀹氫綅": this.menuStatus.menu6 = true; break; - case '娴嬮噺': + case "娴嬮噺": this.menuStatus.menu7 = true; break; - case '鏍囩粯': + case "鏍囩粯": this.menuStatus.menu8 = true; break; } @@ -125,7 +270,7 @@ if (this.$store.state.currentPerms) { val = this.$store.state.currentPerms; } else { - val = '/comprehensive'; + val = "/comprehensive"; } var permsEntity = this.$store.state.permsEntity; @@ -149,7 +294,7 @@ }, mounted() { //this.messageName = this.$store.state.teNmme; - this.$bus.$on('changetool', (e) => { + this.$bus.$on("changetool", (e) => { this.tepostmessage(e); }); }, @@ -160,8 +305,8 @@ }; </script> -<style> -.el-card { +<style > +.synthesis .el-card { border: transparent !important; } .synthesis { @@ -190,13 +335,14 @@ } .synthesis .box-card { height: 88%; + position: relative; border-radius: 0px; } .synthesis .el-card .el-card__body { padding: 0px; } -.cardbox { +.synthesis .cardbox { width: 98%; height: 86%; position: absolute; @@ -205,4 +351,53 @@ border: transparent; background: transparent; } +.synthesis .divli { + width: 100%; + height: 50%; + position: relative; +} +.synthesis li { + list-style: none; + float: left; + height: 60px; + text-align: center; + margin: 2px; + position: relative; + cursor: pointer; + margin-top: 5px; +} +.synthesis .backimge8 { + width: 30px; + height: 30px; + position: absolute; + background-size: 100% 100%; + margin: 0% 30%; +} +.synthesis .plotBox { + width: 160px; + /* height:; */ + position: absolute; + top: 115px; + left: 5px; + background-color: #596882; +} +.synthesis .plotBox .transition-box ul { + display: flex; + flex-wrap: wrap; + justify-content: space-evenly; + align-items: center; + width: 100%; + border-radius: 4px; + text-align: center; + color: #fff; + /* background-color: #bfa; */ + box-sizing: border-box; +} +.synthesis .plotBox .transition-box li { + margin: 5px; + width: 46%; + margin-left: 0; + /* background-color: #fff; */ + justify-content: space-between; +} </style> diff --git a/src/views/Synthesis/plotting.vue b/src/views/Synthesis/plotting.vue index dd33b88..ebef7b6 100644 --- a/src/views/Synthesis/plotting.vue +++ b/src/views/Synthesis/plotting.vue @@ -1,41 +1,47 @@ <template> <div class="box"> + <div class="tooltip"></div> + <input type="file" accept=".kml" class="file" style="display: none" /> + <ul> - <li - style="margin-left: 20px" - @click="changePlot(item)" - v-for="item in itemsOne" - > + <li style="margin-left: 20px" @click="drawing"> <div class="divli"> - <div :class="item.class" class="backimge8"></div> + <div class="backimge8 h1"></div> </div> - <div class="div_li">{{ $t(item.name) }}</div> + <div class="div_li">鏍囩粯</div> </li> - <li v-if="plotStatus.delete" style="margin-left: 20px"> + <li style="margin-left: 20px" id="open"> <div class="divli"> - <div class="backimge8"><i class="el-icon-delete"></i></div> + <div class="backimge8 h1"></div> </div> - <div class="div_li">鍒犻櫎</div> + <div class="div_li">鎵撳紑json</div> </li> - <li v-if="plotStatus.upload" style="margin-left: 20px"> + <li style="margin-left: 20px" @click="save"> <div class="divli"> - <div class="backimge8"><i class="el-icon-upload2"></i></div> + <div class="backimge8 h1"></div> </div> - <div class="div_li">涓婁紶</div> + <div class="div_li">淇濆瓨json</div> </li> - <li v-if="plotStatus.upload" style="margin-left: 20px"> + <li style="margin-left: 20px" @click="kmlopen"> <div class="divli"> - <div class="backimge8"><i class="el-icon-plus"></i></div> + <div class="backimge8 h1"></div> </div> - <div class="div_li">鏂板</div> + <div class="div_li">鍘熺敓kml</div> </li> - <li v-if="plotStatus.upload" style="margin-left: 20px"> + <li style="margin-left: 20px" @click="handleOpenClick"> <div class="divli"> - <div class="backimge8"><i class="el-icon-edit"></i></div> + <div class="backimge8 h1"></div> </div> - <div class="div_li">淇敼</div> + <div class="div_li">瀵煎叆KML鏂囦欢</div> + </li> + <li style="margin-left: 20px" @click="handleSaveClick"> + <div class="divli"> + <div class="backimge8 h1"></div> + </div> + <div class="div_li">瀵煎嚭KML鏂囦欢</div> </li> </ul> + <terrainDig ref="terrainDig" /> <modelPress ref="modelPress" /> </div> @@ -43,60 +49,19 @@ <script> // 娴嬮噺-淇℃伅寮圭獥 -import terrainDig from '../Tools/terrainDig.vue'; -import modelPress from '../Tools/modelPress.vue'; +import terrainDig from "../Tools/terrainDig.vue"; +import modelPress from "../Tools/modelPress.vue"; export default { components: { terrainDig, modelPress }, data() { return { + id: "", plotStatus: { - delete: false, - upload: false, - insert: false, - update: false, + delete: true, + upload: true, + insert: true, + update: true, }, - itemsOne: [ - { - id: '1', - name: 'synthesis.point', - class: 'h1', - }, - { - id: '2', - name: 'synthesis.line', - class: 'h2', - }, - { - id: '3', - name: 'synthesis.rectangle', - class: 'h3', - }, - { - id: '4', - name: 'synthesis.polygon', - class: 'h4', - }, - { - id: '7', - name: 'synthesis.symboliclabel', - class: 'h7', - }, - { - id: '5', - name: 'synthesis.flatterrain', - class: 'h5', - }, - { - id: '6', - name: 'synthesis.terrainexcavation', - class: 'h6', - }, - { - id: '8', - name: 'synthesis.removepaint', - class: 'h8', - }, - ], }; }, created() { @@ -108,80 +73,170 @@ this.showViewMenu(cover_perms[i]); } } + layui.use("upload", function () { + var upload = layui.upload; + upload.render({ + elem: "#open", + accept: "file", //鏅�氭枃浠� + auto: false, + choose: function (obj) { + var files = obj.pushFile(); + for (var key in files) { + sgworld.Creator.SimpleGraphic.open(files[key]); + break; + } + }, + }); + }); }, methods: { + handleSaveClick() { + let funDownload = function (content, filename) { + let eleLink = document.createElement("a"); + eleLink.download = filename; + eleLink.style.display = "none"; + // 瀛楃鍐呭杞彉鎴恇lob鍦板潃 + let blob = new Blob([content]); + eleLink.href = URL.createObjectURL(blob); + // 瑙﹀彂鐐瑰嚮 + document.body.appendChild(eleLink); + eleLink.click(); + // 鐒跺悗绉婚櫎 + document.body.removeChild(eleLink); + }; + let entities = new Cesium.EntityCollection(); + let dataSources = sgworld.Viewer.dataSources; + for (let i = 0, j = dataSources.length; i < j; i++) { + for (let v of dataSources.get(i).entities.values) { + entities.add(v); + } + } + for (let v of sgworld.Viewer.entities.values) { + entities.add(v); + } + + if (entities.values.length) { + console.log(sgworld.Viewer.entities); + + let promise = Cesium.exportKml({ entities: sgworld.Viewer.entities }); + console.log(entities); + // let promise = Cesium.exportKml({ entities: entities }); + promise.then(function (e) { + + funDownload(e.kml, new Date().getTime() + ".kml"); + }); + } else { + alert("褰撳墠鍦烘櫙娌℃湁entities瀹炰綋"); + } + }, + handleOpenClick() { + // let that = this; + let fileInput = document.querySelector(".file"); + fileInput.onchange = function (evt) { + let files = evt.target.files; + if (files.length > 0) { + let file = evt.target.files[0]; + + let fileReader = new FileReader(); + fileReader.readAsDataURL(file); + fileReader.onload = () => { + sgworld.Viewer.dataSources + .add( + Cesium.KmlDataSource.load(fileReader.result, { + camera: sgworld.Viewer.scene.camera, + canvas: sgworld.Viewer.scene.canvas, + }) + ) + .then((KmlDataSource) => { + console.log(KmlDataSource); + // let entities = kmlDataSource.entities; + }); + }; + + // let fileReader = new FileReader(); + // fileReader.onload = function () { + // sgworld.Viewer.dataSources + // .add( + // Cesium.KmlDataSource.load(new Blob([this.result]), { + // camera: sgworld.Viewer.scene.camera, + // canvas: sgworld.Viewer.scene.canvas, + // clampToGround: false, + // }) + // ) + // .then(function (kmlDataSource) { + // let entities = kmlDataSource.entities; + // let item = entities.values[entities.values.length - 1]; + // sgworld.Viewer.zoomTo(entities); + // }); + // fileInput = null; + // fileReader = null; + // }; + // fileReader.readAsText(file); + } + // fileInput.value = null; + }; + fileInput.click(); + }, + + preview(event) { + var reader = new FileReader(); + reader.readAsDataURL(file); + //鐩戝惉鏂囦欢璇诲彇缁撴潫鍚庝簨浠� + reader.onloadend = function (e) { + $(".img").attr("src", e.target.result); //e.target.result灏辨槸鏈�鍚庣殑璺緞鍦板潃 + }; + // let files = document.getElementById(this.id).files[0]; + // this.imgDataUrl = this.getObjectURL(files); + // // this.$emit("sendImgUrl", this.imgDataUrl, this.id); + // console.log("sendImgUrl", this.imgDataUrl, this.id); + }, + getObjectURL(file) { + let url = null; + if (window.createObjectURL != undefined) { + // basic + url = window.createObjectURL(file); + } else if (window.webkitURL != undefined) { + // webkit or chrome + url = window.webkitURL.createObjectURL(file); + } else if (window.URL != undefined) { + // mozilla(firefox) + url = window.URL.createObjectURL(file); + } + return url; + }, showViewMenu(res) { - if (res.cnName != '鏍囩粯') return; + if (res.cnName != "鏍囩粯") return; switch (res.tag) { - case '/delete': + case "/delete": this.plotStatus.delete = true; break; - case '/upload': + case "/upload": this.plotStatus.upload = true; break; - case '/insert': + case "/insert": this.plotStatus.insert = true; break; - case '/update': + case "/update": this.plotStatus.update = true; break; } }, - changePlot(res) { - switch (res.id) { - case '1': - sgworld.Creator.createSimpleGraphic( - 'point', - {}, - function (entity) {} - ); - break; - case '2': - sgworld.Creator.createSimpleGraphic( - 'polyline', - {}, - function (entity) {} - ); - break; - case '3': - sgworld.Creator.createSimpleGraphic( - 'rectangle', - {}, - function (entity) {} - ); - break; - case '4': - sgworld.Creator.createSimpleGraphic( - 'polygon', - {}, - function (entity) {} - ); - break; - case '6': - if (window.Excavation) { - window.Excavation.clear(); - window.Excavation = null; - } else { - this.$refs.terrainDig.open(); - } - - break; - case '5': - if (window.TerrainFlattening) { - window.TerrainFlattening.remove(); - window.TerrainFlattening = null; - } else { - this.$refs.modelPress.open(); - } - - break; - case '7': - sgworld.Creator.createModelLibrary(); - break; - case '8': - this.clearAll(); - break; - } + save() { + // var val_result = sgworld.Viewer.entities._entities._array; + // console.log(val_result[0]); + // console.log(sgworld.Core); + // console.log(sgworld.Core.getEntityPropValue(val_result[0], show)); + sgworld.Creator.SimpleGraphic.save(); + }, + kmlopen() { + sgworld.Creator.addKmlLayer( + "kml鏁版嵁", + "http://183.162.245.49:82/sdkdemo_2022/demo/kml/facilities/facilities.kml", + true + ); + }, + drawing() { + this.$emit("drawing"); }, clearAll() { sgworld.Creator.SimpleGraphic.clear(); @@ -204,6 +259,7 @@ height: 100%; position: relative; } + .box li { list-style: none; float: left; @@ -218,34 +274,34 @@ margin: 0px; } .h1 { - background: url('../../assets/img/synthesis/妞渾 5 鎷疯礉 3.png') no-repeat + background: url("../../assets/img/synthesis/妞渾 5 鎷疯礉 3.png") no-repeat center; } .h2 { - background: url('../../assets/img/synthesis/妞渾 3 鎷疯礉 16.png') no-repeat + background: url("../../assets/img/synthesis/妞渾 3 鎷疯礉 16.png") no-repeat center; } .h3 { - background: url('../../assets/img/synthesis/妞渾 3 鎷疯礉 20.png') no-repeat + background: url("../../assets/img/synthesis/妞渾 3 鎷疯礉 20.png") no-repeat center; } .h4 { - background: url('../../assets/img/synthesis/妞渾 3 鎷疯礉 23.png') no-repeat + background: url("../../assets/img/synthesis/妞渾 3 鎷疯礉 23.png") no-repeat center; } .h5 { - background: url('../../assets/img/synthesis/鐭╁舰 14 鎷疯礉.png') no-repeat + background: url("../../assets/img/synthesis/鐭╁舰 14 鎷疯礉.png") no-repeat center; } .h6 { - background: url('../../assets/img/synthesis/鐭╁舰 14 鎷疯礉 7.png') no-repeat + background: url("../../assets/img/synthesis/鐭╁舰 14 鎷疯礉 7.png") no-repeat center; } .h7 { - background: url('../../assets/img/synthesis/鏂囨湰椋庢牸.png') no-repeat center; + background: url("../../assets/img/synthesis/鏂囨湰椋庢牸.png") no-repeat center; } .h8 { - background: url('../../assets/img/synthesis/娓呴櫎.png') no-repeat center; + background: url("../../assets/img/synthesis/娓呴櫎.png") no-repeat center; } .backimge8 { width: 30px; diff --git a/src/views/datamanage/domainManage.vue b/src/views/datamanage/domainManage.vue new file mode 100644 index 0000000..47c68ed --- /dev/null +++ b/src/views/datamanage/domainManage.vue @@ -0,0 +1,601 @@ +<template> + <div class="authorityManagement_box"> + <My-bread :list="[`${$t('dataManage.dataManage')}`, `鍊煎煙绠$悊`]"></My-bread> + <el-divider /> + <div class="contentBox"> + <div class="leftTree"> + <el-tree + :data="domainData" + :props="defaultProps" + :default-expand-all="true" + @node-click="toggleTabs" + ></el-tree> + </div> + <div class="right"> + <div class="inquire"> + <el-form ref="queryForm" :model="queryForm" :inline="true"> + <el-form-item :label="$t('dataManage.vmobj.keyword')" prop="name"> + <el-input + v-model="queryForm.name" + :placeholder="$t('common.pleaseInput')" + /> + </el-form-item> + <el-form-item> + <el-button + @click="queryInfo('queryForm')" + icon="el-icon-search" + size="small" + >{{ $t("common.iquery") }}</el-button + > + <el-button + @click="resetInfo('queryForm')" + icon="el-icon-delete" + size="small" + >{{ $t("common.empty") }}</el-button + > + <el-button + v-if="btnStatus.insert" + @click="showAddDialog" + icon="el-icon-plus" + size="small" + >{{ $t("common.append") }}</el-button + > + <el-button + v-if="btnStatus.delete" + type="danger" + size="small" + @click="handleDelete" + icon="el-icon-delete" + >{{ $t("common.delete") }}</el-button + > + </el-form-item> + </el-form> + </div> + <div class="table_box"> + <el-table :data="tableData" stripe style="width: 100%" height="99%"> + <el-table-column type="selection" width="50" /> + <el-table-column + align="center" + type="index" + :label="$t('dataManage.domainManage.index')" + width="70px" + /> + <el-table-column + align="center" + prop="domName" + :label="$t('dataManage.domainManage.domName')" + /> + <el-table-column + align="center" + prop="domDesc" + :label="$t('dataManage.domainManage.domDesc')" + /> + <el-table-column + align="center" + prop="domCode" + :label="$t('dataManage.domainManage.domCode')" + /> + <el-table-column + align="center" + prop="codeDesc" + :label="$t('dataManage.domainManage.codeDesc')" + /> + <el-table-column + align="center" + prop="bsm" + :label="$t('dataManage.domainManage.bsm')" + /> + <el-table-column + align="center" + prop="level" + :label="$t('dataManage.domainManage.level')" + /> + <el-table-column + align="center" + prop="orderid" + :label="$t('dataManage.domainManage.orderid')" + /> + <el-table-column + align="center" + prop="bak" + :label="$t('dataManage.domainManage.bak')" + /> + + <el-table-column min-width="150" :label="$t('common.operate')"> + <template slot-scope="scope"> + <el-button + v-if="btnStatus.update" + @click="handleEdit(scope.$index, scope.row)" + type="warning" + size="small" + >{{ $t("common.update") }}</el-button + > + <el-button + v-if="btnStatus.delete" + @click="handleDelete(scope.$index, scope.row)" + type="danger" + size="small" + >{{ $t("common.delete") }}</el-button + > + </template> + </el-table-column> + </el-table> + </div> + <div + class="pagination_box" + style="margin-top: 20px; margin-left: 200px" + > + <el-pagination + @size-change="handleSizeChange" + @current-change="handleCurrentChange" + :current-page="listData.pageIndex" + :page-sizes="[10, 20, 30, 40]" + :page-size="listData.pageSize" + layout="total, sizes, prev, pager, next, jumper" + :total="count" + > + </el-pagination> + </div> + </div> + </div> + <div class="infoBox" v-show="showinfoBox"> + <el-card class="box-card"> + <div slot="header" class="clearfix"> + <span>璇︾粏淇℃伅</span> + <div style="float: right; cursor: pointer"> + <i class="el-icon-close"></i> + </div> + </div> + <div class="contentBox"> + <p>鏁版嵁鍚嶇О锛歿{ itemdetail.domName }}</p> + <el-divider></el-divider> + <p>鎵�灞炵洰褰曪細{{ itemdetail.path }}</p> + <el-divider></el-divider> + <p>鍒涘缓鏃堕棿锛歿{ itemdetail.create_time }}</p> + <el-divider></el-divider> + <p>鍒涘缓浜哄憳锛歿{ itemdetail.create_user }}</p> + <el-divider></el-divider> + <p>涓婁紶鍗曚綅锛歿{ itemdetail.up_unit }}</p> + <el-divider></el-divider> + <p>鏁版嵁鐘舵�侊細{{ itemdetail.status }}</p> + <el-divider></el-divider> + <p>鏁版嵁鐗堟湰锛歿{ itemdetail.version }}</p> + </div> + </el-card> + </div> + <el-dialog + width="510px" + top="5vh" + :title="behavior" + :visible.sync="dialogFormVisible" + :before-close="handleClose" + > + <el-form :model="editForm" ref="editForm"> + <el-form-item + :label="$t('dataManage.domainManage.domName')" + :label-width="formLabelWidth" + > + <el-input v-model="editForm.domName" autocomplete="off"></el-input> + </el-form-item> + <el-form-item + :label="$t('dataManage.domainManage.domDesc')" + :label-width="formLabelWidth" + > + <el-input v-model="editForm.domDesc" autocomplete="off"></el-input> + </el-form-item> + <el-form-item + :label="$t('dataManage.domainManage.domCode')" + :label-width="formLabelWidth" + > + <el-input v-model="editForm.domCode" autocomplete="off"></el-input> + </el-form-item> + <el-form-item + :label="$t('dataManage.domainManage.codeDesc')" + :label-width="formLabelWidth" + > + <el-input v-model="editForm.codeDesc" autocomplete="off"></el-input> + </el-form-item> + <el-form-item + :label="$t('dataManage.domainManage.bsm')" + :label-width="formLabelWidth" + > + <el-input v-model="editForm.bsm" autocomplete="off"></el-input> + </el-form-item> + <el-form-item + :label="$t('dataManage.domainManage.level')" + :label-width="formLabelWidth" + > + <el-input v-model="editForm.level" autocomplete="off"></el-input> + </el-form-item> + <el-form-item + :label="$t('dataManage.domainManage.orderid')" + :label-width="formLabelWidth" + > + <el-input v-model="editForm.orderid" autocomplete="off"></el-input> + </el-form-item> + <el-form-item + :label="$t('dataManage.domainManage.bak')" + :label-width="formLabelWidth" + > + <el-input v-model="editForm.bak" autocomplete="off"></el-input> + </el-form-item> + </el-form> + <div v-if="behavior == '淇敼淇℃伅'" slot="footer" class="dialog-footer"> + <el-button @click="cancelEdit()">閲嶇疆</el-button> + <el-button + size="medium" + type="primary" + @click="sendEdit()" + v-loading.fullscreen.lock="fullscreenLoading" + >{{ $t("common.confirm") }}</el-button + > + </div> + <div v-else slot="footer" class="dialog-footer"> + <el-button @click="cancelAdd('editForm')">閲嶇疆</el-button> + <el-button + size="medium" + type="primary" + @click="sendAdd('editForm')" + v-loading.fullscreen.lock="fullscreenLoading" + >{{ $t("common.confirm") }}</el-button + > + </div> + </el-dialog> + </div> +</template> + +<script> +import { + getDomainTabs, + getSingleTab, + insertDomain, + // deleteDomain, + // updateDomain, +} from "../../api/api"; +import MyBread from "../../components/MyBread.vue"; +export default { + name: "domainManage", + components: { MyBread }, + data() { + return { + multipleSelection: [], + behavior: "", + formLabelWidth: "100px", + dialogFormVisible: false, + showinfoBox: false, + fullscreenLoading: false, + itemdetail: {}, + editForm: {}, + queryForm: {}, + insertform: {}, + initialForm: "", + + tableData: [], + count: 0, + rowFlag: null, + listData: { + ns: "", + tab: "", + pageIndex: 1, + pageSize: 10, + }, + btnStatus: { + select: false, + delete: false, + upload: false, + download: false, + insert: false, + update: false, + }, + domainData: [ + { + tabDesc: "鍩虹鏁版嵁", + children: [], + }, + { + tabDesc: "涓氬姟鏁版嵁", + children: [], + }, + ], + defaultProps: { + children: "children", + label: "tabDesc", + }, + }; + }, + created() { + this.getAllTabelData(); + this.showPermsBtn(); + }, + computed: { + pathId() { + return this.$store.state.cataNode.id; + }, + }, + methods: { + toggleTabs(data) { + this.fullscreenLoading = true; + this.listData.ns = data.ns; + this.listData.tab = data.tab; + getSingleTab(this.listData).then((res) => { + setTimeout(() => { + this.tableData = res.result; + this.count = res.count; + this.fullscreenLoading = false; + }, 500); + }); + }, + showPermsBtn() { + let currentPerms = this.$store.state.currentPerms; + let permsEntity = this.$store.state.permsEntity; + permsEntity + .filter((item) => item.perms == currentPerms) + .map((item) => (this.btnStatus[item.tag.substr(1)] = true)); + }, + getAllTabelData() { + getDomainTabs().then((res) => { + let bdres = res.result.filter((item) => item.ns == "bd"); + let bsres = res.result.filter((item) => item.ns == "bs"); + this.domainData[0].children = bdres; + this.domainData[1].children = bsres; + }); + }, + + queryInfo() { + alert("缂哄皯鏌ヨ鏉′欢鎺ュ彛"); + return; + // let searchData = { + // name: this.queryForm.name.trim(), + // pageIndex: this.pageIndex, + // pageSize: this.pageSize, + // }; + XXX(searchData).then((res) => { + if (res.code == 200) { + this.tableData = res.result; + this.count = res.count; + } else { + console.log("鏌ヨ鎺ュ彛鎶ラ敊"); + this.$notify.error({ + title: res.code, + message: res.result, + }); + } + }); + }, + resetInfo() { + this.queryForm = {}; + this.$store.state.verCateNode = {}; + this.$bus.$emit("clearTressLabel", true); + this.getAllTabelData(); + }, + showAddDialog() { + this.behavior = "鏂板鐢ㄦ埛"; + this.editForm = {}; + this.dialogFormVisible = true; + }, + cancelAdd(formName) { + this.editForm = {}; + this.$refs[formName].resetFields(); + }, + sendAdd() { + this.$refs[formName].validate((valid) => { + if (valid) { + return; + console.log(this.editForm); + this.fullscreenLoading = true; + insertDomain(this.editForm) + .then((res) => { + setTimeout(() => { + this.fullscreenLoading = false; + if (res.code == 200) { + this.getMetaData({ pageIndex: 1, pageSize: 10 }); + this.$message({ + message: "娣诲姞鎴愬姛", + type: "success", + }); + this.editForm = {}; + this.dialogFormVisible = false; + } + }, 500); + }) + .catch((res) => { + alert("淇敼澶辫触锛岃閲嶈瘯锛�"); + this.fullscreenLoading = false; + }); + } else { + console.log("error submit!!"); + return false; + } + }); + }, + handleClose(done) { + this.$confirm("鍏抽棴鍚庢棤娉曚繚瀛橈紝鏄惁鍏抽棴锛�") + .then((_) => { + this.editForm = {}; + done(); + }) + .catch((_) => {}); + }, + handleEdit(index, row) { + this.dialogFormVisible = true; + this.editForm = row; + this.behavior = "灞炴�т慨鏀�"; + }, + editFromDataClose() { + this.dialogFormVisible = false; + this.editForm = {}; + }, + editFromData() { + // this.editForm = {}; + console.log(this.editForm); + }, + handleDelete(index, row) {}, + handleSizeChange(val) { + this.listData.pageSize = val; + // console.log(this.listData); + getSingleTab(this.listData).then((res) => { + setTimeout(() => { + this.tableData = res.result; + this.count = res.count; + this.fullscreenLoading = false; + }, 500); + }); + }, + handleCurrentChange(val) { + this.listData.pageIndex = val; + getSingleTab(this.listData).then((res) => { + setTimeout(() => { + this.tableData = res.result; + this.count = res.count; + this.fullscreenLoading = false; + }, 500); + }); + }, + }, + watch: { + pathId: { + immediate: true, + handler(val) {}, + }, + }, +}; +</script> +<style lang="less" scoped> +//@import url(); 寮曞叆鍏叡css绫� +.authorityManagement_box { + background: rgb(240, 242, 245); + border-radius: 10px; + height: 100%; + padding: 10px; + box-sizing: border-box; + .el-input { + width: 300px !important; + } + .contentBox { + display: flex; + justify-content: space-between; + .leftTree { + width: 15%; + height: 90vh; + border-radius: 10px; + overflow: auto; + } + .right { + width: 84%; + height: 92vh; + // background-color: #bfa; + .inquire { + margin-bottom: 10px; + background: #fff; + border-radius: 5px; + border: 1px solid rgb(202, 201, 204); + .el-form-item { + margin: 5px; + } + } + .table_box { + width: 100%; + height: 90%; + margin: 0 auto; + overflow: auto; + background: #fff; + // .el-table { + // height: 100%; + // } + .el-table /deep/ th.el-table__cell > .cell { + padding: 15px !important; + } + // .el-table /deep/ .el-table__header-wrapper tr th { + // background-color: rgb(255, 255, 255) !important; + // color: rgb(0, 0, 0); + // } + // // 淇敼姣忚鏍峰紡锛� + // .el-table /deep/ .el-table__row { + // background-color: rgba(255, 255, 255) !important; + // color: rgb(0, 0, 0); + // } + // .el-table /deep/ .el-table__body tr.current-row > td { + // background-color: rgb(211, 211, 211) !important; + // } + // .el-table /deep/ .el-table__body tr:hover > td { + // background-color: rgb(211, 211, 211) !important; + // } + // // 淇敼琛ㄦ牸姣忚杈规鐨勬牱寮忥細 + // .el-table /deep/ td, + // .el-table /deep/ th.is-leaf { + // border-bottom: 1px solid #eee; + // border-right: 1px solid #eee; + // } + // .el-table /deep/ .el-table__cell { + // padding: 0; + // } + // 璁剧疆琛ㄦ牸姣忚鐨勯珮搴︼細 + // .el-table /deep/ .el-table__header tr, + // .el-table /deep/ .el-table__header th { + // height: 40px; + // } + // .el-table__body tr, + // .el-table__body td { + // height: 40px; + // padding: 0; + // } + // 璁剧疆琛ㄦ牸杈规棰滆壊锛� + + .el-table--border::after, + .el-table--group::after { + width: 0; + } + .el-table::before { + height: 0; + } + // a { + // color: #000; + // } + } + } + } + + .infoBox { + width: 500px; + border: 1px solid #eee; + position: absolute; + z-index: 100; + top: 15%; + right: 25%; + background-color: #fff; + .el-card { + background-color: transparent; + span { + font-size: 16px; + font-weight: 600; + } + } + .contentBox { + margin: 0 aotu 10px; + p { + // background-color: #bfa; + // margin-bottom: 10px; + font-size: 14px; + } + } + } + /deep/ .el-dialog { + width: 620px !important; + margin-top: 10vh !important; + } + + /deep/.el-dialog .el-input__inner { + width: 300px; + } + /deep/ .el-dialog__body { + padding: 0px 30px; + } + /deep/ .el-dialog__footer { + padding-top: 0 !important; + width: 600px; + display: flex; + margin: 0 auto; + justify-content: center; + } +} +</style> diff --git a/src/views/datamanage/metadataManage.vue b/src/views/datamanage/metadataManage.vue index 2b2f1fb..1caf54c 100644 --- a/src/views/datamanage/metadataManage.vue +++ b/src/views/datamanage/metadataManage.vue @@ -10,7 +10,10 @@ <div class="inquire"> <el-form ref="queryForm" :model="queryForm" :inline="true"> <el-form-item label="鍏抽敭瀛�" prop="name"> - <el-input v-model="queryForm.name" placeholder="璇疯緭鍏�" /> + <el-input + v-model="queryForm.name" + :placeholder="$t('common.pleaseInput')" + /> </el-form-item> <el-form-item> <el-button diff --git a/src/views/maintenance/menuSettings.vue b/src/views/maintenance/menuSettings.vue index f34517f..75cbe2f 100644 --- a/src/views/maintenance/menuSettings.vue +++ b/src/views/maintenance/menuSettings.vue @@ -183,7 +183,7 @@ <script> import MyBread from '../../components/MyBread.vue'; import { - queryMenuTree, + queryMenuAll, updateMenuTree, updateMenuTrees, queryMaxId, @@ -296,7 +296,7 @@ // queryMaxId().then((res) => { // this.id = res.data; // }); - queryMenuTree().then((res) => { + queryMenuAll().then((res) => { if (res.code == 200) { this.menuList = this.treeData(res.result); this.oriData = res.result; diff --git a/src/views/userManage/userInfoManage.vue b/src/views/userManage/userInfoManage.vue index 361dd6b..16508af 100644 --- a/src/views/userManage/userInfoManage.vue +++ b/src/views/userManage/userInfoManage.vue @@ -1013,7 +1013,6 @@ this.queryInfo(); }, showPermsMenu(res) { - console.log(res.tag); switch (res.tag) { case "/delete": this.menuStatus.delete = true; -- Gitblit v1.9.3