1
Surpriseplus
2022-10-10 a6ad430fbe12bd634304abbca659605c32df348c
1
已添加1个文件
已修改6个文件
1316 ■■■■ 文件已修改
src/api/api.js 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/lang/en.js 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/lang/zh.js 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/navMenu.vue 125 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/userManage/authorityManage.vue 487 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/userManage/resourceManage.vue 608 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/api.js
@@ -122,18 +122,19 @@
  //请求地址
  return request.get('/resOp/selectByPageAndCount', { params: params });
}
//获取公钥用于加密
export function getPublicKey(params) {
  //请求地址
  return request.get('/sign/getPublicKey', { params: params });
//权限管理添加
export function insertAuth(params) {
  return request.post('/auth/insertAuth', params);
}
//登录
export function login(params) {
  //请求地址
  return request.post('/sign/login',  params );
//权限管理修改
export function updateAuth(params) {
  return request.post('/auth/updateAuth', params);
}
//退出登录
export function logout(params) {
  //请求地址
  return request.get('/sign/logout',  { params: params } );
}
//权限管理删除
export function deleteAuths(params) {
  return request.get('/auth/deleteAuths', { params: params });
}
//资源管理列表
export function select_Res_ByPageAndCount(params) {
  return request.get('/res/selectByPageAndCount', { params: params });
}
src/assets/lang/en.js
@@ -352,6 +352,15 @@
    userManage: 'User Manage',
    userInfoManage: 'User Information Manage',
    userInfoObj: {
      addPermission: 'Add Permission',
      editPermission: 'Modify Permission',
      name: 'Name',
      tag: 'Tag',
      createUser: 'Creator ID',
      createTime: 'Creation Time',
      updateUser: 'Updater ID',
      updateTime: 'Update Time',
      bak: 'Remarks',
      userStatus: 'User Status',
      all: 'All',
      normal: 'Normal',
@@ -518,6 +527,22 @@
      one: 'A picture',
    },
    authorityManage: 'Permission management',
    resManage: 'Resource Management',
    resManageObj: {
      addResource: 'Add resource information',
      name: 'Resource Name',
      server: 'Service Address',
      source: 'Original address',
      depid: 'Unit ID',
      dirid: 'Directory ID',
      descr: 'Describe',
      img: 'Preview',
      createUser: 'Creator ID',
      createTime: 'Creation Time',
      updateUser: 'Updater ID',
      updateTime: 'Update Time',
      bak: 'Remarks',
    },
  },
};
src/assets/lang/zh.js
@@ -329,7 +329,6 @@
    username: '用户名',
    applicationProgram: '应用程序',
    describe: '描述',
  },
  themaic: {
    name: '专题地图',
@@ -353,7 +352,17 @@
    userManage: '用户管理',
    userInfoManage: '用户信息管理',
    authorityManage: '权限管理',
    userInfoObj: {
      addPermission: '添加权限',
      editPermission: '修改权限',
      name: '名称',
      tag: '标识',
      createUser: '创建人ID',
      createTime: '创建时间',
      updateUser: '更新人ID',
      updateTime: '更新时间',
      bak: '备注',
      userStatus: '用户状态',
      all: '全部',
      normal: '正常',
@@ -521,6 +530,22 @@
      operate: '操作',
      one: '一张图',
    },
    resManage: '资源管理',
    resManageObj: {
      addResource: '添加资源信息',
      name: '资源名称',
      server: '服务地址',
      source: '原始地址',
      depid: '单位ID',
      dirid: '目录ID',
      descr: '描述',
      img: '预览图',
      createUser: '创建人ID',
      createTime: '创建时间',
      updateUser: '更新人ID',
      updateTime: '更新时间',
      bak: '备注',
    },
  },
};
src/components/navMenu.vue
@@ -18,120 +18,123 @@
        >
          <el-submenu index="3" class="faSub">
            <template slot="title">
              <span>{{ $t("synthesis.synthesis") }}</span>
              <span>{{ $t('synthesis.synthesis') }}</span>
            </template>
            <el-menu-item index="Synthesis">{{
              $t("synthesis.synthesis")
              $t('synthesis.synthesis')
            }}</el-menu-item>
            <el-menu-item index="Thematic">{{
              $t("synthesis.themaic")
              $t('synthesis.themaic')
            }}</el-menu-item>
            <el-menu-item index="Archive">{{
              $t("synthesis.archive")
              $t('synthesis.archive')
            }}</el-menu-item>
          </el-submenu>
          <el-submenu index="1" class="faSub">
            <template slot="title">
              <span>{{ $t("dataManage.dataManage") }}</span>
              <span>{{ $t('dataManage.dataManage') }}</span>
            </template>
            <el-menu-item index="catalogueManage">{{
              $t("dataManage.catalogueManage")
              $t('dataManage.catalogueManage')
            }}</el-menu-item>
            <el-menu-item index="dataUpdata">{{
              $t("dataManage.dataUpdata")
              $t('dataManage.dataUpdata')
            }}</el-menu-item>
            <el-menu-item index="metadataManage">{{
              $t("dataManage.metadataManage")
              $t('dataManage.metadataManage')
            }}</el-menu-item>
            <el-menu-item index="dataLoading">{{
              $t("dataManage.dataLoading")
              $t('dataManage.dataLoading')
            }}</el-menu-item>
            <el-menu-item index="SpatialData">{{
              $t("dataManage.SpatialData")
              $t('dataManage.SpatialData')
            }}</el-menu-item>
            <el-menu-item index="versionManage">{{
              $t("dataManage.versionManage")
              $t('dataManage.versionManage')
            }}</el-menu-item>
            <el-menu-item index="dictionaryManage">{{
              $t("dataManage.dictionaryManage")
              $t('dataManage.dictionaryManage')
            }}</el-menu-item>
            <el-menu-item index="styleManage">{{
              $t("dataManage.styleManage")
              $t('dataManage.styleManage')
            }}</el-menu-item>
          </el-submenu>
          <el-submenu index="2" class="faSub">
            <template slot="title">
              <span>{{ $t("operatManage.operatManage") }}</span>
              <span>{{ $t('operatManage.operatManage') }}</span>
            </template>
            <el-submenu index="2-2">
              <template slot="title">{{
                $t("operatManage.systemLayout")
                $t('operatManage.systemLayout')
              }}</template>
              <el-menu-item index="menuSettings">{{
                $t("operatManage.menuSettings")
                $t('operatManage.menuSettings')
              }}</el-menu-item>
              <el-menu-item index="parameterConfiguration">{{
                $t("operatManage.parameterConfiguration")
                $t('operatManage.parameterConfiguration')
              }}</el-menu-item>
              <el-menu-item index="rests">{{
                $t("operatManage.rests")
                $t('operatManage.rests')
              }}</el-menu-item>
            </el-submenu>
            <el-menu-item index="authorityManagement">{{
              $t("operatManage.authorityManagement")
              $t('operatManage.authorityManagement')
            }}</el-menu-item>
            <el-menu-item index="safetyManagement">{{
              $t("operatManage.safetyManagement")
              $t('operatManage.safetyManagement')
            }}</el-menu-item>
            <el-submenu index="2-5">
              <template slot="title">{{
                $t("operatManage.operationMonitoring")
                $t('operatManage.operationMonitoring')
              }}</template>
              <el-menu-item index="eventlogManage">{{
                $t("operatManage.ResourceLog")
                $t('operatManage.ResourceLog')
              }}</el-menu-item>
              <el-menu-item index="logLog">{{
                $t("operatManage.logLog")
                $t('operatManage.logLog')
              }}</el-menu-item>
              <el-menu-item index="operationLog">{{
                $t("operatManage.operationLog")
                $t('operatManage.operationLog')
              }}</el-menu-item>
              <el-menu-item index="databaseMonitoring">{{
                $t("operatManage.databaseMonitoring")
                $t('operatManage.databaseMonitoring')
              }}</el-menu-item>
              <el-menu-item index="systemMonitoring">{{
                $t("operatManage.systemMonitoring")
                $t('operatManage.systemMonitoring')
              }}</el-menu-item>
              <el-menu-item index="blackwhiteList"
                >{{ $t("operatManage.blackwhiteList") }}
                >{{ $t('operatManage.blackwhiteList') }}
              </el-menu-item>
              <el-menu-item index="tokentool">{{
                $t("operatManage.tokentool")
                $t('operatManage.tokentool')
              }}</el-menu-item>
            </el-submenu>
          </el-submenu>
          <el-submenu index="4" class="faSub">
            <template slot="title">
              <span>{{ $t("userManage.userManage") }}</span>
              <span>{{ $t('userManage.userManage') }}</span>
            </template>
            <el-menu-item index="userInfoManage">{{
              $t("userManage.userInfoManage")
              $t('userManage.userInfoManage')
            }}</el-menu-item>
            <el-menu-item index="orgManage">{{
              $t("userManage.orgManage")
              $t('userManage.orgManage')
            }}</el-menu-item>
            <el-menu-item index="userAuditing">{{
              $t("userManage.userAuditing")
              $t('userManage.userAuditing')
            }}</el-menu-item>
            <el-menu-item index="roleManage">{{
              $t("userManage.roleManage")
              $t('userManage.roleManage')
            }}</el-menu-item>
            <el-menu-item index="groupManage">{{
              $t("userManage.groupManage")
              $t('userManage.groupManage')
            }}</el-menu-item>
            <el-menu-item index="authorityManage">{{
              $t("userManage.authorityManage")
              $t('userManage.authorityManage')
            }}</el-menu-item>
            <el-menu-item index="resourceManage">{{
              $t('userManage.resManage')
            }}</el-menu-item>
          </el-submenu>
          <!-- <el-submenu index="5" class="faSub">
@@ -162,74 +165,74 @@
</template>
<script>
import { logout } from "@/api/api";
import { removeToken,getToken } from "@/utils/auth";
import { logout } from '@/api/api';
import { removeToken, getToken } from '@/utils/auth';
export default {
  name: "navMenu",
  name: 'navMenu',
  //import引入的组件需要注入到对象中才能使用
  data() {
    return {
      lang: "en",
      lang: 'en',
    };
  },
  methods: {
    logOut() {
      this.$confirm("确认是否退出登录?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      this.$confirm('确认是否退出登录?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning',
      })
        .then(async () => {
          const data = await logout({token:getToken()});
          const data = await logout({ token: getToken() });
          console.log(data);
          if (data.code != 200) {
            return this.$message.error("退出登录失败");
            return this.$message.error('退出登录失败');
          }
          removeToken();
          this.$router.push("/login");
          this.$router.push('/login');
          this.$message({
            message: "退出登录成功",
            type: "success",
            message: '退出登录成功',
            type: 'success',
          });
        })
        .catch(() => {
          this.$message({
            type: "info",
            message: "已取消",
            type: 'info',
            message: '已取消',
          });
        });
    },
    handleOpen(key, keyPath) {
      if (
        keyPath[1] != "dataLoading" &&
        keyPath[1] != "2-2" &&
        keyPath[1] != "2-5"
        keyPath[1] != 'dataLoading' &&
        keyPath[1] != '2-2' &&
        keyPath[1] != '2-5'
      )
        this.$router.push(keyPath[1]);
    },
    handleClose(key, keyPath) {
      if (
        keyPath[1] != "dataLoading" &&
        keyPath[1] != "2-5" &&
        keyPath[1] != "2-2"
        keyPath[1] != 'dataLoading' &&
        keyPath[1] != '2-5' &&
        keyPath[1] != '2-2'
      )
        this.$router.push(keyPath[1]);
    },
    handleselect(index) {
      if (index != null) {
        this.$emit("shwoMapView", false);
        this.$emit('shwoMapView', false);
      }
    },
    showChange() {
      this.$emit("shwoMapView", true);
      this.$emit('shwoMapView', true);
    },
    switchLang() {
      if (this.lang == "en") {
      if (this.lang == 'en') {
        this.$i18n.locale = this.lang;
        this.lang = "zh";
        this.lang = 'zh';
      } else {
        this.$i18n.locale = this.lang;
        this.lang = "en";
        this.lang = 'en';
      }
    },
  },
src/router/index.js
@@ -1,6 +1,6 @@
import Vue from 'vue';
import VueRouter from 'vue-router';
import { getToken } from "@/utils/auth"; // get token from cookie
import { getToken } from '@/utils/auth'; // get token from cookie
import Home from '../views/Home.vue';
import login from '../components/login';
import Synthesis from '../views/Synthesis/index.vue'; //综合展示
@@ -36,7 +36,7 @@
import roleManage from '../views/userManage/roleManage.vue'; // ç”¨æˆ·ç®¡ç†æ¨¡å—
import groupManage from '../views/userManage/groupManage.vue'; // ç”¨æˆ·ç®¡ç†æ¨¡å—
import authorityManage from '@/views/userManage/authorityManage.vue'; //用户管理-权限管理
import resourceManage from '@/views/userManage/resourceManage.vue'; //用户管理-资源管理
// ç¾¤ç»„管理
Vue.use(VueRouter);
@@ -50,7 +50,7 @@
    path: '/',
    name: 'Home',
    component: Home,
    redirect: "/Synthesis",
    redirect: '/Synthesis',
    children: [
      {
        path: '/Synthesis',
@@ -328,6 +328,15 @@
          requireAuth: true, // æ ‡è¯†è¯¥è·¯ç”±æ˜¯å¦éœ€è¦ç™»å½•
        },
      },
      {
        path: '/resourceManage',
        component: resourceManage,
        name: 'resourceManage',
        meta: {
          title: '资源管理',
          requireAuth: true, // æ ‡è¯†è¯¥è·¯ç”±æ˜¯å¦éœ€è¦ç™»å½•
        },
      },
    ],
  },
];
@@ -345,7 +354,7 @@
      next();
    } else {
      next({
        path: "/login",
        path: '/login',
      });
    }
  } else {
src/views/userManage/authorityManage.vue
@@ -8,19 +8,43 @@
    ></My-bread>
    <el-divider />
    <div class="power_quire">
      <el-form ref="form" :model="form" label-width="100px" :inline="true">
      <el-form ref="form" :model="ruleForm" label-width="100px" :inline="true">
        <el-form-item :label="$t('common.username')">
          <el-input v-model="form.name"></el-input>
          <el-input v-model="ruleForm.name"></el-input>
        </el-form-item>
        <el-form-item>
          <el-button icon="el-icon-search" type="primary" plain>{{
          <el-button  @click="submitForm('ruleForm')"  icon="el-icon-search" type="primary">{{
            $t('common.iquery')
          }}</el-button>
          <el-button
            @click="resetForm('ruleForm')"
            icon="el-icon-refresh"
            type="info"
            >{{ $t('common.empty') }}</el-button
          >
          <el-button
            @click="InsertFormdialog = true"
            icon="el-icon-edit"
            type="success"
            >{{ $t('common.append') }}</el-button
          >
          <el-button
            @click="DelFromData"
            icon="el-icon-delete"
            type="danger"
            >{{ $t('common.delete') }}</el-button
          >
        </el-form-item>
      </el-form>
    </div>
    <div class="table_box">
      <el-table :data="tableData" border style="width: 100%">
      <el-table
        :data="tableData"
        style="width: 100%"
        fit
        @selection-change="handleSelectionChange"
      >
        <el-table-column type="selection" width="55" />
        <el-table-column
          align="center"
          type="index"
@@ -28,39 +52,47 @@
          width="70px"
        />
        <el-table-column
          prop="date"
          align="center"
          :label="$t('userManage.userInfoObj.username')"
        >
        </el-table-column>
        <el-table-column
          prop="name"
          align="center"
          :label="$t('userManage.userInfoObj.affiliatedUnit')"
          :label="$t('userManage.userInfoObj.name')"
        >
        </el-table-column>
        <el-table-column
          prop="province"
          prop="tag"
          align="center"
          :label="$t('userManage.userInfoObj.mobileNumber')"
          :label="$t('userManage.userInfoObj.tag')"
        >
        </el-table-column>
        <el-table-column
          prop="city"
          prop="createUser"
          align="center"
          :label="$t('userManage.userInfoObj.post')"
          :label="$t('userManage.userInfoObj.createUser')"
        >
        </el-table-column>
        <el-table-column
          prop="address"
          prop="createTime"
          align="center"
          :label="$t('userManage.userInfoObj.userstate')"
          :label="$t('userManage.userInfoObj.createTime')"
          :formatter="formatTime"
        >
        </el-table-column>
        <el-table-column
          prop="zip"
          prop="updateUser"
          align="center"
          :label="$t('userManage.userInfoObj.addtime')"
          :label="$t('userManage.userInfoObj.updateUser')"
        >
        </el-table-column>
        <el-table-column
          prop="updateTime"
          align="center"
          :label="$t('userManage.userInfoObj.updateTime')"
          :formatter="formatTime"
        >
        </el-table-column>
        <el-table-column
          prop="bak"
          align="center"
          :label="$t('userManage.userInfoObj.bak')"
        >
        </el-table-column>
        <el-table-column
@@ -70,14 +102,19 @@
        >
          <template slot-scope="scope">
            <el-button
              @click="handleClick(scope.row)"
              @click="showDetail(scope.$index, scope.row)"
              type="primary"
              plain
              size="small"
              >{{ $t('common.see') }}</el-button
            >
            <el-button
              @click="handleEdit(scope.$index, scope.row)"
              type="warning"
              size="small"
              plain
              >{{ $t('common.edit') }}</el-button
            >
            <el-button type="danger" size="small">{{
              $t('common.delete')
            }}</el-button>
          </template>
        </el-table-column>
      </el-table>
@@ -86,15 +123,63 @@
      <el-pagination
        @size-change="handleSizeChange"
        @current-change="handleCurrentChange"
        :current-page="currentPage"
        :current-page="listData.pageIndex"
        :page-sizes="[10, 20, 30, 40]"
        :page-size="10"
        :page-size="listData.pageSize"
        layout="total, sizes, prev, pager, next, jumper"
        :total="9"
        :total="count"
      >
      </el-pagination>
    </div>
    <div class="infoBox" v-show="showinfoBox">
      <el-card class="box-card">
        <div slot="header" class="clearfix">
          <span>{{ $t('dataManage.styleObj.deInformation') }}</span>
          <div style="float: right; cursor: pointer"  @click="closeDetial" >
            <i class="el-icon-close"></i>
          </div>
        </div>
               <div class="contentBox">
          <p>
            <label> {{ $t('userManage.userInfoObj.name') }}:</label>
            <label class="boxlabel">{{ itemdetail.name }}</label>
          </p>
          <el-divider></el-divider>
          <p>
           <p>
            <label> {{ $t('userManage.userInfoObj.tag') }}:</label>
            <label class="boxlabel">{{ itemdetail.tag }}</label>
          </p>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.userInfoObj.createUser') }}:</label>
            <label class="boxlabel">{{ itemdetail.createUser }}</label>
          </p>
          <el-divider></el-divider>
           <p>
            <label> {{ $t('userManage.userInfoObj.createTime') }}:</label>
            <label class="boxlabel">{{ itemdetail.createTime }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.userInfoObj.updateUser') }}:</label>
            <label class="boxlabel">{{ itemdetail.updateUser }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.userInfoObj.updateTime') }}:</label>
            <label class="boxlabel">{{ itemdetail.updateTime }}</label>
          </p>
 <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.userInfoObj.bak') }}:</label>
            <label class="boxlabel">{{ itemdetail.bak }}</label>
          </p>
           <el-divider></el-divider>
        </div>
      </el-card>
    </div>
    <el-dialog
      :title="dialogTitle"
      :visible.sync="isTransfer"
@@ -115,111 +200,234 @@
      }}</el-button>
      <el-button type="info" size="small">{{ $t('common.close') }}</el-button>
    </el-dialog>
    <el-dialog
      :title="$t('userManage.userInfoObj.addPermission')"
      style="overflow: hidden"
      :visible.sync="InsertFormdialog"
      width="30%"
    >
      <el-form :model="insertform">
        <el-form-item
          :label="$t('userManage.userInfoObj.name')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="insertform.name" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('userManage.userInfoObj.tag')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="insertform.tag" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('userManage.userInfoObj.bak')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="insertform.bak" autocomplete="off"></el-input>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click="insertFromDataClose">{{
          $t('common.close')
        }}</el-button>
        <el-button type="primary" @click="insertFromData">{{
          $t('common.confirm')
        }}</el-button>
      </div>
    </el-dialog>
      <el-dialog
      :title="$t('userManage.userInfoObj.editPermission')"
      style="overflow: hidden"
      :visible.sync="EditFormdialog"
      :before-close="EditFromDataClose"
      width="30%"
    >
      <el-form :model="upform">
        <el-form-item
          :label="$t('userManage.userInfoObj.name')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="upform.name"  ></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('userManage.userInfoObj.tag')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="upform.tag"  ></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('userManage.userInfoObj.bak')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="upform.bak" ></el-input>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button  @click="EditFromDataClose" >{{
          $t('common.close')
        }}</el-button>
        <el-button  @click="EditFromData" type="primary"  >{{
          $t('common.confirm')
        }}</el-button>
      </div>
    </el-dialog>
  </div>
</template>
<script>
import moment from 'moment';
import MyBread from '../../components/MyBread.vue';
import { select_Auth_ByPageAndCount, insertAuth,updateAuth,deleteAuths } from '../../api/api.js';
export default {
  components: { MyBread },
  data() {
    return {
      form: {},
      formLabelWidth: '100px',
      ruleForm: {},
      isTransfer: false,
      dialogTitle: '',
      data: [
        {
          id: 1,
          label: '一级 1',
          children: [
            {
              id: 4,
              label: '二级 1-1',
              children: [
                {
                  id: 9,
                  label: '三级 1-1-1',
                },
                {
                  id: 10,
                  label: '三级 1-1-2',
                },
              ],
            },
          ],
        },
        {
          id: 2,
          label: '一级 2',
          children: [
            {
              id: 5,
              label: '二级 2-1',
            },
            {
              id: 6,
              label: '二级 2-2',
            },
          ],
        },
        {
          id: 3,
          label: '一级 3',
          children: [
            {
              id: 7,
              label: '二级 3-1',
            },
            {
              id: 8,
              label: '二级 3-2',
            },
          ],
        },
      ],
      tableData: [
        {
          date: '2016-05-02',
          name: '王小虎',
          province: '上海',
          city: '普陀区',
          address: '上海市普陀区金沙江路 1518 å¼„',
          zip: 200333,
        },
        {
          date: '2016-05-04',
          name: '王小虎',
          province: '上海',
          city: '普陀区',
          address: '上海市普陀区金沙江路 1517 å¼„',
          zip: 200333,
        },
        {
          date: '2016-05-01',
          name: '王小虎',
          province: '上海',
          city: '普陀区',
          address: '上海市普陀区金沙江路 1519 å¼„',
          zip: 200333,
        },
        {
          date: '2016-05-03',
          name: '王小虎',
          province: '上海',
          city: '普陀区',
          address: '上海市普陀区金沙江路 1516 å¼„',
          zip: 200333,
        },
      ],
      data: [],
      InsertFormdialog: false,
      showinfoBox: false,
      EditFormdialog: false,
      insertform: {},
      tableData: [],
      itemdetail: {},
      upform: {},
        multipleSelection: [],
      count: 0,
      listData: {
        name: null,
        pageIndex: 1,
        pageSize: 10,
      },
    };
  },
  defaultProps: {
    children: 'children',
    label: 'label',
  },
  created() {
    this.getRoleTabelData();
  },
  methods: {
   async DelFromData(){
      var std = [];
      for (var i in this.multipleSelection) {
        std.push(this.multipleSelection[i].id);
      }
      const data = await deleteAuths({ ids: std.toString() });
      if (data.code == 200) {
        this.$message({
          message: '删除成功!',
          type: 'success',
        });
        this.getRoleTabelData();
      } else {
        this.$message({
          message: '删除失败!',
          type: 'warning',
        });
      }
    },
     handleSelectionChange(val) {
      this.multipleSelection = val;
    },
    submitForm(formName) {
      this.getRoleTabelData()
    },
    resetForm(formName) {
      this.ruleForm ={}
      this.getRoleTabelData();
    },
     EditFromDataClose(){
      this.EditFormdialog = false;
      this.upform ={};
     },
    async EditFromData(){
        const data = await updateAuth(this.upform);
        if (data.code == 200) {
        this.EditFormdialog = false;
        this.upform = {};
        this.$message({
          message: '修改成功!',
          type: 'success',
        });
        this.getRoleTabelData();
      } else {
        this.$message({
          message: '修改失败!',
          type: 'warning',
        });
      }
    },
    showDetail(index, row) {
      this.showinfoBox = true;
      this.itemdetail = row;
    },
    handleEdit(index, row) {
      this.EditFormdialog = true;
      this.upform = row;
    },
    closeDetial() {
      this.showinfoBox = false;
      this.itemdetail = {};
    },
    handleSizeChange(val) {
      this.listData.pageSize = val;
      this.getRoleTabelData();
    },
    handleCurrentChange(val) {
      this.listData.pageIndex = val;
      this.getRoleTabelData();
    },
    insertFromDataClose() {
      this.InsertFormdialog = false;
      this.insertform = {};
    },
    async insertFromData() {
      const data = await insertAuth(this.insertform);
      if (data.code == 200) {
        this.InsertFormdialog = false;
        this.insertform = {};
        this.$message({
          message: '添加成功!',
          type: 'success',
        });
        this.getRoleTabelData();
      } else {
        this.$message({
          message: '添加失败!',
          type: 'warning',
        });
      }
    },
    async getRoleTabelData() {
      if (this.listData.tab == '') {
        delete this.listData.tab;
      }
    this.listData.name = this.ruleForm.name;
      const data = await select_Auth_ByPageAndCount(this.listData);
      if (data.code != 200) {
        this.$message.error('列表调用失败');
      }
      console.log(data.result);
      this.tableData = data.result;
      this.count = data.count;
    },
    formatTime(row, column) {
      let date = row[column.property];
      return this.formomentTime(date);
    },
    formomentTime(date) {
      if (date === undefined || date === null) {
        return;
      }
      return moment(parseInt(date)).format('YYYY-MM-DD HH:mm:ss');
    },
    handleClick(row) {
      console.log(row);
      this.dialogTitle = row.name;
      this.isTransfer = true;
    },
@@ -257,5 +465,58 @@
  .pagination_box {
    margin-top: 20px;
  }
  .infoBox {
    width: 500px;
    border: 1px solid #eee;
    position: absolute;
    z-index: 100;
    top: 25%;
    right: 12%;
    background-color: #fff;
    .el-card {
      background-color: transparent;
      span {
        font-size: 16px;
        font-weight: 600;
      }
    }
    .contentBox {
      margin: 0 aotu 10px;
      height: 485px;
      overflow: auto;
      p {
        // background-color: #bfa;
        // margin-bottom: 10px;
        font-size: 14px;
      }
      .boxlabel {
        margin-left: 10px;
      }
    }
    /* æ•´ä½“样式 */
    .contentBox::-webkit-scrollbar {
      width: 6px;
      height: 6px;
    }
    /* æ»šåŠ¨æ¡ */
    .contentBox::-webkit-scrollbar-thumb {
      background-color: #b3d8ff;
      border-radius: 6px;
    }
    /* æ»šåŠ¨æ¡é¼ æ ‡ç»è¿‡æ ·å¼ */
    .contentBox::-webkit-scrollbar-thumb:hover {
      background-color: #b3d8ff;
      border-radius: 6px;
    }
    /* æ»šåŠ¨æ¡è½¨é“ */
    .contentBox::-webkit-scrollbar-track-piece {
      -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
      border-radius: 10px;
      background: #ededed;
    }
  }
}
</style>
src/views/userManage/resourceManage.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,608 @@
<template>
  <div class="power_box">
    <My-bread
      :list="[
        `${$t('userManage.userManage')}`,
        `${$t('userManage.resManage')}`,
      ]"
    ></My-bread>
    <el-divider />
    <div class="power_quire">
      <el-form ref="form" :model="ruleForm":inline="true">
        <el-form-item :label="$t('userManage.resManageObj.name')">
          <el-input  v-model="ruleForm.name"></el-input>
        </el-form-item>
        <el-form-item>
          <el-button  @click="submitForm('ruleForm')"  icon="el-icon-search" size="small" type="primary">{{
            $t('common.iquery')
          }}</el-button>
          <el-button
            @click="resetForm('ruleForm')"
            icon="el-icon-refresh"
            type="info"
                        size="small"
            >{{ $t('common.empty') }}</el-button
          >
          <el-button
            @click="InsertFormdialog = true"
            icon="el-icon-edit"
            type="success"
                        size="small"
            >{{ $t('common.append') }}</el-button
          >
          <el-button
            @click="DelFromData"
            icon="el-icon-delete"
            type="danger"
                        size="small"
            >{{ $t('common.delete') }}</el-button
          >
        </el-form-item>
      </el-form>
    </div>
    <div class="table_box">
      <el-table
        :data="tableData"
        style="width: 100%"
        fit
        @selection-change="handleSelectionChange"
      >
        <el-table-column type="selection" width="55" />
        <el-table-column
          align="center"
          type="index"
          :label="$t('operatManage.ELM.index')"
          width="70px"
        />
        <el-table-column
          prop="name"
          align="center"
          :label="$t('userManage.resManageObj.name')"
        >
        </el-table-column>
        <el-table-column
          prop="server"
          align="center"
          :label="$t('userManage.resManageObj.server')"
        >
        </el-table-column>
        <el-table-column
          prop="source"
          align="center"
          :label="$t('userManage.resManageObj.source')"
        >
        </el-table-column>
        <el-table-column
          prop="depid"
          align="center"
          :label="$t('userManage.resManageObj.depid')"
        >
        </el-table-column>
        <el-table-column
          prop="dirid"
          align="center"
          :label="$t('userManage.resManageObj.dirid')"
        >
        </el-table-column>
        <el-table-column
          prop="descr"
          align="center"
          :label="$t('userManage.resManageObj.descr')"
        >
        </el-table-column>
        <el-table-column
          prop="img"
          align="center"
          :label="$t('userManage.resManageObj.img')"
        >
        </el-table-column>
         <el-table-column
          prop="createUser"
          align="center"
          :label="$t('userManage.resManageObj.createUser')"
        >
        </el-table-column>
         <el-table-column
          prop="createTime"
          align="center"
          :label="$t('userManage.resManageObj.createTime')"
            :formatter="formatTime"
        >
        </el-table-column>
         <el-table-column
          prop="updateUser"
          align="center"
          :label="$t('userManage.resManageObj.updateUser')"
        >
        </el-table-column>
         <el-table-column
          prop="updateTime"
          align="center"
          :label="$t('userManage.resManageObj.updateTime')"
            :formatter="formatTime"
        >
        </el-table-column>
         <el-table-column
          prop="bak"
          align="center"
          :label="$t('userManage.resManageObj.bak')"
        >
        </el-table-column>
        <el-table-column
          fixed="right"
          :label="$t('common.operate')"
          width="170px"
        >
          <template slot-scope="scope">
            <el-button
              @click="showDetail(scope.$index, scope.row)"
              type="primary"
              plain
              size="small"
              >{{ $t('common.see') }}</el-button
            >
            <el-button
              @click="handleEdit(scope.$index, scope.row)"
              type="warning"
              size="small"
              plain
              >{{ $t('common.edit') }}</el-button
            >
          </template>
        </el-table-column>
      </el-table>
    </div>
    <div class="pagination_box">
      <el-pagination
        @size-change="handleSizeChange"
        @current-change="handleCurrentChange"
        :current-page="listData.pageIndex"
        :page-sizes="[10, 20, 30, 40]"
        :page-size="listData.pageSize"
        layout="total, sizes, prev, pager, next, jumper"
        :total="count"
      >
      </el-pagination>
    </div>
    <div class="infoBox" v-show="showinfoBox">
      <el-card class="box-card">
        <div slot="header" class="clearfix">
          <span>{{ $t('dataManage.styleObj.deInformation') }}</span>
          <div style="float: right; cursor: pointer"  @click="closeDetial" >
            <i class="el-icon-close"></i>
          </div>
        </div>
               <div class="contentBox">
          <p>
            <label> {{ $t('userManage.userInfoObj.name') }}:</label>
            <label class="boxlabel">{{ itemdetail.name }}</label>
          </p>
          <el-divider></el-divider>
          <p>
           <p>
            <label> {{ $t('userManage.userInfoObj.tag') }}:</label>
            <label class="boxlabel">{{ itemdetail.tag }}</label>
          </p>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.userInfoObj.createUser') }}:</label>
            <label class="boxlabel">{{ itemdetail.createUser }}</label>
          </p>
          <el-divider></el-divider>
           <p>
            <label> {{ $t('userManage.userInfoObj.createTime') }}:</label>
            <label class="boxlabel">{{ itemdetail.createTime }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.userInfoObj.updateUser') }}:</label>
            <label class="boxlabel">{{ itemdetail.updateUser }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.userInfoObj.updateTime') }}:</label>
            <label class="boxlabel">{{ itemdetail.updateTime }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.userInfoObj.bak') }}:</label>
            <label class="boxlabel">{{ itemdetail.bak }}</label>
          </p>
           <el-divider></el-divider>
        </div>
      </el-card>
    </div>
    <el-dialog
      :title="dialogTitle"
      :visible.sync="isTransfer"
      width="800px"
      append-to-body
    >
      <el-tree
        :data="data"
        show-checkbox
        node-key="id"
        :default-expanded-keys="[2, 3]"
        :default-checked-keys="[5]"
        :props="defaultProps"
      >
      </el-tree>
      <el-button type="primary" size="small">{{
        $t('common.confirm')
      }}</el-button>
      <el-button type="info" size="small">{{ $t('common.close') }}</el-button>
    </el-dialog>
    <el-dialog
      :title="$t('userManage.resManageObj.addResource')"
      style="overflow: hidden"
      :visible.sync="InsertFormdialog"
      top="3%"
    >
      <el-form :model="insertform">
        <el-form-item
          :label="$t('userManage.resManageObj.name')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="insertform.name" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('userManage.resManageObj.server')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="insertform.server" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('userManage.resManageObj.source')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="insertform.source" autocomplete="off"></el-input>
        </el-form-item>
          <el-form-item
          :label="$t('userManage.resManageObj.depid')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="insertform.depid" disabled autocomplete="off"></el-input>
            <el-link
            :underline="false"
            @click="showDepTree(0)"
            style="margin-left: 10px"
            ><i class="el-icon-plus"></i
          ></el-link>
        </el-form-item>
                 <el-form-item
          :label="$t('userManage.resManageObj.dirid')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="insertform.dirid" disabled autocomplete="off"></el-input>
            <el-link
            :underline="false"
            @click="showDepTree(0)"
            style="margin-left: 10px"
            ><i class="el-icon-plus"></i
          ></el-link>
        </el-form-item>
                 <el-form-item
          :label="$t('userManage.resManageObj.descr')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="insertform.descr" autocomplete="off"></el-input>
        </el-form-item>
                 <el-form-item
          :label="$t('userManage.resManageObj.img')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="insertform.img" autocomplete="off"></el-input>
            <el-link
            :underline="false"
            style="margin-left: 10px"
            ><i class="el-icon-plus"></i
          ></el-link>
        </el-form-item>
         <el-form-item
          :label="$t('userManage.resManageObj.bak')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="insertform.bak" autocomplete="off"></el-input>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click="insertFromDataClose">{{
          $t('common.close')
        }}</el-button>
        <el-button type="primary" @click="insertFromData">{{
          $t('common.confirm')
        }}</el-button>
      </div>
    </el-dialog>
      <el-dialog
      :title="$t('userManage.userInfoObj.editPermission')"
      style="overflow: hidden"
      :visible.sync="EditFormdialog"
      :before-close="EditFromDataClose"
      width="30%"
    >
      <el-form :model="upform">
        <el-form-item
          :label="$t('userManage.userInfoObj.name')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="upform.name"  ></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('userManage.userInfoObj.tag')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="upform.tag"  ></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('userManage.userInfoObj.bak')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="upform.bak" ></el-input>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button  @click="EditFromDataClose" >{{
          $t('common.close')
        }}</el-button>
        <el-button  @click="EditFromData" type="primary"  >{{
          $t('common.confirm')
        }}</el-button>
      </div>
    </el-dialog>
  </div>
</template>
<script>
import moment from 'moment';
import MyBread from '../../components/MyBread.vue';
import { select_Res_ByPageAndCount, insertAuth, updateAuth, deleteAuths } from '../../api/api.js';
export default {
  components: { MyBread },
  data() {
    return {
      formLabelWidth: '130px',
      ruleForm: {},
      isTransfer: false,
      dialogTitle: '',
      data: [],
      InsertFormdialog: false,
      showinfoBox: false,
      EditFormdialog: false,
      insertform: {},
      tableData: [],
      itemdetail: {},
      upform: {},
      multipleSelection: [],
      count: 0,
      listData: {
        name: null,
        pageIndex: 1,
        pageSize: 10,
      },
    };
  },
  defaultProps: {
    children: 'children',
    label: 'label',
  },
  created() {
    this.getRoleTabelData();
  },
  methods: {
    async DelFromData() {
      var std = [];
      for (var i in this.multipleSelection) {
        std.push(this.multipleSelection[i].id);
      }
      const data = await deleteAuths({ ids: std.toString() });
      if (data.code == 200) {
        this.$message({
          message: '删除成功!',
          type: 'success',
        });
        this.getRoleTabelData();
      } else {
        this.$message({
          message: '删除失败!',
          type: 'warning',
        });
      }
    },
    handleSelectionChange(val) {
      this.multipleSelection = val;
    },
    submitForm(formName) {
      this.getRoleTabelData()
    },
    resetForm(formName) {
      this.ruleForm = {}
      this.getRoleTabelData();
    },
    EditFromDataClose() {
      this.EditFormdialog = false;
      this.upform = {};
    },
    async EditFromData() {
      const data = await updateAuth(this.upform);
      if (data.code == 200) {
        this.EditFormdialog = false;
        this.upform = {};
        this.$message({
          message: '修改成功!',
          type: 'success',
        });
        this.getRoleTabelData();
      } else {
        this.$message({
          message: '修改失败!',
          type: 'warning',
        });
      }
    },
    showDetail(index, row) {
      this.showinfoBox = true;
      this.itemdetail = row;
    },
    handleEdit(index, row) {
      this.EditFormdialog = true;
      this.upform = row;
    },
    closeDetial() {
      this.showinfoBox = false;
      this.itemdetail = {};
    },
    handleSizeChange(val) {
      this.listData.pageSize = val;
      this.getRoleTabelData();
    },
    handleCurrentChange(val) {
      this.listData.pageIndex = val;
      this.getRoleTabelData();
    },
    insertFromDataClose() {
      this.InsertFormdialog = false;
      this.insertform = {};
    },
    async insertFromData() {
      const data = await insertAuth(this.insertform);
      if (data.code == 200) {
        this.InsertFormdialog = false;
        this.insertform = {};
        this.$message({
          message: '添加成功!',
          type: 'success',
        });
        this.getRoleTabelData();
      } else {
        this.$message({
          message: '添加失败!',
          type: 'warning',
        });
      }
    },
    async getRoleTabelData() {
      if (this.listData.tab == '') {
        delete this.listData.tab;
      }
      this.listData.name = this.ruleForm.name;
      const data = await select_Res_ByPageAndCount(this.listData);
      if (data.code != 200) {
        this.$message.error('列表调用失败');
      }
      console.log(data.result);
      this.tableData = data.result;
      this.count = data.count;
    },
    formatTime(row, column) {
      let date = row[column.property];
      return this.formomentTime(date);
    },
    formomentTime(date) {
      if (date === undefined || date === null) {
        return;
      }
      return moment(parseInt(date)).format('YYYY-MM-DD HH:mm:ss');
    },
    handleClick(row) {
      this.dialogTitle = row.name;
      this.isTransfer = true;
    },
  },
};
</script>
<style lang="less" scoped>
.power_box {
  background: rgb(240, 242, 245);
  border-radius: 10px;
  height: 100%;
  padding: 10px;
  box-sizing: border-box;
  .el-input {
     width: 745px;
  }
  .power_quire {
   margin: 10px auto;
    background: #fff;
    border-radius: 5px;
    border: 1px solid rgb(202, 201, 204);
    margin-bottom: 10px;
      .el-form-item {
      margin: 5px;
    }
    .el-input {
      width: 467px;
    }
  }
  .table_box {
    height:76%;
    padding: 10px;
    background: #fff;
    border-radius: 5px;
    border: 1px solid rgb(202, 201, 204);
  }
  .pagination_box {
    margin-top: 20px;
  }
  .infoBox {
    width: 500px;
    border: 1px solid #eee;
    position: absolute;
    z-index: 100;
    top: 25%;
    right: 12%;
    background-color: #fff;
    .el-card {
      background-color: transparent;
      span {
        font-size: 16px;
        font-weight: 600;
      }
    }
    .contentBox {
      margin: 0 aotu 10px;
      height: 485px;
      overflow: auto;
      p {
        // background-color: #bfa;
        // margin-bottom: 10px;
        font-size: 14px;
      }
      .boxlabel {
        margin-left: 10px;
      }
    }
    /* æ•´ä½“样式 */
    .contentBox::-webkit-scrollbar {
      width: 6px;
      height: 6px;
    }
    /* æ»šåŠ¨æ¡ */
    .contentBox::-webkit-scrollbar-thumb {
      background-color: #b3d8ff;
      border-radius: 6px;
    }
    /* æ»šåŠ¨æ¡é¼ æ ‡ç»è¿‡æ ·å¼ */
    .contentBox::-webkit-scrollbar-thumb:hover {
      background-color: #b3d8ff;
      border-radius: 6px;
    }
    /* æ»šåŠ¨æ¡è½¨é“ */
    .contentBox::-webkit-scrollbar-track-piece {
      -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
      border-radius: 10px;
      background: #ededed;
    }
  }
}
</style>