From cbc4fc2e4dce714c5d5723746368266915868007 Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期二, 28 二月 2023 15:44:06 +0800 Subject: [PATCH] 项目管理界面优化,字典管理页面左侧树界面优化,数据上传版本显示错误优化,综合展示二三维切换效果优化 --- src/views/maintenance/opexController.vue | 2 src/assets/lang/zh.js | 3 src/components/MapDiv.vue | 30 +++ src/views/datamanage/dictionaryManage.vue | 97 ++++++++++- src/store/index.js | 3 src/views/datamanage/projectManage.vue | 36 +++ src/views/datamanage/versionManage.vue | 293 +++++++++++++++++++++--------------- src/assets/lang/en.js | 3 src/components/navMenu.vue | 2 src/views/datamanage/dataUpdata.vue | 10 10 files changed, 330 insertions(+), 149 deletions(-) diff --git a/src/assets/lang/en.js b/src/assets/lang/en.js index f2fcf60..2537614 100644 --- a/src/assets/lang/en.js +++ b/src/assets/lang/en.js @@ -1,5 +1,6 @@ const en = { common: { + increase: 'increase', bak: 'Bak', domCode: 'DomCode', confirm: 'confirm', @@ -81,6 +82,8 @@ remarks: 'remarks', newProj: 'New project', editProj: 'Edit project', + lable1: 'Add project information', + label2: 'Modify project information' }, dataUpObj: { diff --git a/src/assets/lang/zh.js b/src/assets/lang/zh.js index 68b82e3..2a26512 100644 --- a/src/assets/lang/zh.js +++ b/src/assets/lang/zh.js @@ -1,5 +1,6 @@ const zh = { common: { + increase: '娣诲姞', bak: '澶囨敞', domCode: '缂栫爜', confirm: '纭', @@ -83,6 +84,8 @@ remarks: '澶囨敞', newProj: '鏂板椤圭洰', editProj: '淇敼椤圭洰', + lable1: '娣诲姞椤圭洰淇℃伅', + label2: '淇敼椤圭洰淇℃伅' }, dataUpObj: { catalogue: '鐩綍', diff --git a/src/components/MapDiv.vue b/src/components/MapDiv.vue index 0454d57..d28f4f8 100644 --- a/src/components/MapDiv.vue +++ b/src/components/MapDiv.vue @@ -56,6 +56,7 @@ methods: { changeMap(res) { this.isSplitFlag = res + this.getMapViewCenter(this.isSplitFlag); switch (res) { case 1: this.isShowCeMap = true @@ -76,8 +77,11 @@ this.isShowDs = false this.isShowOlMap = false this.isOlMapFlag = true + var val = this.$store.state.Map3; setTimeout(function () { window.map.updateSize() + window.map.getView().setCenter([val[0], val[1]]) + window.map.getView().setZoom(val[2]) }, 300) break case 3: @@ -86,8 +90,32 @@ this.isShowOlMap = false this.isOlMapFlag = false this.isShowCeMap = false + var val = this.$store.state.Map3; + window.Viewer.camera.setView({ + destination: Cesium.Cartesian3.fromDegrees(val[0], val[1], val[2]), + }) + break } + }, + getMapViewCenter(res) { + switch (res) { + case 2: + var position = window.Viewer.camera.position + var ellipsoid = window.Viewer.scene.globe.ellipsoid + var cartographic = ellipsoid.cartesianToCartographic(position) + var lat = Cesium.Math.toDegrees(cartographic.latitude) + var lng = Cesium.Math.toDegrees(cartographic.longitude) + var level = this.getLevel(cartographic.height) + this.$store.state.Map3 = [lng, lat, level] + break; + case 3: + var position = window.map.getView().getCenter() + var level = this.getHeight(parseInt(window.map.getView().getZoom())) + this.$store.state.Map3 = [position[0], position[1], level] + break; + } + }, showSplitMap() { var that = this @@ -109,6 +137,7 @@ // var pos = transform(position, 'EPSG:3857', 'EPSG:4326'); var pos = position var level = that.getHeight(parseInt(window.map.getView().getZoom())) + window.Viewer.camera.setView({ destination: Cesium.Cartesian3.fromDegrees(pos[0], pos[1], level), }) @@ -171,6 +200,7 @@ var lat = Cesium.Math.toDegrees(cartographic.latitude) var lng = Cesium.Math.toDegrees(cartographic.longitude) var level = this.getLevel(cartographic.height) + var value // window.map // .getView() diff --git a/src/components/navMenu.vue b/src/components/navMenu.vue index 2d9d7aa..ccd3bc1 100644 --- a/src/components/navMenu.vue +++ b/src/components/navMenu.vue @@ -266,7 +266,7 @@ setLiClick(res, index) { sessionStorage.removeItem('hanleselectmochaitmo') sessionStorage.removeItem('hanleselectindex') - debugger + // this.signInsertOpLog(this.listMenu[index].cnName, res.cnName) setTimeout(() => { diff --git a/src/store/index.js b/src/store/index.js index c700f62..2440bed 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -57,7 +57,8 @@ isNaviget: false, treeData: null, checkedKeys: [], - queryInfo:[], + queryInfo: [], + Map3: [] }, mutations: { //鑾峰彇鏉冮檺鍚堥泦 diff --git a/src/views/datamanage/dataUpdata.vue b/src/views/datamanage/dataUpdata.vue index 30b80c3..51dc368 100644 --- a/src/views/datamanage/dataUpdata.vue +++ b/src/views/datamanage/dataUpdata.vue @@ -1607,8 +1607,7 @@ }, mounted() { - //鑾峰彇鐩綍 - this.getSelectdirTab(); + //鑾峰彇鍧愭爣绯� this.setCoordinateSystem(); //鑾峰彇椤圭洰鍚嶇О @@ -1619,6 +1618,8 @@ this.getPerms(); window.addEventListener("resize", this.onResize); this.calHeight(); + //鑾峰彇鐩綍 + this.getSelectdirTab(); }, beforeDestroy() { this.timer && clearTimeout(this.timer); @@ -2843,6 +2844,7 @@ const res = await dataUploadSelectVerByDirid({ dirid: this.formInline.dirid, }); + if (res.code != 200) { this.$message.error("鐗堟湰鍒楄〃鑾峰彇澶辫触"); return; @@ -2857,9 +2859,11 @@ this.$message.error("鐩綍鍒楄〃鑾峰彇澶辫触"); return; } + debugger this.catalogOption = this.treeData(res.result); this.formInline.dirName = this.catalogOption[0].name; - this.getStartDirChecked(this.catalogOption); + this.formInline.dirid = this.catalogOption[0].id; + // this.getStartDirChecked(this.catalogOption); this.getselectVerByDirid(); }, diff --git a/src/views/datamanage/dictionaryManage.vue b/src/views/datamanage/dictionaryManage.vue index 89890a5..9b1e90b 100644 --- a/src/views/datamanage/dictionaryManage.vue +++ b/src/views/datamanage/dictionaryManage.vue @@ -11,7 +11,23 @@ class="dictionary_leftTree subpage_Div" style="border: 1px solid #dcdfe6;" > - <ul> + <el-input + size="small" + v-model="filterInput" + style="width: 200px" + :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')" + suffix-icon="el-icon-search" + ></el-input> + + <el-tree + :data="domainData" + :props="defaultProps" + :default-expand-all="true" + @node-click="getTableDesc" + :filter-node-method="filterNode" + ref="tree" + ></el-tree> + <!-- <ul> <li @click="getTableDesc(item)" v-for="(item, i) in optionCount" @@ -20,7 +36,7 @@ > {{ item.tabDesc }} </li> - </ul> + </ul> --> </div> <div class="right subpage_Div"> @@ -38,9 +54,17 @@ v-model="formInline.tab" :placeholder="$t('shuJuGuanLi.lable3')" style="width: 200px" - ><i slot="suffix" class="el-icon-search" @click="getSelectDictTab" style="padding-right: 8px"></i></el-input> + ><i + slot="suffix" + class="el-icon-search" + @click="getSelectDictTab" + style="padding-right: 8px" + ></i></el-input> </el-form-item> - <el-form-item style="float: right" size="small"> + <el-form-item + style="float: right" + size="small" + > <el-button v-if="btnStatus.insert" icon="el-icon-edit" @@ -55,7 +79,7 @@ @click="DelFormData" type="danger" >{{ $t("common.delete") }}</el-button> -<!-- <el-button + <!-- <el-button icon="el-icon-search" size="small" @click="getSelectDictTab" @@ -553,6 +577,7 @@ components: { MyBread }, data() { return { + filterInput: "", activeName: "", formInline: [], listData: { @@ -581,13 +606,42 @@ insert: false, update: false, }, + domainData: [ + { + val: "鍩虹鏁版嵁", + children: [], + }, + { + val: "涓氬姟鏁版嵁", + children: [], + }, + { + val: "鍏冩暟鎹�", + children: [], + }, + ], + defaultProps: { + children: "children", + label: "val", + }, }; + }, + watch: { + + filterInput(val) { + this.$refs.tree.filter(val); + }, }, created() { this.getSelectDictTab(); this.showPermsBtn(); }, methods: { + filterNode(value, data) { + if (!value) return true; + + return data.val.indexOf(value) !== -1; + }, //鏂板 async insertFromData() { const data = await insertDict(this.insertform); @@ -732,14 +786,31 @@ if (data.code != 200) { this.$message.error("涓嬫媺璋冪敤澶辫触"); } - - this.optionCount = data.result; - this.insertform.tab = data.result[0].tab; - this.insertform.tabDesc = data.result[0].tabDesc; - this.insertform.ns = data.result[0].ns; - this.listData.tab = data.result[0].tab; - this.listData.ns = data.result[0].ns; - this.activeName = data.result[0].tab; + let bdres = data.result.filter((item) => item.ns == "bd"); + let bsres = data.result.filter((item) => item.ns == "bs"); + let mdres = data.result.filter((item) => item.ns == "md"); + for (var i in bdres) { + // bdres[i].val = bdres[i].tabDesc + '(' + bdres[i].tab + ')'; + bdres[i].val = bdres[i].tabDesc; + } + for (var i in bsres) { + // bsres[i].val = bsres[i].tabDesc + '(' + bsres[i].tab + ')'; + bsres[i].val = bsres[i].tabDesc; + } + for (var i in mdres) { + // bsres[i].val = bsres[i].tabDesc + '(' + bsres[i].tab + ')'; + mdres[i].val = mdres[i].tabDesc; + } + this.domainData[0].children = bdres; + this.domainData[1].children = bsres; + this.domainData[2].children = mdres; + var val = this.domainData[0].children; + this.insertform.tab = val[0].tab; + this.insertform.tabDesc = val[0].tabDesc; + this.insertform.ns = val[0].ns; + this.listData.tab = val[0].tab; + this.listData.ns = val[0].ns; + this.activeName = val[0].tab; this.startQueryNameData(); }, }, diff --git a/src/views/datamanage/projectManage.vue b/src/views/datamanage/projectManage.vue index e75a51e..0cf98a7 100644 --- a/src/views/datamanage/projectManage.vue +++ b/src/views/datamanage/projectManage.vue @@ -14,7 +14,16 @@ :inline="true" class="demo-form-inline" > - <el-form-item style="padding-bottom: 14px"> + <el-form-item> + <el-input + size="small" + v-model="filterInput" + style="width: 200px" + :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')" + suffix-icon="el-icon-search" + ></el-input> + </el-form-item> + <el-form-item> <el-button v-if="btnStatus.insert" icon="el-icon-plus" @@ -22,8 +31,9 @@ :disabled="count1 != 0 ? true : false" type="success" size="small" - >{{ $t("common.append") }}</el-button> + >{{ $t("common.increase") }}</el-button> </el-form-item> + </el-form> <el-tree ref="tree" @@ -34,6 +44,7 @@ :default-expand-all="false" draggable @node-click="handleNodeClick" + :filter-node-method="filterNode" > </el-tree> </div> @@ -136,8 +147,8 @@ top="2vh" :title=" behavior == '鏂板椤圭洰' - ? `${$t('dataManage.projectObj.newProj')}` - : `${$t('dataManage.projectObj.editProj')}` + ? `${$t('dataManage.projectObj.lable1')}` + : `${$t('dataManage.projectObj.lable1')}` " :visible.sync="outerVisible" :before-close="outerClose" @@ -290,6 +301,7 @@ components: { MyBread, ProjectOl }, data() { return { + filterInput: "", behavior: null, outerVisible: false, innerVisible: false, @@ -328,6 +340,11 @@ computed: {}, methods: { + filterNode(value, data) { + if (!value) return true; + + return data.name.indexOf(value) !== -1; + }, showPermsBtn() { let currentPerms = this.$store.state.currentPerms; let permsEntity = this.$store.state.permsEntity; @@ -439,7 +456,7 @@ //鏂板椤圭洰 insertProject() { if (this.dirId == null) { - this.$message.error("璇烽�夋嫨闇�瑕佹柊澧炵殑鐩綍"); + this.$message.error("璇烽�夋嫨闇�瑕佹坊鍔犵殑椤圭洰"); return; } this.behavior = "鏂板椤圭洰"; @@ -492,7 +509,12 @@ }); }, }, - watch: {}, + watch: { + + filterInput(val) { + this.$refs.tree.filter(val); + }, + }, }; </script> <style lang="less" scoped> @@ -532,7 +554,7 @@ border-radius: 5px; //border: 1px solid #dcdfe6; //margin-bottom: 20px; - text-align: right; + // text-align: right; .el-form-item { margin: 5px; } diff --git a/src/views/datamanage/versionManage.vue b/src/views/datamanage/versionManage.vue index ce1066c..bf121ce 100644 --- a/src/views/datamanage/versionManage.vue +++ b/src/views/datamanage/versionManage.vue @@ -1,14 +1,19 @@ <template> <div class="verSionBox"> - <My-bread - :list="[ + <My-bread :list="[ `${$t('dataManage.dataManage')}`, `${$t('dataManage.versionManage')}`, - ]" - ></My-bread> + ]"></My-bread> <el-divider /> - <div class="inquire subpage_Div" ref="container"> - <el-form ref="ruleForm" :model="ruleForm" :inline="true"> + <div + class="inquire subpage_Div" + ref="container" + > + <el-form + ref="ruleForm" + :model="ruleForm" + :inline="true" + > <div class="flex_box"> <div style="margin-right: auto"> <el-form-item size="small"> @@ -50,7 +55,12 @@ <el-input v-model="ruleForm.name" :placeholder="$t('shuJuGuanLi.lable5')" - ><i slot="suffix" class="el-icon-search" @click="onSubmit('ruleForm')" style="padding-right: 8px"></i></el-input> + ><i + slot="suffix" + class="el-icon-search" + @click="onSubmit('ruleForm')" + style="padding-right: 8px" + ></i></el-input> </el-form-item> </div> <div> @@ -61,9 +71,8 @@ @click="(InsertFormdialog = true), getSelectdirTab()" icon="el-icon-plus" size="small" - >{{ $t("common.append") }}</el-button - > -<!-- <el-button + >{{ $t("common.append") }}</el-button> + <!-- <el-button @click="onSubmit('ruleForm')" icon="el-icon-search" size="small" @@ -75,8 +84,7 @@ @click="resetForm('ruleForm')" icon="el-icon-delete" size="small" - >{{ $t("common.empty") }}</el-button - > + >{{ $t("common.empty") }}</el-button> </el-form-item> </div> </div> @@ -84,7 +92,10 @@ </div> <div class="dividing-line"></div> - <div class="table_box" :style="styleVar"> + <div + class="table_box" + :style="styleVar" + > <el-table :data="tableData" style="width: 100%" @@ -96,7 +107,11 @@ :label="$t('dataManage.vmobj.index')" width="70px" /> - <el-table-column align="center" prop="id" v-if="false" /> + <el-table-column + align="center" + prop="id" + v-if="false" + /> <el-table-column align="center" prop="name" @@ -134,7 +149,10 @@ :label="$t('dataManage.vmobj.updateontime')" :formatter="formatTime" /> - <el-table-column min-width="150" :label="$t('common.operate')"> + <el-table-column + min-width="150" + :label="$t('common.operate')" + > <template slot-scope="scope"> <el-button v-if="btnStatus.update" @@ -145,20 +163,21 @@ type="warning" size="small" plain - >{{ $t("common.update") }}</el-button - > + >{{ $t("common.update") }}</el-button> <el-button v-if="btnStatus.delete" @click="handleDelete(scope.$index, scope.row)" type="danger" size="small" plain - >{{ $t("common.delete") }}</el-button - > + >{{ $t("common.delete") }}</el-button> </template> </el-table-column> </el-table> - <div class="pagination_box" style="margin-top: 15px"> + <div + class="pagination_box" + style="margin-top: 15px" + > <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" @@ -176,67 +195,81 @@ :title="$t('dataManage.vmobj.editVersion')" :visible.sync="dialogFormVisible" > - <div style="height: 500px; overflow: auto"> - <el-form :model="upform" label-position="top"> - <el-form-item - :label="$t('dataManage.vmobj.name')" - :label-width="formLabelWidth" + <div style="height: 500px; overflow: auto"> + <el-form + :model="upform" + label-position="top" > - <el-input - v-model="upform.name" - autocomplete="off" - style="width:85%" - ></el-input> - </el-form-item> - <el-form-item - :label="$t('dataManage.vmobj.catalogue')" - :label-width="formLabelWidth" - > - <el-select - :popper-append-to-body="false" - v-model="upform.dirid" - :placeholder="$t('shuJuGuanLi.pselect.select')" - style="width:85%" + <el-form-item + :label="$t('dataManage.vmobj.name')" + :label-width="formLabelWidth" > - <el-option - :value="upform.dirid" - :label="upform.depName" - style="height: auto" + <el-input + v-model="upform.name" + autocomplete="off" + style="width:85%" + ></el-input> + </el-form-item> + <el-form-item + :label="$t('dataManage.vmobj.catalogue')" + :label-width="formLabelWidth" + > + <el-select + :popper-append-to-body="false" + v-model="upform.dirid" + :placeholder="$t('shuJuGuanLi.pselect.select')" + style="width:85%" > - <el-tree - ref="tree" - :data="editcatalogOption" - node-key="id" - :props="props" - @node-click="handlupCatalogChange" - /> - </el-option> - </el-select> - <!-- <el-cascader + <el-option + :value="upform.dirid" + :label="upform.depName" + style="height: auto" + > + <el-tree + ref="tree" + :data="editcatalogOption" + node-key="id" + :props="props" + @node-click="handlupCatalogChange" + /> + </el-option> + </el-select> + <!-- <el-cascader style="width: 300px" v-model="upform.dirid" :options="editcatalogOption" @change="upCatalogChange" :props="cascader" ></el-cascader> --> - </el-form-item> - <el-form-item - :label="$t('dataManage.vmobj.describe')" - :label-width="formLabelWidth" - > - <el-input - v-model="upform.descr" - autocomplete="off" - style="width:85%" - ></el-input> - </el-form-item> - </el-form> - </div> - <div slot="footer" type="info" class="dialog-footer"> - <el-button size="small" @click="editFromDataClose">{{ + </el-form-item> + <el-form-item + :label="$t('dataManage.vmobj.describe')" + :label-width="formLabelWidth" + > + <el-input + v-model="upform.descr" + autocomplete="off" + style="width:85%" + ></el-input> + </el-form-item> + </el-form> + </div> + <div + slot="footer" + type="info" + class="dialog-footer" + > + <el-button + size="small" + @click="editFromDataClose" + >{{ $t("common.close") }}</el-button> - <el-button size="small" @click="editFromData" class="primary">{{ + <el-button + size="small" + @click="editFromData" + class="primary" + >{{ $t("common.confirm") }}</el-button> </div> @@ -246,68 +279,82 @@ :title="$t('dataManage.vmobj.addVersion')" :visible.sync="InsertFormdialog" > - <div style="height: 500px; overflow: auto"> - <el-form :model="insertform" label-position="top"> - <el-form-item - :label="$t('dataManage.vmobj.name')" - :label-width="formLabelWidth" + <div style="height: 500px; overflow: auto"> + <el-form + :model="insertform" + label-position="top" > - <el-input - style="width:85%" - v-model="insertform.name" - autocomplete="off" - ></el-input> - </el-form-item> - <el-form-item - :label="$t('dataManage.vmobj.catalogue')" - :label-width="formLabelWidth" - > - <el-select - :popper-append-to-body="false" - v-model="insertform.path" - placeholder="璇烽�夋嫨" - style="width:85%" + <el-form-item + :label="$t('dataManage.vmobj.name')" + :label-width="formLabelWidth" > - <el-option - :value="insertform.path" - :label="insertform.dirName" - style="height: auto" + <el-input + style="width:85%" + v-model="insertform.name" + autocomplete="off" + ></el-input> + </el-form-item> + <el-form-item + :label="$t('dataManage.vmobj.catalogue')" + :label-width="formLabelWidth" + > + <el-select + :popper-append-to-body="false" + v-model="insertform.path" + placeholder="璇烽�夋嫨" + style="width:85%" > - <el-tree - ref="tree" - :data="editcatalogOption" - node-key="id" - :props="props" - @node-click="catalogChangeAdd" - /> - </el-option> - </el-select> - <!-- <el-cascader + <el-option + :value="insertform.path" + :label="insertform.dirName" + style="height: auto" + > + <el-tree + ref="tree" + :data="editcatalogOption" + node-key="id" + :props="props" + @node-click="catalogChangeAdd" + /> + </el-option> + </el-select> + <!-- <el-cascader style="width: 300px" v-model="insertform.path" :options="catalogOption" @change="catalogChange" :props="cascader" ></el-cascader> --> - </el-form-item> + </el-form-item> - <el-form-item - :label="$t('dataManage.vmobj.describe')" - :label-width="formLabelWidth" - > - <el-input - style="width:85%" - v-model="insertform.descr" - autocomplete="off" - ></el-input> - </el-form-item> - </el-form> - </div> - <div slot="footer" class="dialog-footer"> - <el-button @click="insertFromDataClose" type="info" size="small">{{ + <el-form-item + :label="$t('dataManage.vmobj.describe')" + :label-width="formLabelWidth" + > + <el-input + style="width:85%" + v-model="insertform.descr" + autocomplete="off" + ></el-input> + </el-form-item> + </el-form> + </div> + <div + slot="footer" + class="dialog-footer" + > + <el-button + @click="insertFromDataClose" + type="info" + size="small" + >{{ $t("common.close") }}</el-button> - <el-button @click="insertFromData" class="primary" size="small">{{ + <el-button + @click="insertFromData" + class="primary" + size="small" + >{{ $t("common.confirm") }}</el-button> </div> @@ -523,7 +570,7 @@ return; } this.companyOption = this.treeData(res.result); - this.ruleForm.dirid = this.companyOption[0].id; + // this.ruleForm.dirid = this.companyOption[0].id; }, handleChange(data, node, nodeData) { this.$set(this.ruleForm, "dirid", data.id); @@ -581,7 +628,7 @@ }, resetForm() { this.ruleForm = {}; - this.ruleForm.dirid = this.companyOption[0].id; + // this.ruleForm.dirid = this.companyOption[0].id; this.$store.state.verCateNode = {}; this.$bus.$emit("clearTressLabel", true); this.getRoleTabelData(); @@ -729,7 +776,7 @@ watch: { pathId: { immediate: true, - handler(val) {}, + handler(val) { }, }, }, }; diff --git a/src/views/maintenance/opexController.vue b/src/views/maintenance/opexController.vue index a2333cb..0fcd167 100644 --- a/src/views/maintenance/opexController.vue +++ b/src/views/maintenance/opexController.vue @@ -217,7 +217,7 @@ this.menuList = this.treeData(menuList); this.getCookies(); const hanleselectmochaitmo = sessionStorage.getItem('hanleselectmochaitmo') - debugger + if (hanleselectmochaitmo) { this.$nextTick(function () { this.handleselecttwo(JSON.parse(hanleselectmochaitmo).url, JSON.parse(hanleselectmochaitmo)) -- Gitblit v1.9.3