| | |
| | | }, |
| | | "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", |
| | |
| | | "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", |
| | |
| | | <template> |
| | | <div id="app"> |
| | | <div |
| | | id="app" |
| | | |
| | | > |
| | | <router-view /> |
| | | </div> |
| | | </template> |
| | |
| | | return {}; |
| | | }, |
| | | created() { |
| | | |
| | | |
| | | }, |
| | | beforeDestroy() {}, |
| | | beforeDestroy() { }, |
| | | }; |
| | | </script> |
| | | <style lang="less"> |
| | | <style lang="less" scoped> |
| | | // #app { |
| | | // font-family: Avenir, Helvetica, Arial, sans-serif; |
| | | // -webkit-font-smoothing: antialiased; |
| | |
| | | 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> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | .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; |
| | | } |
| | | |
| | |
| | | /* æ»å¨æ¡æ ·å¼ */ |
| | | |
| | | ::-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; |
| | | } |
| | | |
| | |
| | | .box_div { |
| | | background: #F4F8FF; |
| | | } |
| | | |
| | | |
| | | .subpage_Div { |
| | | border: 1px solid #dcdfe6; |
| | | } |
| | |
| | | } |
| | | |
| | | .el-tree { |
| | | background: transparent; |
| | | background: transparent !important; |
| | | } |
| | | .el-tree { |
| | | background: transparent !important; |
| | | } |
| | | |
| | | .el-tree-node.is-current>.el-tree-node__content { |
| | |
| | | .el-tree-node__content :hover { |
| | | |
| | | background-color: transparent !important; |
| | | } |
| | | |
| | | .el-pager li { |
| | | |
| | | background: transparent; |
| | | } |
| | | |
| | | .btn-prev { |
| | | background: transparent !important; |
| | | } |
| | | |
| | | .btn-next { |
| | | background: transparent !important; |
| | | } |
| | |
| | | .infoBox .contentBox { |
| | | margin: 0 aotu 10px; |
| | | overflow: auto; |
| | | height: 500px; |
| | | background-color: white; |
| | | |
| | | height: 90%; |
| | | } |
| | | |
| | | .infoBox p { |
| | |
| | | </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> |
| | |
| | | import colorChange from '../views/maintenance/colorChange.vue'; |
| | | import { containsCoordinate } from 'ol/extent'; |
| | | import Vue from 'vue'; |
| | | import $ from 'jquery' |
| | | export default { |
| | | name: 'navMenu', |
| | | //importå¼å
¥çç»ä»¶éè¦æ³¨å
¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | |
| | | themeColor: true, |
| | | oriData: [], //åå§æ æ°æ® |
| | | dirData: [], //elæ æ°æ® |
| | |
| | | changeSelectdiv: false, |
| | | listMenu: [], |
| | | showFlag: null, |
| | | language: true |
| | | language: true, |
| | | |
| | | }; |
| | | }, |
| | | created() { }, |
| | |
| | | }, |
| | | 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) { |
| | |
| | | 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('/'); |
| | |
| | | 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; |
| | |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | | |
| | | </style> |
| | | |
| | | |
| | |
| | | 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 }); |
| | |
| | | pipelineEntity: [], |
| | | reporturl: null, |
| | | layerMnage: false, |
| | | themeflag:false, |
| | | }, |
| | | mutations: { |
| | | //è·åæéåé |
| | |
| | | style="width: 100%" |
| | | @row-click="singleElection" |
| | | highlight-current-row |
| | | |
| | | > |
| | | <el-table-column |
| | | align="center" |
| | |
| | | padding: 10px; |
| | | width: 30%; |
| | | height: 94%; |
| | | overflow-y: auto; |
| | | overflow-x: hidden; |
| | | overflow-y: auto; |
| | | overflow-x: hidden; |
| | | border-radius: 5px; |
| | | } |
| | | } |
| | |
| | | tabDesc: 'åºç¡æ°æ®', |
| | | label: 'åºç¡æ°æ®', |
| | | value: 'BD', |
| | | ns: 'bd', |
| | | id: 1, |
| | | children: [], |
| | | }, |
| | |
| | | tabDesc: 'ä¸å¡æ°æ®', |
| | | label: 'ä¸å¡æ°æ®', |
| | | value: 'BS', |
| | | ns: 'bs', |
| | | children: [], |
| | | }, { |
| | | id: 3, |
| | | tabDesc: 'å
æ°æ®', |
| | | label: 'å
æ°æ®', |
| | | value: 'MD', |
| | | ns: 'md', |
| | | children: [], |
| | | }, |
| | | ], |
| | |
| | | // 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]) |
| | | }, |
| | |
| | | overflow-y: auto; |
| | | } |
| | | } |
| | | |
| | | } |
| | | </style> |
| | |
| | | }}</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 /> |
| | |
| | | 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: { |
| | |
| | | }, |
| | | 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 }); // é»è®¤ç¬¬ä¸è¡ä¸ä¸ºç©ºä¹è½è§£æåºç¬¬ä¸åè¡ |
| | | 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) : ''; // ç»ç¶çº§æ·»å ä¸ä¸ªchildren屿§ï¼å¹¶èµå¼ |
| | | // å±äºåä¸å¯¹è±¡é®é¢ï¼ä¾å¦ï¼ä»¤ a=bãc=1 ï¼ç¶åå令 b.c=c ï¼ é£ä¹ a.c=b.c=c=1 ï¼åçï¼åç»ä»¤ c.d=2 ,é£ä¹ 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() { |
| | | //è·åç®å½æ æå¤§IDï¼æ°å»ºèç¹ä½¿ç¨ |
| | |
| | | }); |
| | | }, |
| | | remove(node, data) { |
| | | this.itemaName =node.parent.data.id; |
| | | |
| | | this.itemaName = node.parent.data.id; |
| | | |
| | | this.$confirm('æ¤æä½å°å é¤è¯¥èç¹, æ¯å¦ç»§ç»?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | |
| | | this.$message.error('å é¤å¤±è´¥'); |
| | | this.itemdetail = {}; |
| | | }); |
| | | |
| | | //éç½®è¦å é¤çåID |
| | | this.delChildIDs = []; |
| | | }) |
| | |
| | | } |
| | | for (var i = 0; i < permsEntity.length; i++) { |
| | | if (val === permsEntity[i].perms) { |
| | | console.log(i, permsEntity[i]) |
| | | |
| | | this.showPermsMenu(permsEntity[i]); |
| | | } |
| | | } |
| | |
| | | height: 91%; |
| | | border-radius: 5px; |
| | | padding: 1%; |
| | | .menuTop { |
| | | /deep/ .el-form-item { |
| | | margin-bottom: 0px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | :disabled="tableData.length == 0 ? false : true" |
| | | v-model="formInline.uploadType" |
| | | @change="uploadTypeChange" |
| | | |
| | | :popper-append-to-body="false" |
| | | placeholder="è¯·éæ©" |
| | | > |
| | | <el-option |
| | |
| | | :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> |
| | |
| | | this.$message.error('æ°æ®ä¸ä¼ 失败'); |
| | | }, |
| | | xhr: function () { |
| | | var myXhr = $.ajaxSettings.xhr(); |
| | | if (myXhr.upload) { //æ£æ¥upload屿§æ¯å¦åå¨ |
| | | myXhr.upload.addEventListener('progress', that.progressHandlingFunction, false); //ç»å®progressäºä»¶çåè°å½æ° |
| | | } |
| | | return myXhr; //xhr对象è¿åç»jQueryä½¿ç¨ |
| | | var myXhr = $.ajaxSettings.xhr(); |
| | | if (myXhr.upload) { //æ£æ¥upload屿§æ¯å¦åå¨ |
| | | myXhr.upload.addEventListener('progress', that.progressHandlingFunction, false); //ç»å®progressäºä»¶çåè°å½æ° |
| | | } |
| | | return myXhr; //xhr对象è¿åç»jQueryä½¿ç¨ |
| | | } |
| | | }); |
| | | }, |
| | | progressHandlingFunction(event) { |
| | | var loaded = event.loaded;//å·²ä¸ä¼ |
| | | var loaded = Math.floor(100 * (event.loaded / event.total) - 1); //计ç®å·²ç»ä¸ä¼ çç¾åæ¯ |
| | | $("#prog").html(loaded + "%"); //åºç¨å°æ¾ç¤ºUIï¼å¯æ ¹æ®èªå·±éè¦ä¿®æ¹ |
| | | 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 + "%"); //åºç¨å°æ¾ç¤ºUIï¼å¯æ ¹æ®èªå·±éè¦ä¿®æ¹ |
| | | this.jindutiao = loaded |
| | | this.$set(this, 'jindutiao', loaded) |
| | | }, |
| | | format(percentage) { |
| | | return percentage === 100 ? 'ä¸ä¼ 宿¯' : `${percentage}%`; |
| | | }, |
| | | //è·åæä»¶ä¸ä¼ è·¯å¾ |
| | | async getFilePath() { |
| | | const res = await dataUploadSelectPath(); |
| | |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | |
| | | 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> |
| | |
| | | > |
| | | <el-select |
| | | style="width: 400px" |
| | | :popper-append-to-body="false" |
| | | v-model="itemdetail.isShow" |
| | | placeholder="" |
| | | > |
| | |
| | | > |
| | | <el-select |
| | | style="width: 400px" |
| | | :popper-append-to-body="false" |
| | | v-model="itemdetail.type" |
| | | :placeholder="$t('common.choose')" |
| | | > |
| | |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-select |
| | | :popper-append-to-body="false" |
| | | style="width:100%" |
| | | v-model="ruleForm.isShow" |
| | | placeholder="" |
| | | > |
| | |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-select |
| | | :popper-append-to-body="false" |
| | | style="width:100%" |
| | | v-model="ruleForm.type" |
| | | :placeholder="$t('common.choose')" |
| | | > |
| | |
| | | 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); // ï¼endx-startxï¼=ç§»å¨çè·ç¦»ãresize[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(); //å½ä½ ä¸å¨éè¦ç»§ç»è·å¾é¼ æ æ¶æ¯å°±è¦åºè¯¥è°ç¨ReleaseCapture()éæ¾æ |
| | | }; |
| | | resize[i].setCapture && resize[i].setCapture(); //è¯¥å½æ°å¨å±äºå½å线ç¨çæå®çªå£éè®¾ç½®é¼ æ æè· |
| | | return false; |
| | | }; |
| | | } |
| | | }, |
| | | |
| | | async getCookies() { |
| | | var boolean = this.getTimeCookies(); |
| | | if (boolean != true) { |
| | |
| | | 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" |
| | |
| | | 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; |
| | |
| | | width: 467px; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | .leftTree { |
| | | position: absolute; |
| | | z-index: 10; |
| | |
| | | left: 800px; |
| | | width: 400px; |
| | | height: 600px; |
| | | |
| | | |
| | | .treeBox { |
| | | height: 550px; |
| | | overflow: auto; |
| | | |
| | | } |
| | | .btnBox { |
| | | width: 160px; |
| | | margin: 10px auto 0; |
| | | // background-color: red; |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | </style> |