瀏覽代碼

文档级别界面搭建完成

yxc 2 年之前
父節點
當前提交
a2e7ad4078
共有 6 個文件被更改,包括 1068 次插入881 次删除
  1. 二進制
      src/assets/img/Group-542.png
  2. 二進制
      src/assets/img/Group-585.png
  3. 4 0
      src/router/index.js
  4. 441 0
      src/views1/File/Level/LevelView.vue
  5. 3 2
      src/views1/HomeView.vue
  6. 620 879
      src/views1/Personal/Space/SpaceView.vue

二進制
src/assets/img/Group-542.png


二進制
src/assets/img/Group-585.png


+ 4 - 0
src/router/index.js

@@ -125,6 +125,10 @@ export const constantRoutes = [{
         component: () => import('@/views1/File/Set/SetView.vue')
       },
       {
+        path: "/home/file/level",
+        component: () => import('@/views1/File/Level/LevelView.vue')
+      },
+      {
         path: "/home/personal",
         component: () => import('@/views1/Personal/PersonalView.vue')
       },

+ 441 - 0
src/views1/File/Level/LevelView.vue

@@ -0,0 +1,441 @@
+<template>
+    <div class="containe">
+      <div class="header">
+        <span>文档管理</span>
+        <img src="../../../assets/img/chevron-down.png" alt="" />
+        <img src="../../../assets/img/slash.png" alt="" />
+        <span class="top1">文档级别</span>
+        <img src="../../../assets/img/chevron-up.png" alt="" class="top2" />
+        <img src="../../../assets/img/slash.png" alt="" />
+      </div>
+      <div class="title">文档级别</div>
+      <div class="main">
+        <h3>文档级别</h3>
+    <div class="main-main">
+        <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
+          v-hasPermi="['doc:level:add']">新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
+          v-hasPermi="['doc:level:edit']">修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
+          v-hasPermi="['doc:level:remove']">删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
+          v-hasPermi="['doc:level:export']">导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="levelList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="级别ID" align="center" prop="levelId" />
+      <el-table-column label="级别名称" align="center" prop="levelName" />
+      <el-table-column label="级别权限" align="center" prop="levelRole" />
+      <el-table-column label="创建人" align="center" prop="createBy" />
+      <el-table-column label="更新人" align="center" prop="updateBy" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
+            v-hasPermi="['doc:level:edit']">修改</el-button>
+          <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
+            v-hasPermi="['doc:level:remove']">删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+      @pagination="getList" />
+
+    <!-- 添加或修改文档级别对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="级别名称" prop="levelName">
+          <el-input v-model="form.levelName" placeholder="请输入级别名称" />
+        </el-form-item>
+        <el-form-item label="级别权限" prop="levelRole">
+          <el-input v-model="form.levelRole" placeholder="请输入级别权限" />
+        </el-form-item>
+        <el-form-item label="备注" prop="remark">
+          <el-input v-model="form.remark" placeholder="请输入备注" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">取 消</el-button>
+        <el-button @click="cancel">确 定</el-button>
+      </div>
+    </el-dialog>
+    </div>
+      </div>
+    </div>
+  </template>
+    
+<script>
+ import {
+    listLevel,
+    getLevel,
+    delLevel,
+    addLevel,
+    updateLevel
+  } from "@/api/doc/level";
+
+  export default {
+    name: "Level",
+    data() {
+      return {
+        // 遮罩层
+        loading: true,
+        // 选中数组
+        ids: [],
+        // 非单个禁用
+        single: true,
+        // 非多个禁用
+        multiple: true,
+        // 显示搜索条件
+        showSearch: true,
+        // 总条数
+        total: 0,
+        // 文档级别表格数据
+        levelList: [],
+        // 弹出层标题
+        title: "",
+        // 是否显示弹出层
+        open: false,
+        // 查询参数
+        queryParams: {
+          pageNum: 1,
+          pageSize: 10,
+          levelName: null,
+          levelRole: null,
+          createBy: null,
+          updateBy: null,
+        },
+        // 表单参数
+        form: {},
+        // 表单校验
+        rules: {}
+      };
+    },
+    created() {
+      this.getList();
+    },
+    methods: {
+      /** 查询文档级别列表 */
+      getList() {
+        this.loading = true;
+        listLevel(this.queryParams).then(response => {
+          this.levelList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        });
+      },
+      // 取消按钮
+      cancel() {
+        this.open = false;
+        this.reset();
+      },
+      // 表单重置
+      reset() {
+        this.form = {
+          levelId: null,
+          levelName: null,
+          levelRole: null,
+          createBy: null,
+          createTime: null,
+          updateBy: null,
+          updateTime: null,
+          remark: null,
+          isDel: null
+        };
+        this.resetForm("form");
+      },
+      /** 搜索按钮操作 */
+      handleQuery() {
+        this.queryParams.pageNum = 1;
+        this.getList();
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.resetForm("queryForm");
+        this.handleQuery();
+      },
+      // 多选框选中数据
+      handleSelectionChange(selection) {
+        this.ids = selection.map(item => item.levelId)
+        this.single = selection.length !== 1
+        this.multiple = !selection.length
+      },
+      /** 新增按钮操作 */
+      handleAdd() {
+        this.reset();
+        this.open = true;
+        this.title = "添加文档级别";
+      },
+      /** 修改按钮操作 */
+      handleUpdate(row) {
+        this.reset();
+        const levelId = row.levelId || this.ids
+        getLevel(levelId).then(response => {
+          this.form = response.data;
+          this.open = true;
+          this.title = "修改文档级别";
+        });
+      },
+      /** 提交按钮 */
+      submitForm() {
+        this.$refs["form"].validate(valid => {
+          if (valid) {
+            if (this.form.levelId != null) {
+              updateLevel(this.form).then(response => {
+                this.$modal.msgSuccess("修改成功");
+                this.open = false;
+                this.getList();
+              });
+            } else {
+              addLevel(this.form).then(response => {
+                this.$modal.msgSuccess("新增成功");
+                this.open = false;
+                this.getList();
+              });
+            }
+          }
+        });
+      },
+      /** 删除按钮操作 */
+      handleDelete(row) {
+        const levelIds = row.levelId || this.ids;
+        this.$modal.confirm('你确定要删除该文件吗?').then(function() {
+          return delLevel(levelIds);
+        }).then(() => {
+          this.getList();
+          this.$modal.msgSuccess("删除成功");
+        }).catch(() => {});
+      },
+      /** 导出按钮操作 */
+      handleExport() {
+        this.download('doc/level/export', {
+          ...this.queryParams
+        }, `level_${new Date().getTime()}.xlsx`)
+      }
+    }
+  };
+</script>
+    
+    <style scoped lang='scss'>
+  .containe {
+    color: #7ea4c8;
+    font-size: 0.14rem;
+    font-family: PingFang SC-Medium, PingFang SC;
+    font-weight: 500;
+    padding-left: calc(100vw * (20 / 1920));
+    //顶部信息
+    .header {
+      width: calc(100vw * (300 / 1920));
+      height: calc(100vh * (22 / 1080));
+      margin-top: calc(100vh * (20 / 1080));
+      margin-bottom: calc(100vh * (20 / 1080));
+      display: flex;
+      align-items: center;
+      img {
+        width: calc(100vw * (16 / 1920));
+        height: calc(100vh * (16 / 1080));
+        border: 1px dashed grey;
+        margin-left: 3px;
+        margin-right: 3px;
+      }
+      .top1 {
+        color: #2e8aecff;
+      }
+    }
+    //中间目录列表
+    .title {
+      height: calc(100vh * (22 / 1080));
+      margin-top: calc(100vh * (20 / 1080));
+      margin-bottom: calc(100vh * (20 / 1080));
+      color: #ffffffff;
+      font-size: 0.16rem;
+      font-weight: bold;
+      line-height: calc(100vh * (22 / 1080));
+    }
+    .main {
+      width: calc(100vw * (1876 / 1920));
+      height: calc(100vh * (880 / 1080));
+      background: url(../../../assets/img/Group-610.png);
+      background-size: calc(100vw * (1876 / 1920)) calc(100vh * (880 / 1080));
+      h3 {
+        font-size: 0.2rem;
+        color: #ffffffff;
+        padding-top: calc(100vh * (25 / 1080));
+        padding-bottom: calc(100vh * (10 / 1080));
+        padding-left: calc(100vw * (30 / 1920));
+      }
+    .main-main{
+      width: calc(100vw * (1822 / 1920));
+      height: calc(100vh * (800 / 1080));
+      margin-left: calc(100vw * (25 / 1920));
+      margin-top: calc(100vh * (20 / 1080));
+    //   background: seagreen;
+      .el-table{
+      width: calc(100vw * (1822 / 1920));
+      height: calc(100vh * (650 / 1080));
+      background: transparent;
+      overflow: auto;
+      }
+    }
+      //滚动条样式
+    //   ::-webkit-scrollbar {
+    //     width: 3.5px;
+    //   }
+    //   ::-webkit-scrollbar-track {
+    //     background-color: rgba(0, 0, 0, 0);
+    //   }
+    //   ::-webkit-scrollbar-thumb {
+    //     background: #2e8aec;
+    //     border-radius: 3px;
+    //   }
+    //   ::-webkit-scrollbar-thumb:hover {
+    //     background: #2e8aec;
+    //   }
+    }
+  }
+  ::v-deep .pagination-container .el-pagination{
+    top: 0;
+  }
+  //底部跳转
+  ::v-deep .pagination-container{
+    height: calc(100vh * (50 / 1080));
+    background: transparent;
+  }
+  ::v-deep .el-table th{
+ background: #016C9AA6;
+ color: #2E8AEC;
+  }
+::v-deep .el-table tr{
+ background: transparent;
+}
+::v-deep .el-table tbody tr:hover>td { 
+    background-color:#016C9A78 !important; 
+}
+::v-deep .el-table td.el-table__cell { 
+    border-bottom: 1px solid #006C9AFF; 
+}
+::v-deep .el-table th.el-table__cell.is-leaf { 
+    border-bottom: 1px solid #006C9AFF; 
+}
+//按钮的样式
+::v-deep .el-button--primary.is-plain { 
+    background-color: #002A5CFF; 
+    border: none;
+}
+::v-deep .el-button--success.is-plain.is-disabled,
+.el-button--danger.is-plain.is-disabled, 
+.el-button--warning.is-plain{ 
+    background-color: #002A5CFF; 
+    color: #1890ff;
+    border: none;
+}
+
+//table底下白线消失处理
+::v-deep .el-table {
+    color: #ffffffff;
+}
+::v-deep .el-table::before {
+    width: 0;
+}
+//搜索刷新按钮颜色
+::v-deep .el-button.is-circle{
+    background: #006C9AFF;
+    color: white;
+}
+//修改的弹出框样式
+::v-deep .el-dialog{
+  width: calc(100vw * (700 / 1920)) !important;
+  height: calc(100vh * (620 / 1080)) !important;
+  padding-top: calc(100vh * (30 / 1080));
+  padding-right: calc(100vw * (80 / 1920));    
+  padding-left: calc(100vw * (50 / 1920));    
+  background: url(../../../assets/img/Group-585.png);
+  background-size: calc(100vw * (700 / 1920)) calc(100vh * (620 / 1080));
+}
+::v-deep .el-input__inner{
+    color: #7EA4C8;
+}
+::v-deep .el-form-item__label{
+    color: #2E8AECFF;
+}
+::v-deep .el-input__inner{
+    background: transparent;
+    border: 1px solid #006C9AFF;
+}
+::v-deep .el-button--primary{
+    background: #1E5095FF;
+    border: 1px solid #02C2E3FF;
+}
+::v-deep .el-button--default {
+    background: transparent;
+    color: white;
+    border: 1px solid #02C2E3FF;
+}
+::v-deep .el-dialog__title {
+    color: white;
+    margin-left: 10px;
+}
+//弹窗右上角关闭
+::v-deep .el-dialog__headerbtn .el-dialog__close {
+    color: #02C2E3FF;
+    margin-top: 25px;
+    margin-right: 25px;
+    border: 1px solid #02C2E3FF;
+    border-radius: 50%;
+}
+
+
+  </style>
+
+  <style lang='scss'>
+  /* 删除弹出框样式 */
+ .el-message-box{
+   width: calc(100vw * (600 / 1920));
+   height: calc(100vh * (350 / 1080));
+   padding-top: calc(100vh * (50 / 1080));
+   padding-right: calc(100vw * (50 / 1920));    
+   padding-left: calc(100vw * (50 / 1920));    
+   background: url(../../../assets/img/Group-542.png); 
+   background-size: calc(100vw * (600 / 1920)) calc(100vh * (350 / 1080)); 
+   border: none;
+   margin-bottom: 200px;
+   .el-message-box__headerbtn .el-message-box__close{
+    color: #FF0000FF;
+    border: 1px solid #FF0000FF;
+    border-radius: 50%;
+    }
+   .el-message-box__title{
+    color: #ffffffff;
+   }
+   .el-message-box__content {
+  padding-top: calc(100vh * (50 / 1080));
+  padding-bottom: calc(100vh * (30 / 1080));
+  color: #ffffffff;
+  .el-message-box__status.el-icon-warning{
+    color: transparent;
+  }
+}
+.el-button--small{
+    background: transparent;
+    color: #ffffffff;
+    border: 1px solid #FF0000FF;
+  }
+  .el-button--primary{
+    background: #951E1EFF;
+  }
+}
+</style>
+ 
+  
+  
+  

+ 3 - 2
src/views1/HomeView.vue

@@ -57,6 +57,7 @@
             <el-menu-item index="/home/file/publi" >公共文档</el-menu-item>
             <el-menu-item index="/home/file/individual" >个人文档</el-menu-item>
             <el-menu-item index="/home/file/set" >文档设置</el-menu-item>
+            <el-menu-item index="/home/file/level" >文档级别</el-menu-item>
           </el-submenu>
           <el-submenu index="3">
             <template slot="title">
@@ -142,8 +143,8 @@
 export default {
   data() {
     return {
-      activeIndex: "/home/page",
-      srcIndex: '/home/page',
+      activeIndex: "",
+      srcIndex: '',
       // 图片数组
       icoUrl: 
         [

+ 620 - 879
src/views1/Personal/Space/SpaceView.vue

@@ -1,926 +1,667 @@
 <template>
-    <div class="containe">
-      <div class="header">
-        <span>个人设置</span>
-        <img src="../../../assets/img/chevron-down.png" alt="" />
-        <img src="../../../assets/img/slash.png" alt="" />
-        <span class="top1">个人存储空间</span>
-        <img src="../../../assets/img/chevron-up.png" alt="" class="top2" />
-        <img src="../../../assets/img/slash.png" alt="" />
-      </div>
-      <div class="title">个人存储空间</div>
-      <div class="main">
+  <div class="containe">
+    <div class="header">
+      <span>个人设置</span>
+      <img src="../../../assets/img/chevron-down.png" alt="" />
+      <img src="../../../assets/img/slash.png" alt="" />
+      <span class="top1">个人存储空间</span>
+      <img src="../../../assets/img/chevron-up.png" alt="" class="top2" />
+      <img src="../../../assets/img/slash.png" alt="" />
+    </div>
+    <div class="title">个人存储空间</div>
+    <div class="main">
+      <h3>目录列表</h3>
+      <div class="main-main">
         <div class="app-container">
-          <el-row :gutter="20">
-            <!--部门数据-->
-            <el-col :span="4" :xs="24" class="main-left">
-              <div class="head-top">文档目录</div>
-              <div class="head-container">
-                <el-tree
-                  :data="deptOptions"
-                  :props="defaultProps"
-                  :expand-on-click-node="false"
-                  :filter-node-method="filterNode"
-                  ref="tree"
-                  node-key="id"
-                  default-expand-all
-                  highlight-current
-                  @node-click="handleNodeClick"
-                />
-              </div>
-            </el-col>
-            <!--用户数据-->
-            <el-col :span="20" :xs="24" class="main-right">
-              <p>目录列表</p>
-              <el-form
-                :model="queryParams"
-                ref="queryForm"
-                size="small"
-                :inline="true"
-                v-show="showSearch"
-                class="main-right-form"
-              >
-                <el-form-item label="用户名称" prop="userName">
-                  <el-input
-                    v-model="queryParams.userName"
-                    placeholder="请输入用户名称"
-                    clearable
-                    style="width: 240px"
-                    @keyup.enter.native="handleQuery"
-                  />
-                </el-form-item>
-                <el-form-item label="手机号码" prop="phonenumber">
-                  <el-input
-                    v-model="queryParams.phonenumber"
-                    placeholder="请输入手机号码"
-                    clearable
-                    style="width: 240px"
-                    @keyup.enter.native="handleQuery"
-                  />
-                </el-form-item>
-                <el-form-item label="状态" prop="status">
-                  <el-select
-                    v-model="queryParams.status"
-                    placeholder="用户状态"
-                    clearable
-                    style="width: 240px"
-                  >
-                    <el-option
-                      v-for="dict in dict.type.sys_normal_disable"
-                      :key="dict.value"
-                      :label="dict.label"
-                      :value="dict.value"
-                    />
-                  </el-select>
-                </el-form-item>
-                <el-form-item label="创建时间">
-                  <el-date-picker
-                    v-model="dateRange"
-                    style="width: 240px"
-                    value-format="yyyy-MM-dd"
-                    type="daterange"
-                    range-separator="-"
-                    start-placeholder="开始日期"
-                    end-placeholder="结束日期"
-                  ></el-date-picker>
-                </el-form-item>
-                <el-form-item>
-                  <el-button
-                    type="primary"
-                    icon="el-icon-search"
-                    size="mini"
-                    @click="handleQuery"
-                    >搜索</el-button
-                  >
-                  <el-button
-                    icon="el-icon-refresh"
-                    size="mini"
-                    @click="resetQuery"
-                    >重置</el-button
-                  >
-                </el-form-item>
-              </el-form>
-  
-              <el-row
-                :gutter="10"
-                class="mb8"
-                style="
-                  margin-left: calc(100vw * (20 / 1920));
-                  padding-right: calc(100vw * (20 / 1920));
-                "
-              >
-                <el-col :span="1.5">
-                  <el-button
-                    type="primary"
-                    plain
-                    icon="el-icon-plus"
-                    size="mini"
-                    @click="handleAdd"
-                    v-hasPermi="['system:user:add']"
-                    >新增</el-button
-                  >
-                </el-col>
-                <el-col :span="1.5">
-                  <el-button
-                    type="success"
-                    plain
-                    icon="el-icon-edit"
-                    size="mini"
-                    :disabled="single"
-                    @click="handleUpdate"
-                    v-hasPermi="['system:user:edit']"
-                    >修改</el-button
-                  >
-                </el-col>
-                <el-col :span="1.5">
-                  <el-button
-                    type="danger"
-                    plain
-                    icon="el-icon-delete"
-                    size="mini"
-                    :disabled="multiple"
-                    @click="handleDelete"
-                    v-hasPermi="['system:user:remove']"
-                    >删除</el-button
-                  >
-                </el-col>
-                <el-col :span="1.5">
-                  <el-button
-                    type="info"
-                    plain
-                    icon="el-icon-upload2"
-                    size="mini"
-                    @click="handleImport"
-                    v-hasPermi="['system:user:import']"
-                    >导入</el-button
-                  >
-                </el-col>
-                <el-col :span="1.5">
-                  <el-button
-                    type="warning"
-                    plain
-                    icon="el-icon-download"
-                    size="mini"
-                    @click="handleExport"
-                    v-hasPermi="['system:user:export']"
-                    >导出</el-button
-                  >
-                </el-col>
-                <right-toolbar
-                  :showSearch.sync="showSearch"
-                  @queryTable="getList"
-                  :columns="columns"
-                ></right-toolbar>
-              </el-row>
-  
-              <el-table
-                v-loading="loading"
-                :data="userList"
-                @selection-change="handleSelectionChange"
-                class="main-right-table"
+          <el-row :gutter="10" class="mb8">
+            <el-col :span="1.5">
+              <el-button
+                type="primary"
+                plain
+                icon="el-icon-plus"
+                size="mini"
+                @click="handleAdd"
+                v-hasPermi="['doc:dir:add']"
+                >新增</el-button
               >
-                <el-table-column type="selection" width="50" align="center" />
-              <el-table-column label="用户编号" align="center" key="userId" prop="userId" v-if="columns[0].visible" />
-              <el-table-column label="用户名称" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
-              <el-table-column label="用户昵称" align="center" key="nickName" prop="nickName" v-if="columns[2].visible" :show-overflow-tooltip="true" />
-              <el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" v-if="columns[3].visible" :show-overflow-tooltip="true" />
-              <el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" widmain-right-tableth="120" />
-              <el-table-column label="状态" align="center" key="status" v-if="columns[5].visible">
-                <template slot-scope="scope">
-                  <el-switch
-                    v-model="scope.row.status"
-                    active-value="0"
-                    inactive-value="1"
-                    @change="handleStatusChange(scope.row)"
-                  ></el-switch>
-                </template>
-              </el-table-column>
-              <el-table-column label="创建时间" align="center" prop="createTime" v-if="columns[6].visible" width="160">
-                <template slot-scope="scope">
-                  <span>{{ parseTime(scope.row.createTime) }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column
-                label="操作"
-                align="center"
-                width="160"
-                class-name="small-padding fixed-width"
+            </el-col>
+            <el-col :span="1.5">
+              <el-button
+                type="info"
+                plain
+                icon="el-icon-sort"
+                size="mini"
+                @click="toggleExpandAll"
+                >展开/折叠</el-button
               >
-                <template slot-scope="scope" v-if="scope.row.userId !== 1">
-                  <el-button
-                    size="mini"
-                    type="text"
-                    icon="el-icon-edit"
-                    @click="handleUpdate(scope.row)"
-                    v-hasPermi="['system:user:edit']"
-                  >修改</el-button>
-                  <el-button
-                    size="mini"
-                    type="text"
-                    icon="el-icon-delete"
-                    @click="handleDelete(scope.row)"
-                    v-hasPermi="['system:user:remove']"
-                  >删除</el-button>
-                  <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:user:resetPwd', 'system:user:edit']">
-                    <el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
-                    <el-dropdown-menu slot="dropdown">
-                      <el-dropdown-item command="handleResetPwd" icon="el-icon-key"
-                        v-hasPermi="['system:user:resetPwd']">重置密码</el-dropdown-item>
-                      <el-dropdown-item command="handleAuthRole" icon="el-icon-circle-check"
-                        v-hasPermi="['system:user:edit']">分配角色</el-dropdown-item>
-                    </el-dropdown-menu>
-                  </el-dropdown>
-                </template>
-              </el-table-column>
-              </el-table>
-  
-              <pagination
-                v-show="total > 0"
-                :total="total"
-                :page.sync="queryParams.pageNum"
-                :limit.sync="queryParams.pageSize"
-                @pagination="getList"
-              />
             </el-col>
+            <right-toolbar
+              :showSearch.sync="showSearch"
+              @queryTable="getList"
+            ></right-toolbar>
           </el-row>
-  
-          <!-- 添加或修改用户配置对话框 -->
-          <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
-          <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-            <el-row>
-              <el-col :span="12">
-                <el-form-item label="用户昵称" prop="nickName">
-                  <el-input v-model="form.nickName" placeholder="请输入用户昵称" maxlength="30" />
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="归属部门" prop="deptId">
-                  <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属部门" />
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="12">
-                <el-form-item label="手机号码" prop="phonenumber">
-                  <el-input v-model="form.phonenumber" placeholder="请输入手机号码" maxlength="11" />
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="邮箱" prop="email">
-                  <el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50" />
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="12">
-                <el-form-item v-if="form.userId == undefined" label="用户名称" prop="userName">
-                  <el-input v-model="form.userName" placeholder="请输入用户名称" maxlength="30" />
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item v-if="form.userId == undefined" label="用户密码" prop="password">
-                  <el-input v-model="form.password" placeholder="请输入用户密码" type="password" maxlength="20" show-password/>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="12">
-                <el-form-item label="用户性别">
-                  <el-select v-model="form.sex" placeholder="请选择性别">
-                    <el-option
-                      v-for="dict in dict.type.sys_user_sex"
-                      :key="dict.value"
-                      :label="dict.label"
-                      :value="dict.value"
-                    ></el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="状态">
-                  <el-radio-group v-model="form.status">
-                    <el-radio
-                      v-for="dict in dict.type.sys_normal_disable"
-                      :key="dict.value"
-                      :label="dict.value"
-                    >{{dict.label}}</el-radio>
-                  </el-radio-group>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="12">
-                <el-form-item label="岗位">
-                  <el-select v-model="form.postIds" multiple placeholder="请选择岗位">
-                    <el-option
-                      v-for="item in postOptions"
-                      :key="item.postId"
-                      :label="item.postName"
-                      :value="item.postId"
-                      :disabled="item.status == 1"
-                    ></el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="角色">
-                  <el-select v-model="form.roleIds" multiple placeholder="请选择角色">
-                    <el-option
-                      v-for="item in roleOptions"
-                      :key="item.roleId"
-                      :label="item.roleName"
-                      :value="item.roleId"
-                      :disabled="item.status == 1"
-                    ></el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="24">
-                <el-form-item label="备注">
-                  <el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input>
-                </el-form-item>
-              </el-col>
-            </el-row>
-          </el-form>
-          <div slot="footer" class="dialog-footer">
-            <el-button type="primary" @click="submitForm">确 定</el-button>
-            <el-button @click="cancel">取 消</el-button>
-          </div>
-        </el-dialog>
-  
-          <!-- 用户导入对话框 -->
-          <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
-          <el-upload
-            ref="upload"
-            :limit="1"
-            accept=".xlsx, .xls"
-            :headers="upload.headers"
-            :action="upload.url + '?updateSupport=' + upload.updateSupport"
-            :disabled="upload.isUploading"
-            :on-progress="handleFileUploadProgress"
-            :on-success="handleFileSuccess"
-            :auto-upload="false"
-            drag
+
+          <el-table
+            v-if="refreshTable"
+            v-loading="loading"
+            :data="dirList"
+            row-key="dirId"
+            :default-expand-all="isExpandAll"
+            :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
           >
-            <i class="el-icon-upload"></i>
-            <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
-            <div class="el-upload__tip text-center" slot="tip">
-              <div class="el-upload__tip" slot="tip">
-                <el-checkbox v-model="upload.updateSupport" /> 是否更新已经存在的用户数据
-              </div>
-              <span>仅允许导入xls、xlsx格式文件。</span>
-              <el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;" @click="importTemplate">下载模板</el-link>
-            </div>
-          </el-upload>
-          <div slot="footer" class="dialog-footer">
-            <el-button type="primary" @click="submitFileForm">确 定</el-button>
-            <el-button @click="upload.open = false">取 消</el-button>
-          </div>
-        </el-dialog>
+            <el-table-column label="目录名称" align="left" prop="dirName" />
+            <el-table-column
+              label="操作"
+              align="center"
+              class-name="small-padding fixed-width"
+            >
+              <template slot-scope="scope">
+                <el-button
+                  size="mini"
+                  type="text"
+                  icon="el-icon-plus"
+                  @click="handleAdd(scope.row)"
+                  v-hasPermi="['doc:dir:add']"
+                  >新增</el-button
+                >
+                <el-button
+                  v-if="scope.row.parentId != 0"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-edit"
+                  @click="handleUpdate(scope.row)"
+                  v-hasPermi="['doc:dir:edit']"
+                  >修改</el-button
+                >
+                <el-button
+                  v-if="scope.row.parentId != 0"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-delete"
+                  @click="handleDelete(scope.row)"
+                  v-hasPermi="['doc:dir:remove']"
+                  >删除</el-button
+                >
+              </template>
+            </el-table-column>
+          </el-table>
         </div>
       </div>
-      <div class="footer">
-        部门存储空间:<el-progress
+    </div>
+    <div class="footer">
+      <!-- 部门存储空间:<el-progress
           :percentage="60"
-          :stroke-width=15
+          :stroke-width="15"
           :show-text="false"
         ></el-progress>
-        60G可用(共100G)
-      </div>
+        60G可用(共100G) -->
+      <!-- 个人空间相关信息 -->
+      
+      <el-row :gutter="10" class="mb8">
+        <el-col :span="1.5" class="mb8-col">
+          个人存储空间:
+          <el-progress :text-inside="true" :stroke-width="15" :percentage="percentage">
+          </el-progress>
+          {{ spaceData.avlCap}} G可用
+          (共{{spaceData.spaceCap}}G)
+          <el-button
+            type="primary"
+            plain
+            size="mini"
+            @click="handleExpand"
+            class="capacity"
+            >扩容</el-button
+          >
+        </el-col>
+      </el-row>
+      <!-- 添加或修改目录信息对话框 -->
+      <el-dialog
+        :title="title"
+        :visible.sync="open"
+        width="500px"
+        append-to-body
+      >
+        <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+          <el-form-item label="上级目录" prop="parentId">
+            <treeselect
+              v-model="form.parentId"
+              :options="dirOptions"
+              :normalizer="normalizer"
+              placeholder="请选择上级目录"
+            />
+          </el-form-item>
+          <el-form-item label="目录名称" prop="dirName">
+            <el-input v-model="form.dirName" placeholder="请输入目录名称" />
+          </el-form-item>
+          <el-form-item label="备注" prop="remark">
+            <el-input
+              v-model="form.remark"
+              type="textarea"
+              placeholder="请输入内容"
+            />
+          </el-form-item>
+        </el-form>
+        <div slot="footer" class="dialog-footer">
+          <el-button type="primary" @click="submitForm">确 定</el-button>
+          <el-button @click="cancel">取 消</el-button>
+        </div>
+      </el-dialog>
+
+      <!-- 扩容申请对话框 -->
+      <el-dialog
+        :title="title"
+        :visible.sync="openSpace"
+        width="500px"
+        append-to-body
+      >
+        <el-form
+          ref="formSpace"
+          :model="formSpace"
+          :rules="rulesSpace"
+          label-width="80px"
+        >
+          <el-form-item label="扩充容量" prop="expandCap">
+            <el-input-number
+              v-model="formSpace.expandCap"
+              placeholder="扩充容量"
+            ></el-input-number
+            ><label>GB</label>
+          </el-form-item>
+          <el-form-item label="申请理由" prop="remark">
+            <el-input
+              v-model="formSpace.remark"
+              type="textarea"
+              rows="5"
+              placeholder="请输入申请理由"
+            />
+          </el-form-item>
+        </el-form>
+        <div slot="footer" class="dialog-footer">
+          <el-button type="primary" @click="submitFormSpace">确 定</el-button>
+          <el-button @click="cancelSpace">取 消</el-button>
+        </div>
+      </el-dialog>
     </div>
-  </template>
+  </div>
+</template>
   
   <script>
-  import {
-    listUser,
-    getUser,
-    delUser,
-    addUser,
-    updateUser,
-    resetUserPwd,
-    changeUserStatus,
-    deptTreeSelect,
-  } from "@/api/system/user";
-  import { getToken } from "@/utils/auth";
-  import Treeselect from "@riophae/vue-treeselect";
-  import "@riophae/vue-treeselect/dist/vue-treeselect.css";
-  
-  export default {
-    name: "User",
-    dicts: ["sys_normal_disable", "sys_user_sex"],
-    components: { Treeselect },
-    data() {
-      return {
-        // 遮罩层
-        loading: true,
-        // 选中数组
-        ids: [],
-        // 非单个禁用
-        single: true,
-        // 非多个禁用
-        multiple: true,
-        // 显示搜索条件
-        showSearch: true,
-        // 总条数
-        total: 0,
-        // 用户表格数据
-        userList: null,
-        // 弹出层标题
-        title: "",
-        // 部门树选项
-        deptOptions: undefined,
-        // 是否显示弹出层
-        open: false,
-        // 部门名称
-        deptName: undefined,
-        // 默认密码
-        initPassword: undefined,
-        // 日期范围
-        dateRange: [],
-        // 岗位选项
-        postOptions: [],
-        // 角色选项
-        roleOptions: [],
-        // 表单参数
-        form: {},
-        defaultProps: {
-          children: "children",
-          label: "label",
-        },
-        // 用户导入参数
-        upload: {
-          // 是否显示弹出层(用户导入)
-          open: false,
-          // 弹出层标题(用户导入)
-          title: "",
-          // 是否禁用上传
-          isUploading: false,
-          // 是否更新已经存在的用户数据
-          updateSupport: 0,
-          // 设置上传的请求头部
-          headers: { Authorization: "Bearer " + getToken() },
-          // 上传的地址
-          url: process.env.VUE_APP_BASE_API + "/system/user/importData",
-        },
-        // 查询参数
-        queryParams: {
-          pageNum: 1,
-          pageSize: 10,
-          userName: undefined,
-          phonenumber: undefined,
-          status: undefined,
-          deptId: undefined,
-        },
-        // 列信息
-        columns: [
-          { key: 0, label: `用户编号`, visible: true },
-          { key: 1, label: `用户名称`, visible: true },
-          { key: 2, label: `用户昵称`, visible: true },
-          { key: 3, label: `部门`, visible: true },
-          { key: 4, label: `手机号码`, visible: true },
-          { key: 5, label: `状态`, visible: true },
-          { key: 6, label: `创建时间`, visible: true },
+import {
+  listDir,
+  getDir,
+  delDir,
+  addDir,
+  updateDir,
+  personalList,
+} from "@/api/doc/dir";
+
+import { getPersonalSpace } from "@/api/doc/space";
+
+import {
+  listExpand,
+  getExpand,
+  delExpand,
+  addExpand,
+  updateExpand,
+} from "@/api/doc/expand";
+
+import Treeselect from "@riophae/vue-treeselect";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+
+export default {
+  name: "Dir",
+  components: {
+    Treeselect,
+  },
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 目录信息表格数据
+      dirList: [],
+      // 目录信息树选项
+      dirOptions: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      openSpace: false,
+      // 是否展开,默认全部展开
+      isExpandAll: true,
+      // 重新渲染表格状态
+      refreshTable: true,
+      // 查询参数
+      queryParams: {
+        parentId: null,
+        dirName: null,
+      },
+      //个人空间数据
+      spaceData: {},
+      // 表单参数
+      form: {},
+      formSpace: {},
+      // 表单校验
+      rules: {
+        dirName: [
+          {
+            required: true,
+            message: "目录名称不能为空",
+            trigger: "blur",
+          },
+        ],
+        parentId: [
+          {
+            required: true,
+            message: "上级目录不能为空",
+            trigger: "blur",
+          },
         ],
-        // 表单校验
-        rules: {
-          userName: [
-            { required: true, message: "用户名称不能为空", trigger: "blur" },
-            {
-              min: 2,
-              max: 20,
-              message: "用户名称长度必须介于 2 和 20 之间",
-              trigger: "blur",
-            },
-          ],
-          nickName: [
-            { required: true, message: "用户昵称不能为空", trigger: "blur" },
-          ],
-          password: [
-            { required: true, message: "用户密码不能为空", trigger: "blur" },
-            {
-              min: 5,
-              max: 20,
-              message: "用户密码长度必须介于 5 和 20 之间",
-              trigger: "blur",
-            },
-          ],
-          email: [
-            {
-              type: "email",
-              message: "请输入正确的邮箱地址",
-              trigger: ["blur", "change"],
-            },
-          ],
-          phonenumber: [
-            {
-              pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
-              message: "请输入正确的手机号码",
-              trigger: "blur",
-            },
-          ],
-        },
+      },
+      // 表单校验
+      rulesSpace: {
+        expandCap: [
+          {
+            required: true,
+            message: "扩容容量不能为空",
+            trigger: "blur",
+          },
+        ],
+        remark: [
+          {
+            required: true,
+            message: "申请理由不能为空",
+            trigger: "blur",
+          },
+        ],
+        //baifenbi
+      },
+      percentage:0
+    };
+  },
+  created() {
+    this.getList();
+    this.spaceInfo();
+  },
+
+  methods: {
+    /** 查询个人空间相关信息 */
+    spaceInfo() {
+      this.loading = true;
+      getPersonalSpace().then((response) => {
+        this.spaceData = response.data;
+        this.loading = false;
+        return this.percentage =(this.spaceData.usedCap
+        /this.spaceData.spaceCap)*100
+      });
+    },
+    /** 查询目录信息列表 */
+    getList() {
+      this.loading = true;
+      personalList().then((response) => {
+        this.dirList = this.handleTree(response.data, "dirId");
+        this.loading = false;
+      });
+    },
+    /** 转换目录信息数据结构 */
+    normalizer(node) {
+      if (node.children && !node.children.length) {
+        delete node.children;
+      }
+      return {
+        id: node.dirId,
+        label: node.dirName,
+        children: node.children,
       };
     },
-    watch: {
-      // 根据名称筛选部门树
-      deptName(val) {
-        this.$refs.tree.filter(val);
-      },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 取消按钮
+    cancelSpace() {
+      this.openSpace = false;
+      this.reset();
     },
-    created() {
+    // 表单重置
+    reset() {
+      this.form = {
+        dirId: null,
+        spaceId: null,
+        parentId: null,
+        dirName: null,
+        dirPath: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null,
+        remark: null,
+        isDel: null,
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
       this.getList();
-      this.getDeptTree();
-      this.getConfigKey("sys.user.initPassword").then((response) => {
-        this.initPassword = response.msg;
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    /** 新增按钮操作 */
+    handleAdd(row) {
+      this.reset();
+      // this.getTreeselect();
+      if (row != null && row.dirId) {
+        this.form.parentId = row.dirId;
+        // } else {
+        // 	this.form.parentId = 0;
+      }
+      this.open = true;
+      this.title = "添加目录信息";
+      personalList().then((response) => {
+        this.form.spaceId = response.data[0].spaceId;
+        this.dirOptions = this.handleTree(response.data, "dirId");
+      });
+    },
+    
+    /** 扩容申请 */
+    handleExpand(row) {
+      this.formSpace.currentCap = this.spaceData.spaceCap;
+      this.formSpace.spaceId = this.spaceData.spaceId;
+      this.formSpace.spaceName = this.spaceData.spaceName;
+      this.reset();
+      // this.getTreeselect();
+      if (row != null && row.dirId) {
+        this.form.parentId = row.dirId;
+        // } else {
+        // 	this.form.parentId = 0;
+      }
+      this.openSpace = true;
+      this.title = "扩容申请";
+      personalList().then((response) => {
+        this.form.spaceId = response.data[0].spaceId;
+        this.dirOptions = this.handleTree(response.data, "dirId");
       });
     },
-    methods: {
-      /** 查询用户列表 */
-      getList() {
-        this.loading = true;
-        listUser(this.addDateRange(this.queryParams, this.dateRange)).then(
-          (response) => {
-            this.userList = response.rows;
-            this.total = response.total;
-            this.loading = false;
+    /** 展开/折叠操作 */
+    toggleExpandAll() {
+      this.refreshTable = false;
+      this.isExpandAll = !this.isExpandAll;
+      this.$nextTick(() => {
+        this.refreshTable = true;
+      });
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      if (row != null) {
+        this.form.parentId = row.dirId;
+      }
+      getDir(row.dirId).then((response) => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改目录信息";
+      });
+      personalList().then((response) => {
+        this.dirOptions = this.handleTree(response.data, "dirId");
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          if (this.form.dirId != null) {
+            updateDir(this.form).then((response) => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addDir(this.form).then((response) => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
           }
-        );
-      },
-      /** 查询部门下拉树结构 */
-      getDeptTree() {
-        deptTreeSelect().then((response) => {
-          this.deptOptions = response.data;
-        });
-      },
-      // 筛选节点
-      filterNode(value, data) {
-        if (!value) return true;
-        return data.label.indexOf(value) !== -1;
-      },
-      // 节点单击事件
-      handleNodeClick(data) {
-        this.queryParams.deptId = data.id;
-        this.handleQuery();
-      },
-      // 用户状态修改
-      handleStatusChange(row) {
-        let text = row.status === "0" ? "启用" : "停用";
-        this.$modal
-          .confirm('确认要"' + text + '""' + row.userName + '"用户吗?')
-          .then(function () {
-            return changeUserStatus(row.userId, row.status);
-          })
-          .then(() => {
-            this.$modal.msgSuccess(text + "成功");
-          })
-          .catch(function () {
-            row.status = row.status === "0" ? "1" : "0";
+        }
+      });
+    },
+    /** 提交按钮 */
+    submitFormSpace() {
+      console.log(this.formSpace);
+      this.$refs["formSpace"].validate((valid) => {
+        if (valid) {
+          addExpand(this.formSpace).then((response) => {
+            this.$modal.msgSuccess("扩容申请提交成功");
+            this.openSpace = false;
           });
-      },
-      // 取消按钮
-      cancel() {
-        this.open = false;
-        this.reset();
-      },
-      // 表单重置
-      reset() {
-        this.form = {
-          userId: undefined,
-          deptId: undefined,
-          userName: undefined,
-          nickName: undefined,
-          password: undefined,
-          phonenumber: undefined,
-          email: undefined,
-          sex: undefined,
-          status: "0",
-          remark: undefined,
-          postIds: [],
-          roleIds: [],
-        };
-        this.resetForm("form");
-      },
-      /** 搜索按钮操作 */
-      handleQuery() {
-        this.queryParams.pageNum = 1;
-        this.getList();
-      },
-      /** 重置按钮操作 */
-      resetQuery() {
-        this.dateRange = [];
-        this.resetForm("queryForm");
-        this.queryParams.deptId = undefined;
-        this.$refs.tree.setCurrentKey(null);
-        this.handleQuery();
-      },
-      // 多选框选中数据
-      handleSelectionChange(selection) {
-        this.ids = selection.map((item) => item.userId);
-        this.single = selection.length != 1;
-        this.multiple = !selection.length;
-      },
-      // 更多操作触发
-      handleCommand(command, row) {
-        switch (command) {
-          case "handleResetPwd":
-            this.handleResetPwd(row);
-            break;
-          case "handleAuthRole":
-            this.handleAuthRole(row);
-            break;
-          default:
-            break;
         }
-      },
-      /** 新增按钮操作 */
-      handleAdd() {
-        this.reset();
-        getUser().then((response) => {
-          this.postOptions = response.posts;
-          this.roleOptions = response.roles;
-          this.open = true;
-          this.title = "添加用户";
-          this.form.password = this.initPassword;
-        });
-      },
-      /** 修改按钮操作 */
-      handleUpdate(row) {
-        this.reset();
-        const userId = row.userId || this.ids;
-        getUser(userId).then((response) => {
-          this.form = response.data;
-          this.postOptions = response.posts;
-          this.roleOptions = response.roles;
-          this.$set(this.form, "postIds", response.postIds);
-          this.$set(this.form, "roleIds", response.roleIds);
-          this.open = true;
-          this.title = "修改用户";
-          this.form.password = "";
-        });
-      },
-      /** 重置密码按钮操作 */
-      handleResetPwd(row) {
-        this.$prompt('请输入"' + row.userName + '"的新密码', "提示", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          closeOnClickModal: false,
-          inputPattern: /^.{5,20}$/,
-          inputErrorMessage: "用户密码长度必须介于 5 和 20 之间",
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      this.$modal
+        .confirm('是否确认删除目录信息编号为"' + row.dirId + '"的数据项?')
+        .then(function () {
+          return delDir(row.dirId);
         })
-          .then(({ value }) => {
-            resetUserPwd(row.userId, value).then((response) => {
-              this.$modal.msgSuccess("修改成功,新密码是:" + value);
-            });
-          })
-          .catch(() => {});
-      },
-      /** 分配角色操作 */
-      handleAuthRole: function (row) {
-        const userId = row.userId;
-        this.$router.push("/system/user-auth/role/" + userId);
-      },
-      /** 提交按钮 */
-      submitForm: function () {
-        this.$refs["form"].validate((valid) => {
-          if (valid) {
-            if (this.form.userId != undefined) {
-              updateUser(this.form).then((response) => {
-                this.$modal.msgSuccess("修改成功");
-                this.open = false;
-                this.getList();
-              });
-            } else {
-              addUser(this.form).then((response) => {
-                this.$modal.msgSuccess("新增成功");
-                this.open = false;
-                this.getList();
-              });
-            }
-          }
-        });
-      },
-      /** 删除按钮操作 */
-      handleDelete(row) {
-        const userIds = row.userId || this.ids;
-        this.$modal
-          .confirm(
-            '删除用户时会删除该用户的存储空间!是否确认删除 登录名为"' +
-              row.userName +
-              '"的用户?'
-          )
-          .then(function () {
-            return delUser(userIds);
-          })
-          .then(() => {
-            this.getList();
-            this.$modal.msgSuccess("删除成功");
-          })
-          .catch(() => {});
-      },
-      /** 导出按钮操作 */
-      handleExport() {
-        this.download(
-          "system/user/export",
-          {
-            ...this.queryParams,
-          },
-          `user_${new Date().getTime()}.xlsx`
-        );
-      },
-      /** 导入按钮操作 */
-      handleImport() {
-        this.upload.title = "用户导入";
-        this.upload.open = true;
-      },
-      /** 下载模板操作 */
-      importTemplate() {
-        this.download(
-          "system/user/importTemplate",
-          {},
-          `user_template_${new Date().getTime()}.xlsx`
-        );
-      },
-      // 文件上传中处理
-      handleFileUploadProgress(event, file, fileList) {
-        this.upload.isUploading = true;
-      },
-      // 文件上传成功处理
-      handleFileSuccess(response, file, fileList) {
-        this.upload.open = false;
-        this.upload.isUploading = false;
-        this.$refs.upload.clearFiles();
-        this.$alert(
-          "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
-            response.msg +
-            "</div>",
-          "导入结果",
-          { dangerouslyUseHTMLString: true }
-        );
-        this.getList();
-      },
-      // 提交上传文件
-      submitFileForm() {
-        this.$refs.upload.submit();
-      },
+        .then(() => {
+          this.getList();
+          this.$modal.msgSuccess("删除成功");
+        })
+        .catch(() => {});
     },
-  };
-  </script>
+  },
+};
+</script>
   
   <style scoped lang='scss'>
-  .containe {
-    color: #7ea4c8;
-    font-size: 0.14rem;
-    font-family: PingFang SC-Medium, PingFang SC;
-    font-weight: 500;
-    padding-left: calc(100vw * (20 / 1920));
-    .header {
-      width: calc(100vw * (300 / 1920));
-      height: calc(100vh * (22 / 1080));
-      margin-top: calc(100vh * (20 / 1080));
-      margin-bottom: calc(100vh * (20 / 1080));
-      display: flex;
-      align-items: center;
-      img {
-        width: calc(100vw * (16 / 1920));
-        height: calc(100vh * (16 / 1080));
-        border: 1px dashed grey;
-        margin-left: 3px;
-        margin-right: 3px;
-      }
-      .top1 {
-        color: #2e8aecff;
-      }
+.containe {
+  color: #7ea4c8;
+  font-size: 0.14rem;
+  font-family: PingFang SC-Medium, PingFang SC;
+  font-weight: 500;
+  padding-left: calc(100vw * (20 / 1920));
+  //顶部信息
+  .header {
+    width: calc(100vw * (300 / 1920));
+    height: calc(100vh * (22 / 1080));
+    margin-top: calc(100vh * (20 / 1080));
+    margin-bottom: calc(100vh * (20 / 1080));
+    display: flex;
+    align-items: center;
+    img {
+      width: calc(100vw * (16 / 1920));
+      height: calc(100vh * (16 / 1080));
+      border: 1px dashed grey;
+      margin-left: 3px;
+      margin-right: 3px;
     }
-    .title {
-      height: calc(100vh * (22 / 1080));
-      margin-top: calc(100vh * (20 / 1080));
-      margin-bottom: calc(100vh * (20 / 1080));
+    .top1 {
+      color: #2e8aecff;
+    }
+  }
+  //中间目录列表
+  .title {
+    height: calc(100vh * (22 / 1080));
+    margin-top: calc(100vh * (20 / 1080));
+    margin-bottom: calc(100vh * (20 / 1080));
+    color: #ffffffff;
+    font-size: 0.16rem;
+    font-weight: bold;
+    line-height: calc(100vh * (22 / 1080));
+  }
+  .main {
+    width: calc(100vw * (1876 / 1920));
+    height: calc(100vh * (774 / 1080));
+    background: url(../../../assets/img/Group-610.png);
+    background-size: calc(100vw * (1876 / 1920)) calc(100vh * (774 / 1080));
+    h3 {
+      font-size: 0.2rem;
       color: #ffffffff;
-      font-size: 0.16rem;
-      font-weight: bold;
-      line-height: calc(100vh * (22 / 1080));
+      padding-top: calc(100vh * (21 / 1080));
+      padding-left: calc(100vw * (30 / 1920));
     }
-    .main {
-      width: calc(100vw * (1876 / 1920));
-      height: calc(100vh * (774 / 1080));
+    .main-main {
+      width: calc(100vw * (1845 / 1920));
+      height: calc(100vh * (700 / 1080));
+      margin-left: calc(100vw * (16 / 1920));
+      margin-top: calc(100vh * (20 / 1080));
+      // background: seagreen;
       .app-container {
-        width: calc(100vw * (1876 / 1920));
-        height: calc(100vh * (774 / 1080));
+        width: calc(100vw * (1845 / 1920));
+        height: calc(100vh * (700 / 1080));
         padding: 0;
       }
-      .main-left {
-        width: calc(100vw * (260 / 1920));
-        height: calc(100vh * (774 / 1080));
-        margin-right: calc(100vw * (20 / 1920));
-        margin-left: calc(100vw * (10 / 1920));
-        background: url(../../../assets/img/Group-609.png);
-        background-size: calc(100vw * (260 / 1920)) calc(100vh * (774 / 1080));
-        .head-top {
-          color: #ffffffff;
-          font-size: 0.2rem;
-          padding-left: calc(100vw * (15 / 1920));
-          padding-top: calc(100vh * (15 / 1080));
-        }
-      }
-      .main-right {
-        width: calc(100vw * (1600 / 1920));
-        height: calc(100vh * (774 / 1080));
-        background: url(../../../assets/img/Group-610.png);
-        background-size: calc(100vw * (1600 / 1920)) calc(100vh * (774 / 1080));
-        p {
-          color: #ffffffff;
-          font-size: 0.16rem;
-          padding-left: calc(100vw * (15 / 1920));
-          padding-top: calc(100vh * (15 / 1080));
-        }
-        .main-right-form {
-          width: calc(100vw * (1540 / 1920));
-          height: calc(100vh * (150 / 1080));
-          margin-top: calc(100vh * (20 / 1080));
-          margin-left: calc(100vw * (20 / 1920));
-        }
-        .main-right-table {
-          width: calc(100vw * (1540 / 1920));
-          height: calc(100vh * (440 / 1080));
-          margin-left: calc(100vw * (20 / 1920));
-          background: transparent;
-        }
-        .pagination-container {
-          width: calc(100vw * (1540 / 1920));
-          height: calc(100vh * (50 / 1080));
-          background: transparent;
-          padding: 0 !important;
-          margin: 0;
-          margin-left: calc(100vw * (20 / 1920));
-        }
+      .el-table {
+        width: calc(100vw * (1830 / 1920));
+        height: calc(100vh * (646 / 1080));
+        margin-left: calc(100vw * (8 / 1920));
+        border: 1px solid #006C9AFF;
+        overflow: auto;
+        background: transparent;
+        color: #7EA4C8;
       }
     }
-    .footer {
-      width: calc(100vw * (1876 / 1920));
-      height: calc(100vh * (92 / 1080));
-      margin-top: calc(100vh * (20 / 1080));
-      background: url(../../../assets/img/Group-611.png);
-      background-size: calc(100vw * (1876 / 1920)) calc(100vh * (92 / 1080));
-      display: flex;
-      align-items: center;
-      padding-left: calc(100vw * (34 / 1920));
-      color: #ffffffff;
-      font-size: 0.16rem;
-      .el-progress {
-        width: calc(100vw * (270 / 1920));
-        margin-right: calc(100vw * (10 / 1920));
-      }
+    //滚动条样式
+    ::-webkit-scrollbar {
+      width: 3.5px;
+    }
+    ::-webkit-scrollbar-track {
+      background-color: rgba(0, 0, 0, 0);
+    }
+    ::-webkit-scrollbar-thumb {
+      background: #2e8aec;
+      border-radius: 3px;
+    }
+    ::-webkit-scrollbar-thumb:hover {
+      background: #2e8aec;
     }
   }
-  ::v-deep .el-tree {
-    width: calc(100vw * (200 / 1920));
-    margin-top: calc(100vh * (30 / 1080));
-    background: transparent;
-    color: #7ea4c8ff;
+  //底部
+  .footer {
+    width: calc(100vw * (1876 / 1920));
+    height: calc(100vh * (92 / 1080));
+    margin-top: calc(100vh * (20 / 1080));
+    background: url(../../../assets/img/Group-611.png);
+    background-size: calc(100vw * (1876 / 1920)) calc(100vh * (92 / 1080));
+    display: flex;
+    align-items: center;
+    padding-left: calc(100vw * (34 / 1920));
+    color: #ffffffff;
+    font-size: 0.16rem;
+    .el-progress {
+      width: calc(100vw * (270 / 1920));
+      margin-right: calc(100vw * (10 / 1920));
+    }
+   .mb8-col{
+    width: calc(100vw * (1800 / 1920));
+    display: flex;
+    align-items: center;
+    height: calc(100vh * (60 / 1080));
+    margin-top: calc(100vh * (15 / 1080));
+   }
+   .capacity{
+    background: #2E8AECFF;
+    color: white;
+    margin-left: calc(100vw * (10 / 1920));
+    text-align: center;
+   }
   }
-  
-  ::v-deep .el-progress-bar__outer {
-    border-radius: 0;
+}
+::v-deep .el-table th{
+ background: linear-gradient(90deg, rgba(19,37,93,0) 0%, rgba(1,108,154,0.65) 52%, rgba(19,37,93,0) 100%, rgba(19,37,93,0) 100%);
+ color: #2E8AEC;
   }
-  ::v-deep .el-progress-bar__inner {
+::v-deep .el-table tr{
+ background: transparent;
+}
+::v-deep .el-table tbody tr:hover>td { 
+    background-color:#016C9A78 !important; 
+}
+::v-deep .el-table td.el-table__cell { 
+    border-bottom: 1px solid #006C9AFF; 
+}
+::v-deep .el-table th.el-table__cell.is-leaf { 
+    border-bottom: 1px solid #006C9AFF; 
+}
+
+::v-deep .el-button--primary.is-plain { 
+    background-color: #002A5CFF; 
+    border: none;
+}
+::v-deep .el-button--info.is-plain { 
+    background-color: #002A5CFF; 
+    border: none;
+    color: #1890ff;
+}
+::v-deep .el-table::before {
+    width: 0;
+}
+//搜索刷新按钮颜色
+::v-deep .el-button.is-circle{
+    background: #006C9AFF;
+    color: white;
+}
+//进度条样式
+::v-deep .el-progress-bar__outer{
+    background: transparent !important;
+    border: 1px solid #2E8AECFF;
     border-radius: 0;
-  }
-  ::v-deep [data-v-f3e82ab8] .el-tree {
-    margin-left: 0;
-  }
-  ::v-deep .el-tree-node {
-    width: calc(100vw * (232 / 1920));
-  }
-  ::v-deep .el-input__inner {
-    background-color: transparent;
-    border: 1px solid #01d1ffff;
-    color: #ffffffcc;
-  }
-  ::v-deep .el-form-item__label {
-    color: #2e8aecff;
-  }
-  ::v-deep .el-date-editor .el-range-input {
-    background: transparent;
-  }
-  ::v-deep .el-table {
+}
+::v-deep .el-progress-bar__inner{
+    border-radius: 0;
+}
+::v-deep .el-progress-bar__innerText{
+    font-size: 0;
+}
+//弹窗样式
+::v-deep .el-dialog{
+  width: calc(100vw * (700 / 1920)) !important;
+  height: calc(100vh * (620 / 1080)) !important;
+  padding-top: calc(100vh * (30 / 1080));
+  padding-right: calc(100vw * (80 / 1920));    
+  padding-left: calc(100vw * (50 / 1920));    
+  background: url(../../../assets/img/Group-585.png);
+  background-size: calc(100vw * (700 / 1920)) calc(100vh * (620 / 1080));
+}
+::v-deep .el-dialog__body{
+    padding-bottom: 0;
+}
+::v-deep .el-dialog__title{
+    color: white;
+}
+::v-deep .el-form-item__label{
+    color: #2E8AECFF;
+}
+::v-deep .el-textarea__inner{
     background: transparent;
-  }
-  ::v-deep .el-pagination.is-background .btn-prev {
+}
+::v-deep .el-input--medium .el-input__inner{
     background: transparent;
-    border: 1px dashed grey;
-  }
-  ::v-deep .el-pagination.is-background .btn-next {
+}
+::v-deep .el-input-number--medium .el-input-number__decrease {
     background: transparent;
-    border: 1px dashed grey;
-  }
-  ::v-deep .el-table tr{
+}
+::v-deep .el-input-number--medium .el-input-number__increase {
     background: transparent;
-  }
-  ::v-deep .el-table th{
-    background: transparent;
-  }
+}
+::v-deep label {
+    color: white;
+    margin-left: 10px;
+}
+::v-deep .el-dialog__headerbtn .el-dialog__close {
+    color: #02C2E3FF;
+    margin-top: 25px;
+    margin-right: 25px;
+    border: 1px solid #02C2E3FF;
+    border-radius: 50%;
+}
+</style>
   
-  </style>
-  
+
+