lxl
2022-10-27 9ce29c536ba2a636416c618761985e2b9a711ee6
user
已修改23个文件
1139 ■■■■ 文件已修改
src/assets/lang/en.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/lang/zh.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/navMenu.vue 74 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Archive/index.vue 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/AuthorizationManagement/menuRoleAuthorization.vue 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/AuthorizationManagement/roleMenuAuthorization.vue 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/AuthorizationManagement/roleResAuthorization.vue 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/AuthorizationManagement/userRoleAuthorization.vue 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Synthesis/analyse.vue 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Synthesis/coverage.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Synthesis/index.vue 115 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Synthesis/inquire.vue 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Synthesis/measurement.vue 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Synthesis/orientation.vue 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Synthesis/plotting.vue 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Synthesis/viewport.vue 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Synthesis/wander.vue 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Thematic/index.vue 129 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/maintenance/menuSettings.vue 145 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/userManage/authorityManage.vue 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/userManage/orgManage.vue 155 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/userManage/resourceManage.vue 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/userManage/roleManage.vue 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/lang/en.js
@@ -19,6 +19,7 @@
    close: 'Close',
    see: 'See',
    index: 'index',
    download: 'download',
  },
  dataManage: {
    dataManage: 'Data Manage',
src/assets/lang/zh.js
@@ -19,6 +19,7 @@
    close: '关闭',
    see: '查看',
    index: '序号',
    download: '下载',
  },
  dataManage: {
    dataManage: '数据管理',
src/components/navMenu.vue
@@ -34,13 +34,13 @@
</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,
@@ -50,10 +50,10 @@
      oriData: [], //原始树数据
      dirData: [], //el树数据
      newData: [], //拖动后数据
      lang: "zh",
      activeIndex: "/",
      lang: 'zh',
      activeIndex: '/',
      menuList: [],
      editTitle: "",
      editTitle: '',
      showPopover: false,
      showEditInfoWrapper: false,
      showEdit: false,
@@ -61,12 +61,12 @@
      editCatalogue: false,
      editUnit: false,
      itemdetail: {},
      formLabelWidth: "70px",
      formLabelWidth: '70px',
    };
  },
  mounted() {
    this.getMenuTree();
    this.getUserPerms();
    this.getMenuTree();
  },
  computed: {
    // 我们使用计算属性来获取到当前点击的菜单的路由路径,然后设置default-active中的值
@@ -97,10 +97,10 @@
            });
            this.menuList = this.treeData(menuLists);
          } else {
            alert("暂无菜单栏数据");
            alert('暂无菜单栏数据');
          }
        } else {
          console.log("接口报错");
          console.log('接口报错');
        }
      });
    },
@@ -111,93 +111,93 @@
        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);
    }
  },
src/views/Archive/index.vue
@@ -2,7 +2,7 @@
  <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"
@@ -18,17 +18,18 @@
          <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 />
@@ -88,87 +89,108 @@
    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>
src/views/AuthorizationManagement/menuRoleAuthorization.vue
@@ -50,6 +50,7 @@
        >
        <div class="btn" style="margin-left: auto">
          <el-button
            v-if="menuStatus.insert"
            type="primary"
            icon="el-icon-circle-plus-outline"
            size="small"
@@ -58,6 +59,7 @@
            >{{ $t('operatManage.UserRoleAuthorizationObj.Added') }}</el-button
          >
          <el-button
            v-if="menuStatus.delete"
            type="danger"
            icon="el-icon-delete"
            size="small"
@@ -167,6 +169,11 @@
  data() {
    return {
      menuStatus: {
        delete: false,
        insert: false,
        update: false,
      },
      addcount: 0,
      gridData: [],
      addlistData: {
@@ -345,8 +352,28 @@
      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();
  },
};
src/views/AuthorizationManagement/roleMenuAuthorization.vue
@@ -156,6 +156,7 @@
        >
        <div class="btn" style="margin-left: auto">
          <el-button
            v-if="menuStatus.insert"
            type="primary"
            icon="el-icon-circle-plus-outline"
            size="small"
@@ -164,6 +165,7 @@
            >{{ $t('operatManage.UserRoleAuthorizationObj.Added') }}</el-button
          >
          <el-button
            v-if="menuStatus.delete"
            type="danger"
            icon="el-icon-delete"
            size="small"
@@ -311,6 +313,11 @@
      gridData: [],
      addmultipleSelection: [],
      usermultipleSelection: [],
      menuStatus: {
        delete: false,
        insert: false,
        update: false,
      },
    };
  },
  methods: {
@@ -490,8 +497,28 @@
        })
        .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();
  },
src/views/AuthorizationManagement/roleResAuthorization.vue
@@ -109,6 +109,7 @@
        >
        <div class="btn" style="margin-left: auto">
          <el-button
            v-if="menuStatus.insert"
            type="primary"
            icon="el-icon-circle-plus-outline"
            size="small"
@@ -117,6 +118,7 @@
            >{{ $t('operatManage.UserRoleAuthorizationObj.Added') }}</el-button
          >
          <el-button
            v-if="menuStatus.delete"
            type="danger"
            icon="el-icon-delete"
            size="small"
@@ -237,6 +239,11 @@
  data() {
    return {
      menuStatus: {
        delete: false,
        insert: false,
        update: false,
      },
      addcount: 0,
      gridData: [],
      addlistData: {
@@ -440,8 +447,28 @@
        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();
  },
};
src/views/AuthorizationManagement/userRoleAuthorization.vue
@@ -110,6 +110,7 @@
        >
        <div class="btn" style="margin-left: auto">
          <el-button
            v-if="menuStatus.insert"
            type="primary"
            icon="el-icon-circle-plus-outline"
            size="small"
@@ -118,6 +119,7 @@
            >{{ $t('operatManage.UserRoleAuthorizationObj.Added') }}</el-button
          >
          <el-button
            v-if="menuStatus.delete"
            type="danger"
            icon="el-icon-delete"
            size="small"
@@ -264,6 +266,11 @@
      debid: null,
      roleid: null,
      addmultipleSelection: [],
      menuStatus: {
        delete: false,
        insert: false,
        update: false,
      },
    };
  },
  methods: {
@@ -425,8 +432,28 @@
      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();
  },
};
src/views/Synthesis/analyse.vue
@@ -305,6 +305,20 @@
        (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();
src/views/Synthesis/coverage.vue
@@ -43,8 +43,21 @@
      ],
    };
  },
  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': //图层管理
src/views/Synthesis/index.vue
@@ -1,28 +1,28 @@
<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>
@@ -33,15 +33,16 @@
</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,
@@ -58,27 +59,99 @@
    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>
src/views/Synthesis/inquire.vue
@@ -22,6 +22,18 @@
        </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>
@@ -71,9 +83,35 @@
        },
      ],
      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();
@@ -169,6 +207,12 @@
.e7 {
  background: url('../../assets/img/synthesis/图层 24.png') no-repeat center;
}
.divli {
  width: 100%;
  height: 50%;
  position: relative;
}
.backimge5 {
  width: 30px;
  height: 30px;
@@ -177,9 +221,12 @@
  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>
src/views/Synthesis/measurement.vue
@@ -69,7 +69,21 @@
      ],
    };
  },
  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);
src/views/Synthesis/orientation.vue
@@ -33,7 +33,21 @@
      ],
    };
  },
  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',
src/views/Synthesis/plotting.vue
@@ -11,6 +11,30 @@
        </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" />
@@ -25,6 +49,12 @@
  components: { terrainDig, modelPress },
  data() {
    return {
      plotStatus: {
        delete: false,
        upload: false,
        insert: false,
        update: false,
      },
      itemsOne: [
        {
          id: '1',
@@ -69,7 +99,34 @@
      ],
    };
  },
  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':
src/views/Synthesis/viewport.vue
@@ -65,7 +65,21 @@
      ],
    };
  },
  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':
src/views/Synthesis/wander.vue
@@ -48,13 +48,22 @@
      ],
    };
  },
  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();
src/views/Thematic/index.vue
@@ -3,7 +3,7 @@
    <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
@@ -19,7 +19,7 @@
      <el-row>
        <el-col :span="5">
          <label style="margin-right: 10px"
            >{{ $t("themaic.maptltle") }}:</label
            >{{ $t('themaic.maptltle') }}:</label
          >
          <el-select
            v-model="selvalue"
@@ -38,7 +38,7 @@
        <el-col :span="3">
          <div style="margin-top: 5px">
            <label style="margin-right: 10px"
              >{{ $t("themaic.sortbytime") }}:</label
              >{{ $t('themaic.sortbytime') }}:</label
            >
            <i
@@ -57,7 +57,7 @@
        <el-col :span="3">
          <div style="margin-top: 5px">
            <label style="margin-right: 10px"
              >{{ $t("themaic.sortbyviews") }}:</label
              >{{ $t('themaic.sortbyviews') }}:</label
            >
            <i
@@ -76,9 +76,9 @@
        <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>
@@ -148,7 +148,7 @@
</template>
<script>
import mapView from "@/components/mapviewTwo";
import mapView from '@/components/mapviewTwo';
export default {
  components: {
    mapView,
@@ -156,85 +156,94 @@
  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;
        })
@@ -247,7 +256,7 @@
      console.log(`当前页: ${val}`);
    },
    handleClose(done) {
      this.$confirm("确认关闭?")
      this.$confirm('确认关闭?')
        .then((_) => {
          done();
        })
@@ -266,8 +275,6 @@
    showThematic(res) {
      this.typeIndex = res.index;
      this.dialogVisible = true;
      // var url = "http://localhost/" + res.pop;
      // window.open(
src/views/maintenance/menuSettings.vue
@@ -23,6 +23,7 @@
            <span>{{ node.label }}</span>
            <span class="btnBox">
              <el-button
                v-if="menuStatus.insert"
                type="text"
                size="mini"
                @click="() => append(node, data)"
@@ -30,6 +31,7 @@
                <i class="el-icon-circle-plus"></i>
              </el-button>
              <el-button
                v-if="menuStatus.delete"
                type="text"
                size="mini"
                @click="() => remove(node, data)"
@@ -99,7 +101,7 @@
          <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
            >
@@ -179,7 +181,7 @@
</template>
<script>
import MyBread from "../../components/MyBread.vue";
import MyBread from '../../components/MyBread.vue';
import {
  queryMenuTree,
  updateMenuTree,
@@ -187,7 +189,7 @@
  queryMaxId,
  insertMenu,
  deleteMenu,
} from "../../api/api";
} from '../../api/api';
export default {
  //import引入的组件需要注入到对象中才能使用
  components: {
@@ -195,9 +197,14 @@
  },
  data() {
    return {
      menuStatus: {
        delete: false,
        insert: false,
        update: false,
      },
      defaultProps: {
        children: "children",
        label: "cnName",
        children: 'children',
        label: 'cnName',
      },
      fullscreenLoading: false,
      oriData: [], //原始树数据
@@ -205,53 +212,53 @@
      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',
          },
        ],
      },
@@ -260,25 +267,25 @@
      options1: [
        {
          value: 0,
          label: "隐藏",
          label: '隐藏',
        },
        {
          value: 1,
          label: "显示",
          label: '显示',
        },
      ],
      options2: [
        {
          value: 0,
          label: "根目录",
          label: '根目录',
        },
        {
          value: 1,
          label: "菜单",
          label: '菜单',
        },
        {
          value: 2,
          label: "按钮",
          label: '按钮',
        },
      ],
    };
@@ -295,7 +302,7 @@
          this.oriData = res.result;
          this.newData = res.result;
        } else {
          console.log("接口报错");
          console.log('接口报错');
        }
      });
    },
@@ -304,7 +311,7 @@
      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; // 返回一级菜单
      });
    },
@@ -332,8 +339,8 @@
                  this.fullscreenLoading = false;
                  if (res.code == 200) {
                    this.$message({
                      message: "添加成功",
                      type: "success",
                      message: '添加成功',
                      type: 'success',
                    });
                    this.getMenuTree();
                    this.itemdetail = {};
@@ -345,7 +352,7 @@
              })
              .catch((res) => {
                this.itemdetail = {};
                this.$message.error("添加失败");
                this.$message.error('添加失败');
                this.fullscreenLoading = false;
                console.log(res);
              });
@@ -357,10 +364,10 @@
      });
    },
    remove(node, data) {
      this.$confirm("此操作将删除该节点, 是否继续?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      this.$confirm('此操作将删除该节点, 是否继续?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning',
      })
        .then(() => {
          //兄弟重新排序
@@ -381,25 +388,25 @@
            .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: '删除失败',
              });
            });
@@ -407,7 +414,7 @@
          this.delChildIDs = [];
        })
        .catch(() => {
          this.$message("已取消删除");
          this.$message('已取消删除');
        });
    },
    traverseArr(obj) {
@@ -435,21 +442,21 @@
      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 {
@@ -474,8 +481,8 @@
        })
        .catch(() => {
          this.$message({
            type: "info",
            message: "已取消更改",
            type: 'info',
            message: '已取消更改',
          });
          this.menuList = this.old_dirDat; //将备份的dir重新赋值
        });
@@ -492,11 +499,11 @@
            this.getMenuTree();
            return;
          } else {
            alert("调整失败,请重试!");
            alert('调整失败,请重试!');
          }
        })
        .catch(() => {
          alert("修改失败,请重试!");
          alert('修改失败,请重试!');
        });
    },
    handleNodeClick(data) {
@@ -522,7 +529,7 @@
                }, 500);
              })
              .catch((res) => {
                alert("修改失败,请重试!");
                alert('修改失败,请重试!');
                this.fullscreenLoading = false;
              });
          } else {
@@ -533,14 +540,36 @@
    },
    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>
src/views/userManage/authorityManage.vue
@@ -22,13 +22,13 @@
            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"
@@ -108,7 +108,7 @@
              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"
@@ -282,6 +282,11 @@
  components: { MyBread },
  data() {
    return {
       menuStatus: {
        delete: false,
        insert: false,
        update: false,
      },
      formLabelWidth: '100px',
      ruleForm: {},
      isTransfer: false,
@@ -308,9 +313,30 @@
    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) {
src/views/userManage/orgManage.vue
@@ -23,6 +23,7 @@
            <span>{{ node.label }}</span>
            <span class="btnBox">
              <el-button
                v-if="menuStatus.insert"
                type="text"
                size="mini"
                @click="() => append(node, data)"
@@ -30,6 +31,7 @@
                <i class="el-icon-circle-plus"></i>
              </el-button>
              <el-button
                v-if="menuStatus.delete"
                type="text"
                size="mini"
                @click="() => remove(node, data)"
@@ -86,7 +88,7 @@
          <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
            >
@@ -152,7 +154,7 @@
</template>
<script>
import MyBread from "../../components/MyBread.vue";
import MyBread from '../../components/MyBread.vue';
import {
  queryDepTree,
  updateDepTree,
@@ -160,7 +162,7 @@
  queryMaxId,
  insertDep,
  deleteDep,
} from "../../api/api";
} from '../../api/api';
export default {
  //import引入的组件需要注入到对象中才能使用
  components: {
@@ -168,16 +170,21 @@
  },
  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: [], //原始树数据
@@ -185,41 +192,41 @@
      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' }],
      },
    };
  },
@@ -237,7 +244,7 @@
        } else {
          this.$notify.error({
            title: res.code,
            message: "无法获取单位列表",
            message: '无法获取单位列表',
          });
        }
      });
@@ -247,7 +254,7 @@
      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; // 返回一级菜单
      });
    },
@@ -277,8 +284,8 @@
                this.fullscreenLoading = false;
                if (res.code == 200) {
                  this.$message({
                    message: "添加成功",
                    type: "success",
                    message: '添加成功',
                    type: 'success',
                  });
                  this.getMenuTree();
                  this.itemdetail = {};
@@ -290,7 +297,7 @@
            })
            .catch((res) => {
              this.itemdetail = {};
              this.$message.error("添加失败");
              this.$message.error('添加失败');
              this.fullscreenLoading = false;
              console.log(res);
            });
@@ -301,10 +308,10 @@
      });
    },
    remove(node, data) {
      this.$confirm("此操作将删除该节点, 是否继续?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      this.$confirm('此操作将删除该节点, 是否继续?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning',
      })
        .then(() => {
          //兄弟重新排序
@@ -326,24 +333,24 @@
              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 = {};
            });
@@ -351,7 +358,7 @@
          this.delChildIDs = [];
        })
        .catch(() => {
          this.$message("已取消删除");
          this.$message('已取消删除');
        });
      // this.dialogMessage="是否删除"
      // this.dialogFlag = 1;
@@ -393,21 +400,21 @@
      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 {
@@ -432,8 +439,8 @@
        })
        .catch(() => {
          this.$message({
            type: "info",
            message: "已取消更改",
            type: 'info',
            message: '已取消更改',
          });
          this.depList = this.old_depData; //将备份的dir重新赋值
        });
@@ -445,11 +452,11 @@
            this.getMenuTree();
            return;
          } else {
            alert("调整失败,请重试!");
            alert('调整失败,请重试!');
          }
        })
        .catch(() => {
          alert("修改失败,请重试!");
          alert('修改失败,请重试!');
        });
    },
    handleNodeClick(data) {
@@ -467,14 +474,14 @@
                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 {
@@ -485,14 +492,36 @@
    },
    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>
src/views/userManage/resourceManage.vue
@@ -23,14 +23,14 @@
                        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"
@@ -142,7 +142,7 @@
              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"
@@ -438,7 +438,7 @@
            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)"
@@ -507,6 +507,12 @@
  components: { MyBread, styleDirTree, styleDepTree },
  data() {
    return {
        menuStatus: {
        delete: false,
        insert: false,
        update: false,
        upload:false,
      },
      formLabelWidth: '130px',
      ruleForm: {},
      isTransfer: false,
@@ -541,9 +547,32 @@
    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();
    },
src/views/userManage/roleManage.vue
@@ -27,7 +27,7 @@
        </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> &nbsp;{{
              $t('userManage.RM.add')
            }}</el-button
@@ -48,7 +48,7 @@
          >
        </el-form-item>
        <el-form-item>
          <el-button @click="handleDelete()"
          <el-button @click="handleDelete()" v-if="menuStatus.delete"
            ><i class="el-icon-delete"></i>&nbsp;{{
              $t('common.delete')
            }}</el-button
@@ -134,6 +134,7 @@
        >
          <template slot-scope="scope">
            <el-button
              v-if="menuStatus.update"
              type="warning"
              @click="handleEdit(scope.$index, scope.row)"
              size="small"
@@ -395,6 +396,11 @@
        pageIndex: 1,
        pageSize: 10,
      },
      menuStatus: {
        delete: false,
        insert: false,
        update: false,
      },
    };
  },
  methods: {
@@ -589,8 +595,28 @@
      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();
  },