月球大数据地理空间分析展示平台-【中台】
Surpriseplus
2023-10-10 7a83906e6714edea1568d10acb4eb0bc1aae81c6
资源管理,令牌管理页面修改
已修改6个文件
279 ■■■■ 文件已修改
src/api/api.js 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/index.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/resourceManagement.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/maintenance/tokentool.vue 64 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/userManage/resourceManage.vue 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/userManage/roleManage.vue 166 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/api.js
@@ -240,8 +240,10 @@
export function roleRes_selectResByRole(params) {
  return request.get('/roleRes/selectResByRole', { params: params });
}
//令牌管理=>创建新令牌
export function token_insertNewToken(params) {
  return request.get('/token/insertNewToken', { params: params });
}
//角色资源-批量新增
export function roleRes_inserts(params) {
@@ -481,6 +483,14 @@
export function updateToken(params) {
  return request.post('/token/updateToken', params);
}
//令牌管理 =>失效
export function token_updateExpireById(params) {
  return request.get('/token/updateExpireById', { params: params });
}
//黑白名单列表获取
export function blacklistSelectByPageAndCount(params) {
  return request.get('/blacklist/selectByPageAndCount', { params: params });
@@ -1258,7 +1268,7 @@
export function colortab_insert(params) {
  return service.post('/colortab/insert', params);
}
//颜色表管理=>插入一条
//颜色表管理=>修改一条
export function colortab_update(params) {
  return service.post('/colortab/update', params);
}
src/store/index.js
@@ -78,6 +78,7 @@
    isProjectLayer: [],
    pigCode: null,
    listenTime: null,
    resToken: null,
  },
  mutations: {
    UPDATE_LISTEN_TIME(state, msg) {
src/views/datamanage/resourceManagement.vue
@@ -631,6 +631,7 @@
  res_deletes,
  res_updates,
  res_update,
  token_insertNewToken
} from "../../api/api";
import $ from 'jquery'
import { getToken } from '../../utils/auth';
@@ -698,7 +699,7 @@
        }, {
          label: '启用代理地址', value: 2
        }
      ]
      ], resToken: null,
    };
  },
  watch: {
@@ -709,6 +710,21 @@
    window.removeEventListener("resize", this.onResize);
  },
  methods: {
    async getResToken() {
      if (this.$store.state.resToken) {
        this.resToken = this.$store.state.resToken
      } else {
        const data = await token_insertNewToken({
          type: 1,
          min: 43200
        });
        if (data.code == 200) {
          this.$store.state.resToken = data.result.token;
          this.resToken = data.result.token;
        }
      }
    },
    //是否为全屏函数
    onFullscreen(fullscreen) {
      this.isFullscreen = fullscreen;
@@ -925,7 +941,7 @@
      }, 1000);
    },
    formatProxy(row, column) {
      var token = getToken()
      var token = this.resToken
      if (row.proxy && row.proxy.indexOf('{token}') > -1) {
        var val = row.proxy.replaceAll('{token}', token)
        return BASE_URL + val
@@ -1156,11 +1172,13 @@
  },
  mounted() {
    window.addEventListener("resize", this.onResize);
    this.getResToken();
    this.calHeight();
    this.getPerms();
    this.setListDataStart();
    this.optionsStart();
  },
};
</script>
src/views/maintenance/tokentool.vue
@@ -92,6 +92,7 @@
        style="width: 100%"
        border
        height="calc(100% - 45px)"
        @selection-change="handleSelectionChange"
      >
        <el-table-column
          type="selection"
@@ -105,7 +106,17 @@
        <el-table-column
          prop="token"
          :label="$t('operatManage.tokentoolObj.token')"
        />
        >
          <template slot-scope="scope">
            <span
              style="color: #F56C6C;"
              v-if="!scope.row.status"
            >{{scope.row.token }}</span>
            <span v-if="scope.row.status">{{scope.row.token }}</span>
          </template>
        </el-table-column>
        <el-table-column
          prop="duration"
          width="120"
@@ -154,19 +165,21 @@
        >
          <template slot-scope="scope">
            <el-button
              v-if="scope.row.status"
              type="danger"
              size="small"
              plain
              @click="setExpireById(scope.$index, scope.row)"
            >{{
              $t("operatManage.tokentoolObj.invalid")
            }}</el-button>
            <el-button
            <!-- <el-button
              type="info"
              size="small"
              plain
            >{{
              $t("operatManage.tokentoolObj.renewal")
            }}</el-button>
            }}</el-button> -->
            <el-button
              v-if="menuStatus.update"
              @click="handleEdit(scope.$index, scope.row)"
@@ -197,13 +210,13 @@
      :visible.sync="InsertFormdialog"
      :before-close="handleClose"
    >
      <div style="height: 500px; overflow: auto">
      <div style="height: 300px; overflow: auto">
        <el-form
          ref="formData1"
          :model="insertform"
          label-position="top"
        >
          <el-form-item
          <!-- <el-form-item
            :label="$t('operatManage.tokentoolObj.token')"
            :label-width="formLabelWidth"
          >
@@ -212,7 +225,7 @@
              :placeholder="$t('common.pleaseInput')"
              style="width:85%"
            />
          </el-form-item>
          </el-form-item> -->
          <el-form-item
            :label="$t('operatManage.tokentoolObj.duration')"
            :label-width="formLabelWidth"
@@ -243,7 +256,7 @@
              ></el-option>
            </el-select>
          </el-form-item>
          <el-form-item
          <!-- <el-form-item
            :label="$t('operatManage.tokentoolObj.ip')"
            :label-width="formLabelWidth"
          >
@@ -252,7 +265,7 @@
              :placeholder="$t('common.pleaseInput')"
              style="width:85%"
            />
          </el-form-item>
          </el-form-item> -->
        </el-form>
      </div>
      <div
@@ -294,6 +307,7 @@
              v-model="upform.token"
              :placeholder="$t('common.pleaseInput')"
              style="width:85%"
              disabled
            />
          </el-form-item>
          <el-form-item
@@ -335,6 +349,7 @@
              v-model="upform.ip"
              :placeholder="$t('common.pleaseInput')"
              style="width:85%"
              disabled
            />
          </el-form-item>
        </el-form>
@@ -370,6 +385,7 @@
  insertToken,
  updateToken,
  deleteTokens,
  token_updateExpireById
} from "../../api/api.js";
export default {
  //import引入的组件需要注入到对象中才能使用
@@ -425,6 +441,22 @@
    window.removeEventListener("resize", this.onResize);
  },
  methods: {
    async setExpireById(index, row) {
      const data = await token_updateExpireById({ id: row.id })
      if (data.code == 200) {
        this.$message({
          message: "成功!",
          type: "success",
        });
      } else {
        this.$message({
          message: "失败!",
          type: "warning",
        });
      }
      this.getRoleTabelData();
    },
    onResize() {
      this.timer && clearTimeout(this.timer);
      this.timer = setTimeout(() => {
@@ -453,6 +485,12 @@
    },
    async delTokenData() {
      var std = [];
      if (this.multipleSelection.length <= 0) {
        return this.$message({
          message: "删除失败,未选择要删除的数据!",
        });
      }
      for (var i in this.multipleSelection) {
        std.push(this.multipleSelection[i].id);
      }
@@ -655,8 +693,14 @@
      if (data.code != 200) {
        this.$message.error("列表调用失败");
      }
      this.tableData = data.result;
      var val = data.result.filter((res) => {
        res.status = false;
        if (res.expire > new Date().getTime()) {
          res.status = true
        }
        return res;
      })
      this.tableData = val;
      this.count = data.count;
    },
    handleSizeChange(val) {
src/views/userManage/resourceManage.vue
@@ -723,6 +723,7 @@
  upload_res,
  selectdirTab,
  selectdepTab,
} from "../../api/api.js";
import styleDirTree from "../datamanage/styleDirTree.vue";
import styleDepTree from "../datamanage/styleDepTree.vue";
@@ -783,6 +784,7 @@
      styleVar: {
        height: "calc(100% - 109px)",
      },
    };
  },
@@ -794,17 +796,22 @@
        this.showPermsMenu(permsEntity[i]);
      }
    }
    this.getRoleTabelData();
  },
  mounted() {
    window.addEventListener("resize", this.onResize);
    this.calHeight();
    this.getRoleTabelData();
  },
  beforeDestroy() {
    this.timer && clearTimeout(this.timer);
    window.removeEventListener("resize", this.onResize);
  },
  methods: {
    onResize() {
      this.timer && clearTimeout(this.timer);
      this.timer = setTimeout(() => {
@@ -1118,6 +1125,7 @@
      if (data.code != 200) {
        this.$message.error("列表调用失败");
      }
      debugger
      this.tableData = data.result;
      this.count = data.count;
    },
src/views/userManage/roleManage.vue
@@ -1,14 +1,19 @@
<template>
  <div class="logLog_box">
    <My-bread
      :list="[
    <My-bread :list="[
        `${$t('operatManage.operatManage')}`,
        `${$t('userManage.roleManage')}`,
      ]"
    ></My-bread>
      ]"></My-bread>
    <el-divider />
    <div class="inquire subpage_Div" ref="container">
      <el-form ref="ruleForm" :model="roleForm" :inline="true">
    <div
      class="inquire subpage_Div"
      ref="container"
    >
      <el-form
        ref="ruleForm"
        :model="roleForm"
        :inline="true"
      >
        <div class="flex_box">
          <div style="margin-right: auto">
            <el-form-item
@@ -43,14 +48,21 @@
            :placeholder="$t('common.pleaseInput')"
          /> -->
            </el-form-item>
            <el-form-item :label="$t('userManage.RM.roleName')" prop="username">
            <el-form-item
              :label="$t('userManage.RM.roleName')"
              prop="username"
            >
              <el-input
                v-model="roleForm.username"
                :placeholder="$t('userManage.RM.roleNameHolder')"
                size="small"
                style="width: 200px"
              >
                <i slot="suffix" class="el-icon-search" @click="onSubmit"></i>
                <i
                  slot="suffix"
                  class="el-icon-search"
                  @click="onSubmit"
                ></i>
              </el-input>
            </el-form-item>
          </div>
@@ -70,10 +82,9 @@
                size="small"
                @click="setInsertFormdialog"
                v-if="menuStatus.insert"
                ><i class="el-icon-circle-plus-outline"></i> &nbsp;{{
              ><i class="el-icon-circle-plus-outline"></i> &nbsp;{{
                  $t("userManage.RM.add")
                }}</el-button
              >
                }}</el-button>
            </el-form-item>
            <el-form-item>
              <el-button
@@ -81,17 +92,18 @@
                size="small"
                @click="handleDelete()"
                v-if="menuStatus.delete"
                ><i class="el-icon-delete"></i>&nbsp;{{
              ><i class="el-icon-delete"></i>&nbsp;{{
                  $t("common.delete")
                }}</el-button
              >
                }}</el-button>
            </el-form-item>
            <el-form-item>
              <el-button type="info" size="small" @click="resetForm('ruleForm')"
                ><i class="el-icon-delete"></i>&nbsp;{{
              <el-button
                type="info"
                size="small"
                @click="resetForm('ruleForm')"
              ><i class="el-icon-delete"></i>&nbsp;{{
                  $t("userManage.RM.reset")
                }}</el-button
              >
                }}</el-button>
            </el-form-item>
          </div>
        </div>
@@ -144,7 +156,10 @@
      </el-form>
    </div>
    <div class="dividing-line"></div>
    <div class="table_box subpage_Div" :style="styleVar">
    <div
      class="table_box subpage_Div"
      :style="styleVar"
    >
      <el-table
        :data="tableData"
        style="width: 100%"
@@ -152,14 +167,21 @@
        height="calc(100% - 45px)"
        @selection-change="handleSelectionChange"
      >
        <el-table-column type="selection" width="55" />
        <el-table-column
          type="selection"
          width="55"
        />
        <el-table-column
          align="center"
          type="index"
          :label="$t('userManage.RM.index')"
          width="70px"
        />
        <el-table-column align="center" prop="id" v-if="false" />
        <el-table-column
          align="center"
          prop="id"
          v-if="false"
        />
        <el-table-column
          align="center"
          prop="name"
@@ -226,20 +248,21 @@
              @click="showDetail(scope.$index, scope.row)"
              size="small"
              plain
              >{{ $t("common.see") }}</el-button
            >
            >{{ $t("common.see") }}</el-button>
            <el-button
              v-if="menuStatus.update"
              type="warning"
              @click="handleEdit(scope.$index, scope.row)"
              size="small"
              plain
              >{{ $t("common.update") }}</el-button
            >
            >{{ $t("common.update") }}</el-button>
          </template>
        </el-table-column>
      </el-table>
      <div style="margin-top: 10px" class="pagination_box">
      <div
        style="margin-top: 10px"
        class="pagination_box"
      >
        <el-pagination
          @size-change="handleSizeChange"
          @current-change="handleCurrentChange"
@@ -260,7 +283,10 @@
      :visible.sync="InsertFormdialog"
    >
      <div style="height: 500px; overflow: auto">
        <el-form :model="insertform" label-position="top">
        <el-form
          :model="insertform"
          label-position="top"
        >
          <el-form-item
            :label="$t('userManage.RM.roleName')"
            :label-width="formLabelWidth"
@@ -374,11 +400,21 @@
          </el-form-item>
        </el-form>
      </div>
      <div slot="footer" class="dialog-footer">
        <el-button size="small" @click="insertFromClose">{{
      <div
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          size="small"
          @click="insertFromClose"
        >{{
          $t("common.close")
        }}</el-button>
        <el-button type="primary" size="small" @click="insertFromData">{{
        <el-button
          type="primary"
          size="small"
          @click="insertFromData"
        >{{
          $t("common.confirm")
        }}</el-button>
      </div>
@@ -389,7 +425,10 @@
      :before-close="handleCloseEdit"
    >
      <div style="height: 500px; overflow: auto">
        <el-form :model="updateform" label-position="top">
        <el-form
          :model="updateform"
          label-position="top"
        >
          <el-form-item
            :label="$t('userManage.RM.roleName')"
            :label-width="formLabelWidth"
@@ -451,7 +490,10 @@
              v-model="updateform.isAdmin"
              label="0"
            >否</el-radio> -->
            <el-select style="width: 85%" v-model="updateform.isAdmin">
            <el-select
              style="width: 85%"
              v-model="updateform.isAdmin"
            >
              <el-option
                v-for="item in options"
                :key="item.value"
@@ -482,33 +524,59 @@
          </el-form-item>
        </el-form>
      </div>
      <div slot="footer" class="dialog-footer">
        <el-button size="small" @click="updateFromClose">{{
      <div
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          size="small"
          @click="updateFromClose"
        >{{
          $t("common.close")
        }}</el-button>
        <el-button type="primary" size="small" @click="updateFromData">{{
        <el-button
          type="primary"
          size="small"
          @click="updateFromData"
        >{{
          $t("common.confirm")
        }}</el-button>
      </div>
    </el-dialog>
    <div class="leftTree subpage_Div box_div" v-if="showCata">
    <div
      class="leftTree subpage_Div box_div"
      v-if="showCata"
    >
      <div class="treeBox">
        <role-dep-tree></role-dep-tree>
      </div>
      <div class="btnBox">
        <el-button type="primary" size="small" @click="selectCataName"
          >确定</el-button
        >
        <el-button type="info" size="small" @click="showCata = false"
          >取消</el-button
        >
        <el-button
          type="primary"
          size="small"
          @click="selectCataName"
        >确定</el-button>
        <el-button
          type="info"
          size="small"
          @click="showCata = false"
        >取消</el-button>
      </div>
    </div>
    <div class="infoBox_box" v-show="showinfoBox">
    <div
      class="infoBox_box"
      v-show="showinfoBox"
    >
      <div class="infoBox box_div subpage_Div">
        <div slot="header" class="clearfix">
        <div
          slot="header"
          class="clearfix"
        >
          <span>{{ $t("dataManage.styleObj.deInformation") }}</span>
          <div style="float: right; cursor: pointer" @click="closeDetial">
          <div
            style="float: right; cursor: pointer"
            @click="closeDetial"
          >
            <i class="el-icon-close"></i>
          </div>
        </div>
@@ -808,7 +876,7 @@
          this.InsertFormdialog = false;
          this.insertform = {};
        })
        .catch((_) => {});
        .catch((_) => { });
    },
    async insertFromData() {
      if (this.insertform.depValue == null) {
@@ -841,7 +909,7 @@
          this.updateform = {};
          this.getRoleTabelData();
        })
        .catch((_) => {});
        .catch((_) => { });
    },
    async updateFromData() {
      if (this.updateform.depValue == null) {
@@ -948,7 +1016,7 @@
        .then((_) => {
          this.InsertFormdialog = false;
        })
        .catch((_) => {});
        .catch((_) => { });
    },
    handleCloseEdit() {
      this.$confirm("关闭后无法保存,是否关闭?")
@@ -956,7 +1024,7 @@
          this.UpdateFormdialog = false;
          this.getRoleTabelData();
        })
        .catch((_) => {});
        .catch((_) => { });
    },
  },
  beforeDestroy() {