月球大数据地理空间分析展示平台-【中台】
WX
2023-08-15 ec86ce630c3bf6ef4abe5f52ecde21eeda03c5e7
Merge branch 'master' of http://192.168.20.39:8989/r/LunarMidplane
已添加1个文件
已修改13个文件
1978 ■■■■ 文件已修改
src/api/api.js 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/lang/en.js 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/lang/zh.js 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/login.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/navMenu.vue 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/AuthorizationManagement/roleResAuthorization.vue 79 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/bankController.vue 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/catalogueManage.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/dataUpdata.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/layerManagement.vue 835 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/projectController.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/resourceManagement.vue 898 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/styleManage.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/api.js
@@ -217,6 +217,10 @@
export function res_delete(params) {
  return request.get('/res/delete', { params: params });
}
//资源列表-删除多条
export function res_deletes(params) {
  return request.get('/res/deletes', { params: params });
}
//资源列表-更新多条
export function res_updates(params) {
  return request.post('/res/updates', params);
@@ -225,7 +229,10 @@
export function res_update(params) {
  return request.post('/res/update', params);
}
//资源列表-分页查询并返回记录数
export function res_selectByPageAndCount(params) {
  return request.get('/res/selectByPageAndCount', { params: params });
}
@@ -244,7 +251,18 @@
export function roleRes_deletes(params) {
  return request.get('/roleRes/deletes', { params: params });
}
//角色资源-删除多条
export function roleLayer_selectResByRole(params) {
  return request.get('/roleLayer/selectResByRole', { params: params });
}
//角色资源-删除多条
export function roleLayer_inserts(params) {
  return request.post('/roleLayer/inserts', params);
}
//角色资源-删除多条
export function roleLayer_deletes(params) {
  return request.get('/roleLayer/deletes', { params: params });
}
//资源上传
export function upload_res(params) {
src/assets/lang/en.js
@@ -84,17 +84,22 @@
      layerType: 'Layer Type',
      serviceName: 'service name',
      serviceType: 'service type',
      serviceResources: 'Service Resources',
      serviceAddress: 'Service Address',
      serviceParameters: 'Service parameters ',
      displayOrNot: 'Display or not',
      isItProjectData: 'Is it project data',
      dataType: 'data type',
      istrue: 'true',
      isfalse: 'false',
      isEnable: 'Enable',
      enableProxy: 'Enable proxy address',
      disable: 'Disable',
      enableOriginalAddress: 'Enable original address',
      isDisuse: 'Disuse',
      isStop: 'Stop',
      testAddress: 'Test Address',
      firm: 'firm',
      firm: 'Service category',
      descr: 'descr',
      status: 'status',
      proxyAddress: 'Proxy Address',
@@ -111,7 +116,13 @@
      prompt10: 'Please enter descriptive information',
      prompt11: 'Please enter the proxy address',
      prompt12: 'Please enter a table name',
      tableName: 'Table Name'
      prompt13: 'Please enter a resource name',
      prompt14: 'Please enter an English name',
      prompt15: 'Please enter service parameters',
      prompt16: "Please enter descriptive information",
      prompt17: "Please enter note information",
      tableName: 'Table Name',
      resourceName: 'resourceName',
    },
    dataStaticObj: {
@@ -304,6 +315,7 @@
    UserRoleAuthorization: 'User Role Authorization',
    MenuRoleAuthorization: 'Menu Permission Authorization',
    RoleResAuthorization: 'Role Resource Authorization',
    RoleLayerAuthorization: 'Role Layer Authorization',
    RoleMenuAuthorization: 'Role Menu Authorization',
    UserRoleAuthorizationObj: {
      RoleTable: 'Role Table',
@@ -316,6 +328,7 @@
      PermissionTable: 'Permission table',
      server: 'Service Address',
      ResTable: 'Resource table',
      layerTable: 'Layer Table'
    },
    ELM: {
      username: 'username',
src/assets/lang/zh.js
@@ -76,6 +76,7 @@
    projectManage: '项目信息',
    dataStatistics: '数据统计',
    layerManage: '图层管理',
    resourceManage: '资源管理',
    layerObj: {
      menuName: '菜单名称',
      menuType: '菜单类型',
@@ -84,17 +85,22 @@
      layerType: '图层类型',
      serviceName: '服务名称',
      serviceType: '服务类型',
      serviceResources: '服务资源',
      serviceAddress: '服务地址',
      serviceParameters: '服务参数',
      displayOrNot: '是否显示',
      isItProjectData: '是否为项目数据',
      dataType: '数据类型',
      istrue: '是',
      isfalse: '否',
      isEnable: '启用',
      enableProxy: '启用代理地址',
      disable: '禁用',
      enableOriginalAddress: '启用原始地址',
      isDisuse: '废弃',
      isStop: '停止',
      testAddress: '测试地址',
      firm: '厂商',
      firm: '服务类别',
      descr: '描述',
      status: '状态',
      proxyAddress: '代理地址',
@@ -110,7 +116,13 @@
      prompt10: '请输入描述信息',
      prompt11: '请输入代理地址',
      prompt12: '请输入表名称',
      tableName: '表名称'
      prompt13: '请输入资源名称',
      prompt14: '请输入英文名称',
      prompt15: '请输入服务参数',
      prompt16: "请输入描述信息",
      prompt17: "请输入备注信息",
      tableName: '表名称',
      resourceName: '资源名称',
    },
    dataStaticObj: {
      type1: '服务名称',
@@ -299,6 +311,7 @@
    UserRoleAuthorization: '用户角色授权',
    MenuRoleAuthorization: '菜单权限授权',
    RoleResAuthorization: '角色资源授权',
    RoleLayerAuthorization: '角色图层授权',
    RoleMenuAuthorization: '角色菜单授权',
    UserRoleAuthorizationObj: {
      RoleTable: '角色表',
@@ -311,6 +324,9 @@
      menuTable: '菜单表',
      server: '服务地址',
      ResTable: '资源表',
      layerTable: '图层表'
    },
    ELM: {
      username: '用户名称',
src/components/login.vue
@@ -218,11 +218,11 @@
              getPerms().then((res) => {
                if (res.code == 200) {
                  this.$store.commit("getPermsEntity", res.result);
                  if (res.result.length != 0) {
                    sessionStorage.setItem("routerName", "/Thematic");
                    sessionStorage.setItem("changeSelectStyle", 0);
                    this.$router.push("/projectController");
                    this.$router.push("/bankController");
                  } else {
                    this.$message({
                      message: "请您联系管理员分配角色菜单",
src/components/navMenu.vue
@@ -224,7 +224,7 @@
    },
    //鼠标移入菜单事件
    setMenuMove(index, item) {
      if (item.perms != null && item.perms != "") {
        this.$router.push(item.url);
        if (this.showFlag != null) {
@@ -239,14 +239,23 @@
        this.changeSelectStyle = index;
        sessionStorage.setItem('changeSelectStyle', index)
      } else {
        if (this.showFlag != index) {
          this.showFlag = index;
          if (item.url == '/bankController') {
            this.setLiClick(item, index)
          } else {
            this.showFlag = index;
            if (item.url && item.children && item.children.length == 0) {
              window.open(item.url)
            }
          }
          this.changeSelectStyle = index;
          if (item.url && item.children && item.children.length == 0) {
            window.open(item.url)
          }
        } else {
          this.showFlag = null;
        }
@@ -335,20 +344,22 @@
      }
    },
    async setMenuTree(res) {
      for (var i in res) {
        res[i].checkClass = res[i].css + '1';
        res[i].show = false; //控制显隐
        if (res[i].perms == null || res[i].perms == "") {
          const result = await selectMenuRecursive({ id: res[i].id });
          if (result.code == 200) {
            res[i].children = result.result.filter((value) => {
              return value.isShow == 1;
            })
              .filter((value) => {
                if (value.pid == res[i].id) {
                  // console.log(JSON.stringify(value))
                }
                return value.pid == res[i].id;
              });
src/router/index.js
@@ -109,6 +109,15 @@
        },
      },
      {
        path: '/bankController',
        component: bankController,
        name: 'bankController',
        meta: {
          title: '数据库管理',
          requireAuth: true, // æ ‡è¯†è¯¥è·¯ç”±æ˜¯å¦éœ€è¦ç™»å½•
        },
      },
      {
        path: '/WareInspection',
        component: WareInspection,
        name: 'WareInspection',
@@ -162,15 +171,7 @@
          requireAuth: true, // æ ‡è¯†è¯¥è·¯ç”±æ˜¯å¦éœ€è¦ç™»å½•
        },
      },
      {
        path: '/bankController',
        component: bankController,
        name: 'bankController',
        meta: {
          title: '数据库管理',
          requireAuth: true, // æ ‡è¯†è¯¥è·¯ç”±æ˜¯å¦éœ€è¦ç™»å½•
        },
      },
      {
        path: '/projectController',
        component: projectController,
src/views/AuthorizationManagement/roleResAuthorization.vue
@@ -46,6 +46,7 @@
          <el-table-column
            align="center"
            width="55"
            row-key="id"
          >
            <template slot-scope="scope">
              <el-radio
@@ -124,11 +125,12 @@
        </div>
        <el-divider class="divider" />
        <el-tree
          ref="tree"
          :props="defaultLayerrops"
          node-key="resid"
          :data="layerData"
          :data="Layertree"
          show-checkbox
          node-key="layerid"
          ref="layerFrom"
          :props="defaultLayerrops"
          accordion
          :default-expanded-keys="[1]"
        >
        </el-tree>
@@ -204,14 +206,12 @@
import {
  queryDepTree,
  select_Role_ByPageAndCount,
  roleReselectByPageAndCount,
  roleResDeletes,
  resSelectCountForRole,
  roleResInserts,
  res_selectAll,
  roleRes_selectResByRole,
  roleRes_inserts,
  roleRes_deletes
  roleLayer_selectResByRole,
  roleLayer_inserts,
  roleLayer_deletes
} from '../../api/api';
export default {
  //import引入的组件需要注入到对象中才能使用
@@ -266,7 +266,8 @@
      roleid: null,
      addmultipleSelection: [],
      layerData: [],
      layeroption: []
      layeroption: [],
      Layertree: []
    };
  },
@@ -297,7 +298,7 @@
        .catch(() => { });
    },
    async adduser() {
      var val = this.$refs.tree.getCheckedNodes(false, true); // åˆ©ç”¨è¿™ä¸ªæ–¹æ³•就可以获取到子节点+父节点)
      var val = this.$refs.layerFrom.getCheckedNodes(false, true); // åˆ©ç”¨è¿™ä¸ªæ–¹æ³•就可以获取到子节点+父节点)
      var std = [];
      for (var i in val) {
@@ -309,7 +310,9 @@
      if (std.length == 0) {
        return
      }
      const data = await roleRes_inserts(std)
      const data = await roleLayer_inserts(std);
      if (data.code != 200) {
        this.$message.error('授权失败');
      } else {
@@ -324,7 +327,7 @@
    },
    //用户删除
    async deletesUser() {
      var val = this.$refs.tree.getCheckedNodes(false, true); // åˆ©ç”¨è¿™ä¸ªæ–¹æ³•就可以获取到子节点+父节点)
      var val = this.$refs.layerFrom.getCheckedNodes(false, true); // åˆ©ç”¨è¿™ä¸ªæ–¹æ³•就可以获取到子节点+父节点)
      var std = [];
      for (var i in val) {
        if (val[i].id > 0) {
@@ -341,7 +344,7 @@
      if (arr.length == 0) {
        return
      }
      const data = await roleRes_deletes({ ids: arr.toString() });
      const data = await roleLayer_deletes({ ids: arr.toString() });
      if (data.code != 200) {
        this.$message.error('授权失败');
      } else {
@@ -422,27 +425,22 @@
    },
    //获取资源列表
    async getlayerTree() {
      this.layerData = []
      const data = await res_selectAll();
      if (data.code != 200) {
        return this.$message.error("图层列表查询失败");
      }
      var val = this.setTreeData(data.result);
      val.sort(function (a, b) {
        return a.sort - b.sort
      })
      this.layerData = val
      // this.layerData = []
      // const data = await res_selectAll();
      // if (data.code != 200) {
      //   return this.$message.error("图层列表查询失败");
      // }
      // var val = this.setTreeData(data.result);
      // val.sort(function (a, b) {
      //   return a.sort - b.sort
      // })
      // this.layerData = val
    },
    setTreeData(source) {
      let cloneData = JSON.parse(JSON.stringify(source)); // å¯¹æºæ•°æ®æ·±åº¦å…‹éš†
      return cloneData.filter((father) => {
        // å¾ªçŽ¯æ‰€æœ‰é¡¹
        let branchArr = cloneData.filter((child) => father.resid == child.pid);
        if (branchArr.length > 0) {
          branchArr.sort(function (a, b) {
            return a.sort - b.sort
          })
        }
        let branchArr = cloneData.filter((child) => father.layerid == child.pid); // å¯¹æ¯”ID,分别上下级菜单,并返回数据
        branchArr.length > 0 ? (father.children = branchArr) : ""; // ç»™çˆ¶çº§æ·»åŠ ä¸€ä¸ªchildren属性,并赋值
        // å±žäºŽåŒä¸€å¯¹è±¡é—®é¢˜ï¼Œä¾‹å¦‚:令 a=b、c=1 ï¼Œç„¶åŽå†ä»¤ b.c=c ï¼Œ é‚£ä¹ˆ a.c=b.c=c=1 ï¼›åŒç†ï¼ŒåŽç»­ä»¤ c.d=2 ,那么 a.c.d ä¹Ÿæ˜¯=2;
        // ç”±æ­¤å¾ªçŽ¯å¤šæ¬¡åŽï¼Œå°±èƒ½å½¢æˆç›¸åº”çš„æ ‘å½¢æ•°æ®ç»“æž„
@@ -512,26 +510,25 @@
    },
    // ç”¨æˆ·è¡¨è¯·æ±‚
    async getuserList() {
      this.layerData = [];
      this.Layertree = [];
      this.layeroption = [];
      const data = await roleRes_selectResByRole({ roleid: this.userlistData.roleid });
      const data = await roleLayer_selectResByRole({ roleid: this.userlistData.roleid });
      if (data.code !== 200) {
        return this.$message.error('根据ID查询资源失败');
      }
      var std = [];
      this.layeroption = data.result;
      for (var i in data.result) {
        if (data.result[i].id > 0 && data.result[i].type != 1) {
          std.push(data.result[i].resid)
        if (data.result[i].id > 0 && data.result[i].isLayer != 0) {
          std.push(data.result[i].layerid)
        }
      }
      var val = this.setTreeData(data.result);
      val.sort(function (a, b) {
        return a.sort - b.sort
      })
      this.layerData = val
      this.$refs.tree.setCheckedKeys(std);
      this.Layertree = val
      this.$refs.layerFrom.setCheckedKeys(std);
    },
    // è§’色表请求
    async getRole() {
src/views/datamanage/bankController.vue
@@ -21,7 +21,7 @@
        â‹®
      </div>
      <div class="mid box_div">
        <data-updata v-if="setMenuFlag == 'dataUpdata'"></data-updata>
        <!-- <data-updata v-if="setMenuFlag == 'dataUpdata'"></data-updata>
        <spatial-data v-if="setMenuFlag == 'SpatialData'"></spatial-data>
@@ -31,9 +31,25 @@
        <style-manage v-if="setMenuFlag == 'styleManage'"></style-manage>
        <data-loader v-if="setMenuFlag == 'dataLoader'"></data-loader>
        <down-loader v-if="setMenuFlag == 'downLoader'"></down-loader>
        <data-statistics v-if="setMenuFlag == 'dataStatistics'"></data-statistics>
        <data-statistics v-if="setMenuFlag == 'dataStatistics'"></data-statistics>-->
        <uploadmanage v-if="setMenuFlag == 'uploadmanage'"></uploadmanage>
        <layer-management v-if="setMenuFlag == 'layerManagement'"></layer-management>
        <resourceManagement v-if="setMenuFlag == 'resourceManagement'"></resourceManagement>
        <data-updata v-if="setMenuFlag == 'dataUpdata'"></data-updata>
        <catalogue-manage v-if="setMenuFlag == 'catalogueManage'"></catalogue-manage>
        <version-manage v-if="setMenuFlag == 'versionManage'"></version-manage>
        <project-manage v-if="setMenuFlag == 'projectManage'"></project-manage>
        <spatial-data v-if="setMenuFlag == 'SpatialData'"></spatial-data>
        <domain-manage v-if="setMenuFlag == 'domainManage'"></domain-manage>
        <dictionary-manage v-if="setMenuFlag == 'dictionaryManage'"></dictionary-manage>
        <metadata-manage v-if="setMenuFlag == 'metadataManage'"></metadata-manage>
        <style-manage v-if="setMenuFlag == 'styleManage'"></style-manage>
        <data-loader v-if="setMenuFlag == 'dataLoader'"></data-loader>
        <down-loader v-if="setMenuFlag == 'downLoader'"></down-loader>
        <data-statistics v-if="setMenuFlag == 'dataStatistics'"></data-statistics>
      </div>
    </div>
@@ -57,8 +73,8 @@
import projectManage from '@/views/datamanage/projectManage.vue'; //项目管理
import dataStatistics from '@/views/datamanage/dataStatistics.vue'; //数据统计
import uploadmanage from '@/views/datamanage/uploadmanage.vue'; //发布管理
import resourceManagement from '@/views/datamanage/resourceManagement.vue'; //数据管理-图层管理
import layerManagement from '@/views/datamanage/layerManagement.vue'; //数据管理-图层管理
export default {
  components: {
    customElMenu,
@@ -75,8 +91,8 @@
    projectManage,
    dataStatistics,
    uploadmanage,
    layerManagement,
    resourceManagement,
    layerManagement
  },
  data() {
    return {
@@ -159,16 +175,17 @@
        return value.url == '/bankController';
      });
      if (menuLists.length <= 0) return
      const res = await selectMenuRecursive({ id: menuLists[0].id });
      if (res.code == 200) {
        if (res.result.length != 0) {
          let menuList = res.result.filter((value) => {
            return value.type == 1;
          });
          // let menuList = res.result.filter((value) => {
          //   return value.type == 1;
          // });
          let menuList = res.result;
          this.menuList = this.treeData(menuList);
          this.m1 = this.menuList[0].cnName;
          this.setViewController(this.menuList[0]);
@@ -217,7 +234,7 @@
          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 == 86; // è¿”回一级菜单
          return father.pid == 14; // è¿”回一级菜单
        });
      } else {
src/views/datamanage/catalogueManage.vue
@@ -1183,7 +1183,7 @@
      //       var val = this.itemdetail
      //       var value = this.itemdetail.checks.toString()
      //       val.checks = value;
      //       debugger
 a
      //       let res = JSON.parse(JSON.stringify(this.itemdetail));
      //       this.itemdetail = res;
      //       
src/views/datamanage/dataUpdata.vue
@@ -178,6 +178,7 @@
            </el-form-item> -->
            <!-- åæ ‡ç³» -->
            <el-form-item
              v-show="false"
              :label="$t('dataManage.dataUpObj.coordinateSystem')"
              style="margin-right: 3%"
              size="small"
@@ -2703,8 +2704,11 @@
        return;
      }
      this.entryOption = data.result;
      this.formInline.entryId = this.entryOption[0].name;
      this.formInline.dirid = this.entryOption[0].id;
      if (this.entryOption.length > 0) {
        this.formInline.entryId = this.entryOption[0].name;
        this.formInline.dirid = this.entryOption[0].id;
      }
      this.getselectVerByDirid();
    },
src/views/datamanage/layerManagement.vue
@@ -1,9 +1,9 @@
<template>
  <div class="subpage_Box">
    <My-bread :list="[
          `${$t('dataManage.dataManage')}`,
          `${$t('dataManage.layerManage')}`,
        ]"></My-bread>
            `${$t('dataManage.dataManage')}`,
            `${$t('dataManage.layerManage')}`,
          ]"></My-bread>
    <el-divider />
    <div class="mainBox">
@@ -35,15 +35,15 @@
        <div
          class="inquire"
          style="
            align-items: center;
            display: flex;
            justify-content: space-between;
          "
              align-items: center;
              display: flex;
              justify-content: space-between;
            "
        >
          <el-breadcrumb separator="/">
            <el-breadcrumb-item :to="{ path: '/' }">{{
            }}</el-breadcrumb-item>
              }}</el-breadcrumb-item>
          </el-breadcrumb>
          <div style="margin-right: -5px">
            <div class="menuTop">
@@ -58,7 +58,7 @@
                  >{{ $t("shuJuGuanLi.butten.NewPeer") }}</el-button>
                </el-form-item>
                <!-- å­çº§èŠ‚ç‚¹æ·»åŠ  -->
                <el-form-item v-show="menuStatus.insert && formInline.type == 1">
                <el-form-item v-show="menuStatus.insert  &&  formInline.isLayer == 0">
                  <el-button
                    type="success"
                    size="small"
@@ -105,54 +105,74 @@
            class="demo-form-inline"
            label-width="150px"
          >
            <!-- èœå•类型 -->
            <el-form-item :label="$t('dataManage.layerObj.layerType')">
              <el-select
                :placeholder="$t('dataManage.layerObj.prompt2')"
                style="width: 60%;"
                v-model="formInline.isLayer"
              >
                <el-option
                  label="图层组"
                  value='0'
                ></el-option>
                <el-option
                  label="图层"
                  value='1'
                ></el-option>
              </el-select>
            </el-form-item>
            <!-- æœåŠ¡èµ„æº-->
            <el-form-item
              v-show="formInline.isLayer == 1"
              :label="$t('dataManage.layerObj.serviceResources')"
            >
              <el-button
                size="small"
                class="serviceButton"
                @click="setServiceChange('0')"
                key="0"
                :class="{serviceActive: !serviceActive }"
              >{{$t('dataManage.layerObj.isfalse')}}</el-button>
              <el-button
                size="small"
                class="serviceButton"
                @click="setServiceChange('1')"
                key="1"
                :class="{serviceActive: serviceActive}"
              >{{$t('dataManage.layerObj.istrue')}}</el-button>
            </el-form-item>
            <!-- èœå•名称 -->
            <el-form-item :label="$t('dataManage.layerObj.layerName')">
              <el-input
                style="width: 80%;"
                v-model="formInline.cnName"
                :placeholder="$t('dataManage.layerObj.prompt1')"
                style="width: 60%;"
                v-model="formInline.cnName"
                :disabled="serviceActive"
              ></el-input>
            </el-form-item>
            <!-- è‹±æ–‡åç§° -->
            <el-form-item :label="$t('dataManage.layerObj.englishName')">
              <el-input
                style="width: 80%;"
                v-model="formInline.enName"
                :placeholder="$t('dataManage.layerObj.prompt6')"
                style="width: 60%;"
                v-model="formInline.enName"
                :disabled="serviceActive"
              ></el-input>
            </el-form-item>
            <!-- èœå•类型 -->
            <el-form-item :label="$t('dataManage.layerObj.layerType')">
              <el-select
                clearable
                style="width: 80%;"
                v-model="formInline.type"
                :placeholder="$t('dataManage.layerObj.prompt2')"
              >
                <el-option
                  label="图层组"
                  :value='1'
                ></el-option>
                <el-option
                  label="普通图层"
                  :value='2'
                ></el-option>
                <el-option
                  label="代理图层"
                  :value='3'
                ></el-option>
              </el-select>
            </el-form-item>
            <!-- æ•°æ®ç±»åž‹ -->
            <el-form-item
              v-show="formInline.type ===  2 || formInline.type === 3 "
              v-show="formInline.isLayer == 1"
              :label="$t('dataManage.layerObj.firm')"
            >
              <el-select
                clearable
                style="width: 80%;"
                v-model="formInline.firm"
                :placeholder="$t('dataManage.layerObj.prompt8')"
                style="width: 60%;"
                v-model="formInline.type"
                :placeholder="$t('dataManage.layerObj.prompt3')"
                :disabled="serviceActive"
              >
                <el-option
                  v-for="item in dataType"
@@ -163,108 +183,41 @@
                </el-option>
              </el-select>
            </el-form-item>
            <!-- æœåŠ¡ç±»åž‹ -->
            <el-form-item
              v-show="formInline.type ===  2 || formInline.type === 3 "
              :label="$t('dataManage.layerObj.serviceType')"
            >
              <el-select
                clearable
                style="width: 80%;"
                v-model="formInline.category"
                :placeholder="$t('dataManage.layerObj.prompt3')"
              >
                <el-option
                  v-for="item in serveType"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                >
                </el-option>
              </el-select>
            </el-form-item>
            <!-- æœåŠ¡åœ°å€ -->
            <el-form-item
              v-show="formInline.type ===  2 || formInline.type === 3 "
              v-show="formInline.isLayer == 1"
              :label="$t('dataManage.layerObj.serviceAddress')"
            >
              <el-input
                :placeholder="$t('dataManage.layerObj.prompt4')"
                style="width: 80%;"
                v-model="formInline.url"
              ></el-input>
            </el-form-item>
            <!-- æµ‹è¯•地址 -->
            <el-form-item
              v-show="formInline.type ===  2 || formInline.type === 3 "
              :label="$t('dataManage.layerObj.testAddress')"
            >
              <el-input
                :placeholder="$t('dataManage.layerObj.prompt9')"
                style="width: 80%;"
                v-model="formInline.test"
              ></el-input>
            </el-form-item>
            <!-- ä»£ç†åœ°å€ -->
            <el-form-item
              v-show="formInline.type ===  2 || formInline.type === 3 "
              :label="$t('dataManage.layerObj.proxyAddress')"
            >
              <el-input
                :disabled="!formInline.proxy"
                :placeholder="$t('dataManage.layerObj.prompt11')"
                style="width: 80%;"
                :value="formInline.proxy"
              ></el-input>
            </el-form-item>
            <!-- è‹±æ–‡è¡¨å -->
            <el-form-item
              v-show="formInline.type ===  2 || formInline.type === 3 "
              :label="$t('dataManage.layerObj.tableName')"
            >
              <el-input
                :placeholder="$t('dataManage.layerObj.prompt12')"
                style="width: 80%;"
                v-model="formInline.tab"
                style="width: 60%;"
                v-model="formInline.serviceUrl"
                :disabled="serviceActive"
              ></el-input>
            </el-form-item>
            <!-- æ˜¯å¦æ˜¾ç¤º -->
            <el-form-item
              v-show="formInline.type ===  2 || formInline.type === 3 "
              :label="$t('dataManage.layerObj.status')"
              v-show="formInline.isLayer == 1"
              :label="$t('dataManage.layerObj.displayOrNot')"
            >
              <el-radio
                v-model="formInline.status"
                :label="0"
              > {{$t('dataManage.layerObj.isStop')}}</el-radio>
                label="0"
              >{{$t('dataManage.layerObj.isStop')}}</el-radio>
              <el-radio
                v-model="formInline.status"
                :label="1"
              >{{$t('dataManage.layerObj.isEnable')}}</el-radio>
              <el-radio
                v-model="formInline.status"
                :label="-1"
              >{{$t('dataManage.layerObj.isDisuse')}}</el-radio>
                label="1"
              > {{$t('dataManage.layerObj.isEnable')}}</el-radio>
            </el-form-item>
            <!-- æ˜¯å¦ä¸ºé¡¹ç›®æ•°æ® -->
            <!-- <el-form-item :label="$t('dataManage.layerObj.isItProjectData')">
            <el-radio
              v-model="insertData.isProject"
              label="0"
            > {{$t('dataManage.layerObj.isfalse')}}</el-radio>
            <el-radio
              v-model="insertData.isProject"
              label="1"
            >{{$t('dataManage.layerObj.istrue')}}</el-radio>
          </el-form-item> -->
            <!-- æè¿° -->
            <el-form-item :label="$t('dataManage.layerObj.descr')">
            <el-form-item :label="$t('common.bak')">
              <el-input
                :placeholder="$t('dataManage.layerObj.prompt10')"
                style="width: 80%;"
                v-model="formInline.descr"
                type="textarea"
                style="width: 60%;"
                v-model="formInline.bak"
                :placeholder="$t('dataManage.layerObj.prompt7')"
              ></el-input>
            </el-form-item>
            <el-form-item v-show="menuStatus.update">
@@ -289,59 +242,94 @@
      width="50%"
    >
      <div style="width: 100%;max-height: 63vh;overflow-y: auto; ">
        <!-- <el-form
          :model="insertData"
          class="demo-form-inline"
          label-width="150px"
        > -->
        <el-form
          :model="insertData"
          class="demo-form-inline"
          label-width="150px"
        >
          <!-- èœå•类型 -->
          <el-form-item :label="$t('dataManage.layerObj.layerType')">
            <el-select
              :placeholder="$t('dataManage.layerObj.prompt2')"
              style="width: 60%;"
              v-model="insertData.isLayer"
            >
              <el-option
                label="图层组"
                value='0'
              ></el-option>
              <el-option
                label="图层"
                value='1'
              ></el-option>
            </el-select>
          </el-form-item>
          <el-form-item
            v-show="insertData.isLayer == 1"
            :label="$t('dataManage.layerObj.serviceResources')"
          >
            <!-- <el-button
              size="small"
              class="serviceButton"
              @click="setServiceChange('0')"
              :class="{serviceActive: insertData.service === '0'}"
            >{{$t('dataManage.layerObj.isfalse')}}</el-button>
            <el-button
              size="small"
              class="serviceButton"
              @click="setServiceChange('1')"
              :class="{serviceActive: insertData.service === '1'}"
            >{{$t('dataManage.layerObj.istrue')}}</el-button> -->
            <el-button
              size="small"
              class="serviceButton"
              @click="setInsertServiceChange('0')"
              key="0"
              :class="{serviceActive: !insertServiceActive }"
            >{{$t('dataManage.layerObj.isfalse')}}</el-button>
            <el-button
              size="small"
              class="serviceButton"
              @click="setInsertServiceChange('1')"
              key="1"
              :class="{serviceActive: insertServiceActive}"
            >{{$t('dataManage.layerObj.istrue')}}</el-button>
          </el-form-item>
          <!-- èœå•名称 -->
          <el-form-item :label="$t('dataManage.layerObj.layerName')">
            <el-input
              style="width: 80%;"
              v-model="insertData.cnName"
              :disabled="insertServiceActive"
              :placeholder="$t('dataManage.layerObj.prompt1')"
              style="width: 60%;"
              v-model="insertData.cnName"
            ></el-input>
          </el-form-item>
          <!-- è‹±æ–‡åç§° -->
          <el-form-item :label="$t('dataManage.layerObj.englishName')">
            <el-input
              style="width: 80%;"
              v-model="insertData.enName"
              :disabled="insertServiceActive"
              :placeholder="$t('dataManage.layerObj.prompt6')"
              style="width: 60%;"
              v-model="insertData.enName"
            ></el-input>
          </el-form-item>
          <!-- èœå•类型 -->
          <el-form-item :label="$t('dataManage.layerObj.layerType')">
            <el-select
              clearable
              style="width: 80%;"
              v-model="insertData.type"
              :placeholder="$t('dataManage.layerObj.prompt2')"
            >
              <el-option
                label="图层组"
                :value='1'
              ></el-option>
              <el-option
                label="普通图层"
                :value='2'
              ></el-option>
              <el-option
                label="代理图层"
                :value='3'
              ></el-option>
            </el-select>
          </el-form-item>
          <!-- æ•°æ®ç±»åž‹ -->
          <el-form-item
            v-show="insertData.type === 2 || insertData.type === 3"
            v-show="insertData.isLayer == 1"
            :label="$t('dataManage.layerObj.firm')"
          >
            <el-select
              clearable
              style="width: 80%;"
              v-model="insertData.firm"
              :placeholder="$t('dataManage.layerObj.prompt8')"
              :disabled="insertServiceActive"
              style="width: 60%;"
              v-model="insertData.type"
              :placeholder="$t('dataManage.layerObj.prompt3')"
            >
              <el-option
                v-for="item in dataType"
@@ -352,95 +340,39 @@
              </el-option>
            </el-select>
          </el-form-item>
          <!-- æœåŠ¡ç±»åž‹ -->
          <el-form-item
            v-show="insertData.type === 2 || insertData.type === 3"
            :label="$t('dataManage.layerObj.serviceType')"
          >
            <el-select
              clearable
              style="width: 80%;"
              v-model="insertData.category"
              :placeholder="$t('dataManage.layerObj.prompt3')"
            >
              <el-option
                v-for="item in serveType"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
              </el-option>
            </el-select>
          </el-form-item>
          <!-- æœåŠ¡åœ°å€ -->
          <el-form-item
            v-show="insertData.type === 2 || insertData.type === 3"
            v-show="insertData.isLayer == 1"
            :label="$t('dataManage.layerObj.serviceAddress')"
          >
            <el-input
              :disabled="insertServiceActive"
              :placeholder="$t('dataManage.layerObj.prompt4')"
              style="width: 80%;"
              v-model="insertData.url"
              style="width: 60%;"
              v-model="insertData.serviceUrl"
            ></el-input>
          </el-form-item>
          <el-form-item
            v-show="insertData.type === 2 || insertData.type === 3"
            :label="$t('dataManage.layerObj.testAddress')"
          >
            <el-input
              :placeholder="$t('dataManage.layerObj.prompt9')"
              style="width: 80%;"
              v-model="insertData.test"
            ></el-input>
          </el-form-item>
          <!-- è‹±æ–‡è¡¨å -->
          <el-form-item
            v-show="insertData.type ===  2 || insertData.type === 3 "
            :label="$t('dataManage.layerObj.tableName')"
          >
            <el-input
              :placeholder="$t('dataManage.layerObj.prompt12')"
              style="width: 80%;"
              v-model="insertData.tab"
            ></el-input>
          </el-form-item>
          <!-- æ˜¯å¦æ˜¾ç¤º -->
          <el-form-item
            v-show="insertData.type === 2 || insertData.type === 3"
            :label="$t('dataManage.layerObj.status')"
            v-show="insertData.isLayer == 1"
            :label="$t('dataManage.layerObj.displayOrNot')"
          >
            <el-radio
              v-model="insertData.status"
              :label="0"
            > {{$t('dataManage.layerObj.isStop')}}</el-radio>
            <el-radio
              v-model="insertData.status"
              :label="1"
            >{{$t('dataManage.layerObj.isEnable')}}</el-radio>
            <el-radio
              v-model="insertData.status"
              :label="-1"
            >{{$t('dataManage.layerObj.isDisuse')}}</el-radio>
          </el-form-item>
          <!-- æ˜¯å¦ä¸ºé¡¹ç›®æ•°æ® -->
          <!-- <el-form-item :label="$t('dataManage.layerObj.isItProjectData')">
            <el-radio
              v-model="insertData.isProject"
              label="0"
            > {{$t('dataManage.layerObj.isfalse')}}</el-radio>
            >{{$t('dataManage.layerObj.isStop')}}</el-radio>
            <el-radio
              v-model="insertData.isProject"
              v-model="insertData.status"
              label="1"
            >{{$t('dataManage.layerObj.istrue')}}</el-radio>
          </el-form-item> -->
            > {{$t('dataManage.layerObj.isEnable')}}</el-radio>
          </el-form-item>
          <!-- æè¿° -->
          <el-form-item :label="$t('dataManage.layerObj.descr')">
          <el-form-item :label="$t('common.bak')">
            <el-input
              :placeholder="$t('dataManage.layerObj.prompt10')"
              style="width: 80%;"
              v-model="insertData.descr"
              type="textarea"
              style="width: 60%;"
              v-model="insertData.bak"
              :placeholder="$t('dataManage.layerObj.prompt7')"
            ></el-input>
          </el-form-item>
          <el-form-item v-show="menuStatus.update">
@@ -452,24 +384,113 @@
            <el-button
              type="info"
              size="small"
              @click="cannelForm( )"
              @click="submitCancel( )"
            >{{$t('common.cancel')}}</el-button>
          </el-form-item>
        </el-form>
      </div>
    </el-dialog>
    <el-dialog
      :visible.sync="dialogService"
      width="50%"
      :show-close="false"
    >
      <div style="width: 100%;max-height: 63vh;overflow-y: auto; ">
        <div style="  display: flex; justify-content: space-between;">
          <div> <el-input
              size="small"
              v-model="listData.name"
            > <i
                slot="suffix"
                class="el-input__icon el-icon-search"
                @click="setServiceQuery"
              ></i></el-input></div>
          <div>
            <el-button
              type="info"
              size="small"
              @click="setServiceRest"
            >{{$t('common.reset')}}</el-button>
            <el-button
              type="primary"
              size="small"
              @click="setServiceConfirm"
            >{{$t('common.confirm')}}</el-button>
            <el-button
              type="info"
              size="small"
              @click="setServiceCanel"
            >{{$t('common.cancel')}}</el-button>
          </div>
        </div>
        <el-table
          ref="multipleTable"
          :data="tableData"
          @select="selectChange"
        >
          <el-table-column
            type="selection"
            width="55"
          >
          </el-table-column>
          <el-table-column
            align="center"
            type="index"
            :label="$t('common.index')"
            width="70px"
          />
          <el-table-column
            align="center"
            prop="cnName"
            :label="$t('dataManage.layerObj.resourceName')"
          />
          <el-table-column
            align="center"
            prop="category"
            :label="$t('dataManage.layerObj.firm')"
            :formatter="setResCategory"
          />
          <el-table-column
            align="center"
            prop="type"
            :label="$t('dataManage.layerObj.dataType')"
            :formatter="setResType"
          />
        </el-table>
        <div
          class="pagination_box"
          style="margin-top: 15px"
        >
          <el-pagination
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
            :current-page="listData.pageIndex"
            :page-sizes="[10, 50,100,200]"
            :page-size="listData.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="listData.count"
          >
          </el-pagination>
        </div>
      </div>
    </el-dialog>
  </div>
</template>
<script>
  <script>
import MyBread from "../../components/MyBread.vue";
import {
  getPerms,
  res_selectAll,
  res_insert,
  res_delete,
  res_updates,
  res_update,
  layer_selectAll,
  layer_update,
  layer_updates,
  layer_insert,
  layer_delete,
  res_selectByPageAndCount,
} from "../../api/api";
import $ from 'jquery'
import { getToken } from '../../utils/auth';
@@ -482,19 +503,23 @@
    MyBread,
  },
  data() {
    return {
      filterText: null,
      formInline: {
        cnName: null,
        type: null,
        serveType: null,
        serveType: null,
        url: null,
        dataType: null,
        bak: null,
        isShow: '0',
        isProject: '0'
        isShow: '1',
        isProject: '0',
        enName: '',
        isLayer: null,
        category: null,
        status: null,
        service: '0',
        serviceUrl: null
      },
      serveType: null,
      dataType: null,
@@ -517,6 +542,17 @@
      newNode: null,
      newData: [],
      oriData: [],
      dialogService: false,
      listData: {
        pageIndex: 1,
        pageSize: 10,
        count: 0,
        name: ''
      },
      tableData: [],
      multipleSelection: [],
      serviceActive: true,
      insertServiceActive: false
    };
  },
  watch: {
@@ -525,6 +561,151 @@
    },
  },
  methods: {
    setServiceConfirm() {
      if (this.multipleSelection.length <= 0) {
        return this.$message("未选择资源数据");
      }
      var url, serviceUrl;
      if (this.multipleSelection.status == 1) {
        serviceUrl = this.multipleSelection.url;
        url = this.multipleSelection.url;
      } else if (this.multipleSelection.status == 2) {
        var token = getToken()
        serviceUrl = BASE_URL + this.multipleSelection.proxy.replaceAll('{token}', token);
        url = this.multipleSelection.proxy;
      }
      if (this.dialogVisible) {
        this.insertData.cnName = this.multipleSelection.cnName;
        this.insertData.enName = this.multipleSelection.enName;
        this.insertData.type = this.multipleSelection.type;
        this.insertData.resid = this.multipleSelection.id
        this.insertData.serviceUrl = serviceUrl;
        this.insertData.url = url;
        this.insertServiceActive = true
        // this.insertData.status = this.multipleSelection.status;
      } else {
        this.formInline.cnName = this.multipleSelection.cnName;
        this.formInline.enName = this.multipleSelection.enName;
        this.formInline.type = this.multipleSelection.type;
        this.formInline.resid = this.multipleSelection.id
        this.formInline.serviceUrl = serviceUrl;
        this.formInline.url = url;
        this.serviceActive = true
        // this.formInline.status = '1';
      }
      this.dialogService = false
    },
    setServiceRest() {
      this.listData = {
        pageIndex: 1,
        pageSize: 10,
        count: 0,
        name: ''
      }
      this.getServiceData();
    },
    setServiceQuery() {
      this.listData.pageIndex = 1;
      this.listData.pageSize = 10;
      this.listData.count = 0;
      this.getServiceData();
    },
    setServiceCanel() {
      this.dialogService = false;
      this.multipleSelection = [];
      this.tableData == [];
      this.listData = {
        pageIndex: 1,
        pageSize: 10,
        count: 0,
        name: ''
      }
    },
    selectChange(selection, row) {
      this.multipleSelection = row
      if (selection.length > 1) {
        let del_row = selection.shift()
        this.$refs.multipleTable.toggleRowSelection(del_row, false)
      }
    },
    setResType(row, column) {
      switch (row.type) {
        case 0:
          return "URL"
          break;
        case 1:
          return "TMS"
          break;
        case 2:
          return "WMTS"
          break;
        case 3:
          return "WMS"
          break;
        case 4:
          return "WFS"
          break;
        case 5:
          return "Tileset"
          break;
        default:
          return ""
          break;
      }
    },
    setResCategory(row, column) {
      switch (row.category) {
        case 0:
          return "其他"
          break;
        case 1:
          return "GisServer"
          break;
        case 2:
          return "GeoServer"
          break;
        case 3:
          return "数简"
          break;
        default:
          return ""
          break;
      }
    },
    handleSizeChange(val) {
      this.listData.pageSize = val;
      this.getServiceData();
    },
    handleCurrentChange(val) {
      this.listData.pageIndex = val;
      this.getServiceData();
    },
    setServiceChange(res) {
      if (res == '1') {
        this.setServiceRest()
      } else {
        this.serviceActive = false
        this.formInline.resid = 0
      }
    },
    setInsertServiceChange(res) {
      if (res == '1') {
        this.setServiceRest()
      } else {
        this.insertServiceActive = false
        this.insertData.resid = 0
      }
    },
    async getServiceData() {
      const data = await res_selectByPageAndCount(this.listData);
      if (data.code != 200) {
        return this.$message.error("资源数据获取失败");
      }
      this.tableData = data.result;
      this.listData.count = data.count;
      this.dialogService = true
    },
    //向上向下移动
    setEditNode(res) {
      let node = this.$refs.tree.getCurrentNode();
@@ -553,18 +734,11 @@
                arr.push(res);
              }
            });
            var token = getToken();
            if (arr[1].proxy && arr[1].proxy.indexOf(token) > -1) {
              arr[1].proxy.replace(token, "{token}")
            }
            if (arr[0].proxy && arr[0].proxy.indexOf(token) > -1) {
              arr[0].proxy.replace(token, "{token}")
            }
            const orderNum = arr[1].orderNum
            arr[1].orderNum = arr[0].orderNum
            arr[0].orderNum = orderNum
            const orderNum = arr[1].sort
            arr[1].sort = arr[0].sort
            arr[0].sort = orderNum
            this.newData = arr;
            this.sendChange();
          } else {
@@ -591,18 +765,9 @@
                arr.push(res);
              }
            });
            var token = getToken();
            if (arr[1].proxy && arr[1].proxy.indexOf(token) > -1) {
              arr[1].proxy.replace(token, "{token}")
            }
            if (arr[0].proxy && arr[0].proxy.indexOf(token) > -1) {
              arr[0].proxy.replace(token, "{token}")
            }
            const orderNum = arr[1].sort
            arr[1].sort = arr[0].sort
            arr[0].sort = orderNum
            const orderNum = arr[1].orderNum
            arr[1].orderNum = arr[0].orderNum
            arr[0].orderNum = orderNum
            this.newData = arr;
            this.sendChange();
          } else {
@@ -615,7 +780,7 @@
      }
    },
    async sendChange() {
      const data = await res_updates(this.newData)
      const data = await layer_updates(this.newData)
      if (data.code != 200) {
        return this.$message.error("移动失败");
      }
@@ -623,7 +788,7 @@
    },
    async setDeleteNode() {
      const data = await res_delete({ id: this.formInline.id });
      const data = await layer_delete({ id: this.formInline.id });
      if (data.code != 200) {
        return this.$message.error("删除失败");
      }
@@ -641,11 +806,20 @@
      this.getLayerTree();
    },
    submitCancel() {
      this.dialogVisible = false;
      this.insertStart();
    },
    async submitForm() {
      var val = this.insertData;
      val.isShow = parseInt(val.isShow);
      val.isProject = parseInt(val.isProject);
      const data = await res_insert(val);
      var val = JSON.parse(JSON.stringify(this.insertData));
      val.status = parseInt(val.status);
      var token = getToken();
      if (val.serviceUrl.indexOf(BASE_URL) > -1) {
        val.serviceUrl = val.serviceUrl.replaceAll(BASE_URL, '');
        val.serviceUrl = val.serviceUrl.replaceAll(token, '{token}')
      }
      val.url = val.serviceUrl
      const data = await layer_insert(val);
      if (data.code != 200) {
        return this.$message.error("新增失败");
      }
@@ -677,18 +851,14 @@
      }
      this.insertData.pid = id;
      this.insertData.level = lever;
      this.insertData.sort = orderNum;
      this.insertData.orderNum = orderNum;
      this.dialogVisible = true;
    },
    cannelForm() {
      this.dialogVisible = false;
      this.insertData = {}
    },
    getMaxOrderNum(res) {
      var val = 1;
      for (var i in res) {
        if (res[i].data.sort > val) {
          val = res[i].data.sort;
        if (res[i].data.orderNum > val) {
          val = res[i].data.orderNum;
        }
      }
      val = val + 1;
@@ -696,18 +866,32 @@
    },
    insertStart() {
      this.insertData = {
        cnName: null,
        type: null,
        serveType: null,
        url: null,
        dataType: null,
        bak: null,
        isShow: '1',
        isProject: '0',
        enName: '',
        isLayer: null,
        category: null,
        status: null,
        service: '0',
        status: '1'
      }
    },
    //修改数据
    async updateSend() {
      var val = JSON.parse(JSON.stringify(this.formInline));
      var token = getToken()
      if (val.proxy && val.proxy.indexOf(token) > -1) {
        val.proxy = val.proxy.replace(token, "{token}");
      var token = getToken();
      if (val.serviceUrl.indexOf(BASE_URL) > -1) {
        val.serviceUrl = val.serviceUrl.replaceAll(BASE_URL, '');
        val.serviceUrl = val.serviceUrl.replaceAll(token, '{token}')
      }
      debugger
      const data = await res_update(val);
      val.url = val.serviceUrl
      const data = await layer_update(val);
      this.currentData = JSON.stringify(this.formInline)
      if (data.code != 200) {
        return this.$message.error("修改失败");
@@ -721,27 +905,21 @@
    //修改重置
    updateRest() {
      var res = JSON.parse(this.backUpData);
      var token = getToken()
      if (res.proxy && res.proxy.indexOf('{token}') > -1) {
        res.proxy = res.proxy.replace("{token}", token);
      }
      this.formInline = res;
      // this.formInline.type = res.type.toString();
      // this.formInline.isShow = res.isShow.toString();
      this.formInline.isLayer = res.isLayer.toString();
      this.formInline.status = res.status.toString();
      // this.formInline.isProject = res.isProject.toString();
    },
    //获取图层列表
    async getLayerTree() {
      const data = await res_selectAll();
      const data = await layer_selectAll();
      if (data.code != 200) {
        return this.$message.error("图层列表查询失败");
      }
      this.oriData = data.result;
      this.newData = data.result;
      var val = this.setTreeData(data.result);
      val.sort(function (a, b) {
        return a.sort - b.sort
      })
      this.treeData = val;
      var cdata;
      if (this.currentData) {
@@ -756,22 +934,30 @@
      });
    },
    layerFormInline(res) {
      var token = getToken();
      var val = JSON.parse(JSON.stringify(res))
      var data = this.$refs.tree.getNode(val.id).data;
      var result = JSON.parse(JSON.stringify(data))
      this.backUpData = JSON.stringify(result)
      this.currentData = JSON.stringify(result)
      this.formInline = result;
      if (result.proxy && result.proxy.indexOf('{token}') > -1) {
        this.formInline.proxy = result.proxy.replace("{token}", token);
      this.formInline.isLayer = res.isLayer.toString();
      this.formInline.status = result.status.toString();
      if (res.resid && res.resid > 0) {
        this.serviceActive = true
      } else {
        this.formInline.proxy = result.proxy
        this.serviceActive = false
      }
      var url;
      if (!this.serviceActive) {
        url = result.url;
      } else if (this.serviceActive) {
        var token = getToken()
        url = BASE_URL + result.url.replaceAll('{token}', token);
      }
      this.formInline.serviceUrl = url;
      // this.formInline.type = result.type.toString();
      // this.formInline.isShow = result.isShow.toString();
      // this.formInline.isProject = result.isProject.toString();
    },
    //图层列表点击事件
@@ -787,7 +973,7 @@
          branchArr.sort(function (a, b) {
            return a.sort - b.sort
            return a.orderNum - b.orderNum
          })
        }
@@ -807,14 +993,14 @@
      var std = [];
      var ste = [];
      for (var i in serve_type) {
        std.push({
        ste.push({
          value: serve_type[i].value,
          label: serve_type[i].name,
        })
      }
      this.serveType = std;
      for (var i in data_type) {
        ste.push({
        std.push({
          value: data_type[i].value,
          label: data_type[i].name,
        })
@@ -827,12 +1013,15 @@
        cnName: null,
        type: null,
        serveType: null,
        serveType: null,
        url: null,
        dataType: null,
        bak: null,
        isShow: '0',
        isProject: '0'
        isShow: '1',
        isProject: '0',
        enName: '',
        isLayer: null,
        category: null,
        serviceUrl: null
      }
    },
    //获取权限
@@ -875,9 +1064,9 @@
    this.getLayerTree();
  },
};
</script>
<style lang="less" scoped>
  </script>
  <style lang="less" scoped>
.subpage_Box {
  //height: 96%;
  width: 98%;
@@ -906,18 +1095,50 @@
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #dcdfe6;
    overflow: auto;
    .menuTop {
      overflow: auto;
      height: 100%;
      /deep/ .el-form-item {
        margin: 5px;
      }
    }
  }
}
.serviceButton {
  background: transparent !important;
  color: #dcdfe6;
}
.serviceActive {
  background: transparent !important;
  color: #46a6ff;
  border: 1px solid #46a6ff;
}
/deep/ .el-input__suffix {
  top: 50%;
  transform: translateY(-50%);
}
/deep/.el-radio {
  color: white;
}
</style>
  <style>
.el-select-dropdown {
  background: #303030 !important;
  border: 1px solid gray;
}
.el-select-dropdown__item {
  background-color: transparent !important;
  color: #fff;
}
.el-select-dropdown__item.hover,
.el-select-dropdown__item:hover {
  color: #ffff !important;
  background: rgba(7, 8, 14, 0.3) !important;
}
.el-popper .popper__arrow,
.el-popper .popper__arrow::after {
  display: none !important;
}
</style>
src/views/datamanage/projectController.vue
@@ -154,7 +154,7 @@
      const data = await queryMenuTree();
      let menuLists = data.result.filter((value) => {
        return value.url == '/projectController';
        return value.url == '/bankController';
      });
      const res = await selectMenuRecursive({ id: menuLists[0].id });
src/views/datamanage/resourceManagement.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,898 @@
<template>
  <div class="subpage_Box">
    <My-bread :list="[
          `${$t('dataManage.dataManage')}`,
          `${$t('dataManage.resourceManage')}`,
        ]"></My-bread>
    <el-divider />
    <div class="mainBox">
      <div
        class="content_box "
        ref="container"
      >
        <el-form
          :inline="true"
          :model="formInline"
          class="demo-form-inline"
        >
          <el-form-item>
            <el-input
              size="small"
              :title="$t('dataManage.vmobj.keyword')"
              v-model="formInline.name"
              :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuedataName')"
            > <i
                :title="$t('common.iquery')"
                slot="suffix"
                @click="setListDataStart"
                class="el-icon-search"
                style="padding-right: 8px"
              ></i></el-input>
          </el-form-item>
          <el-form-item style="float: right;">
            <el-button
              v-if="menuStatus.insert"
              icon="el-icon-edit"
              type="success"
              @click="insertDialog = true"
              size="small"
            >{{ $t('common.append') }}
            </el-button>
            <el-button
              v-if="menuStatus.delete"
              icon="el-icon-delete"
              type="danger"
              @click="setDelTableData"
              size="small"
            >{{ $t('common.delete') }}
            </el-button>
            <el-button
              icon="el-icon-refresh"
              type="info"
              size="small"
              @click="setEmptyData"
            >{{ $t('common.empty') }}
            </el-button>
          </el-form-item>
        </el-form>
      </div>
      <div class="dividing-line"></div>
      <div
        class="table_box"
        :style="styleVar"
      >
        <el-table
          :data="tableData"
          style="width: 100%"
          border
          height="calc(100% - 10px)"
          @selection-change="handleSelectionChange"
          @cell-dblclick="copyText"
        >
          <el-table-column
            type="selection"
            width="55"
          />
          <el-table-column
            align="center"
            type="index"
            :label="$t('dataManage.styleObj.index')"
            width="100"
          />
          <el-table-column
            align="center"
            prop="cnName"
            :label="$t('dataManage.layerObj.resourceName')"
            width="150"
          />
          <!-- <el-table-column
            align="center"
            prop="enName"
            :label="$t('dataManage.layerObj.englishName')"
            width="170"
          /> -->
          <el-table-column
            align="center"
            prop="status"
            :label="$t('dataManage.layerObj.status')"
            :formatter="setResStatus"
            width="150"
          />
          <el-table-column
            align="center"
            prop="category"
            :label="$t('dataManage.layerObj.firm')"
            :formatter="setResCategory"
            width="150"
          />
          <el-table-column
            align="center"
            prop="type"
            :label="$t('dataManage.layerObj.dataType')"
            :formatter="setResType"
            width="150"
          />
          <el-table-column
            align="center"
            prop="tab"
            :label="$t('dataManage.layerObj.tableName')"
            width="150"
          />
          <el-table-column
            align="center"
            prop="url"
            :label="$t('dataManage.layerObj.serviceAddress')"
            width="300"
          />
          <el-table-column
            align="center"
            prop="args"
            :label="$t('dataManage.layerObj.serviceParameters')"
            width="220"
          />
          <el-table-column
            align="center"
            prop="test"
            :label="$t('dataManage.layerObj.testAddress')"
            width="300"
          />
          <el-table-column
            align="center"
            prop="proxy"
            :label="$t('dataManage.layerObj.proxyAddress')"
            width="300"
            :formatter="formatProxy"
          />
          <el-table-column
            align="center"
            prop="descr"
            :label="$t('dataManage.layerObj.descr')"
            width="200"
          />
          <el-table-column
            align="center"
            prop="createName"
            :label="$t('dataManage.vmobj.createonuser')"
            width="200"
          />
          <el-table-column
            align="center"
            prop="createTime"
            :label="$t('dataManage.vmobj.createontime')"
            width="200"
            :formatter="formatData"
          />
          <el-table-column
            align="center"
            prop="updateName"
            :label="$t('dataManage.vmobj.updateonuser')"
            width="200"
          />
          <el-table-column
            align="center"
            prop="updateTime"
            :label="$t('dataManage.vmobj.updateontime')"
            width="200"
            :formatter="formatData"
          />
          <el-table-column
            align="center"
            prop="bak"
            :label="$t('common.bak')"
            width="200"
          />
          <el-table-column
            :label="$t('common.operate')"
            width="150"
          >
            <template slot-scope="scope">
              <el-button
                @click="setScopeEdit(scope.row)"
                size="small"
                type="warning"
                plain
              >{{ $t('common.update') }}</el-button>
            </template>
          </el-table-column>
        </el-table>
        <div
          class="pagination_box"
          style="margin-top: 15px"
        >
          <el-pagination
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
            :current-page="listData.pageIndex"
            :page-sizes="[10, 50,100,200]"
            :page-size="listData.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="listData.count"
          >
          </el-pagination>
        </div>
      </div>
    </div>
    <el-dialog
      :title="$t('common.append')"
      :visible.sync="insertDialog"
      width="50%"
      :show-close="false"
    >
      <div style="width: 100%;max-height: 63vh;overflow-y: auto;">
        <el-form
          :model="insertData"
          class="demo-form-inline"
          label-width="120px"
        >
          <el-form-item :label="$t('dataManage.layerObj.resourceName')">
            <el-input
              v-model="insertData.cnName"
              :placeholder="$t('dataManage.layerObj.prompt13')"
              class="insertWidth"
            ></el-input>
          </el-form-item>
          <!-- <el-form-item :label="$t('dataManage.layerObj.englishName')">
            <el-input
              v-model="insertData.enName"
              :placeholder="$t('dataManage.layerObj.prompt14')"
              class="insertWidth"
            ></el-input>
          </el-form-item> -->
          <el-form-item :label="$t('dataManage.layerObj.firm')">
            <el-select
              class="insertWidth"
              v-model="insertData.category"
              :placeholder="$t('dataManage.layerObj.prompt3')"
            >
              <el-option
                v-for="item in serviceType"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item :label="$t('dataManage.layerObj.dataType')">
            <el-select
              class="insertWidth"
              v-model="insertData.type"
              :placeholder="$t('dataManage.layerObj.prompt8')"
            >
              <el-option
                v-for="item in dataType"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item :label="$t('dataManage.layerObj.tableName')">
            <el-input
              v-model="insertData.tab"
              class="insertWidth"
              :placeholder="$t('dataManage.layerObj.prompt12')"
            ></el-input>
          </el-form-item>
          <el-form-item :label="$t('dataManage.layerObj.serviceAddress')">
            <el-input
              v-model="insertData.url"
              :placeholder="$t('dataManage.layerObj.prompt4')"
              class="insertWidth"
            ></el-input>
          </el-form-item>
          <el-form-item :label="$t('dataManage.layerObj.testAddress')">
            <el-input
              v-model="insertData.test"
              :placeholder="$t('dataManage.layerObj.prompt9')"
              class="insertWidth"
            ></el-input>
          </el-form-item>
          <el-form-item :label="$t('dataManage.layerObj.serviceParameters')">
            <el-input
              v-model="insertData.args"
              :placeholder="$t('dataManage.layerObj.prompt15')"
              class="insertWidth"
            ></el-input>
          </el-form-item>
          <el-form-item :label="$t('dataManage.layerObj.status')">
            <div class="insertWidth">
              <el-radio
                v-model="insertData.status"
                label="0"
              >{{$t('dataManage.layerObj.disable')}}</el-radio>
              <el-radio
                v-model="insertData.status"
                label="1"
              > {{$t('dataManage.layerObj.enableOriginalAddress')}}</el-radio>
              <el-radio
                v-model="insertData.status"
                label="2"
              > {{$t('dataManage.layerObj.enableProxy')}}</el-radio>
            </div>
          </el-form-item>
          <el-form-item :label="$t('dataManage.layerObj.descr')">
            <el-input
              v-model="insertData.descr"
              :placeholder="$t('dataManage.layerObj.prompt16')"
              class="insertWidth"
            ></el-input>
          </el-form-item>
          <el-form-item :label="$t('common.bak')">
            <el-input
              v-model="insertData.bak"
              :placeholder="$t('dataManage.layerObj.prompt17')"
              class="insertWidth"
            ></el-input>
          </el-form-item>
        </el-form>
        <span
          slot="footer"
          class="dialog-footer"
          style="float: right; margin-right: 10%;"
        >
          <el-button
            @click="setInsertCannel"
            size="small"
          >{{ $t('common.cancel') }}</el-button>
          <el-button
            type="primary"
            size="small"
            @click="setInsertConfirm"
          >{{ $t('common.confirm') }}</el-button>
        </span>
      </div>
    </el-dialog>
    <el-dialog
      :title="$t('common.edit')"
      :visible.sync="editDialog"
      width="50%"
      :before-close="handleEditClose"
    >
      <div style="width: 100%;max-height: 63vh;overflow-y: auto;">
        <el-form
          :model="editData"
          class="demo-form-inline"
          label-width="120px"
        >
          <el-form-item :label="$t('dataManage.layerObj.resourceName')">
            <el-input
              v-model="editData.cnName"
              :placeholder="$t('dataManage.layerObj.prompt13')"
              class="insertWidth"
            ></el-input>
          </el-form-item>
          <!-- <el-form-item :label="$t('dataManage.layerObj.englishName')">
            <el-input
              v-model="editData.enName"
              :placeholder="$t('dataManage.layerObj.prompt14')"
              class="insertWidth"
            ></el-input>
          </el-form-item> -->
          <el-form-item :label="$t('dataManage.layerObj.firm')">
            <el-select
              class="insertWidth"
              v-model="editData.category"
              :placeholder="$t('dataManage.layerObj.prompt3')"
            >
              <el-option
                v-for="item in serviceType"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item :label="$t('dataManage.layerObj.dataType')">
            <el-select
              class="insertWidth"
              v-model="editData.type"
              :placeholder="$t('dataManage.layerObj.prompt8')"
            >
              <el-option
                v-for="item in dataType"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item :label="$t('dataManage.layerObj.tableName')">
            <el-input
              v-model="editData.tab"
              class="insertWidth"
              :placeholder="$t('dataManage.layerObj.prompt12')"
            ></el-input>
          </el-form-item>
          <el-form-item :label="$t('dataManage.layerObj.serviceAddress')">
            <el-input
              v-model="editData.url"
              :placeholder="$t('dataManage.layerObj.prompt4')"
              class="insertWidth"
            ></el-input>
          </el-form-item>
          <el-form-item :label="$t('dataManage.layerObj.testAddress')">
            <el-input
              v-model="editData.test"
              :placeholder="$t('dataManage.layerObj.prompt9')"
              class="insertWidth"
            ></el-input>
          </el-form-item>
          <el-form-item :label="$t('dataManage.layerObj.serviceParameters')">
            <el-input
              v-model="editData.args"
              :placeholder="$t('dataManage.layerObj.prompt15')"
              class="insertWidth"
            ></el-input>
          </el-form-item>
          <el-form-item :label="$t('dataManage.layerObj.status')">
            <div class="insertWidth">
              <el-radio
                v-model="editData.status"
                label="0"
              >{{$t('dataManage.layerObj.disable')}}</el-radio>
              <el-radio
                v-model="editData.status"
                label="1"
              > {{$t('dataManage.layerObj.enableOriginalAddress')}}</el-radio>
              <el-radio
                v-model="editData.status"
                label="2"
              > {{$t('dataManage.layerObj.enableProxy')}}</el-radio>
            </div>
          </el-form-item>
          <el-form-item :label="$t('dataManage.layerObj.descr')">
            <el-input
              v-model="editData.descr"
              :placeholder="$t('dataManage.layerObj.prompt16')"
              class="insertWidth"
            ></el-input>
          </el-form-item>
          <el-form-item :label="$t('common.bak')">
            <el-input
              v-model="editData.bak"
              :placeholder="$t('dataManage.layerObj.prompt17')"
              class="insertWidth"
            ></el-input>
          </el-form-item>
        </el-form>
        <span
          slot="footer"
          class="dialog-footer"
          style="float: right; margin-right: 10%;"
        >
          <el-button
            @click="setEditReset"
            size="small"
          >{{ $t('common.reset') }}</el-button>
          <el-button
            type="primary"
            size="small"
            @click="setEditConfirm"
          >{{ $t('common.confirm') }}</el-button>
        </span>
      </div>
    </el-dialog>
  </div>
</template>
<script>
import MyBread from "../../components/MyBread.vue";
import {
  getPerms,
  select_Res_ByPageAndCount,
  res_insert,
  res_deletes,
  res_updates,
  res_update,
} from "../../api/api";
import $ from 'jquery'
import { getToken } from '../../utils/auth';
import { serve_type, data_type } from './js/layerManage.js'
import { json } from "body-parser";
import { flatten } from '@turf/turf';
export default {
  name: "catalogueManage",
  components: {
    MyBread,
  },
  data() {
    return {
      formInline: {
        name: null
      },
      menuStatus: {
        delete: false,
        insert: false,
        updaete: false
      },
      styleVar: {
        height: "calc(100% - 109px)",
      },
      timer: 0,
      tableHeight: 0,
      tableData: [],
      listData: {
        pageIndex: 1,
        pageSize: 10,
        count: 0
      },
      multipleSelection: [],
      editData: {},
      copyData: null,
      insertData: {
        status: "2"
      },
      editDialog: false,
      insertDialog: false,
      dataType: [],
      serviceType: []
    };
  },
  watch: {
  },
  beforeDestroy() {
    this.timer && clearTimeout(this.timer);
    window.removeEventListener("resize", this.onResize);
  },
  methods: {
    async setEditConfirm() {
      const data = await res_update(this.editData);
      if (data.code == 200) {
        this.$message({
          message: '资源更新成功',
          type: 'success'
        });
        this.setEditClose();
        this.setListDataStart();
      } else {
        this.$message.error('资源更新失败');
      }
    },
    setEditReset() {
      this.editData = JSON.parse(JSON.stringify(this.copyData));
      this.editData.status = this.editData.status.toString();
    },
    setEditClose() {
      this.editDialog = false;
      this.editData = {};
      this.copyData = {};
    },
    handleEditClose() {
      var that = this;
      this.$confirm('确认关闭?')
        .then(_ => {
          that.setEditClose();
        })
        .catch(_ => { });
    },
    setEmptyData() {
      this.formInline.name = ""
      this.setListDataStart()
    },
    async setDelTableData() {
      if (this.multipleSelection.length <= 0) {
        return this.$message('请选择要删除的资源数据');
      }
      var std = [];
      for (var i in this.multipleSelection) {
        std.push(this.multipleSelection[i].id)
      }
      const data = await res_deletes({ ids: std.toString() })
      if (data.code == 200) {
        this.$message({
          message: '资源删除成功',
          type: 'success'
        });
        this.setListDataStart();
      } else {
        this.$message.error('资源删除失败');
      }
    },
    closeInsertDialog() {
      this.insertDialog = false;
      this.insertData = {
        status: '2'
      }
    },
    setInsertCannel() {
      var that = this;
      this.$confirm('确认关闭?')
        .then(_ => {
          that.closeInsertDialog()
        })
        .catch(_ => { });
    },
    async setInsertConfirm() {
      const data = await res_insert(this.insertData);
      if (data.code == 200) {
        this.$message({
          message: '资源新增成功',
          type: 'success'
        });
        this.closeInsertDialog();
        this.setListDataStart();
      } else {
        this.$message.error('资源新增失败');
      }
    },
    //下拉菜单初始化
    optionsStart() {
      var std = [];
      var ste = [];
      for (var i in serve_type) {
        ste.push({
          value: serve_type[i].value,
          label: serve_type[i].name,
        })
      }
      this.serviceType = std;
      for (var i in data_type) {
        std.push({
          value: data_type[i].value,
          label: data_type[i].name,
        })
      }
      this.dataType = ste;
    },
    setScopeEdit(row) {
      this.copyData = JSON.parse(JSON.stringify(row));
      this.editData = JSON.parse(JSON.stringify(row));
      this.editData.status = this.editData.status.toString()
      this.editDialog = true
    },
    formatProxy(row, column) {
      var token = getToken()
      var val = row.proxy.replaceAll('{token}', token)
      return BASE_URL + val
    },
    copyText(row, column, cell, event) {
      // åŒå‡»å¤åˆ¶
      let save = function (e) {
        e.clipboardData.setData('text/plain', event.target.innerText);
        e.preventDefault();  //阻止默认行为
      }
      document.addEventListener('copy', save);//添加一个copy事件
      document.execCommand("copy");//执行copy方法
      this.$message({ message: '复制成功', type: 'success' })//提示
    },
    //格式化列表
    formatData(row, column) {
      let data = row[column.property];
      if (data == null) {
        return data;
      }
      return this.format(data);
    },
    //格式化时间
    format(shijianchuo) {
      //shijianchuo是整数,否则要parseInt转换
      var time = new Date(shijianchuo);
      var y = time.getFullYear();
      var m = time.getMonth() + 1;
      var d = time.getDate();
      var h = time.getHours();
      var mm = time.getMinutes();
      var s = time.getSeconds();
      return (
        y +
        '-' +
        this.add0(m) +
        '-' +
        this.add0(d) +
        ' ' +
        h +
        ':' +
        mm +
        ':' +
        s
      );
    },
    //格式化时间
    add0(m) {
      return m < 10 ? '0' + m : m;
    },
    setResType(row, column) {
      switch (row.type) {
        case 0:
          return "URL"
          break;
        case 1:
          return "TMS"
          break;
        case 2:
          return "WMTS"
          break;
        case 3:
          return "WMS"
          break;
        case 4:
          return "WFS"
          break;
        case 5:
          return "Tileset"
          break;
        default:
          return ""
          break;
      }
    },
    setResCategory(row, column) {
      switch (row.category) {
        case 0:
          return "其他"
          break;
        case 1:
          return "GisServer"
          break;
        case 2:
          return "GeoServer"
          break;
        case 3:
          return "数简"
          break;
        default:
          return ""
          break;
      }
    },
    setResStatus(row, column) {
      switch (row.status) {
        case 0:
          return "禁用"
          break;
        case 1:
          return "启用原始地址"
          break;
        case 2:
          return "启用代理地址"
          break;
        default:
          return ""
          break;
      }
    },
    async getResTableData() {
      this.listData.name = this.formInline.name
      const data = await select_Res_ByPageAndCount(this.listData);
      if (data.code != 200) {
        return this.$message({
          message: "资源列表获取失败",
          type: "warning",
        });
      }
      this.tableData = data.result;
      this.listData.count = data.count;
    },
    setListDataStart() {
      this.listData = {
        pageIndex: 1,
        pageSize: 10,
        count: 0
      }
      this.tableData = []
      this.getResTableData();
    },
    handleSelectionChange(val) {
      this.multipleSelection = val;
    },
    handleSizeChange(val) {
      this.listData.pageSize = val;
      this.getResTableData();
    },
    handleCurrentChange(val) {
      this.listData.pageIndex = val;
      this.getResTableData();
    },
    onResize() {
      this.timer && clearTimeout(this.timer);
      this.timer = setTimeout(() => {
        this.calHeight();
      }, 500);
    },
    //高度设置
    calHeight() {
      this.$nextTick(() => {
        const rect = this.$refs.container.getBoundingClientRect();
        this.tableHeight = `${rect.height + 97}px`;
        this.styleVar["height"] = `calc(100% - ${rect.height + 28}px)`;
      });
    },
    //获取权限
    getPerms() {
      var val = this.$store.state.currentPerms;
      var permsEntity = this.$store.state.permsEntity;
      if (!permsEntity || !permsEntity.length) {
        getPerms().then((res) => {
          if (res.code == 200) {
            permsEntity = res.result;
          }
        });
      }
      for (var i = 0; i < permsEntity.length; i++) {
        if (val === permsEntity[i].perms) {
          this.showPermsMenu(permsEntity[i]);
        }
      }
    },
    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() {
    window.addEventListener("resize", this.onResize);
    this.calHeight();
    this.getPerms();
    this.setListDataStart();
    this.optionsStart();
  },
};
</script>
<style lang="less" scoped>
.subpage_Box {
  //height: 96%;
  width: 98%;
  padding: 1%;
  border-radius: 10px;
}
.mainBox {
  padding-top: 10px;
  width: 100%;
  height: calc(100% - 75px);
  .content_box {
    width: 100%;
    // border-bottom: 2px solid #e4e7ed;
    margin-bottom: 10px;
    .el-form-item {
      margin: 5px;
    }
  }
}
/deep/ .el-input__suffix {
  top: 50%;
  transform: translateY(-50%);
}
.insertWidth {
  width: calc(100% - 200px);
}
</style>
<style >
.el-message-box {
  background: #303030 !important;
}
.el-message-box p {
  color: #fff !important;
}
</style>
src/views/datamanage/styleManage.vue
@@ -53,13 +53,7 @@
                size="small"
              >{{ $t('common.delete') }}
              </el-button>
              <!--              <el-button
                  @click="submitForm('ruleForm')"
                  icon="el-icon-search"
                  type="primary"
                  size="small"
              >{{ $t('common.iquery') }}
              </el-button>-->
              <el-button
                @click="resetForm('ruleForm')"
                icon="el-icon-refresh"