From 6c086fae275e7f3579654e374cadb85e7e054949 Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期二, 07 二月 2023 19:16:54 +0800 Subject: [PATCH] 目录管理添加批量添加 --- src/store/index.js | 1 src/views/datamanage/styleDirTree.vue | 32 -- src/assets/css/configure.css | 42 ++ src/assets/css/content.css | 4 src/views/AuthorizationManagement/roleMenuAuthorization.vue | 5 src/views/maintenance/mochaitmo.vue | 45 +++ src/views/datamanage/dataUpdata.vue | 43 +- src/views/datamanage/SpatialData.vue | 19 src/assets/css/config.css | 196 +++++++++++++ src/main.js | 1 package.json | 10 src/views/datamanage/catalogueManage.vue | 252 +++++++++++++-- src/views/maintenance/menuSettings.vue | 6 src/components/navMenu.vue | 39 + src/views/userManage/resourceManage.vue | 180 +++++------ src/App.vue | 24 16 files changed, 666 insertions(+), 233 deletions(-) diff --git a/package.json b/package.json index 537873f..45359f6 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@turf/turf": "^6.5.0", - "@vue/cli-shared-utils": "^5.0.8", + "aws-sdk": "^2.963.0", "axios": "^0.21.1", "cesium": "^1.84.0", "core-js": "^3.6.5", @@ -20,17 +20,23 @@ "element-theme-chalk": "^2.15.10", "element-ui": "^2.14.1", "esri-loader": "^2.14.0", + "install": "^0.13.0", "jquery": "^3.6.0", "moment": "^2.29.4", "node-sass": "^7.0.3", + "npm": "^8.15.1", "object-assign": "^4.1.1", "ol": "^6.15.1", + "sql.js": "^1.5.0", + "sqlite3": "^5.0.2", "terraformer-wkt-parser": "^1.2.1", "theme-vue": "0.0.8", + "vant": "^2.12.25", "vue": "^2.6.11", "vue-i18n": "^8.27.2", "vue-router": "^3.2.0", - "vuex": "^3.4.0" + "vuex": "^3.4.0", + "xlsx": "^0.18.5" }, "devDependencies": { "@vue/cli-plugin-babel": "~4.5.0", diff --git a/src/App.vue b/src/App.vue index 8f2dea6..f9b33bf 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,5 +1,8 @@ <template> - <div id="app"> + <div + id="app" + + > <router-view /> </div> </template> @@ -14,12 +17,12 @@ return {}; }, created() { - + }, - beforeDestroy() {}, + beforeDestroy() { }, }; </script> -<style lang="less"> +<style lang="less" scoped> // #app { // font-family: Avenir, Helvetica, Arial, sans-serif; // -webkit-font-smoothing: antialiased; @@ -34,14 +37,9 @@ scrollbar-face-color: #dfebff; /*婊氬姩鏉℃暣浣撻鑹�*/ scrollbar-track-color: #536c97; + } -// ::-webkit-scrollbar-thumb { -// //婊戝潡閮ㄥ垎 -// background-color: #dfebff; -// } -// ::-webkit-scrollbar-track { -// //杞ㄩ亾閮ㄥ垎 -// box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); -// background: #536c97; -// } + + + </style> diff --git a/src/assets/css/config.css b/src/assets/css/config.css new file mode 100644 index 0000000..c8338f3 --- /dev/null +++ b/src/assets/css/config.css @@ -0,0 +1,196 @@ +.Black_theme { + color: white; +} + +.Black_theme .box_div { + background: #303030; +} + +.Black_theme .el-menu-item { + color: white; +} + +.Black_theme .el-menu-item:hover { + background: transparent !important; +} + +.Black_theme .el-submenu__title { + color: white; +} + +.Black_theme .el-submenu :hover { + background: transparent !important; +} + +.Black_theme .el-menu-item.is-active { + color: #409eff; +} + +.Black_theme .el-tree { + color: #FFF; + background: transparent !important; +} + +.Black_theme .el-tree .el-tree-node:focus>.el-tree-node__content { + background-color: transparent; +} + +.Black_theme .el-tree .el-tree-node__content:hover { + background: transparents !important; +} + +.Black_theme .el-tree .el-tree-node__content { + background: transparents !important; +} + +.Black_theme .el-form-item__label { + color: #FFF !important; +} + +.Black_theme .el-tree-node__content:hover { + background: transparent !important; +} + +.Black_theme .el-tree-node__content:hover { + background: transparent !important; +} + +.Black_theme .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content { + background: transparent !important; +} + +.Black_theme li:hover { + background: transparent !important; +} + +.Black_theme .el-input__inner { + background-color: transparent !important; + border: 1px solid; + color: white; +} + +.Black_theme .el-pagination__total { + color: white; +} + +.Black_theme .el-pagination__jump { + color: white; +} + +.Black_theme .el-pager li.active { + color: #409eff; +} + +.Black_theme .el-pager li { + color: white; + background: transparent; +} + +.Black_theme .el-pager li { + color: white; +} + +.Black_theme .btn-prev { + background: transparent !important; +} + +.Black_theme .btn-next { + background: transparent !important; +} + +.Black_theme .btn-next i { + color: white; +} + +.Black_theme .btn-prev i { + color: white; +} + +.Black_theme .el-dialog { + background: #303030; + +} + +.Black_theme .el-dialog { + background: #303030; + +} + +.Black_theme .el-dialog__title { + color: #FFF; +} + +.Black_theme .el-table { + background: transparent; +} + +.Black_theme .el-table { + background: transparent; +} + +.Black_theme .el-table td { + background-color: #303030; + color: white; +} + +.Black_theme .el-table th { + background-color: #303030; + color: white; +} + +.Black_theme .el-table--enable-row-transition .el-table__body td.el-table__cell { + background-color: #303030; +} + + +.Black_theme .el-table tr:hover>td { + background-color: rgba(255, 255, 255, 0.1) !important; +} + +.Black_theme .el-table tbody tr:hover { + background-color: rgba(255, 255, 255, 0.1) !important; + +} + +.Black_theme .el-select-dropdown { + background: #303030 !important; + color: white; + z-index: 99999999 !important; + position: absolute; +} + +.Black_theme .el-select-dropdown__item { + + color: white; +} + +.Black_theme .el-select-dropdown__item.selected { + + color: #409eff; +} + +.Black_theme .el-select-dropdown__item.hover { + background: transparent; +} + + +.Black_theme .el-textarea__inner { + background: #303030 !important; + border: 1px solid white; + color: white; +} + +.Black_theme .el-cascader__panel { + background: #303030 !important; +} +.Black_theme .el-icon-close { + color: #FFF !important; +} + +.Black_theme .el-icon-plus { + color: #FFF !important; +} +.Black_theme .el-icon-upload2 { + color: #FFF !important; +} + diff --git a/src/assets/css/configure.css b/src/assets/css/configure.css index 8a8bb3e..e8f2264 100644 --- a/src/assets/css/configure.css +++ b/src/assets/css/configure.css @@ -1,21 +1,25 @@ /* 婊氬姩鏉℃牱寮� */ - -::-webkit-scrollbar{ - width:8px; - height:8px; + +::-webkit-scrollbar { + width: 8px; + height: 8px; background-color: #409eff; } -::-webkit-scrollbar-track{ + +::-webkit-scrollbar-track { background: #eee; } -::-webkit-scrollbar-thumb{ + +::-webkit-scrollbar-thumb { background: #409eff; - border-radius:100px; + border-radius: 100px; } -::-webkit-scrollbar-thumb:hover{ + +::-webkit-scrollbar-thumb:hover { background: #409eff; } -::-webkit-scrollbar-corner{ + +::-webkit-scrollbar-corner { background: #409eff; } @@ -23,7 +27,7 @@ .box_div { background: #F4F8FF; } - + .subpage_Div { border: 1px solid #dcdfe6; } @@ -33,7 +37,10 @@ } .el-tree { - background: transparent; + background: transparent !important; +} +.el-tree { + background: transparent !important; } .el-tree-node.is-current>.el-tree-node__content { @@ -44,4 +51,17 @@ .el-tree-node__content :hover { background-color: transparent !important; +} + +.el-pager li { + + background: transparent; +} + +.btn-prev { + background: transparent !important; +} + +.btn-next { + background: transparent !important; } \ No newline at end of file diff --git a/src/assets/css/content.css b/src/assets/css/content.css index 4883579..e3e18d9 100644 --- a/src/assets/css/content.css +++ b/src/assets/css/content.css @@ -183,9 +183,7 @@ .infoBox .contentBox { margin: 0 aotu 10px; overflow: auto; - height: 500px; - background-color: white; - + height: 90%; } .infoBox p { diff --git a/src/components/navMenu.vue b/src/components/navMenu.vue index 1c83a75..347341b 100644 --- a/src/components/navMenu.vue +++ b/src/components/navMenu.vue @@ -51,17 +51,22 @@ </div> </div> - <div - @click="switchLang" - class="userLanguage" - > + <div class="userLanguage"> <div class="userImage user2"></div> <div class="TextLanguage"> <el-link + @click="switchLang" :underline="false" class="elLink" >{{$t("common.language")}}</el-link> </div> + <!-- <div class="TextLanguage"> + <el-link + @click="themeChange" + :underline="false" + class="elLink" + > 涓婚鍒囨崲</el-link> + </div> --> </div> </div> @@ -78,6 +83,7 @@ import colorChange from '../views/maintenance/colorChange.vue'; import { containsCoordinate } from 'ol/extent'; import Vue from 'vue'; +import $ from 'jquery' export default { name: 'navMenu', //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢� @@ -87,6 +93,7 @@ }, data() { return { + themeColor: true, oriData: [], //鍘熷鏍戞暟鎹� dirData: [], //el鏍戞暟鎹� @@ -109,7 +116,8 @@ changeSelectdiv: false, listMenu: [], showFlag: null, - language: true + language: true, + }; }, created() { }, @@ -118,6 +126,16 @@ }, computed: {}, methods: { + themeChange() { + this.$store.state.themeflag = !this.$store.state.themeflag; + if (this.$store.state.themeflag == true) { + $("#app").addClass("Black_theme"); + + } else { + $("#app").removeClass("Black_theme"); + } + + }, async getCookies() { var boolean = this.getTimeCookies(); if (boolean != true) { @@ -128,11 +146,11 @@ const data = await getPerms(); this.$store.state.permsEntity = data.result; } - + this.$store.state.uname = JSON.parse( localStorage.getItem('LFToken') ).uname; - this.$store.state.unid = JSON.parse( + this.$store.state.unid = JSON.parse( localStorage.getItem('LFToken') ).userid; this.$router.push('/'); @@ -238,7 +256,7 @@ res[i].show = false; //鎺у埗鏄鹃殣 if (res[i].perms == null) { const result = await selectMenuRecursive({ id: res[i].id }); - + if (result.code == 200) { res[i].children = result.result.filter((value) => { return value.pid == res[i].id; @@ -356,6 +374,5 @@ }, }; </script> -<style lang="less" scoped> - -</style> + + \ No newline at end of file diff --git a/src/main.js b/src/main.js index f6f7305..f977b1b 100644 --- a/src/main.js +++ b/src/main.js @@ -14,6 +14,7 @@ import '@/assets/css/index.css' import '@/assets/css/content.css' import '@/assets/css/configure.css' +import '@/assets/css/config.css' Vue.prototype.$echarts = echarts; import * as echarts from 'echarts'; Vue.use(ElementUI, { locale }); diff --git a/src/store/index.js b/src/store/index.js index 1a9853d..d49aa1c 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -52,6 +52,7 @@ pipelineEntity: [], reporturl: null, layerMnage: false, + themeflag:false, }, mutations: { //鑾峰彇鏉冮檺鍚堥泦 diff --git a/src/views/AuthorizationManagement/roleMenuAuthorization.vue b/src/views/AuthorizationManagement/roleMenuAuthorization.vue index cc0d6ff..e2b163e 100644 --- a/src/views/AuthorizationManagement/roleMenuAuthorization.vue +++ b/src/views/AuthorizationManagement/roleMenuAuthorization.vue @@ -45,7 +45,6 @@ style="width: 100%" @row-click="singleElection" highlight-current-row - > <el-table-column align="center" @@ -533,8 +532,8 @@ padding: 10px; width: 30%; height: 94%; - overflow-y: auto; - overflow-x: hidden; + overflow-y: auto; + overflow-x: hidden; border-radius: 5px; } } diff --git a/src/views/datamanage/SpatialData.vue b/src/views/datamanage/SpatialData.vue index 09bee04..6f6be2a 100644 --- a/src/views/datamanage/SpatialData.vue +++ b/src/views/datamanage/SpatialData.vue @@ -392,6 +392,7 @@ tabDesc: '鍩虹鏁版嵁', label: '鍩虹鏁版嵁', value: 'BD', + ns: 'bd', id: 1, children: [], }, @@ -400,12 +401,14 @@ tabDesc: '涓氬姟鏁版嵁', label: '涓氬姟鏁版嵁', value: 'BS', + ns: 'bs', children: [], }, { id: 3, tabDesc: '鍏冩暟鎹�', label: '鍏冩暟鎹�', value: 'MD', + ns: 'md', children: [], }, ], @@ -614,12 +617,17 @@ // val_Data.label = val_Data.tabDesc + "(" + val_Data.tab + ")" val_Data.label = val_Data.tabDesc option[i].id = parseInt(option[i].id) - if (option[i].ns == 'bd') { - - this.tree[0].children.push(val_Data); - } else { - this.tree[1].children.push(val_Data); + for (var j in this.tree) { + if (this.tree[j].ns == option[i].ns) { + this.tree[j].children.push(val_Data); + } } + // if (option[i].ns == 'bd') { + + // this.tree[0].children.push(val_Data); + // } else { + // this.tree[1].children.push(val_Data); + // } } this.handleNodeClick(this.tree[0].children[0]) }, @@ -1116,6 +1124,5 @@ overflow-y: auto; } } - } </style> diff --git a/src/views/datamanage/catalogueManage.vue b/src/views/datamanage/catalogueManage.vue index 1a79c33..8804a46 100644 --- a/src/views/datamanage/catalogueManage.vue +++ b/src/views/datamanage/catalogueManage.vue @@ -30,46 +30,84 @@ }}</el-breadcrumb-item> </el-breadcrumb> <div> - <el-button - v-if="menuStatus.update" - :disabled="itemdetail.pid == null ? true : false" - @click="setEditNode(1)" - type="info" - icon="el-icon-top" - size="small" - >鍚戜笂绉诲姩</el-button> - <el-button - v-if="menuStatus.update" - :disabled="itemdetail.pid == null ? true : false" - @click="setEditNode(2)" - type="info" - icon="el-icon-bottom" - size="small" - >鍚戜笅绉诲姩</el-button> - <el-button - v-if="menuStatus.insert" - :disabled="itemdetail.pid == null ? true : false" - @click="setNewNode(1)" - type="success" - icon="el-icon-plus" - size="small" - >鏂板鍚岀骇</el-button> - <el-button - v-if="menuStatus.insert" - :disabled="itemdetail.pid == null ? true : false" - @click="setNewNode(2)" - type="success" - icon="el-icon-plus" - size="small" - >鏂板瀛愮骇</el-button> - <el-button - v-if="menuStatus.delete" - @click="setDelNode()" - :disabled="itemdetail.pid == null ? true : false" - type="danger" - icon="el-icon-delete" - size="small" - >鍒犻櫎</el-button> + + <div class="menuTop"> + <el-form + :inline="true" + class="demo-form-inline" + > + <el-form-item> + + <el-upload + action + accept=".xlsx, .xls" + :auto-upload="false" + :show-file-list="false" + :on-change="handleChange" + :file-list="fileList" + > + <el-button + type="info" + icon="el-icon-plus" + size="small" + >涓婁紶鏂囦欢</el-button> + </el-upload> + + </el-form-item> + <el-form-item> + <el-button + v-if="menuStatus.update" + :disabled="itemdetail.pid == null ? true : false" + @click="setEditNode(1)" + type="info" + icon="el-icon-top" + size="small" + >鍚戜笂绉诲姩</el-button> + </el-form-item> + <el-form-item> + <el-button + v-if="menuStatus.update" + :disabled="itemdetail.pid == null ? true : false" + @click="setEditNode(2)" + type="info" + icon="el-icon-bottom" + size="small" + >鍚戜笅绉诲姩</el-button> + </el-form-item> + <el-form-item> + <el-button + v-if="menuStatus.insert" + :disabled="itemdetail.pid == null ? true : false" + @click="setNewNode(1)" + type="success" + icon="el-icon-plus" + size="small" + >鏂板鍚岀骇</el-button> + </el-form-item> + <el-form-item> + <el-button + v-if="menuStatus.insert" + :disabled="itemdetail.pid == null ? true : false" + @click="setNewNode(2)" + type="success" + icon="el-icon-plus" + size="small" + >鏂板瀛愮骇</el-button> + </el-form-item> + <el-form-item> + <el-button + v-if="menuStatus.delete" + @click="setDelNode()" + :disabled="itemdetail.pid == null ? true : false" + type="danger" + icon="el-icon-delete" + size="small" + >鍒犻櫎</el-button> + </el-form-item> + + </el-form> + </div> + </div> </div> <el-divider /> @@ -207,7 +245,9 @@ deleteDir, getPerms, } from '../../api/api'; +import * as XSLX from 'xlsx'; import MyBread from '../../components/MyBread.vue'; +import clone from '@turf/clone'; export default { name: 'catalogueManage', components: { @@ -256,9 +296,129 @@ }, newNode: null, expandData: [], + fileList: [], + file: null, + tableData: [], }; }, methods: { + handleChange(file, fileList) { + this.file = file; + if (fileList.length > 0) { + this.fileList = [fileList[fileList.length - 1]]; //杩欎竴姝ワ紝鏄� 灞曠ず鏈�鍚庝竴娆¢�夋嫨鏂囦欢; + this.handle(); + } + }, + async handle() { + let file = this.file?.raw; + if (!this.file) { + console.log("鏂囦欢鎵撳紑澶辫触"); + return; + } else { + const reader = new FileReader(); + let that = this; + reader.readAsArrayBuffer(file); + reader.onload = function () { + const buffer = reader.result; + const bytes = new Uint8Array(buffer); + const length = bytes.byteLength; + let binary = ""; + for (let i = 0; i < length; i++) { + binary += String.fromCharCode(bytes[i]); + } + const XLSX = require("xlsx"); + const wb = XLSX.read(binary, { + type: "binary" + }); + const outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]], { defval: null }); // 榛樿绗竴琛屼笅涓虹┖涔熻兘瑙f瀽鍑虹涓�鍥涜 + var data = [...outdata]; + const arr = []; + data.map(v => { + const obj = {}; + obj.name = v.name; + obj.pname = v.pname; + obj.descr = v.explain; + obj.bak = v.bak; + obj.orderNum = null; + obj.pid = null; + arr.push(obj); + }); + that.tableData = arr + that.setInsertData(that.tableData) + } + } + }, + setInsertData(res) { + var list = this.excelData(res); + + if (list.length != 0) { + if (list[0].pname != null) { + return this.$message.error('涓婁紶鏁版嵁閿欒锛岀涓�鏉℃暟鎹笉涓虹┖'); + } + + this.getAllNodeId(list) + } + }, + async getAllNodeId(res) { + for (let i = 0; i < res.length; i++) { + + var val = res[i]; + + if (val.pname == null) { + val.orderNum = this.dirList[this.dirList.length - 1].orderNum + 1; + val.pid = 0; + } else { + this.tableData.filter((child) => { + if (child.name == val.pname) { + + val.pid = child.id; + val.orderNum = i + 1; + } + }) + } + + const data = await insertDir(val); + if (data.code != 200) { + + } + this.tableData.filter((child) => { + if (child.name == val.name && child.pname == val.pname) { + child.id = data.result; + } + }) + this.itemaName = data.result; + this.getDirTree(); + + + + if (res[i].children) { + this.getAllNodeId(res[i].children) + } + } + }, + excelData(source) { + let cloneData = JSON.parse(JSON.stringify(source)); // 瀵规簮鏁版嵁娣卞害鍏嬮殕 + return cloneData.filter((father) => { + // 寰幆鎵�鏈夐」 + let branchArr = cloneData.filter((child) => father.name == child.pname); // 瀵规瘮ID锛屽垎鍒笂涓嬬骇鑿滃崟锛屽苟杩斿洖鏁版嵁 + + branchArr.length > 0 ? (father.children = branchArr) : ''; // 缁欑埗绾ф坊鍔犱竴涓猚hildren灞炴�э紝骞惰祴鍊� + // 灞炰簬鍚屼竴瀵硅薄闂锛屼緥濡傦細浠� a=b銆乧=1 锛岀劧鍚庡啀浠� b.c=c 锛� 閭d箞 a.c=b.c=c=1 锛涘悓鐞嗭紝鍚庣画浠� c.d=2 ,閭d箞 a.c.d 涔熸槸=2锛� + // 鐢辨寰幆澶氭鍚庯紝灏辫兘褰㈡垚鐩稿簲鐨勬爲褰㈡暟鎹粨鏋� + return father.pname == null; // 杩斿洖涓�绾ц彍鍗� + }); + }, + readFile(file) { + //鏂囦欢璇诲彇 + return new Promise(resolve => { + let reader = new FileReader(); + reader.readAsBinaryString(file); //浠ヤ簩杩涘埗鐨勬柟寮忚鍙� + reader.onload = ev => { + resolve(ev.target.result); + }; + }); + }, + // 璇锋眰鐩綍鏍� getDirTree() { //鑾峰彇鐩綍鏍戞渶澶D锛屾柊寤鸿妭鐐逛娇鐢� @@ -461,8 +621,8 @@ }); }, remove(node, data) { - this.itemaName =node.parent.data.id; - + this.itemaName = node.parent.data.id; + this.$confirm('姝ゆ搷浣滃皢鍒犻櫎璇ヨ妭鐐�, 鏄惁缁х画?', '鎻愮ず', { confirmButtonText: '纭畾', cancelButtonText: '鍙栨秷', @@ -505,7 +665,6 @@ this.$message.error('鍒犻櫎澶辫触'); this.itemdetail = {}; }); - //閲嶇疆瑕佸垹闄ょ殑瀛怚D this.delChildIDs = []; }) @@ -673,7 +832,7 @@ } for (var i = 0; i < permsEntity.length; i++) { if (val === permsEntity[i].perms) { - console.log(i, permsEntity[i]) + this.showPermsMenu(permsEntity[i]); } } @@ -708,6 +867,11 @@ height: 91%; border-radius: 5px; padding: 1%; + .menuTop { + /deep/ .el-form-item { + margin-bottom: 0px; + } + } } } } diff --git a/src/views/datamanage/dataUpdata.vue b/src/views/datamanage/dataUpdata.vue index 286df8e..bd3467a 100644 --- a/src/views/datamanage/dataUpdata.vue +++ b/src/views/datamanage/dataUpdata.vue @@ -30,6 +30,8 @@ :disabled="tableData.length == 0 ? false : true" v-model="formInline.uploadType" @change="uploadTypeChange" + + :popper-append-to-body="false" placeholder="璇烽�夋嫨" > <el-option @@ -950,16 +952,20 @@ :close-on-click-modal="false" title="涓婁紶杩涘害" :visible.sync="jindudialogVisible" - width="30%"> + width="30%" + > <div> <div> 鏂囦欢浼犺緭杩涘害锛� </div> <div> - <el-progress :percentage="jindutiao" :format="format"></el-progress> + <el-progress + :percentage="jindutiao" + :format="format" + ></el-progress> </div> </div> - + </el-dialog> </div> </template> @@ -1807,24 +1813,24 @@ this.$message.error('鏁版嵁涓婁紶澶辫触'); }, xhr: function () { - var myXhr = $.ajaxSettings.xhr(); - if (myXhr.upload) { //妫�鏌pload灞炴�ф槸鍚﹀瓨鍦� - myXhr.upload.addEventListener('progress', that.progressHandlingFunction, false); //缁戝畾progress浜嬩欢鐨勫洖璋冨嚱鏁� - } - return myXhr; //xhr瀵硅薄杩斿洖缁檍Query浣跨敤 + var myXhr = $.ajaxSettings.xhr(); + if (myXhr.upload) { //妫�鏌pload灞炴�ф槸鍚﹀瓨鍦� + myXhr.upload.addEventListener('progress', that.progressHandlingFunction, false); //缁戝畾progress浜嬩欢鐨勫洖璋冨嚱鏁� + } + return myXhr; //xhr瀵硅薄杩斿洖缁檍Query浣跨敤 } }); }, - progressHandlingFunction(event) { - var loaded = event.loaded;//宸蹭笂浼� - var loaded = Math.floor(100 * (event.loaded / event.total) - 1); //璁$畻宸茬粡涓婁紶鐨勭櫨鍒嗘瘮 - $("#prog").html(loaded + "%"); //搴旂敤鍒版樉绀篣I锛屽彲鏍规嵁鑷繁闇�瑕佷慨鏀� - this.jindutiao = loaded - this.$set(this, 'jindutiao', loaded) - }, - format(percentage) { - return percentage === 100 ? '涓婁紶瀹屾瘯' : `${percentage}%`; - }, + progressHandlingFunction(event) { + var loaded = event.loaded;//宸蹭笂浼� + var loaded = Math.floor(100 * (event.loaded / event.total) - 1); //璁$畻宸茬粡涓婁紶鐨勭櫨鍒嗘瘮 + $("#prog").html(loaded + "%"); //搴旂敤鍒版樉绀篣I锛屽彲鏍规嵁鑷繁闇�瑕佷慨鏀� + this.jindutiao = loaded + this.$set(this, 'jindutiao', loaded) + }, + format(percentage) { + return percentage === 100 ? '涓婁紶瀹屾瘯' : `${percentage}%`; + }, //鑾峰彇鏂囦欢涓婁紶璺緞 async getFilePath() { const res = await dataUploadSelectPath(); @@ -2248,3 +2254,4 @@ } }; </script> + \ No newline at end of file diff --git a/src/views/datamanage/styleDirTree.vue b/src/views/datamanage/styleDirTree.vue index 573ac76..89ea89e 100644 --- a/src/views/datamanage/styleDirTree.vue +++ b/src/views/datamanage/styleDirTree.vue @@ -318,37 +318,7 @@ height: 94%; overflow: auto; - .el-tree { - background: transparent; - font-size: 15px; - font-family: Microsoft YaHei; - font-weight: 400; - color: #000000; - - // /deep/ .el-tree-node__label { - // font-size: 18px; - // } - /deep/ .el-tree-node { - padding-top: 10px; - // padding-bottom: 10px; - } - - /deep/ .el-tree-node:focus > .el-tree-node__content { - background-color: #b9b9b9; - } - - /deep/ .el-tree-node__content:hover { - background-color: rgb(153, 153, 153); - } - - .btnBox { - margin-left: 5px; - - .el-button + .el-button { - margin-left: 5px; - } - } - } + } } </style> diff --git a/src/views/maintenance/menuSettings.vue b/src/views/maintenance/menuSettings.vue index 8a477e2..30cd4ce 100644 --- a/src/views/maintenance/menuSettings.vue +++ b/src/views/maintenance/menuSettings.vue @@ -121,6 +121,7 @@ > <el-select style="width: 400px" + :popper-append-to-body="false" v-model="itemdetail.isShow" placeholder="" > @@ -158,6 +159,7 @@ > <el-select style="width: 400px" + :popper-append-to-body="false" v-model="itemdetail.type" :placeholder="$t('common.choose')" > @@ -246,6 +248,8 @@ :label-width="formLabelWidth" > <el-select + :popper-append-to-body="false" + style="width:100%" v-model="ruleForm.isShow" placeholder="" > @@ -282,6 +286,8 @@ :label-width="formLabelWidth" > <el-select + :popper-append-to-body="false" + style="width:100%" v-model="ruleForm.type" :placeholder="$t('common.choose')" > diff --git a/src/views/maintenance/mochaitmo.vue b/src/views/maintenance/mochaitmo.vue index a393c28..d312f21 100644 --- a/src/views/maintenance/mochaitmo.vue +++ b/src/views/maintenance/mochaitmo.vue @@ -117,8 +117,53 @@ created() { }, mounted() { this.getTreeData(); + //宸﹀彸鎷栧嫊 + this.dragControllerDiv(); }, methods: { + //宸﹀彸鎷栧嫊 + dragControllerDiv: function () { + var resize = document.getElementsByClassName('resize'); + var left = document.getElementsByClassName('left'); + var mid = document.getElementsByClassName('mid'); + var box = document.getElementsByClassName('box'); + for (let i = 0; i < resize.length; i++) { + // 榧犳爣鎸変笅浜嬩欢 + resize[i].onmousedown = function (e) { + //棰滆壊鏀瑰彉鎻愰啋 + resize[i].style.background = '#818181'; + var startX = e.clientX; + resize[i].left = resize[i].offsetLeft; + // 榧犳爣鎷栧姩浜嬩欢 + document.onmousemove = function (e) { + var endX = e.clientX; + var moveLen = resize[i].left + (endX - startX); // 锛坋ndx-startx锛�=绉诲姩鐨勮窛绂汇�俽esize[i].left+绉诲姩鐨勮窛绂�=宸﹁竟鍖哄煙鏈�鍚庣殑瀹藉害 + var maxT = box[i].clientWidth - resize[i].offsetWidth; // 瀹瑰櫒瀹藉害 - 宸﹁竟鍖哄煙鐨勫搴� = 鍙宠竟鍖哄煙鐨勫搴� + + if (moveLen < 205) moveLen = 205; // 宸﹁竟鍖哄煙鐨勬渶灏忓搴︿负32px + if (moveLen > maxT - 300) moveLen = maxT - 300; //鍙宠竟鍖哄煙鏈�灏忓搴︿负150px + + resize[i].style.left = moveLen; // 璁剧疆宸︿晶鍖哄煙鐨勫搴� + + for (let j = 0; j < left.length; j++) { + left[j].style.width = moveLen + 'px'; + mid[j].style.width = (box[i].clientWidth - moveLen - 10) + 'px'; + } + }; + // 榧犳爣鏉惧紑浜嬩欢 + document.onmouseup = function (evt) { + //棰滆壊鎭㈠ + resize[i].style.background = '#d6d6d6'; + document.onmousemove = null; + document.onmouseup = null; + resize[i].releaseCapture && resize[i].releaseCapture(); //褰撲綘涓嶅湪闇�瑕佺户缁幏寰楅紶鏍囨秷鎭氨瑕佸簲璇ヨ皟鐢≧eleaseCapture()閲婃斁鎺� + }; + resize[i].setCapture && resize[i].setCapture(); //璇ュ嚱鏁板湪灞炰簬褰撳墠绾跨▼鐨勬寚瀹氱獥鍙i噷璁剧疆榧犳爣鎹曡幏 + return false; + }; + } + }, + async getCookies() { var boolean = this.getTimeCookies(); if (boolean != true) { diff --git a/src/views/userManage/resourceManage.vue b/src/views/userManage/resourceManage.vue index 8965229..9a09cad 100644 --- a/src/views/userManage/resourceManage.vue +++ b/src/views/userManage/resourceManage.vue @@ -144,93 +144,93 @@ class="infoBox box_div " v-show="showinfoBox" > - <el-card class="box-card"> + + <div + slot="header" + class="clearfix" + > + <span>{{ $t('dataManage.styleObj.deInformation') }}</span> <div - slot="header" - class="clearfix" + style="float: right; cursor: pointer" + @click="closeDetial" > - <span>{{ $t('dataManage.styleObj.deInformation') }}</span> - <div - style="float: right; cursor: pointer" - @click="closeDetial" - > - <i class="el-icon-close"></i> - </div> + <i class="el-icon-close"></i> </div> + </div> + <el-divider></el-divider> + <div class="contentBox"> + <p> + <label> {{ $t('userManage.resManageObj.name') }}:</label> + <label class="boxlabel">{{ itemdetail.name }}</label> + </p> <el-divider></el-divider> - <div class="contentBox"> - <p> - <label> {{ $t('userManage.resManageObj.name') }}:</label> - <label class="boxlabel">{{ itemdetail.name }}</label> - </p> - <el-divider></el-divider> - <p> - <p> - <label> {{ $t('userManage.resManageObj.server') }}:</label> - <label class="boxlabel">{{ itemdetail.server }}</label> - </p> - </p> - <el-divider></el-divider> - <p> - <label> {{ $t('userManage.resManageObj.source') }}:</label> - <label class="boxlabel">{{ itemdetail.source }}</label> - </p> - <el-divider></el-divider> - <p> - <label> {{ $t('userManage.resManageObj.depid') }}:</label> - <label class="boxlabel">{{ itemdetail.depName }}</label> - </p> - <el-divider></el-divider> - <p> - <label> {{ $t('userManage.resManageObj.dirid') }}:</label> - <label class="boxlabel">{{ itemdetail.dirName }}</label> - </p> - <el-divider></el-divider> - <p> - <label> {{ $t('userManage.resManageObj.descr') }}:</label> - <label class="boxlabel">{{ itemdetail.descr }}</label> - </p> - <el-divider></el-divider> - <p> - <label> {{ $t('userManage.resManageObj.img') }}:</label> - <label class="boxlabel"> - <div style="width:440px;height:200px;"> - <img - style="width:100%; height:100%" - :src="itemdetail.imageFile" - alt="" - /> - </div> - </label> - </p> - <el-divider></el-divider> - <p> - <label> {{ $t('userManage.resManageObj.createUser') }}:</label> - <label class="boxlabel">{{ itemdetail.createUser }}</label> - </p> - <el-divider></el-divider> - <p> - <label> {{ $t('userManage.resManageObj.createTime') }}:</label> - <label class="boxlabel">{{ itemdetail.createTime }}</label> - </p> - <el-divider></el-divider> - <p> - <label> {{ $t('userManage.resManageObj.updateUser') }}:</label> - <label class="boxlabel">{{ itemdetail.updateUser }}</label> - </p> - <el-divider></el-divider> - <p> - <label> {{ $t('userManage.resManageObj.updateTime') }}:</label> - <label class="boxlabel">{{ itemdetail.updateTime }}</label> - </p> - <el-divider></el-divider> - <p> - <label> {{ $t('userManage.resManageObj.bak') }}:</label> - <label class="boxlabel">{{ itemdetail.bak }}</label> - </p> - <el-divider></el-divider> - </div> - </el-card> + <p> + <p> + <label> {{ $t('userManage.resManageObj.server') }}:</label> + <label class="boxlabel">{{ itemdetail.server }}</label> + </p> + </p> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.resManageObj.source') }}:</label> + <label class="boxlabel">{{ itemdetail.source }}</label> + </p> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.resManageObj.depid') }}:</label> + <label class="boxlabel">{{ itemdetail.depName }}</label> + </p> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.resManageObj.dirid') }}:</label> + <label class="boxlabel">{{ itemdetail.dirName }}</label> + </p> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.resManageObj.descr') }}:</label> + <label class="boxlabel">{{ itemdetail.descr }}</label> + </p> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.resManageObj.img') }}:</label> + <label class="boxlabel"> + <div style="width:440px;height:200px;"> + <img + style="width:100%; height:100%" + :src="itemdetail.imageFile" + alt="" + /> + </div> + </label> + </p> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.resManageObj.createUser') }}:</label> + <label class="boxlabel">{{ itemdetail.createUser }}</label> + </p> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.resManageObj.createTime') }}:</label> + <label class="boxlabel">{{ itemdetail.createTime }}</label> + </p> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.resManageObj.updateUser') }}:</label> + <label class="boxlabel">{{ itemdetail.updateUser }}</label> + </p> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.resManageObj.updateTime') }}:</label> + <label class="boxlabel">{{ itemdetail.updateTime }}</label> + </p> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.resManageObj.bak') }}:</label> + <label class="boxlabel">{{ itemdetail.bak }}</label> + </p> + <el-divider></el-divider> + </div> + </div> <el-dialog :title="dialogTitle" @@ -894,16 +894,16 @@ height: 98%; width: 98%; padding: 1%; - + .el-input { width: 730px; } - + .power_quire { padding: 10px; border-radius: 5px; - + margin-bottom: 10px; .el-form-item { margin: 5px; @@ -912,8 +912,7 @@ width: 467px; } } - - + .leftTree { position: absolute; z-index: 10; @@ -922,19 +921,18 @@ left: 800px; width: 400px; height: 600px; - + .treeBox { height: 550px; overflow: auto; - } .btnBox { width: 160px; margin: 10px auto 0; // background-color: red; } + } - } </style> -- Gitblit v1.9.3