综合展示,系统管理,授权管理,专题图,资料馆添加权限配置
| | |
| | | close: 'Close', |
| | | see: 'See', |
| | | index: 'index', |
| | | download: 'download', |
| | | }, |
| | | dataManage: { |
| | | dataManage: 'Data Manage', |
| | |
| | | close: '关闭', |
| | | see: '查看', |
| | | index: '序号', |
| | | download: '下载', |
| | | }, |
| | | dataManage: { |
| | | dataManage: '数据管理', |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { logout } from "@/api/api"; |
| | | import { removeToken, getToken } from "@/utils/auth"; |
| | | import customElMenu from "../components/customElMenu.vue"; |
| | | import { queryMenuTree, getPerms } from "../api/api"; |
| | | import { logout } from '@/api/api'; |
| | | import { removeToken, getToken } from '@/utils/auth'; |
| | | import customElMenu from '../components/customElMenu.vue'; |
| | | import { queryMenuTree, getPerms } from '../api/api'; |
| | | |
| | | export default { |
| | | name: "navMenu", |
| | | name: 'navMenu', |
| | | //import引入的组件需要注入到对象中才能使用 |
| | | components: { |
| | | customElMenu, |
| | |
| | | oriData: [], //原始树数据 |
| | | dirData: [], //el树数据 |
| | | newData: [], //拖动后数据 |
| | | lang: "zh", |
| | | activeIndex: "/", |
| | | lang: 'zh', |
| | | activeIndex: '/', |
| | | menuList: [], |
| | | editTitle: "", |
| | | editTitle: '', |
| | | showPopover: false, |
| | | showEditInfoWrapper: false, |
| | | showEdit: false, |
| | |
| | | editCatalogue: false, |
| | | editUnit: false, |
| | | itemdetail: {}, |
| | | formLabelWidth: "70px", |
| | | formLabelWidth: '70px', |
| | | }; |
| | | }, |
| | | mounted() { |
| | | this.getMenuTree(); |
| | | this.getUserPerms(); |
| | | this.getMenuTree(); |
| | | }, |
| | | computed: { |
| | | // 我们使用计算属性来获取到当前点击的菜单的路由路径,然后设置default-active中的值 |
| | |
| | | }); |
| | | this.menuList = this.treeData(menuLists); |
| | | } else { |
| | | alert("暂无菜单栏数据"); |
| | | alert('暂无菜单栏数据'); |
| | | } |
| | | } else { |
| | | console.log("接口报错"); |
| | | console.log('接口报错'); |
| | | } |
| | | }); |
| | | }, |
| | |
| | | return cloneData.filter((father) => { |
| | | // 循环所有项 |
| | | let branchArr = cloneData.filter((child) => father.id == child.pid); // 对比ID,分别上下级菜单,并返回数据 |
| | | branchArr.length > 0 ? (father.children = branchArr) : ""; // 给父级添加一个children属性,并赋值 |
| | | 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.pid == 1; // 返回一级菜单 |
| | | }); |
| | | } else { |
| | | alert("暂无菜单栏数据"); |
| | | alert('暂无菜单栏数据'); |
| | | } |
| | | }, |
| | | logOut() { |
| | | this.$confirm("确认是否退出登录?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | this.$confirm('确认是否退出登录?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | }) |
| | | .then(async () => { |
| | | const data = await logout({ token: getToken() }); |
| | | console.log(data); |
| | | if (data.code != 200) { |
| | | return this.$message.error("退出登录失败"); |
| | | return this.$message.error('退出登录失败'); |
| | | } |
| | | removeToken(); |
| | | this.$router.push("/login"); |
| | | this.$router.push('/login'); |
| | | this.$message({ |
| | | message: "退出登录成功", |
| | | type: "success", |
| | | message: '退出登录成功', |
| | | type: 'success', |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: "info", |
| | | message: "已取消", |
| | | type: 'info', |
| | | message: '已取消', |
| | | }); |
| | | }); |
| | | }, |
| | | switchLang() { |
| | | //当前en |
| | | if (this.lang == "en") { |
| | | if (this.lang == 'en') { |
| | | //语言换成zh |
| | | this.lang = "zh"; |
| | | this.lang = 'zh'; |
| | | //菜单换为zh |
| | | this.$store.commit("changeLang", "zh"); |
| | | this.$store.commit('changeLang', 'zh'); |
| | | //i18换成zh |
| | | this.$i18n.locale = this.lang; |
| | | } |
| | | //当前zh |
| | | else { |
| | | this.lang = "en"; |
| | | this.lang = 'en'; |
| | | this.$i18n.locale = this.lang; |
| | | this.$store.commit("changeLang", "en"); //传递点击的节点 |
| | | this.$store.commit('changeLang', 'en'); //传递点击的节点 |
| | | } |
| | | }, |
| | | handleselect(index, indexPath, e) { |
| | | // console.log(e.$attrs.perms); |
| | | this.$store.commit("currentPerms", e.$attrs.perms.perms); |
| | | this.$store.commit('currentPerms', e.$attrs.perms.perms); |
| | | if (Window.ws != null) { |
| | | Window.ws.close(); |
| | | Window.ws.onclose = () => { |
| | | console.log("服务器关闭"); |
| | | console.log('服务器关闭'); |
| | | }; |
| | | Window.ws = null; |
| | | } |
| | | |
| | | if (index.indexOf("http") != -1) { |
| | | this.$router.push("/databaseMonitoring"); |
| | | this.$store.commit("getIframe", index); |
| | | if (index.indexOf('http') != -1) { |
| | | this.$router.push('/databaseMonitoring'); |
| | | this.$store.commit('getIframe', index); |
| | | } else if (isNaN(Number(index))) { |
| | | this.$router.push(index); |
| | | } |
| | | }, |
| | | getUserPerms() { |
| | | getPerms().then((res) => { |
| | | if (res.code == 200) this.$store.commit("getPermsEntity", res.result); |
| | | if (res.code == 200) this.$store.commit('getPermsEntity', res.result); |
| | | }); |
| | | }, |
| | | }, |
| | | watch: { |
| | | $route() { |
| | | let str = this.$route.path; |
| | | if (str[0] == "/") { |
| | | if (str[0] == '/') { |
| | | this.activeIndex = str.slice(1); |
| | | } |
| | | }, |
| | | }, |
| | | created() { |
| | | let str = this.$route.path; |
| | | if (str[0] == "/") { |
| | | if (str[0] == '/') { |
| | | this.activeIndex = str.slice(1); |
| | | } |
| | | }, |
| | |
| | | ws: null, |
| | | //权限合集 |
| | | permsEntity: [], |
| | | currentPerms: "", |
| | | currentPerms: '', |
| | | //综合展示 |
| | | syntiesis: {}, |
| | | }, |
| | | mutations: { |
| | | //获取权限合集 |
| | | getPermsEntity(state, msg) { |
| | | state.permsEntity = msg |
| | | state.permsEntity = msg; |
| | | }, |
| | | currentPerms(state, msg) { |
| | | state.currentPerms = msg |
| | | state.currentPerms = msg; |
| | | }, |
| | | // 获取完整面包屑路径 |
| | | changeCata(state, msg) { |
| | |
| | | <div class="archive"> |
| | | <div class="left_active"> |
| | | <el-card class="arch_card"> |
| | | <div class="title_active">{{ $t("archive.name") }}</div> |
| | | <div class="title_active">{{ $t('archive.name') }}</div> |
| | | <el-divider /> |
| | | <el-tree |
| | | :data="tree" |
| | |
| | | <el-col :span="6"></el-col> |
| | | <el-col :span="4" |
| | | ><div style="text-align: right; margin-top: 6px"> |
| | | {{ $t("archive.keyword") }}: |
| | | {{ $t('archive.keyword') }}: |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="4"> |
| | | <el-input :placeholder="$t('common.pleaseInput')" |
| | | /></el-col> |
| | | <el-col :span="4" |
| | | ><el-button type="primary">{{ |
| | | $t("common.iquery") |
| | | }}</el-button></el-col |
| | | > |
| | | ><el-button type="primary">{{ $t('common.iquery') }}</el-button> |
| | | <el-button v-if="archStatus.download" type="primary">{{ |
| | | $t('common.download') |
| | | }}</el-button> |
| | | </el-col> |
| | | <el-col :span="6"></el-col> |
| | | </el-row> |
| | | <el-divider /> |
| | |
| | | return { |
| | | tree: [ |
| | | { |
| | | label: "文献", |
| | | label: '文献', |
| | | children: [ |
| | | { |
| | | label: "管道标准文献", |
| | | url: "", |
| | | label: '管道标准文献', |
| | | url: '', |
| | | }, |
| | | { |
| | | label: "工业管道工程施工及验收规范", |
| | | url: "", |
| | | label: '工业管道工程施工及验收规范', |
| | | url: '', |
| | | }, |
| | | { |
| | | label: "综合管线设计标准", |
| | | url: "", |
| | | label: '综合管线设计标准', |
| | | url: '', |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "图纸", //label对应父级标签 |
| | | label: '图纸', //label对应父级标签 |
| | | children: [ |
| | | { |
| | | label: "XXX管线设计图纸", |
| | | url: " ", |
| | | label: 'XXX管线设计图纸', |
| | | url: ' ', |
| | | }, |
| | | { |
| | | label: "XXXXXX管线设计图", |
| | | url: " ", |
| | | label: 'XXXXXX管线设计图', |
| | | url: ' ', |
| | | }, |
| | | { |
| | | label: "XXXXX管线设计图", |
| | | url: " ", |
| | | label: 'XXXXX管线设计图', |
| | | url: ' ', |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "数据", //label对应父级标签 |
| | | label: '数据', //label对应父级标签 |
| | | children: [ |
| | | { |
| | | label: "管道", |
| | | url: " ", |
| | | label: '管道', |
| | | url: ' ', |
| | | }, |
| | | { |
| | | label: "阀门", |
| | | url: " ", |
| | | label: '阀门', |
| | | url: ' ', |
| | | }, |
| | | { |
| | | label: "消费设备", |
| | | url: " ", |
| | | label: '消费设备', |
| | | url: ' ', |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | defaultProps: { |
| | | children: "children", //"children"内的每个对象解析为一个子项; |
| | | label: "label", //所有"label"所在的对象解析为一个父项 |
| | | chilren: 'children', //"children"内的每个对象解析为一个子项; |
| | | label: 'label', //所有"label"所在的对象解析为一个父项 |
| | | }, |
| | | tableData: [ |
| | | { |
| | | timer: "2016-05-01", |
| | | name: "Tom", |
| | | count: "3", |
| | | type: "业务图层", |
| | | state: "x", |
| | | timer: '2016-05-01', |
| | | name: 'Tom', |
| | | count: '3', |
| | | type: '业务图层', |
| | | state: 'x', |
| | | }, |
| | | { |
| | | timer: "2016-05-02", |
| | | name: "Tom", |
| | | count: "2", |
| | | type: "业务图层", |
| | | state: "x", |
| | | timer: '2016-05-02', |
| | | name: 'Tom', |
| | | count: '2', |
| | | type: '业务图层', |
| | | state: 'x', |
| | | }, |
| | | { |
| | | timer: "2016-05-03", |
| | | name: "Tom", |
| | | count: "1", |
| | | type: "业务图层", |
| | | state: "x", |
| | | timer: '2016-05-03', |
| | | name: 'Tom', |
| | | count: '1', |
| | | type: '业务图层', |
| | | state: 'x', |
| | | }, |
| | | ], |
| | | archStatus: { |
| | | download: false, |
| | | }, |
| | | }; |
| | | }, |
| | | methods: {}, |
| | | methods: { |
| | | showArchMenu(res) { |
| | | switch (res.tag) { |
| | | case '/download': |
| | | this.archStatus.download = true; |
| | | break; |
| | | } |
| | | }, |
| | | }, |
| | | created() { |
| | | var val = this.$store.state.currentPerms; |
| | | var permsEntity = this.$store.state.permsEntity; |
| | | for (var i = 0; i < permsEntity.length; i++) { |
| | | if (permsEntity[i].perms == val) { |
| | | // this.showMenuChange(permsEntity[i], permsEntity); |
| | | this.showArchMenu(permsEntity[i]); |
| | | } |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | > |
| | | <div class="btn" style="margin-left: auto"> |
| | | <el-button |
| | | v-if="menuStatus.insert" |
| | | type="primary" |
| | | icon="el-icon-circle-plus-outline" |
| | | size="small" |
| | |
| | | >{{ $t('operatManage.UserRoleAuthorizationObj.Added') }}</el-button |
| | | > |
| | | <el-button |
| | | v-if="menuStatus.delete" |
| | | type="danger" |
| | | icon="el-icon-delete" |
| | | size="small" |
| | |
| | | |
| | | data() { |
| | | return { |
| | | menuStatus: { |
| | | delete: false, |
| | | insert: false, |
| | | update: false, |
| | | }, |
| | | addcount: 0, |
| | | gridData: [], |
| | | addlistData: { |
| | |
| | | this.tableData = data.result; |
| | | this.usercount = data.count; |
| | | }, |
| | | showPermsMenu(res) { |
| | | switch (res.tag) { |
| | | case '/delete': |
| | | this.menuStatus.delete = true; |
| | | break; |
| | | case '/insert': |
| | | this.menuStatus.insert = true; |
| | | break; |
| | | case '/update': |
| | | this.menuStatus.update = true; |
| | | break; |
| | | } |
| | | }, |
| | | }, |
| | | created() { |
| | | var val = this.$store.state.currentPerms; |
| | | var permsEntity = this.$store.state.permsEntity; |
| | | for (var i = 0; i < permsEntity.length; i++) { |
| | | if (permsEntity[i].perms == val) { |
| | | this.showPermsMenu(permsEntity[i]); |
| | | } |
| | | } |
| | | this.getMenuTree(); |
| | | }, |
| | | }; |
| | |
| | | > |
| | | <div class="btn" style="margin-left: auto"> |
| | | <el-button |
| | | v-if="menuStatus.insert" |
| | | type="primary" |
| | | icon="el-icon-circle-plus-outline" |
| | | size="small" |
| | |
| | | >{{ $t('operatManage.UserRoleAuthorizationObj.Added') }}</el-button |
| | | > |
| | | <el-button |
| | | v-if="menuStatus.delete" |
| | | type="danger" |
| | | icon="el-icon-delete" |
| | | size="small" |
| | |
| | | gridData: [], |
| | | addmultipleSelection: [], |
| | | usermultipleSelection: [], |
| | | menuStatus: { |
| | | delete: false, |
| | | insert: false, |
| | | update: false, |
| | | }, |
| | | }; |
| | | }, |
| | | methods: { |
| | |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | showPermsMenu(res) { |
| | | switch (res.tag) { |
| | | case '/delete': |
| | | this.menuStatus.delete = true; |
| | | break; |
| | | case '/insert': |
| | | this.menuStatus.insert = true; |
| | | break; |
| | | case '/update': |
| | | this.menuStatus.update = true; |
| | | break; |
| | | } |
| | | }, |
| | | }, |
| | | created() { |
| | | var val = this.$store.state.currentPerms; |
| | | var permsEntity = this.$store.state.permsEntity; |
| | | for (var i = 0; i < permsEntity.length; i++) { |
| | | if (permsEntity[i].perms == val) { |
| | | this.showPermsMenu(permsEntity[i]); |
| | | } |
| | | } |
| | | this.getDepTree(); |
| | | this.getMenuTree(); |
| | | }, |
| | |
| | | > |
| | | <div class="btn" style="margin-left: auto"> |
| | | <el-button |
| | | v-if="menuStatus.insert" |
| | | type="primary" |
| | | icon="el-icon-circle-plus-outline" |
| | | size="small" |
| | |
| | | >{{ $t('operatManage.UserRoleAuthorizationObj.Added') }}</el-button |
| | | > |
| | | <el-button |
| | | v-if="menuStatus.delete" |
| | | type="danger" |
| | | icon="el-icon-delete" |
| | | size="small" |
| | |
| | | |
| | | data() { |
| | | return { |
| | | menuStatus: { |
| | | delete: false, |
| | | insert: false, |
| | | update: false, |
| | | }, |
| | | addcount: 0, |
| | | gridData: [], |
| | | addlistData: { |
| | |
| | | this.usercount = 0; |
| | | } |
| | | }, |
| | | showPermsMenu(res) { |
| | | switch (res.tag) { |
| | | case '/delete': |
| | | this.menuStatus.delete = true; |
| | | break; |
| | | case '/insert': |
| | | this.menuStatus.insert = true; |
| | | break; |
| | | case '/update': |
| | | this.menuStatus.update = true; |
| | | break; |
| | | } |
| | | }, |
| | | }, |
| | | created() { |
| | | var val = this.$store.state.currentPerms; |
| | | var permsEntity = this.$store.state.permsEntity; |
| | | for (var i = 0; i < permsEntity.length; i++) { |
| | | if (permsEntity[i].perms == val) { |
| | | this.showPermsMenu(permsEntity[i]); |
| | | } |
| | | } |
| | | this.getMenuTree(); |
| | | }, |
| | | }; |
| | |
| | | > |
| | | <div class="btn" style="margin-left: auto"> |
| | | <el-button |
| | | v-if="menuStatus.insert" |
| | | type="primary" |
| | | icon="el-icon-circle-plus-outline" |
| | | size="small" |
| | |
| | | >{{ $t('operatManage.UserRoleAuthorizationObj.Added') }}</el-button |
| | | > |
| | | <el-button |
| | | v-if="menuStatus.delete" |
| | | type="danger" |
| | | icon="el-icon-delete" |
| | | size="small" |
| | |
| | | debid: null, |
| | | roleid: null, |
| | | addmultipleSelection: [], |
| | | menuStatus: { |
| | | delete: false, |
| | | insert: false, |
| | | update: false, |
| | | }, |
| | | }; |
| | | }, |
| | | methods: { |
| | |
| | | this.tableData = data.result; |
| | | this.count = data.count; |
| | | }, |
| | | showPermsMenu(res) { |
| | | switch (res.tag) { |
| | | case '/delete': |
| | | this.menuStatus.delete = true; |
| | | break; |
| | | case '/insert': |
| | | this.menuStatus.insert = true; |
| | | break; |
| | | case '/update': |
| | | this.menuStatus.update = true; |
| | | break; |
| | | } |
| | | }, |
| | | }, |
| | | created() { |
| | | var val = this.$store.state.currentPerms; |
| | | var permsEntity = this.$store.state.permsEntity; |
| | | for (var i = 0; i < permsEntity.length; i++) { |
| | | if (permsEntity[i].perms == val) { |
| | | this.showPermsMenu(permsEntity[i]); |
| | | } |
| | | } |
| | | this.getMenuTree(); |
| | | }, |
| | | }; |
| | |
| | | (value) => {} |
| | | ); |
| | | }, |
| | | showViewMenu(res) { |
| | | if (res.cnName != '分析') return; |
| | | console.log('分析', res.tag); |
| | | }, |
| | | }, |
| | | created() { |
| | | var cover_Id = this.$store.state.syntiesis.menu; |
| | | var cover_perms = this.$store.state.permsEntity; |
| | | |
| | | for (var i = 0; i < cover_perms.length; i++) { |
| | | if (cover_perms[i].pid == cover_Id) { |
| | | this.showViewMenu(cover_perms[i]); |
| | | } |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.measureData = new Map(); |
| | |
| | | ], |
| | | }; |
| | | }, |
| | | created() { |
| | | var cover_Id = this.$store.state.syntiesis.menu; |
| | | var cover_perms = this.$store.state.permsEntity; |
| | | |
| | | for (var i = 0; i < cover_perms.length; i++) { |
| | | if (cover_perms[i].pid == cover_Id) { |
| | | this.showCoverMenu(cover_perms[i]); |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | showCoverMenu(res) { |
| | | if (res.cnName != '图层') return; |
| | | console.log('图层', res.tag); |
| | | }, |
| | | checkCourvage(res) { |
| | | switch (res.id) { |
| | | case '1': //图层管理 |
| | |
| | | <template> |
| | | <div class="synthesis"> |
| | | <el-tabs type="border-card"> |
| | | <el-tab-pane :label='$t("synthesis.coverage")'> |
| | | <el-tab-pane v-if="menuStatus.menu1" :label="$t('synthesis.coverage')"> |
| | | <coverage /> |
| | | </el-tab-pane> |
| | | <el-tab-pane :label='$t("synthesis.viewport")'> |
| | | <el-tab-pane v-if="menuStatus.menu2" :label="$t('synthesis.viewport')"> |
| | | <viewport /> |
| | | </el-tab-pane> |
| | | <el-tab-pane :label='$t("synthesis.wander")'> |
| | | <el-tab-pane v-if="menuStatus.menu3" :label="$t('synthesis.wander')"> |
| | | <wander /> |
| | | </el-tab-pane> |
| | | <el-tab-pane :label='$t("synthesis.analyse")'> |
| | | <el-tab-pane v-if="menuStatus.menu4" :label="$t('synthesis.analyse')"> |
| | | <analyse /> |
| | | </el-tab-pane> |
| | | <el-tab-pane :label='$t("synthesis.iqyery")'> |
| | | <el-tab-pane v-if="menuStatus.menu5" :label="$t('synthesis.iqyery')"> |
| | | <iqyery /> |
| | | </el-tab-pane> |
| | | <el-tab-pane :label='$t("synthesis.orientation")'> |
| | | <el-tab-pane v-if="menuStatus.menu6" :label="$t('synthesis.orientation')"> |
| | | <orientation /> |
| | | </el-tab-pane> |
| | | <el-tab-pane :label='$t("synthesis.measurement")'> |
| | | <el-tab-pane v-if="menuStatus.menu7" :label="$t('synthesis.measurement')"> |
| | | <measurement /> |
| | | </el-tab-pane> |
| | | <el-tab-pane :label='$t("synthesis.plotting")'> |
| | | <el-tab-pane v-if="menuStatus.menu8" :label="$t('synthesis.plotting')"> |
| | | <plotting /> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | |
| | | </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 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, |
| | |
| | | return { |
| | | iframeSrc: null, |
| | | messageName: null, |
| | | permsId: null, |
| | | menuStatus: { |
| | | menu1: false, |
| | | menu2: false, |
| | | menu3: false, |
| | | menu4: false, |
| | | menu5: false, |
| | | menu6: false, |
| | | menu7: false, |
| | | menu8: false, |
| | | }, |
| | | }; |
| | | }, |
| | | watch: {}, |
| | | methods: { |
| | | tepostmessage(res) { |
| | | const msg = { |
| | | message: "changeTool", |
| | | message: 'changeTool', |
| | | data: res, |
| | | }; |
| | | document |
| | | .getElementById("sunIframe") |
| | | .getElementById('sunIframe') |
| | | .contentWindow.postMessage(msg, this.iframeSrc); |
| | | }, |
| | | showMenuChange(res, result) { |
| | | var permsId = res.id; |
| | | this.$store.state.syntiesis.menu = res.id; |
| | | for (var i = 0; i < result.length; i++) { |
| | | if (result[i].pid == permsId) { |
| | | this.showMenuStatus(result[i]); |
| | | } |
| | | } |
| | | }, |
| | | showMenuStatus(res) { |
| | | switch (res.cnName) { |
| | | case '图层': |
| | | this.menuStatus.menu1 = true; |
| | | break; |
| | | case '视图': |
| | | this.menuStatus.menu2 = true; |
| | | break; |
| | | case '漫游': |
| | | this.menuStatus.menu3 = true; |
| | | break; |
| | | case '分析': |
| | | this.menuStatus.menu4 = true; |
| | | break; |
| | | case '查询': |
| | | this.menuStatus.menu5 = true; |
| | | break; |
| | | case '定位': |
| | | this.menuStatus.menu6 = true; |
| | | break; |
| | | case '测量': |
| | | this.menuStatus.menu7 = true; |
| | | break; |
| | | case '标绘': |
| | | this.menuStatus.menu8 = true; |
| | | break; |
| | | } |
| | | }, |
| | | getPermsMenu() { |
| | | let val; |
| | | if (this.$store.state.currentPerms) { |
| | | val = this.$store.state.currentPerms; |
| | | } else { |
| | | val = '/comprehensive'; |
| | | } |
| | | var permsEntity = this.$store.state.permsEntity; |
| | | if (permsEntity.length == 0) { |
| | | getPerms().then((res) => { |
| | | if (res.code == 200) permsEntity = res.result; |
| | | this.$store.state.permsEntity = permsEntity; |
| | | }); |
| | | } |
| | | |
| | | for (var i = 0; i < permsEntity.length; i++) { |
| | | if (permsEntity[i].perms == val) { |
| | | this.showMenuChange(permsEntity[i], permsEntity); |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | mounted() { |
| | | //this.messageName = this.$store.state.teNmme; |
| | | this.$bus.$on("changetool", (e) => { |
| | | |
| | | this.$bus.$on('changetool', (e) => { |
| | | this.tepostmessage(e); |
| | | }); |
| | | }, |
| | | created() {}, |
| | | created() { |
| | | this.getPermsMenu(); |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | </div> |
| | | <div class="div_li">{{ $t(item.name) }}</div> |
| | | </li> |
| | | <li v-if="analyStatus.upload" style="margin-left: 20px"> |
| | | <div class="divli"> |
| | | <div class="backimge5"><i class="el-icon-upload2"></i></div> |
| | | </div> |
| | | <div class="div_li">上传</div> |
| | | </li> |
| | | <li v-if="analyStatus.download" style="margin-left: 20px"> |
| | | <div class="divli"> |
| | | <div class="backimge5"><i class="el-icon-download"></i></div> |
| | | </div> |
| | | <div class="div_li">下载</div> |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | </template> |
| | |
| | | }, |
| | | ], |
| | | rel_name: null, |
| | | analyStatus: { |
| | | upload: false, |
| | | download: false, |
| | | }, |
| | | }; |
| | | }, |
| | | created() { |
| | | var cover_Id = this.$store.state.syntiesis.menu; |
| | | var cover_perms = this.$store.state.permsEntity; |
| | | |
| | | for (var i = 0; i < cover_perms.length; i++) { |
| | | if (cover_perms[i].pid == cover_Id) { |
| | | this.showViewMenu(cover_perms[i]); |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | showViewMenu(res) { |
| | | if (res.cnName != '查询') return; |
| | | console.log('查询', res.tag); |
| | | switch (res.tag) { |
| | | case '/upload': |
| | | this.analyStatus.upload = true; |
| | | break; |
| | | case '/download': |
| | | this.analyStatus.download = true; |
| | | break; |
| | | } |
| | | }, |
| | | changeIquery(res) { |
| | | if (res.id == '7') { |
| | | this.getQueryFile(); |
| | |
| | | .e7 { |
| | | background: url('../../assets/img/synthesis/图层 24.png') no-repeat center; |
| | | } |
| | | |
| | | .divli { |
| | | width: 100%; |
| | | height: 50%; |
| | | position: relative; |
| | | } |
| | | .backimge5 { |
| | | width: 30px; |
| | | height: 30px; |
| | |
| | | background-size: 100% 100%; |
| | | margin: 0% 30%; |
| | | } |
| | | .divli { |
| | | width: 100%; |
| | | height: 50%; |
| | | position: relative; |
| | | .backimgex { |
| | | width: 30px; |
| | | height: 30px; |
| | | margin-left: 25px; |
| | | position: absolute; |
| | | background-size: 100% 100%; |
| | | margin: 0% 30%; |
| | | } |
| | | </style> |
| | |
| | | ], |
| | | }; |
| | | }, |
| | | created() { |
| | | var cover_Id = this.$store.state.syntiesis.menu; |
| | | var cover_perms = this.$store.state.permsEntity; |
| | | |
| | | for (var i = 0; i < cover_perms.length; i++) { |
| | | if (cover_perms[i].pid == cover_Id) { |
| | | this.showViewMenu(cover_perms[i]); |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | showViewMenu(res) { |
| | | if (res.cnName != '测量') return; |
| | | console.log('测量', res.tag); |
| | | }, |
| | | clearMeasure(id) { |
| | | if (id) { |
| | | let data = this.measureData.get(id); |
| | |
| | | ], |
| | | }; |
| | | }, |
| | | created() { |
| | | var cover_Id = this.$store.state.syntiesis.menu; |
| | | var cover_perms = this.$store.state.permsEntity; |
| | | |
| | | for (var i = 0; i < cover_perms.length; i++) { |
| | | if (cover_perms[i].pid == cover_Id) { |
| | | this.showViewMenu(cover_perms[i]); |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | showViewMenu(res) { |
| | | if (res.cnName != '定位') return; |
| | | console.log('定位', res.tag); |
| | | }, |
| | | changeOrietnt(res) { |
| | | var val = { |
| | | name: 'Coord', |
| | |
| | | </div> |
| | | <div class="div_li">{{ $t(item.name) }}</div> |
| | | </li> |
| | | <li v-if="plotStatus.delete" style="margin-left: 20px"> |
| | | <div class="divli"> |
| | | <div class="backimge8"><i class="el-icon-delete"></i></div> |
| | | </div> |
| | | <div class="div_li">删除</div> |
| | | </li> |
| | | <li v-if="plotStatus.upload" style="margin-left: 20px"> |
| | | <div class="divli"> |
| | | <div class="backimge8"><i class="el-icon-upload2"></i></div> |
| | | </div> |
| | | <div class="div_li">上传</div> |
| | | </li> |
| | | <li v-if="plotStatus.upload" style="margin-left: 20px"> |
| | | <div class="divli"> |
| | | <div class="backimge8"><i class="el-icon-plus"></i></div> |
| | | </div> |
| | | <div class="div_li">新增</div> |
| | | </li> |
| | | <li v-if="plotStatus.upload" style="margin-left: 20px"> |
| | | <div class="divli"> |
| | | <div class="backimge8"><i class="el-icon-edit"></i></div> |
| | | </div> |
| | | <div class="div_li">修改</div> |
| | | </li> |
| | | </ul> |
| | | <terrainDig ref="terrainDig" /> |
| | | <modelPress ref="modelPress" /> |
| | |
| | | components: { terrainDig, modelPress }, |
| | | data() { |
| | | return { |
| | | plotStatus: { |
| | | delete: false, |
| | | upload: false, |
| | | insert: false, |
| | | update: false, |
| | | }, |
| | | itemsOne: [ |
| | | { |
| | | id: '1', |
| | |
| | | ], |
| | | }; |
| | | }, |
| | | created() { |
| | | var cover_Id = this.$store.state.syntiesis.menu; |
| | | var cover_perms = this.$store.state.permsEntity; |
| | | |
| | | for (var i = 0; i < cover_perms.length; i++) { |
| | | if (cover_perms[i].pid == cover_Id) { |
| | | this.showViewMenu(cover_perms[i]); |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | showViewMenu(res) { |
| | | if (res.cnName != '标绘') return; |
| | | switch (res.tag) { |
| | | case '/delete': |
| | | this.plotStatus.delete = true; |
| | | break; |
| | | case '/upload': |
| | | this.plotStatus.upload = true; |
| | | break; |
| | | case '/insert': |
| | | this.plotStatus.insert = true; |
| | | break; |
| | | case '/update': |
| | | this.plotStatus.update = true; |
| | | break; |
| | | } |
| | | }, |
| | | changePlot(res) { |
| | | switch (res.id) { |
| | | case '1': |
| | |
| | | ], |
| | | }; |
| | | }, |
| | | created() { |
| | | var cover_Id = this.$store.state.syntiesis.menu; |
| | | var cover_perms = this.$store.state.permsEntity; |
| | | |
| | | for (var i = 0; i < cover_perms.length; i++) { |
| | | if (cover_perms[i].pid == cover_Id) { |
| | | this.showViewMenu(cover_perms[i]); |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | showViewMenu(res) { |
| | | if (res.cnName != '视图') return; |
| | | console.log('视图', res.tag); |
| | | }, |
| | | changeview(res) { |
| | | switch (res.id) { |
| | | case '1': |
| | |
| | | ], |
| | | }; |
| | | }, |
| | | created() { |
| | | var cover_Id = this.$store.state.syntiesis.menu; |
| | | var cover_perms = this.$store.state.permsEntity; |
| | | |
| | | for (var i = 0; i < cover_perms.length; i++) { |
| | | if (cover_perms[i].pid == cover_Id) { |
| | | this.showViewMenu(cover_perms[i]); |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | showViewMenu(res) { |
| | | if (res.cnName != '漫游') return; |
| | | console.log('漫游', res.tag); |
| | | }, |
| | | changeWander(res) { |
| | | // var res_val = { |
| | | // url: "", |
| | | // name: res.name, |
| | | // }; |
| | | // this.$bus.$emit("changetool", res_val); |
| | | switch (res.id) { |
| | | case '1': |
| | | window.sgworld.Analysis.setPointFly(); |
| | |
| | | <el-card style="height: 100%"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="6"> |
| | | <div class="th_title">{{ $t("themaic.name") }}</div> |
| | | <div class="th_title">{{ $t('themaic.name') }}</div> |
| | | </el-col> |
| | | <el-col :span="4" :offset="14"> |
| | | <el-input |
| | |
| | | <el-row> |
| | | <el-col :span="5"> |
| | | <label style="margin-right: 10px" |
| | | >{{ $t("themaic.maptltle") }}:</label |
| | | >{{ $t('themaic.maptltle') }}:</label |
| | | > |
| | | <el-select |
| | | v-model="selvalue" |
| | |
| | | <el-col :span="3"> |
| | | <div style="margin-top: 5px"> |
| | | <label style="margin-right: 10px" |
| | | >{{ $t("themaic.sortbytime") }}:</label |
| | | >{{ $t('themaic.sortbytime') }}:</label |
| | | > |
| | | |
| | | <i |
| | |
| | | <el-col :span="3"> |
| | | <div style="margin-top: 5px"> |
| | | <label style="margin-right: 10px" |
| | | >{{ $t("themaic.sortbyviews") }}:</label |
| | | >{{ $t('themaic.sortbyviews') }}:</label |
| | | > |
| | | |
| | | <i |
| | |
| | | <el-col :span="10"> </el-col> |
| | | <el-col :span="3"> |
| | | <div style="margin-top: 5px"> |
| | | {{ $t("themaic.find") }} |
| | | {{ $t('themaic.find') }} |
| | | <label style="magin: 0% 15px">{{ listcount }}</label> |
| | | {{ $t("themaic.record") }} |
| | | {{ $t('themaic.record') }} |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import mapView from "@/components/mapviewTwo"; |
| | | import mapView from '@/components/mapviewTwo'; |
| | | export default { |
| | | components: { |
| | | mapView, |
| | |
| | | data() { |
| | | return { |
| | | dialogVisible: false, |
| | | input3: "", |
| | | input3: '', |
| | | listcount: 7, |
| | | checkindex: 1, |
| | | timeindex: 1, |
| | | pagesize: 10, |
| | | selvalue: "全部", |
| | | selvalue: '全部', |
| | | |
| | | middleList: [ |
| | | { |
| | | index: "1", |
| | | name: "管道基础数据专题图", |
| | | time: "2022-07-10", |
| | | count: "28", |
| | | url: require("../../assets/img/themic/a1.jpg"), |
| | | pop: "/LFWeb/content/right/xxtj/xxtj1.html", |
| | | index: '1', |
| | | name: '管道基础数据专题图', |
| | | time: '2022-07-10', |
| | | count: '28', |
| | | url: require('../../assets/img/themic/a1.jpg'), |
| | | pop: '/LFWeb/content/right/xxtj/xxtj1.html', |
| | | }, |
| | | { |
| | | index: "2", |
| | | name: "用户使用情况专题图", |
| | | time: "2022-07-22", |
| | | count: "6", |
| | | url: require("../../assets/img/themic/a2.jpg"), |
| | | pop: "/LFWeb/content/right/xxtj/xxtj2.html", |
| | | index: '2', |
| | | name: '用户使用情况专题图', |
| | | time: '2022-07-22', |
| | | count: '6', |
| | | url: require('../../assets/img/themic/a2.jpg'), |
| | | pop: '/LFWeb/content/right/xxtj/xxtj2.html', |
| | | }, |
| | | { |
| | | index: "3", |
| | | name: "项目基本情况专题图", |
| | | time: "2022-06-25", |
| | | count: "23", |
| | | url: require("../../assets/img/themic/a3.jpg"), |
| | | pop: "/LFWeb/content/right/xxtj/xxtj3.html", |
| | | index: '3', |
| | | name: '项目基本情况专题图', |
| | | time: '2022-06-25', |
| | | count: '23', |
| | | url: require('../../assets/img/themic/a3.jpg'), |
| | | pop: '/LFWeb/content/right/xxtj/xxtj3.html', |
| | | }, |
| | | { |
| | | index: "4", |
| | | name: "项目进度管理专题图", |
| | | time: "2022-07-17", |
| | | count: "15", |
| | | url: require("../../assets/img/themic/a4.jpg"), |
| | | pop: "/LFWeb/content/right/xxtj/xxtj4.html", |
| | | index: '4', |
| | | name: '项目进度管理专题图', |
| | | time: '2022-07-17', |
| | | count: '15', |
| | | url: require('../../assets/img/themic/a4.jpg'), |
| | | pop: '/LFWeb/content/right/xxtj/xxtj4.html', |
| | | }, |
| | | { |
| | | index: "5", |
| | | name: "全球项目分布专题图", |
| | | time: "2022-07-20", |
| | | count: "7", |
| | | url: require("../../assets/img/themic/a5.jpg"), |
| | | pop: "/LFWeb/content/right/xxtj/xxtj5.html", |
| | | index: '5', |
| | | name: '全球项目分布专题图', |
| | | time: '2022-07-20', |
| | | count: '7', |
| | | url: require('../../assets/img/themic/a5.jpg'), |
| | | pop: '/LFWeb/content/right/xxtj/xxtj5.html', |
| | | }, |
| | | { |
| | | index: "6", |
| | | name: "全国管网分布专题图", |
| | | time: "2022-07-26", |
| | | count: "5", |
| | | url: require("../../assets/img/themic/a6.jpg"), |
| | | pop: "/LFWeb/content/right/xxtj/xxtj5.html", |
| | | }, { |
| | | index: "7", |
| | | name: "全国项目足迹专题图", |
| | | time: "2022-06-30", |
| | | count: "10", |
| | | url: require("../../assets/img/themic/a7.jpg"), |
| | | pop: "/LFWeb/content/right/xxtj/xxtj5.html", |
| | | index: '6', |
| | | name: '全国管网分布专题图', |
| | | time: '2022-07-26', |
| | | count: '5', |
| | | url: require('../../assets/img/themic/a6.jpg'), |
| | | pop: '/LFWeb/content/right/xxtj/xxtj5.html', |
| | | }, |
| | | { |
| | | index: '7', |
| | | name: '全国项目足迹专题图', |
| | | time: '2022-06-30', |
| | | count: '10', |
| | | url: require('../../assets/img/themic/a7.jpg'), |
| | | pop: '/LFWeb/content/right/xxtj/xxtj5.html', |
| | | }, |
| | | ], |
| | | options: [ |
| | | { |
| | | value: "全部", |
| | | label: "全部", |
| | | value: '全部', |
| | | label: '全部', |
| | | }, |
| | | ], |
| | | typeIndex: "", |
| | | typeIndex: '', |
| | | }; |
| | | }, |
| | | mounted() { |
| | | |
| | | mounted() {}, |
| | | created() { |
| | | var val = this.$store.state.currentPerms; |
| | | var permsEntity = this.$store.state.permsEntity; |
| | | for (var i = 0; i < permsEntity.length; i++) { |
| | | if (permsEntity[i].perms == val) { |
| | | // this.showMenuChange(permsEntity[i], permsEntity); |
| | | console.log('专题图', permsEntity[i]); |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | close() { |
| | | this.$confirm("确认关闭?") |
| | | this.$confirm('确认关闭?') |
| | | .then((_) => { |
| | | this.dialogVisible = false; |
| | | }) |
| | |
| | | console.log(`当前页: ${val}`); |
| | | }, |
| | | handleClose(done) { |
| | | this.$confirm("确认关闭?") |
| | | this.$confirm('确认关闭?') |
| | | .then((_) => { |
| | | done(); |
| | | }) |
| | |
| | | showThematic(res) { |
| | | this.typeIndex = res.index; |
| | | this.dialogVisible = true; |
| | | |
| | | |
| | | |
| | | // var url = "http://localhost/" + res.pop; |
| | | // window.open( |
| | |
| | | <span>{{ node.label }}</span> |
| | | <span class="btnBox"> |
| | | <el-button |
| | | v-if="menuStatus.insert" |
| | | type="text" |
| | | size="mini" |
| | | @click="() => append(node, data)" |
| | |
| | | <i class="el-icon-circle-plus"></i> |
| | | </el-button> |
| | | <el-button |
| | | v-if="menuStatus.delete" |
| | | type="text" |
| | | size="mini" |
| | | @click="() => remove(node, data)" |
| | |
| | | <el-form-item label="备注" :label-width="formLabelWidth"> |
| | | <el-input v-model="itemdetail.bak" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | <div class="btnBox"> |
| | | <div class="btnBox" v-if="menuStatus.update"> |
| | | <el-button type="primary" @click="updMenu('itemdetail')" |
| | | >保存</el-button |
| | | > |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import MyBread from "../../components/MyBread.vue"; |
| | | import MyBread from '../../components/MyBread.vue'; |
| | | import { |
| | | queryMenuTree, |
| | | updateMenuTree, |
| | |
| | | queryMaxId, |
| | | insertMenu, |
| | | deleteMenu, |
| | | } from "../../api/api"; |
| | | } from '../../api/api'; |
| | | export default { |
| | | //import引入的组件需要注入到对象中才能使用 |
| | | components: { |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | menuStatus: { |
| | | delete: false, |
| | | insert: false, |
| | | update: false, |
| | | }, |
| | | defaultProps: { |
| | | children: "children", |
| | | label: "cnName", |
| | | children: 'children', |
| | | label: 'cnName', |
| | | }, |
| | | fullscreenLoading: false, |
| | | oriData: [], //原始树数据 |
| | |
| | | old_dirDat: [], //el树数据(拖动前) |
| | | newData: [], //拖动后原始数据 |
| | | itemdetail: { |
| | | cnName: "", |
| | | enName: "", |
| | | cnName: '', |
| | | enName: '', |
| | | icon: null, |
| | | isShow: null, |
| | | perms: null, |
| | | url: "", |
| | | url: '', |
| | | type: null, |
| | | bak: "", |
| | | bak: '', |
| | | }, |
| | | backUpData: "", |
| | | formLabelWidth: "130px", |
| | | delChildID: "", |
| | | backUpData: '', |
| | | formLabelWidth: '130px', |
| | | delChildID: '', |
| | | delChildIDs: [], |
| | | dialogFormVisible: false, |
| | | ruleForm: { |
| | | level: null, |
| | | orderNum: null, |
| | | pid: null, |
| | | enName: "", |
| | | cnName: "", |
| | | icon: "", |
| | | enName: '', |
| | | cnName: '', |
| | | icon: '', |
| | | isShow: null, |
| | | url: "", |
| | | url: '', |
| | | perms: null, |
| | | type: null, |
| | | bak: "", |
| | | bak: '', |
| | | }, |
| | | rules: { |
| | | enName: [ |
| | | { required: true, message: "请输入英文名称", trigger: "blur" }, |
| | | { required: true, message: '请输入英文名称', trigger: 'blur' }, |
| | | ], |
| | | cnName: [ |
| | | { required: true, message: "请输入中文名称", trigger: "blur" }, |
| | | { required: true, message: '请输入中文名称', trigger: 'blur' }, |
| | | ], |
| | | |
| | | isShow: [ |
| | | { |
| | | required: true, |
| | | message: "请选择是否显示", |
| | | trigger: "change", |
| | | message: '请选择是否显示', |
| | | trigger: 'change', |
| | | }, |
| | | ], |
| | | type: [ |
| | | { |
| | | required: true, |
| | | message: "请选择节点类型", |
| | | trigger: "change", |
| | | message: '请选择节点类型', |
| | | trigger: 'change', |
| | | }, |
| | | ], |
| | | }, |
| | |
| | | options1: [ |
| | | { |
| | | value: 0, |
| | | label: "隐藏", |
| | | label: '隐藏', |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "显示", |
| | | label: '显示', |
| | | }, |
| | | ], |
| | | options2: [ |
| | | { |
| | | value: 0, |
| | | label: "根目录", |
| | | label: '根目录', |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "菜单", |
| | | label: '菜单', |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: "按钮", |
| | | label: '按钮', |
| | | }, |
| | | ], |
| | | }; |
| | |
| | | this.oriData = res.result; |
| | | this.newData = res.result; |
| | | } else { |
| | | console.log("接口报错"); |
| | | console.log('接口报错'); |
| | | } |
| | | }); |
| | | }, |
| | |
| | | return cloneData.filter((father) => { |
| | | // 循环所有项 |
| | | let branchArr = cloneData.filter((child) => father.id == child.pid); // 对比ID,分别上下级菜单,并返回数据 |
| | | branchArr.length > 0 ? (father.children = branchArr) : ""; // 给父级添加一个children属性,并赋值 |
| | | branchArr.length > 0 ? (father.children = branchArr) : ''; // 给父级添加一个children属性,并赋值 |
| | | return father.pid == 0; // 返回一级菜单 |
| | | }); |
| | | }, |
| | |
| | | this.fullscreenLoading = false; |
| | | if (res.code == 200) { |
| | | this.$message({ |
| | | message: "添加成功", |
| | | type: "success", |
| | | message: '添加成功', |
| | | type: 'success', |
| | | }); |
| | | this.getMenuTree(); |
| | | this.itemdetail = {}; |
| | |
| | | }) |
| | | .catch((res) => { |
| | | this.itemdetail = {}; |
| | | this.$message.error("添加失败"); |
| | | this.$message.error('添加失败'); |
| | | this.fullscreenLoading = false; |
| | | console.log(res); |
| | | }); |
| | |
| | | }); |
| | | }, |
| | | remove(node, data) { |
| | | this.$confirm("此操作将删除该节点, 是否继续?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | this.$confirm('此操作将删除该节点, 是否继续?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | }) |
| | | .then(() => { |
| | | //兄弟重新排序 |
| | |
| | | .then((res) => { |
| | | if (res[0].code == 200 && res[1].code == 200) { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "删除成功!", |
| | | type: 'success', |
| | | message: '删除成功!', |
| | | }); |
| | | this.getMenuTree(); |
| | | this.itemdetail = {}; |
| | | } else if (res[0].code == 200) { |
| | | this.getMenuTree(); |
| | | this.$message.error("删除成功,位置调整失败"); |
| | | this.$message.error('删除成功,位置调整失败'); |
| | | } else if (res[1].code == 200) { |
| | | this.getMenuTree(); |
| | | this.$message.error("删除失败,位置调整成功"); |
| | | this.$message.error('删除失败,位置调整成功'); |
| | | } else { |
| | | this.$message.error("删除失败"); |
| | | this.$message.error('删除失败'); |
| | | } |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: "error", |
| | | message: "删除失败", |
| | | type: 'error', |
| | | message: '删除失败', |
| | | }); |
| | | }); |
| | | |
| | |
| | | this.delChildIDs = []; |
| | | }) |
| | | .catch(() => { |
| | | this.$message("已取消删除"); |
| | | this.$message('已取消删除'); |
| | | }); |
| | | }, |
| | | traverseArr(obj) { |
| | |
| | | this.old_dirDat = JSON.parse(JSON.stringify(this.menuList)); //将备份的dir重新赋值 |
| | | }, |
| | | handleDrop(draggingNode, dropNode, dropType, ev) { |
| | | this.$confirm("此操作将保存目录更改, 是否继续?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | this.$confirm('此操作将保存目录更改, 是否继续?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | }) |
| | | .then(() => { |
| | | //父节点 |
| | | let data = dropType != "inner" ? dropNode.parent.data : dropNode.data; |
| | | let data = dropType != 'inner' ? dropNode.parent.data : dropNode.data; |
| | | // 父节点中全部子节点 |
| | | let nodeData = |
| | | dropNode.level == 1 && dropType != "inner" ? data : data.children; |
| | | dropNode.level == 1 && dropType != 'inner' ? data : data.children; |
| | | //变更节点 |
| | | // console.log(nodeData); |
| | | nodeData.forEach((item, i) => { |
| | | if (dropType != "inner") { |
| | | if (dropType != 'inner') { |
| | | if (draggingNode.data.pid === dropNode.data.pid) { |
| | | item.pid = item.pid; |
| | | } else { |
| | |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: "info", |
| | | message: "已取消更改", |
| | | type: 'info', |
| | | message: '已取消更改', |
| | | }); |
| | | this.menuList = this.old_dirDat; //将备份的dir重新赋值 |
| | | }); |
| | |
| | | this.getMenuTree(); |
| | | return; |
| | | } else { |
| | | alert("调整失败,请重试!"); |
| | | alert('调整失败,请重试!'); |
| | | } |
| | | }) |
| | | .catch(() => { |
| | | alert("修改失败,请重试!"); |
| | | alert('修改失败,请重试!'); |
| | | }); |
| | | }, |
| | | handleNodeClick(data) { |
| | |
| | | }, 500); |
| | | }) |
| | | .catch((res) => { |
| | | alert("修改失败,请重试!"); |
| | | alert('修改失败,请重试!'); |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | } else { |
| | |
| | | }, |
| | | reset(formName) { |
| | | this.$refs[formName].resetFields(); |
| | | if (this.backUpData != "") { |
| | | if (this.backUpData != '') { |
| | | this.itemdetail = JSON.parse(this.backUpData); |
| | | } |
| | | }, |
| | | showPermsMenu(res) { |
| | | switch (res.tag) { |
| | | case '/delete': |
| | | this.menuStatus.delete = true; |
| | | break; |
| | | case '/insert': |
| | | this.menuStatus.insert = true; |
| | | break; |
| | | case '/update': |
| | | this.menuStatus.update = true; |
| | | break; |
| | | } |
| | | }, |
| | | }, |
| | | mounted() { |
| | | this.getMenuTree(); |
| | | }, |
| | | created() { |
| | | var val = this.$store.state.currentPerms; |
| | | var permsEntity = this.$store.state.permsEntity; |
| | | for (var i = 0; i < permsEntity.length; i++) { |
| | | if (permsEntity[i].perms == val) { |
| | | this.showPermsMenu(permsEntity[i]); |
| | | } |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | |
| | | type="info" |
| | | >{{ $t('common.empty') }}</el-button |
| | | > |
| | | <el-button |
| | | <el-button v-if="menuStatus.insert" |
| | | @click="InsertFormdialog = true" |
| | | icon="el-icon-edit" |
| | | type="success" |
| | | >{{ $t('common.append') }}</el-button |
| | | > |
| | | <el-button |
| | | <el-button v-if="menuStatus.delete" |
| | | @click="DelFromData" |
| | | icon="el-icon-delete" |
| | | type="danger" |
| | |
| | | size="small" |
| | | >{{ $t('common.see') }}</el-button |
| | | > |
| | | <el-button |
| | | <el-button v-if="menuStatus.update" |
| | | @click="handleEdit(scope.$index, scope.row)" |
| | | type="warning" |
| | | size="small" |
| | |
| | | components: { MyBread }, |
| | | data() { |
| | | return { |
| | | menuStatus: { |
| | | delete: false, |
| | | insert: false, |
| | | update: false, |
| | | }, |
| | | formLabelWidth: '100px', |
| | | ruleForm: {}, |
| | | isTransfer: false, |
| | |
| | | label: 'label', |
| | | }, |
| | | created() { |
| | | var val = this.$store.state.currentPerms; |
| | | var permsEntity = this.$store.state.permsEntity; |
| | | for (var i = 0; i < permsEntity.length; i++) { |
| | | if (permsEntity[i].perms == val) { |
| | | this.showPermsMenu(permsEntity[i]); |
| | | |
| | | } |
| | | } |
| | | this.getRoleTabelData(); |
| | | }, |
| | | methods: { |
| | | showPermsMenu(res) { |
| | | switch (res.tag) { |
| | | case '/delete': |
| | | this.menuStatus.delete = true; |
| | | break; |
| | | case '/insert': |
| | | this.menuStatus.insert = true; |
| | | break; |
| | | case '/update': |
| | | this.menuStatus.update = true; |
| | | break; |
| | | } |
| | | }, |
| | | async DelFromData(){ |
| | | var std = []; |
| | | for (var i in this.multipleSelection) { |
| | |
| | | <span>{{ node.label }}</span> |
| | | <span class="btnBox"> |
| | | <el-button |
| | | v-if="menuStatus.insert" |
| | | type="text" |
| | | size="mini" |
| | | @click="() => append(node, data)" |
| | |
| | | <i class="el-icon-circle-plus"></i> |
| | | </el-button> |
| | | <el-button |
| | | v-if="menuStatus.delete" |
| | | type="text" |
| | | size="mini" |
| | | @click="() => remove(node, data)" |
| | |
| | | <el-form-item label="备注" :label-width="formLabelWidth"> |
| | | <el-input v-model="itemdetail.bak" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | <div class="btnBox"> |
| | | <div class="btnBox" v-if="menuStatus.update"> |
| | | <el-button type="primary" @click="updDep('itemdetail')" |
| | | >保存</el-button |
| | | > |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import MyBread from "../../components/MyBread.vue"; |
| | | import MyBread from '../../components/MyBread.vue'; |
| | | import { |
| | | queryDepTree, |
| | | updateDepTree, |
| | |
| | | queryMaxId, |
| | | insertDep, |
| | | deleteDep, |
| | | } from "../../api/api"; |
| | | } from '../../api/api'; |
| | | export default { |
| | | //import引入的组件需要注入到对象中才能使用 |
| | | components: { |
| | |
| | | }, |
| | | data() { |
| | | let validName = (rule, value, callback) => { |
| | | if (value === "" || value === null || value === undefined) { |
| | | return callback(new Error("名称不能为空")); |
| | | if (value === '' || value === null || value === undefined) { |
| | | return callback(new Error('名称不能为空')); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }; |
| | | return { |
| | | menuStatus: { |
| | | delete: false, |
| | | insert: false, |
| | | update: false, |
| | | }, |
| | | defaultProps: { |
| | | children: "children", |
| | | label: "name", |
| | | children: 'children', |
| | | label: 'name', |
| | | }, |
| | | fullscreenLoading: false, |
| | | oriData: [], //原始树数据 |
| | |
| | | old_depData: [], //el树数据(拖动前) |
| | | newData: [], //拖动后原始数据 |
| | | itemdetail: { |
| | | addr: "", |
| | | bak: "", |
| | | code: "", |
| | | contact: "", |
| | | email: "", |
| | | fax: "", |
| | | name: "", |
| | | post: "", |
| | | sname: "", |
| | | uncode: "", |
| | | website: "", |
| | | addr: '', |
| | | bak: '', |
| | | code: '', |
| | | contact: '', |
| | | email: '', |
| | | fax: '', |
| | | name: '', |
| | | post: '', |
| | | sname: '', |
| | | uncode: '', |
| | | website: '', |
| | | }, |
| | | backUpData: "", |
| | | formLabelWidth: "130px", |
| | | delChildID: "", |
| | | backUpData: '', |
| | | formLabelWidth: '130px', |
| | | delChildID: '', |
| | | delChildIDs: [], |
| | | dialogFormVisible: false, |
| | | ruleForm: { |
| | | level: null, |
| | | orderNum: null, |
| | | pid: null, |
| | | addr: "", |
| | | bak: "", |
| | | code: "", |
| | | contact: "", |
| | | email: "", |
| | | fax: "", |
| | | name: "", |
| | | post: "", |
| | | sname: "", |
| | | uncode: "", |
| | | website: "", |
| | | addr: '', |
| | | bak: '', |
| | | code: '', |
| | | contact: '', |
| | | email: '', |
| | | fax: '', |
| | | name: '', |
| | | post: '', |
| | | sname: '', |
| | | uncode: '', |
| | | website: '', |
| | | }, |
| | | rules: { |
| | | name: [{ required: true, validator: validName, trigger: "blur" }], |
| | | name: [{ required: true, validator: validName, trigger: 'blur' }], |
| | | }, |
| | | }; |
| | | }, |
| | |
| | | } else { |
| | | this.$notify.error({ |
| | | title: res.code, |
| | | message: "无法获取单位列表", |
| | | message: '无法获取单位列表', |
| | | }); |
| | | } |
| | | }); |
| | |
| | | return cloneData.filter((father) => { |
| | | // 循环所有项 |
| | | let branchArr = cloneData.filter((child) => father.id == child.pid); // 对比ID,分别上下级菜单,并返回数据 |
| | | branchArr.length > 0 ? (father.children = branchArr) : ""; // 给父级添加一个children属性,并赋值 |
| | | branchArr.length > 0 ? (father.children = branchArr) : ''; // 给父级添加一个children属性,并赋值 |
| | | return father.pid == 0; // 返回一级菜单 |
| | | }); |
| | | }, |
| | |
| | | this.fullscreenLoading = false; |
| | | if (res.code == 200) { |
| | | this.$message({ |
| | | message: "添加成功", |
| | | type: "success", |
| | | message: '添加成功', |
| | | type: 'success', |
| | | }); |
| | | this.getMenuTree(); |
| | | this.itemdetail = {}; |
| | |
| | | }) |
| | | .catch((res) => { |
| | | this.itemdetail = {}; |
| | | this.$message.error("添加失败"); |
| | | this.$message.error('添加失败'); |
| | | this.fullscreenLoading = false; |
| | | console.log(res); |
| | | }); |
| | |
| | | }); |
| | | }, |
| | | remove(node, data) { |
| | | this.$confirm("此操作将删除该节点, 是否继续?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | this.$confirm('此操作将删除该节点, 是否继续?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | }) |
| | | .then(() => { |
| | | //兄弟重新排序 |
| | |
| | | console.log(res); |
| | | if (res[0].code == 200 && res[1].code == 200) { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "删除成功!", |
| | | type: 'success', |
| | | message: '删除成功!', |
| | | }); |
| | | this.getMenuTree(); |
| | | this.itemdetail = {}; |
| | | } else if (res[0].code == 200) { |
| | | this.getMenuTree(); |
| | | this.$message.error("删除成功,位置调整失败"); |
| | | this.$message.error('删除成功,位置调整失败'); |
| | | } else if (res[1].code == 200) { |
| | | this.getMenuTree(); |
| | | this.$message.error("删除失败,位置调整成功"); |
| | | this.$message.error('删除失败,位置调整成功'); |
| | | } else { |
| | | this.getMenuTree(); |
| | | this.$message.error("删除失败"); |
| | | this.$message.error('删除失败'); |
| | | } |
| | | }) |
| | | .catch(() => { |
| | | this.$message.error("删除失败"); |
| | | this.$message.error('删除失败'); |
| | | this.itemdetail = {}; |
| | | }); |
| | | |
| | |
| | | this.delChildIDs = []; |
| | | }) |
| | | .catch(() => { |
| | | this.$message("已取消删除"); |
| | | this.$message('已取消删除'); |
| | | }); |
| | | // this.dialogMessage="是否删除" |
| | | // this.dialogFlag = 1; |
| | |
| | | this.old_depData = JSON.parse(JSON.stringify(this.depList)); //将备份的dir重新赋值 |
| | | }, |
| | | handleDrop(draggingNode, dropNode, dropType, ev) { |
| | | this.$confirm("此操作将保存目录更改, 是否继续?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | this.$confirm('此操作将保存目录更改, 是否继续?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | }) |
| | | .then(() => { |
| | | //父节点 |
| | | let data = dropType != "inner" ? dropNode.parent.data : dropNode.data; |
| | | let data = dropType != 'inner' ? dropNode.parent.data : dropNode.data; |
| | | // 父节点中全部子节点 |
| | | let nodeData = |
| | | dropNode.level == 1 && dropType != "inner" ? data : data.children; |
| | | dropNode.level == 1 && dropType != 'inner' ? data : data.children; |
| | | //变更节点 |
| | | // console.log(nodeData); |
| | | nodeData.forEach((item, i) => { |
| | | if (dropType != "inner") { |
| | | if (dropType != 'inner') { |
| | | if (draggingNode.data.pid === dropNode.data.pid) { |
| | | item.pid = item.pid; |
| | | } else { |
| | |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: "info", |
| | | message: "已取消更改", |
| | | type: 'info', |
| | | message: '已取消更改', |
| | | }); |
| | | this.depList = this.old_depData; //将备份的dir重新赋值 |
| | | }); |
| | |
| | | this.getMenuTree(); |
| | | return; |
| | | } else { |
| | | alert("调整失败,请重试!"); |
| | | alert('调整失败,请重试!'); |
| | | } |
| | | }) |
| | | .catch(() => { |
| | | alert("修改失败,请重试!"); |
| | | alert('修改失败,请重试!'); |
| | | }); |
| | | }, |
| | | handleNodeClick(data) { |
| | |
| | | setTimeout(() => { |
| | | this.fullscreenLoading = false; |
| | | if (res.code == 200) { |
| | | this.getMenuTree() |
| | | this.getMenuTree(); |
| | | this.itemdetail = {}; |
| | | this.dialogFormVisible = false; |
| | | } |
| | | }, 500); |
| | | }) |
| | | .catch((res) => { |
| | | alert("修改失败,请重试!"); |
| | | alert('修改失败,请重试!'); |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | } else { |
| | |
| | | }, |
| | | reset() { |
| | | this.$refs[formName].resetFields(); |
| | | if (this.backUpData != "") { |
| | | if (this.backUpData != '') { |
| | | this.itemdetail = JSON.parse(this.backUpData); |
| | | } |
| | | }, |
| | | showPermsMenu(res) { |
| | | switch (res.tag) { |
| | | case '/delete': |
| | | this.menuStatus.delete = true; |
| | | break; |
| | | case '/insert': |
| | | this.menuStatus.insert = true; |
| | | break; |
| | | case '/update': |
| | | this.menuStatus.update = true; |
| | | break; |
| | | } |
| | | }, |
| | | }, |
| | | mounted() { |
| | | this.getDepTree(); |
| | | }, |
| | | created() { |
| | | var val = this.$store.state.currentPerms; |
| | | var permsEntity = this.$store.state.permsEntity; |
| | | for (var i = 0; i < permsEntity.length; i++) { |
| | | if (permsEntity[i].perms == val) { |
| | | this.showPermsMenu(permsEntity[i]); |
| | | } |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | |
| | | size="small" |
| | | >{{ $t('common.empty') }}</el-button |
| | | > |
| | | <el-button |
| | | <el-button v-if="menuStatus.insert" |
| | | @click="InsertFormdialog = true" |
| | | icon="el-icon-edit" |
| | | type="success" |
| | | size="small" |
| | | >{{ $t('common.append') }}</el-button |
| | | > |
| | | <el-button |
| | | <el-button v-if="menuStatus.delete" |
| | | @click="DelFromData" |
| | | icon="el-icon-delete" |
| | | type="danger" |
| | |
| | | size="small" |
| | | >{{ $t('common.see') }}</el-button |
| | | > |
| | | <el-button |
| | | <el-button v-if="menuStatus.update" |
| | | @click="handleEdit(scope.$index, scope.row)" |
| | | type="warning" |
| | | size="small" |
| | |
| | | style="margin-left: 10px" |
| | | ><i class="el-icon-plus"></i |
| | | ></el-link> |
| | | <el-link |
| | | <el-link v-if="menuStatus.upload" |
| | | :title="$t('common.upload')" |
| | | :underline="false" |
| | | @click="setUploadFile(1)" |
| | |
| | | components: { MyBread, styleDirTree, styleDepTree }, |
| | | data() { |
| | | return { |
| | | menuStatus: { |
| | | delete: false, |
| | | insert: false, |
| | | update: false, |
| | | upload:false, |
| | | }, |
| | | formLabelWidth: '130px', |
| | | ruleForm: {}, |
| | | isTransfer: false, |
| | |
| | | label: 'label', |
| | | }, |
| | | created() { |
| | | var val = this.$store.state.currentPerms; |
| | | var permsEntity = this.$store.state.permsEntity; |
| | | for (var i = 0; i < permsEntity.length; i++) { |
| | | if (permsEntity[i].perms == val) { |
| | | this.showPermsMenu(permsEntity[i]); |
| | | } |
| | | } |
| | | this.getRoleTabelData(); |
| | | }, |
| | | methods: { |
| | | showPermsMenu(res) { |
| | | switch (res.tag) { |
| | | case '/delete': |
| | | this.menuStatus.delete = true; |
| | | break; |
| | | case '/insert': |
| | | this.menuStatus.insert = true; |
| | | break; |
| | | case '/update': |
| | | this.menuStatus.update = true; |
| | | break; |
| | | case '/upload': |
| | | this.menuStatus.upload = true; |
| | | break; |
| | | } |
| | | }, |
| | | getIsertFile() { |
| | | $('#imageFile').click(); |
| | | }, |
| | |
| | | </el-form-item> |
| | | <br /> |
| | | <el-form-item> |
| | | <el-button @click="InsertFormdialog = true" |
| | | <el-button @click="InsertFormdialog = true" v-if="menuStatus.insert" |
| | | ><i class="el-icon-circle-plus-outline"></i> {{ |
| | | $t('userManage.RM.add') |
| | | }}</el-button |
| | |
| | | > |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button @click="handleDelete()" |
| | | <el-button @click="handleDelete()" v-if="menuStatus.delete" |
| | | ><i class="el-icon-delete"></i> {{ |
| | | $t('common.delete') |
| | | }}</el-button |
| | |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | v-if="menuStatus.update" |
| | | type="warning" |
| | | @click="handleEdit(scope.$index, scope.row)" |
| | | size="small" |
| | |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | }, |
| | | menuStatus: { |
| | | delete: false, |
| | | insert: false, |
| | | update: false, |
| | | }, |
| | | }; |
| | | }, |
| | | methods: { |
| | |
| | | this.roleForm = {}; |
| | | this.getRoleTabelData(); |
| | | }, |
| | | showPermsMenu(res) { |
| | | switch (res.tag) { |
| | | case '/delete': |
| | | this.menuStatus.delete = true; |
| | | break; |
| | | case '/insert': |
| | | this.menuStatus.insert = true; |
| | | break; |
| | | case '/update': |
| | | this.menuStatus.update = true; |
| | | break; |
| | | } |
| | | }, |
| | | }, |
| | | created() { |
| | | var val = this.$store.state.currentPerms; |
| | | var permsEntity = this.$store.state.permsEntity; |
| | | for (var i = 0; i < permsEntity.length; i++) { |
| | | if (permsEntity[i].perms == val) { |
| | | this.showPermsMenu(permsEntity[i]); |
| | | } |
| | | } |
| | | this.getRoleTabelData(); |
| | | this.getSelectDepTab(); |
| | | }, |
| | |
| | | <el-form-item> |
| | | <el-button @click="queryInfo()" |
| | | ><i class="el-icon-search"></i> {{ |
| | | $t("operatManage.ELM.search") |
| | | $t('operatManage.ELM.search') |
| | | }}</el-button |
| | | > |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button @click="resetInfo('queryForm')" |
| | | ><i class="el-icon-delete"></i> {{ |
| | | $t("operatManage.ELM.reset") |
| | | $t('operatManage.ELM.reset') |
| | | }}</el-button |
| | | > |
| | | </el-form-item> |
| | | <br /> |
| | | <el-form-item> |
| | | <el-button type="success" size="small" @click="showAddDialog" |
| | | <el-button |
| | | v-if="menuStatus.insert" |
| | | type="success" |
| | | size="small" |
| | | @click="showAddDialog" |
| | | ><i class="el-icon-plus"></i> {{ |
| | | $t("common.append") |
| | | $t('common.append') |
| | | }}</el-button |
| | | > |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="danger" size="small" @click="deleteUserInfo" |
| | | <el-button |
| | | v-if="menuStatus.delete" |
| | | type="danger" |
| | | size="small" |
| | | @click="deleteUserInfo" |
| | | ><i class="el-icon-delete"></i> {{ |
| | | $t("common.delete") |
| | | $t('common.delete') |
| | | }}</el-button |
| | | > |
| | | </el-form-item> |
| | |
| | | :label="$t('common.operate')" |
| | | width="80px" |
| | | fixed="right" |
| | | v-if="menuStatus.update" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <!-- <el-button type="primary" size="small">修改</el-button> --> |
| | |
| | | type="warning" |
| | | @click="editInfo(scope.row)" |
| | | size="mini" |
| | | >{{ $t("common.edit") }}</el-button |
| | | >{{ $t('common.edit') }}</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | |
| | | |
| | | <script> |
| | | var encrypt = new JSEncrypt(); |
| | | import { mapActions } from "vuex"; |
| | | import MyBread from "../../components/MyBread.vue"; |
| | | import { mapActions } from 'vuex'; |
| | | import MyBread from '../../components/MyBread.vue'; |
| | | import { |
| | | queryDepTree, |
| | | queryPageUser, |
| | |
| | | updateUser, |
| | | updatePwd, |
| | | selectByUserid, |
| | | } from "../../api/api"; |
| | | } from '../../api/api'; |
| | | export default { |
| | | //import引入的组件需要注入到对象中才能使用 |
| | | components: { |
| | |
| | | }, |
| | | data() { |
| | | let validName = (rule, value, callback) => { |
| | | if (value === "" || value === null || value === undefined) { |
| | | return callback(new Error("请输入密码")); |
| | | if (value === '' || value === null || value === undefined) { |
| | | return callback(new Error('请输入密码')); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }; |
| | | let validatePass = (rule, value, callback) => { |
| | | if (value === "" || value === undefined) { |
| | | callback(new Error("请再次输入密码")); |
| | | if (value === '' || value === undefined) { |
| | | callback(new Error('请再次输入密码')); |
| | | } else if (value !== this.editForm.pwd) { |
| | | callback(new Error("两次输入密码不一致!")); |
| | | callback(new Error('两次输入密码不一致!')); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }; |
| | | let resetPass = (rule, value, callback) => { |
| | | if (value === "" || value === undefined) { |
| | | callback(new Error("请再次输入密码")); |
| | | if (value === '' || value === undefined) { |
| | | callback(new Error('请再次输入密码')); |
| | | } else if (value !== this.pwdForm.newPwd) { |
| | | callback(new Error("两次输入密码不一致!")); |
| | | callback(new Error('两次输入密码不一致!')); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }; |
| | | return { |
| | | menuStatus: { |
| | | delete: false, |
| | | insert: false, |
| | | update: false, |
| | | }, |
| | | isNewUser: false, |
| | | currentPage: 1, |
| | | pageSize: 10, |
| | | pageIndex: 1, |
| | | defaultProps: { |
| | | children: "children", |
| | | label: "name", |
| | | children: 'children', |
| | | label: 'name', |
| | | }, |
| | | queryForm: { |
| | | uname: "", |
| | | uname: '', |
| | | depid: null, |
| | | depName: "", |
| | | depName: '', |
| | | }, |
| | | tableData: [], |
| | | fullscreenLoading: false, |
| | | count: 0, |
| | | formLabelWidth: "100px", |
| | | formLabelWidth: '100px', |
| | | dialogFormVisible: false, |
| | | initialForm: "", |
| | | behavior: "", |
| | | initialForm: '', |
| | | behavior: '', |
| | | multipleSelection: [], |
| | | resetPwd: false, |
| | | editForm: { |
| | | uid: "", |
| | | uname: "", |
| | | oldPwd: "", |
| | | pwd: "", |
| | | checkPass: "", |
| | | uid: '', |
| | | uname: '', |
| | | oldPwd: '', |
| | | pwd: '', |
| | | checkPass: '', |
| | | sex: null, |
| | | natives: "", |
| | | natives: '', |
| | | depid: null, |
| | | idcard: "", |
| | | job: "", |
| | | edu: "", |
| | | addr: "", |
| | | email: "", |
| | | contact: "", |
| | | idcard: '', |
| | | job: '', |
| | | edu: '', |
| | | addr: '', |
| | | email: '', |
| | | contact: '', |
| | | status: null, |
| | | bak: "", |
| | | salt: "", |
| | | bak: '', |
| | | salt: '', |
| | | }, |
| | | pwdForm: { |
| | | adminPwd: "", |
| | | newPwd: "", |
| | | checkPwd: "", |
| | | adminPwd: '', |
| | | newPwd: '', |
| | | checkPwd: '', |
| | | ids: [], |
| | | }, |
| | | treeOptions: [], |
| | | statusOpt: [ |
| | | { |
| | | value: 0, |
| | | label: "正常", |
| | | label: '正常', |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "禁用", |
| | | label: '禁用', |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: "删除", |
| | | label: '删除', |
| | | }, |
| | | { |
| | | value: 3, |
| | | label: "申请", |
| | | label: '申请', |
| | | }, |
| | | { |
| | | value: 4, |
| | | label: "拒批", |
| | | label: '拒批', |
| | | }, |
| | | ], |
| | | depList: [], |
| | | sexOpt: [ |
| | | { |
| | | value: 0, |
| | | label: "女", |
| | | label: '女', |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "男", |
| | | label: '男', |
| | | }, |
| | | { |
| | | value: -1, |
| | | label: "未知", |
| | | label: '未知', |
| | | }, |
| | | ], |
| | | rules: { |
| | | uid: [ |
| | | { required: true, validator: validName, trigger: "blur" }, |
| | | { required: true, validator: validName, trigger: 'blur' }, |
| | | { |
| | | trigger: "blur", |
| | | trigger: 'blur', |
| | | validator: (rule, value, callback) => { |
| | | var reg = new RegExp(/^[a-zA-Z0-9_]{0,15}$/); //字符串正则表达式 4到14位(字母,数字,下划线,减号) |
| | | if (!reg.test(value)) { |
| | | callback( |
| | | new Error("账号必须由字母,数字或下划线,长度不得超过16位") |
| | | new Error('账号必须由字母,数字或下划线,长度不得超过16位') |
| | | ); |
| | | } else { |
| | | selectByUserid({ uid: value }).then((res) => { |
| | | if (res.result != null) { |
| | | this.isNewUser = false; |
| | | callback(new Error("账号已存在")); |
| | | callback(new Error('账号已存在')); |
| | | } else { |
| | | this.isNewUser = true; |
| | | callback(); |
| | |
| | | pwd: [ |
| | | { |
| | | required: true, |
| | | message: "请输入密码", |
| | | message: '请输入密码', |
| | | transform: (value) => value, |
| | | trigger: "blur", |
| | | trigger: 'blur', |
| | | }, |
| | | { |
| | | type: "string", |
| | | message: "请输入不包含空格的字符", |
| | | trigger: "blur", |
| | | type: 'string', |
| | | message: '请输入不包含空格的字符', |
| | | trigger: 'blur', |
| | | transform(value) { |
| | | if (value && value.indexOf(" ") === -1) { |
| | | if (value && value.indexOf(' ') === -1) { |
| | | return value; |
| | | } else { |
| | | return false; |
| | |
| | | }, |
| | | }, |
| | | { |
| | | trigger: "blur", |
| | | trigger: 'blur', |
| | | validator: (rule, value, callback) => { |
| | | var regex = new RegExp(""); |
| | | var regex = new RegExp(''); |
| | | var passwordreg = |
| | | /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{8,20}$/; |
| | | if (!passwordreg.test(value)) { |
| | | callback( |
| | | new Error("密码必须由数字、字母、特殊字符组合,请输入8-20位") |
| | | new Error('密码必须由数字、字母、特殊字符组合,请输入8-20位') |
| | | ); |
| | | } else { |
| | | callback(); |
| | |
| | | }, |
| | | ], |
| | | checkPass: [ |
| | | { required: true, validator: validatePass, trigger: "blur" }, |
| | | { required: true, validator: validatePass, trigger: 'blur' }, |
| | | ], |
| | | adminPwd: [{ validator: validName, trigger: "blur" }], |
| | | adminPwd: [{ validator: validName, trigger: 'blur' }], |
| | | newPwd: [ |
| | | { |
| | | message: "请输入密码", |
| | | message: '请输入密码', |
| | | transform: (value) => value, |
| | | trigger: "blur", |
| | | trigger: 'blur', |
| | | }, |
| | | { |
| | | type: "string", |
| | | message: "请输入不包含空格的字符", |
| | | trigger: "blur", |
| | | type: 'string', |
| | | message: '请输入不包含空格的字符', |
| | | trigger: 'blur', |
| | | transform(value) { |
| | | if (value && value.indexOf(" ") === -1) { |
| | | if (value && value.indexOf(' ') === -1) { |
| | | return value; |
| | | } else { |
| | | return false; |
| | |
| | | }, |
| | | }, |
| | | { |
| | | trigger: "blur", |
| | | trigger: 'blur', |
| | | validator: (rule, value, callback) => { |
| | | var regex = new RegExp(""); |
| | | var regex = new RegExp(''); |
| | | var passwordreg = |
| | | /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{8,20}$/; |
| | | if (!passwordreg.test(value)) { |
| | | callback( |
| | | new Error("密码必须由数字、字母、特殊字符组合,请输入8-20位") |
| | | new Error('密码必须由数字、字母、特殊字符组合,请输入8-20位') |
| | | ); |
| | | } else { |
| | | callback(); |
| | |
| | | }, |
| | | }, |
| | | ], |
| | | checkPwd: [{ validator: resetPass, trigger: "blur" }], |
| | | checkPwd: [{ validator: resetPass, trigger: 'blur' }], |
| | | }, |
| | | }; |
| | | }, |
| | | methods: { |
| | | ...mapActions(["login", "getpublickey"]), |
| | | ...mapActions(['login', 'getpublickey']), |
| | | getUserInfo(params) { |
| | | queryDepTree() |
| | | .then((res) => { |
| | |
| | | return cloneData.filter((father) => { |
| | | // 循环所有项 |
| | | let branchArr = cloneData.filter((child) => father.id == child.pid); // 对比ID,分别上下级菜单,并返回数据 |
| | | branchArr.length > 0 ? (father.children = branchArr) : ""; // 给父级添加一个children属性,并赋值 |
| | | branchArr.length > 0 ? (father.children = branchArr) : ''; // 给父级添加一个children属性,并赋值 |
| | | return father.pid == 0; // 返回一级菜单 |
| | | }); |
| | | }, |
| | |
| | | this.tableData = res.result; |
| | | this.count = res.count; |
| | | } else { |
| | | console.log("查询接口报错"); |
| | | console.log('查询接口报错'); |
| | | this.$notify.error({ |
| | | title: res.code, |
| | | message: res.result, |
| | |
| | | }, |
| | | //新增按钮 |
| | | showAddDialog() { |
| | | this.behavior = "新增用户"; |
| | | this.behavior = '新增用户'; |
| | | this.editForm = {}; |
| | | this.dialogFormVisible = true; |
| | | }, |
| | |
| | | if (res.code == 200) { |
| | | this.getUserInfo(1, 10); |
| | | this.$message({ |
| | | message: "添加成功", |
| | | type: "success", |
| | | message: '添加成功', |
| | | type: 'success', |
| | | }); |
| | | this.editForm = {}; |
| | | this.dialogFormVisible = false; |
| | |
| | | }, 500); |
| | | }) |
| | | .catch((res) => { |
| | | alert("修改失败,请重试!"); |
| | | alert('修改失败,请重试!'); |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | } else { |
| | | console.log("error submit!!"); |
| | | console.log('error submit!!'); |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | //删除按钮 |
| | | deleteUserInfo() { |
| | | this.$confirm("此操作将删除已选中的用户, 是否继续?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | this.$confirm('此操作将删除已选中的用户, 是否继续?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | }) |
| | | .then(() => { |
| | | var std = []; |
| | |
| | | .then((res) => { |
| | | if (res.code == 200) { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "删除成功!", |
| | | type: 'success', |
| | | message: '删除成功!', |
| | | }); |
| | | this.multipleSelection = []; |
| | | this.getUserInfo(1, 10); |
| | | } else { |
| | | this.$message.error("删除失败"); |
| | | this.$message.error('删除失败'); |
| | | } |
| | | }) |
| | | .catch(() => { |
| | | this.$message.error("删除失败"); |
| | | this.$message.error('删除失败'); |
| | | this.multipleSelection = []; |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message("已取消删除"); |
| | | this.$message('已取消删除'); |
| | | }); |
| | | }, |
| | | //重置密码 |
| | |
| | | std.push(this.multipleSelection[i].id); |
| | | } |
| | | if (std.length == 0) { |
| | | alert("请先选择用户"); |
| | | alert('请先选择用户'); |
| | | return; |
| | | } |
| | | this.pwdForm.ids = std; |
| | |
| | | if (res.code == 200) { |
| | | this.getUserInfo(1, 10); |
| | | this.$message({ |
| | | message: "修改成功", |
| | | type: "success", |
| | | message: '修改成功', |
| | | type: 'success', |
| | | }); |
| | | this.pwdForm = { |
| | | adminPwd: "", |
| | | newPwd: "", |
| | | checkPwd: "", |
| | | adminPwd: '', |
| | | newPwd: '', |
| | | checkPwd: '', |
| | | ids: [], |
| | | }; |
| | | this.multipleSelection = []; |
| | |
| | | }, 500); |
| | | }) |
| | | .catch((res) => { |
| | | alert("修改失败,请重试!"); |
| | | alert('修改失败,请重试!'); |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | } else { |
| | |
| | | editInfo(row) { |
| | | delete row.updateTime; |
| | | delete row.updateUser; |
| | | row.pwd = ""; |
| | | row.pwd = ''; |
| | | this.initialForm = JSON.stringify(row); |
| | | this.behavior = "修改信息"; |
| | | this.behavior = '修改信息'; |
| | | this.editForm = JSON.parse(JSON.stringify(row)); |
| | | this.dialogFormVisible = true; |
| | | }, |
| | |
| | | }, |
| | | //关闭弹出框 |
| | | handleClose(done) { |
| | | this.$confirm("确认关闭?") |
| | | this.$confirm('确认关闭?') |
| | | .then((_) => { |
| | | this.editForm = { |
| | | uid: "", |
| | | uname: "", |
| | | oldPwd: "", |
| | | pwd: "", |
| | | checkPass: "", |
| | | uid: '', |
| | | uname: '', |
| | | oldPwd: '', |
| | | pwd: '', |
| | | checkPass: '', |
| | | sex: null, |
| | | natives: "", |
| | | natives: '', |
| | | depid: null, |
| | | idcard: "", |
| | | job: "", |
| | | edu: "", |
| | | addr: "", |
| | | email: "", |
| | | contact: "", |
| | | idcard: '', |
| | | job: '', |
| | | edu: '', |
| | | addr: '', |
| | | email: '', |
| | | contact: '', |
| | | status: null, |
| | | bak: "", |
| | | salt: "", |
| | | bak: '', |
| | | salt: '', |
| | | }; |
| | | this.pwdForm = { |
| | | adminPwd: "", |
| | | newPwd: "", |
| | | checkPwd: "", |
| | | adminPwd: '', |
| | | newPwd: '', |
| | | checkPwd: '', |
| | | ids: [], |
| | | }; |
| | | |
| | |
| | | if (res.code == 200) { |
| | | this.getUserInfo(1, 10); |
| | | this.$message({ |
| | | message: "修改成功", |
| | | type: "success", |
| | | message: '修改成功', |
| | | type: 'success', |
| | | }); |
| | | this.editForm = {}; |
| | | this.dialogFormVisible = false; |
| | |
| | | }, 500); |
| | | }) |
| | | .catch((res) => { |
| | | alert("修改失败,请重试!"); |
| | | alert('修改失败,请重试!'); |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | } else { |
| | | console.log("error submit!!"); |
| | | console.log('error submit!!'); |
| | | return false; |
| | | } |
| | | }); |
| | |
| | | this.currentPage = val; |
| | | this.queryInfo(); |
| | | }, |
| | | showPermsMenu(res) { |
| | | console.log(res.tag); |
| | | switch (res.tag) { |
| | | case '/delete': |
| | | this.menuStatus.delete = true; |
| | | break; |
| | | case '/insert': |
| | | this.menuStatus.insert = true; |
| | | break; |
| | | case '/update': |
| | | this.menuStatus.update = true; |
| | | break; |
| | | } |
| | | }, |
| | | }, |
| | | mounted() { |
| | | this.getUserInfo(1, 10); |
| | | this.getpublickey(); |
| | | }, |
| | | created() { |
| | | var val = this.$store.state.currentPerms; |
| | | var permsEntity = this.$store.state.permsEntity; |
| | | for (var i = 0; i < permsEntity.length; i++) { |
| | | if (permsEntity[i].perms == val) { |
| | | this.showPermsMenu(permsEntity[i]); |
| | | } |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
| | | <style> |