wukai 2 жил өмнө
parent
commit
12bdb15cda

+ 8 - 1
src/api/doc/info.js

@@ -8,6 +8,13 @@ export function listInfo(query) {
     params: query
   })
 }
+// 查询文档基本信息列表
+export function getYears() {
+  return request({
+    url: '/doc/info/years',
+    method: 'get'
+  })
+}
 
 // 查询文档基本信息详细
 export function getInfo(docId, createYear) {
@@ -41,4 +48,4 @@ export function delInfo(docId) {
     url: '/doc/info/' + docId,
     method: 'delete'
   })
-}
+}

+ 14 - 3
src/views1/File/Individual/IndividualView.vue

@@ -27,8 +27,12 @@
                 </el-select>
               </el-form-item>
               <el-form-item label="文件年份" prop="createYear">
-                <el-input v-model="queryParams.createYear" placeholder="请输入文件创建年份" clearable
-                  @keyup.enter.native="handleQuery" />
+                <el-select v-model="queryParams.createYear" placeholder="请选择文件创建年份" @change="handleQuery">
+                  <el-option v-for="item in yearOptions" :key="item" :label="item"
+                    :value="item"></el-option>
+                </el-select>
+                <!-- <el-input v-model="queryParams.createYear" placeholder="请输入文件创建年份" clearable
+                  @keyup.enter.native="handleQuery" /> -->
               </el-form-item>
               <el-form-item label="标签" prop="params">
                 <el-select v-model="queryParams.params.tagId" placeholder="请输入标签名称" @change="handleQuery"
@@ -176,6 +180,7 @@
     delInfo,
     addInfo,
     updateInfo,
+    getYears
   } from "@/api/doc/info";
   import {
     listDir,
@@ -253,6 +258,7 @@
         dirList: undefined,
         //文件等级数据
         levelOptions: [],
+        yearOptions: [],
         // 弹出层标题
         title: "",
         // 是否显示弹出层
@@ -528,6 +534,11 @@
           listLevel().then((response) => {
             this.levelOptions = response.rows;
           });
+
+          getYears().then((response) => {
+            this.yearOptions = response.data;
+          });
+          
           this.loading = false;
 
           //标签数据
@@ -1062,4 +1073,4 @@
       vertical-align: bottom;
     }
   }
-</style>
+</style>

+ 2 - 2
src/views1/File/Individual/Share/ShareView.vue

@@ -13,9 +13,9 @@
       <div class="app-container">
         <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
           label-width="68px">
-          <el-form-item label="用户ID" prop="userId">
+         <!-- <el-form-item label="用户ID" prop="userId">
             <el-input v-model="queryParams.userId" placeholder="请输入用户ID" clearable @keyup.enter.native="handleQuery" />
-          </el-form-item>
+          </el-form-item> -->
           <el-form-item label="用户姓名" prop="userName">
             <el-input v-model="queryParams.userName" placeholder="请输入用户姓名" clearable
               @keyup.enter.native="handleQuery" />

+ 12 - 8
src/views1/File/Part/PartView.vue

@@ -21,9 +21,8 @@
                   @keyup.enter.native="handleQuery" />
               </el-form-item>
               <el-form-item label="文件级别" prop="docLevel">
-                <el-select v-model="queryParams.docLevel" placeholder="请选择文件级别" @change="handleQuery">
-                  <el-option v-for="item in levelOptions" :key="item.levelId" :label="item.levelName"
-                    :value="item.levelId"></el-option>
+                <el-select v-model="queryParams.createYear" placeholder="请选择文件创建年份" @change="handleQuery">
+                  <el-option v-for="item in yearOptions" :key="item" :label="item" :value="item"></el-option>
                 </el-select>
               </el-form-item>
               <el-form-item label="文件年份" prop="createYear">
@@ -210,7 +209,8 @@
     getInfo,
     delInfo,
     addInfo,
-    updateInfo
+    updateInfo,
+    getYears
   } from "@/api/doc/info";
   import {
     deptList
@@ -274,6 +274,7 @@
         dirList: undefined,
         //文件等级数据
         levelOptions: [],
+        yearOptions: [],
         // 弹出层标题
         title: "",
         // 是否显示弹出层
@@ -321,10 +322,10 @@
     },
     watch: {
       "form.docPath": function(path, old) {
-       if (!this.form.docName && path && path.lastIndexOf("/") > -1) {
-         let name = path.slice(path.lastIndexOf("/") + 1);
-         this.form.docName = name.split("_")[0];
-       }
+        if (!this.form.docName && path && path.lastIndexOf("/") > -1) {
+          let name = path.slice(path.lastIndexOf("/") + 1);
+          this.form.docName = name.split("_")[0];
+        }
       },
     },
     methods: {
@@ -575,6 +576,9 @@
           listLevel().then(response => {
             this.levelOptions = response.rows;
           });
+          getYears().then((response) => {
+            this.yearOptions = response.data;
+          });
           this.loading = false;
           //标签数据
           listTag().then((res) => {

+ 9 - 3
src/views1/File/Publi/PublicView.vue

@@ -27,8 +27,9 @@
                 </el-select>
               </el-form-item>
               <el-form-item label="文件年份" prop="createYear">
-                <el-input v-model="queryParams.createYear" placeholder="请输入文件创建年份" clearable
-                  @keyup.enter.native="handleQuery" />
+                <el-select v-model="queryParams.createYear" placeholder="请选择文件创建年份" @change="handleQuery">
+                  <el-option v-for="item in yearOptions" :key="item" :label="item" :value="item"></el-option>
+                </el-select>
               </el-form-item>
               <el-form-item label="标签" prop="params">
                 <el-select v-model="queryParams.params.tagId" placeholder="请输入标签名称" @change="handleQuery"
@@ -174,6 +175,7 @@
     delInfo,
     addInfo,
     updateInfo,
+    getYears
   } from "@/api/doc/info";
   import {
     publicList
@@ -236,6 +238,7 @@
         dirList: undefined,
         //文件等级数据
         levelOptions: [],
+        yearOptions: [],
         // 弹出层标题
         title: "",
         // 是否显示弹出层
@@ -515,6 +518,9 @@
           listLevel().then((response) => {
             this.levelOptions = response.rows;
           });
+          getYears().then((response) => {
+            this.yearOptions = response.data;
+          });
           this.loading = false;
           //标签数据
           listTag().then((res) => {
@@ -974,4 +980,4 @@
       vertical-align: bottom;
     }
   }
-</style>
+</style>

+ 534 - 547
src/views1/File/Storage/StoView.vue

@@ -1,6 +1,6 @@
 <template>
-    <div class="containe">
-      <!-- <div class="header">
+  <div class="containe">
+    <!-- <div class="header">
         <span>文档管理</span>
         <img src="../../../assets/img/chevron-down.png" alt="" />
         <img src="../../../assets/img/slash.png" alt="" />
@@ -12,80 +12,63 @@
         <img src="../../../assets/img/slash.png" alt="" />
       </div>
       <div class="title">分组文档</div> -->
-      <div class="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="dirList" :props="defaultProps" :expand-on-click-node="false" 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"
-          label-width="68px" class="main-right-form">
-          <el-form-item label="文件名称" prop="docName">
-            <el-input v-model="queryParams.docName" placeholder="请输入文件名称" clearable @keyup.enter.native="handleQuery" />
-          </el-form-item>
-          <el-form-item label="文件年份" prop="createYear">
-            <el-input v-model="queryParams.createYear" placeholder="请输入文件创建年份" clearable
-              @keyup.enter.native="handleQuery" />
-          </el-form-item>
-          <el-form-item label="标签" prop="params">
-                <el-select
-                  v-model="queryParams.params.tagId"
-                  placeholder="请输入标签名称"
-                  @change="handleQuery"
-                  style="width: 180px"
-                >
-                  <el-option
-                    v-for="item in tags"
-                    :key="item.tagId"
-                    :label="item.tagName"
-                    :value="item.tagId"
-                  />
+    <div class="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="dirList" :props="defaultProps" :expand-on-click-node="false" 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"
+              label-width="68px" class="main-right-form">
+              <el-form-item label="文件名称" prop="docName">
+                <el-input v-model="queryParams.docName" placeholder="请输入文件名称" clearable
+                  @keyup.enter.native="handleQuery" />
+              </el-form-item>
+              <el-form-item label="文件年份" prop="createYear">
+                <el-select v-model="queryParams.createYear" placeholder="请选择文件创建年份" @change="handleQuery">
+                  <el-option v-for="item in yearOptions" :key="item" :label="item" :value="item"></el-option>
                 </el-select>
               </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" class="reset1">重置</el-button>
-          </el-form-item>
-        </el-form>
-    
-                <el-row
-                  :gutter="10"
-                  class="mb8"
-                  style="
+              <el-form-item label="标签" prop="params">
+                <el-select v-model="queryParams.params.tagId" placeholder="请输入标签名称" @change="handleQuery"
+                  style="width: 180px">
+                  <el-option v-for="item in tags" :key="item.tagId" :label="item.tagName" :value="item.tagId" />
+                </el-select>
+              </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" class="reset1">重置</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-hasRole="['group.manager']">上传</el-button>
-                  </el-col>
-                  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
-                </el-row>
-    
-                <el-table
-                v-loading="loading" :data="infoList" @selection-change="handleSelectionChange" class="main-right-table"
-                >
-                <el-table-column type="selection" width="55" align="center" />
-          <el-table-column label="文件名称" align="center" prop="docName" />
-          <el-table-column label="文件大小" align="center" prop="docSize" :formatter="fileSizeData" />
-          <el-table-column label="修改时间" align="center" prop="updateTime" />
-          <el-table-column label="文件年份" align="center" prop="createYear" />
-          <el-table-column label="文件类型" align="center" prop="docType" />
-          <el-table-column
-                label="标签"
-                align="center"
-                prop="tagName"
-                width="250"
-              >
+                  ">
+              <el-col :span="1.5">
+                <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
+                  v-hasRole="['group.manager']">上传</el-button>
+              </el-col>
+              <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+            </el-row>
+
+            <el-table v-loading="loading" :data="infoList" @selection-change="handleSelectionChange"
+              class="main-right-table">
+              <el-table-column type="selection" width="55" align="center" />
+              <el-table-column label="文件名称" align="center" prop="docName" />
+              <el-table-column label="文件大小" align="center" prop="docSize" :formatter="fileSizeData" />
+              <el-table-column label="修改时间" align="center" prop="updateTime" />
+              <el-table-column label="文件年份" align="center" prop="createYear" />
+              <el-table-column label="文件类型" align="center" prop="docType" />
+              <el-table-column label="标签" align="center" prop="tagName" width="250">
                 <template slot-scope="scope">
                   <div v-if="scope.row.tagList != []">
                     <el-tag v-for="item in scope.row.tagList" :key="item.tagId">
@@ -94,150 +77,105 @@
                   </div>
                 </template>
               </el-table-column>
-          <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-view" @click="handlePreview(scope.row)">预览</el-button>
-              <el-dropdown size="mini">
-                    <el-button
-                      size="mini"
-                      type="text"
-                      icon="el-icon-d-arrow-right"
-                      >更多</el-button
-                    >
+              <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-view"
+                    @click="handlePreview(scope.row)">预览</el-button>
+                  <el-dropdown size="mini">
+                    <el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
                     <el-dropdown-menu slot="dropdown">
-                      <el-dropdown-item
-                        icon="el-icon-download"
-                        @click.native="handleDownload(scope.row)"
-                        >下载</el-dropdown-item
-                      >
-                      <el-dropdown-item
-                        icon="el-icon-view"
-                        @click.native="handleEdit(scope.row)"
-                        v-hasRole="['group.manager']"
-                        >在线编辑</el-dropdown-item
-                      >
-                      <el-dropdown-item
-                        icon="el-icon-edit"
-                        @click.native="handleUpdate(scope.row)"
-                        v-hasRole="['group.manager']"
-                        >修改</el-dropdown-item
-                      >
-                      <el-dropdown-item
-                        icon="el-icon-delete"
-                        @click.native="handleDelete(scope.row)"
-                        v-hasRole="['group.manager']"
-                        >删除</el-dropdown-item
-                      >
+                      <el-dropdown-item icon="el-icon-download"
+                        @click.native="handleDownload(scope.row)">下载</el-dropdown-item>
+                      <el-dropdown-item icon="el-icon-view" @click.native="handleEdit(scope.row)"
+                        v-hasRole="['group.manager']">在线编辑</el-dropdown-item>
+                      <el-dropdown-item icon="el-icon-edit" @click.native="handleUpdate(scope.row)"
+                        v-hasRole="['group.manager']">修改</el-dropdown-item>
+                      <el-dropdown-item icon="el-icon-delete" @click.native="handleDelete(scope.row)"
+                        v-hasRole="['group.manager']">删除</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>
-          </el-row>
-  
-          <!-- 添加或修改用户配置对话框 -->
-          <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body custom-class="el-dialog5">
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="" prop="docPath">
-          <!-- <el-input v-model="form.docPath" placeholder="请输入文件路径" /> -->
-          <file-upload v-model="form.docPath" />
-        </el-form-item>
-        <el-form-item label="文件目录" prop="dirId">
-          <treeselect v-model="form.dirId" :options="dirList" :normalizer="normalizer" placeholder="请选择文件目录" />
-        </el-form-item>
-        <el-form-item label="文件名称" prop="docName">
-          <el-input v-model="form.docName" placeholder="请输入文件名称" />
-        </el-form-item>
-        <el-form-item label="选择标签(最多5个)" prop="tagName" color="red">
-              <el-tag
-                :key="tag"
-                v-for="tag in dynamicTags"
-                closable
-                :disable-transitions="false"
-                @close="handleClose(tag)"
-              >
+                </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>
+        </el-row>
+
+        <!-- 添加或修改用户配置对话框 -->
+        <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body custom-class="el-dialog5">
+          <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+            <el-form-item label="" prop="docPath">
+              <!-- <el-input v-model="form.docPath" placeholder="请输入文件路径" /> -->
+              <file-upload v-model="form.docPath" />
+            </el-form-item>
+            <el-form-item label="文件目录" prop="dirId">
+              <treeselect v-model="form.dirId" :options="dirList" :normalizer="normalizer" placeholder="请选择文件目录" />
+            </el-form-item>
+            <el-form-item label="文件名称" prop="docName">
+              <el-input v-model="form.docName" placeholder="请输入文件名称" />
+            </el-form-item>
+            <el-form-item label="选择标签(最多5个)" prop="tagName" color="red">
+              <el-tag :key="tag" v-for="tag in dynamicTags" closable :disable-transitions="false"
+                @close="handleClose(tag)">
                 {{ tag }}
               </el-tag>
-              <el-input
-                class="input-new-tag"
-                v-if="inputVisible"
-                v-model="inputValue"
-                ref="saveTagInput"
-                size="small"
-                @keyup.enter.native="handleInputConfirm"
-                @blur="handleInputConfirm"
-                maxlength="5"
-                placeholder="最多输入五个字"
-              >
+              <el-input class="input-new-tag" v-if="inputVisible" v-model="inputValue" ref="saveTagInput" size="small"
+                @keyup.enter.native="handleInputConfirm" @blur="handleInputConfirm" maxlength="5" placeholder="最多输入五个字">
               </el-input>
-              <el-button
-                v-else
-                class="button-new-tag"
-                size="small"
-                @click="showInput"
-                >添加标签</el-button
-              >
+              <el-button v-else class="button-new-tag" size="small" @click="showInput">添加标签</el-button>
             </el-form-item>
             <el-form-item label="文件标签" color="red">
-              <el-tag
-                v-for="tag in tags"
-                :key="tag.tagName"
-                :type="tag.type"
-                @click="handleInputConfirm1(tag)"
-              >
+              <el-tag v-for="tag in tags" :key="tag.tagName" :type="tag.type" @click="handleInputConfirm1(tag)">
                 {{ tag.tagName }}
               </el-tag>
             </el-form-item>
             <el-form-item label="文件描述">
-              <el-input
-                v-model="form.docDesc"
-                type="textarea"
-                placeholder="请输入内容"
-              />
+              <el-input v-model="form.docDesc" 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>
-
-         <!-- 预览对话框 -->
-         <div class="dhk" v-if="a">
-       <video :src="vid" controls v-if="vid1"></video>
-       <audio :src="aud" controls v-if="aud1"></audio>
-
-       <div class="image-container" v-if="img1">
-        <el-image :src="imgg" ref="imageRef" style="max-width: 100%"/>
-        <el-button-group>
-      <el-button icon="el-icon-refresh" @click="rotate(-90)"></el-button>
-      <el-button icon="el-icon-refresh-right" @click="rotate(90)"></el-button>
-      <el-button icon="el-icon-zoom-in" @click="scale(0.1)"></el-button>
-      <el-button icon="el-icon-zoom-out" @click="scale(-0.1)"></el-button>
-    </el-button-group>
-  </div>
-  <el-button class="gb" icon="el-icon-close" circle @click="gb" />
+          </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 class="dhk" v-if="a">
+          <video :src="vid" controls v-if="vid1"></video>
+          <audio :src="aud" controls v-if="aud1"></audio>
+
+          <div class="image-container" v-if="img1">
+            <el-image :src="imgg" ref="imageRef" style="max-width: 100%" />
+            <el-button-group>
+              <el-button icon="el-icon-refresh" @click="rotate(-90)"></el-button>
+              <el-button icon="el-icon-refresh-right" @click="rotate(90)"></el-button>
+              <el-button icon="el-icon-zoom-in" @click="scale(0.1)"></el-button>
+              <el-button icon="el-icon-zoom-out" @click="scale(-0.1)"></el-button>
+            </el-button-group>
+          </div>
+          <el-button class="gb" icon="el-icon-close" circle @click="gb" />
         </div>
 
-</div>
       </div>
     </div>
-  </template>
-    
-    <script>
-import "@/styles1/element-ui1.scss";
-import { listTag } from "@/api/doc/tag.js";
+  </div>
+</template>
 
- import {
+<script>
+  import "@/styles1/element-ui1.scss";
+  import {
+    listTag
+  } from "@/api/doc/tag.js";
+
+  import {
     listInfo,
     getInfo,
     delInfo,
     addInfo,
-    updateInfo
+    updateInfo,
+    getYears
   } from "@/api/doc/info";
   import {
     groupList
@@ -256,35 +194,35 @@ import { listTag } from "@/api/doc/tag.js";
     },
     data() {
       return {
-     //预览图片的旋转缩放
-      scalePercentage: 1,
-      rotationAngle: 0,
-    
-    // 预览界面
-    a:false,
-    
-    //视频路径和显示
-    vid:"",
-    vid1:false,
-    //音频路径和显示
-    aud:"",
-    aud1:false,
-    //图片路径和显示
-    imgg:"",
-    img1:false,
-      //标签列表
-      tags: [
-        // { name: '十四大', id: 0 },
-        // { name: '领导讲话', id: 1 },
-        // { name: '会议精神', id: 2 },
-        // { name: '党章', id: 3 },
-        // { name: '212专案', id: 4 }
-      ],
-
-      //选择标签
-      dynamicTags: [],
-      inputVisible: false,
-      inputValue: "",
+        //预览图片的旋转缩放
+        scalePercentage: 1,
+        rotationAngle: 0,
+
+        // 预览界面
+        a: false,
+
+        //视频路径和显示
+        vid: "",
+        vid1: false,
+        //音频路径和显示
+        aud: "",
+        aud1: false,
+        //图片路径和显示
+        imgg: "",
+        img1: false,
+        //标签列表
+        tags: [
+          // { name: '十四大', id: 0 },
+          // { name: '领导讲话', id: 1 },
+          // { name: '会议精神', id: 2 },
+          // { name: '党章', id: 3 },
+          // { name: '212专案', id: 4 }
+        ],
+
+        //选择标签
+        dynamicTags: [],
+        inputVisible: false,
+        inputValue: "",
 
         // 遮罩层
         loading: true,
@@ -306,6 +244,7 @@ import { listTag } from "@/api/doc/tag.js";
         dirList: undefined,
         //文件等级数据
         levelOptions: [],
+        yearOptions: [],
         // 弹出层标题
         title: "",
         // 是否显示弹出层
@@ -319,8 +258,8 @@ import { listTag } from "@/api/doc/tag.js";
           docLevel: null,
           createYear: null,
           params: {
-          tagId: null,
-        },
+            tagId: null,
+          },
         },
         // 表单参数
         form: {},
@@ -365,105 +304,105 @@ import { listTag } from "@/api/doc/tag.js";
       }
     },
     methods: {
-        //预览图片的缩放
-    rotate(angle) {
-      this.rotationAngle += angle;
-      const image = this.$refs.imageRef.$el.querySelector("img");
-      image.style.transform = `rotate(${this.rotationAngle}deg)`;
-    },
+      //预览图片的缩放
+      rotate(angle) {
+        this.rotationAngle += angle;
+        const image = this.$refs.imageRef.$el.querySelector("img");
+        image.style.transform = `rotate(${this.rotationAngle}deg)`;
+      },
       //预览图片的旋转
-    scale(delta) {
-      this.scalePercentage += delta;
-      const image = this.$refs.imageRef.$el.querySelector("img");
-      image.style.transform = `scale(${this.scalePercentage})`;
-    },
+      scale(delta) {
+        this.scalePercentage += delta;
+        const image = this.$refs.imageRef.$el.querySelector("img");
+        image.style.transform = `scale(${this.scalePercentage})`;
+      },
 
-    // 预览关闭
-    gb(){
-    this.a=false;
-    },
-         //选择标签关闭
-    handleClose(tag) {
-      this.form.tagList.map((i, index) => {
-        if (tag == i.tagName) {
-          this.form.tagList.splice(index, 1);
+      // 预览关闭
+      gb() {
+        this.a = false;
+      },
+      //选择标签关闭
+      handleClose(tag) {
+        this.form.tagList.map((i, index) => {
+          if (tag == i.tagName) {
+            this.form.tagList.splice(index, 1);
+          }
+        });
+        this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
+      },
+
+      showInput() {
+        if (this.dynamicTags.length >= 5) {
+          this.inputVisible = false;
+          alert("标签数不允许超过五个")
+        } else {
+          this.inputVisible = true;
+          this.$nextTick((_) => {
+            this.$refs.saveTagInput.$refs.input.focus();
+          });
         }
-      });
-      this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
-    },
 
-    showInput() {
-      if(this.dynamicTags.length>=5){
-        this.inputVisible = false;
-        alert("标签数不允许超过五个")
-      }else{
-        this.inputVisible = true;
-        this.$nextTick((_) => {
-        this.$refs.saveTagInput.$refs.input.focus();
-      });
-      }
+      },
+      //固定的标签
+      handleInputConfirm1(tag) {
+        if (this.dynamicTags.indexOf(tag.tagName) == -1) {
+          this.dynamicTags.push(
+            tag.tagName
+          );
+          this.form.tagList.push({
+            tagId: tag.tagId,
+            tagName: tag.tagName,
+          });
+        }
 
-    },
-    //固定的标签
-    handleInputConfirm1(tag) {
-      if(this.dynamicTags.indexOf(tag.tagName)==-1){
-        this.dynamicTags.push(
-        tag.tagName
-      );
-      this.form.tagList.push({
-        tagId: tag.tagId,
-        tagName: tag.tagName,
-      });
-      }
+        if (this.dynamicTags.length > 5) {
+          alert("标签数不允许超过五个")
+          this.dynamicTags.pop()
+        };
 
-      if(this.dynamicTags.length>5){
-        alert("标签数不允许超过五个")
-        this.dynamicTags.pop()
-      };
-    
-    },
-    //自定义标签
-    handleInputConfirm() {
-      let inputValue = this.inputValue;
-      // if (inputValue) {
-      //   this.dynamicTags.push(inputValue);
-      // }
-      // this.inputVisible = false;
-      // this.inputValue = "";
-      // this.form.tagList.push({
-      //   tagName:inputValue,
-      // });
-      //查询输入的标签在固定标签里是否存在
-      var Newtags = this.tags.find((value) => value.tagName == inputValue);
-      // console.log(a);
-    if(this.dynamicTags.indexOf(inputValue)!=-1){
-      this.dynamicTags.pop()
-      this.form.tagList.pop()
-    }
+      },
+      //自定义标签
+      handleInputConfirm() {
+        let inputValue = this.inputValue;
+        // if (inputValue) {
+        //   this.dynamicTags.push(inputValue);
+        // }
+        // this.inputVisible = false;
+        // this.inputValue = "";
+        // this.form.tagList.push({
+        //   tagName:inputValue,
+        // });
+        //查询输入的标签在固定标签里是否存在
+        var Newtags = this.tags.find((value) => value.tagName == inputValue);
+        // console.log(a);
+        if (this.dynamicTags.indexOf(inputValue) != -1) {
+          this.dynamicTags.pop()
+          this.form.tagList.pop()
+        }
 
 
 
-      if (inputValue) {
-        this.dynamicTags.push(inputValue);
-      }
-      this.inputVisible = false;
-      this.inputValue = "";
-      if (Newtags) {
-        this.form.tagList.push({
-          tagId: Newtags.tagId,
-          tagName: Newtags.tagName,
-        });
-      } else {
-        this.form.tagList.push({
-          tagName: inputValue,
-        });
-      }
-      // console.log(this.form);
-      if(this.dynamicTags.length>5){
-        alert("标签数不允许超过五个")
-        this.dynamicTags.pop()
-      };
-    },
+        if (inputValue) {
+          this.dynamicTags.push(inputValue);
+        }
+        this.inputVisible = false;
+        this.inputValue = "";
+        if (Newtags) {
+          this.form.tagList.push({
+            tagId: Newtags.tagId,
+            tagName: Newtags.tagName,
+          });
+        } else {
+          this.form.tagList.push({
+            tagName: inputValue,
+          });
+        }
+        // console.log(this.form);
+        if (this.dynamicTags.length > 5) {
+          alert("标签数不允许超过五个")
+          this.dynamicTags.pop()
+        };
+      },
 
       /** 转换目录信息数据结构 */
       normalizer(node) {
@@ -493,39 +432,38 @@ import { listTag } from "@/api/doc/tag.js";
       },
       //预览
       handlePreview(row) {
-           //图片后缀名
-      var tp= ['jpeg','tiff','raw','bmp','gif','png' , 'jpg'];
-      //音频后缀名
-      var yp=['mid', 'mp3', 'wav', 'wma', 'ra', 'ogg', 'flac', 'aac', 'ape'];
-      //视频后缀名
-      var sp= ['asf', 'avi', 'mp4', 'ogm', 'ifo', 'mpg', 'mov', 'mpeg', 'mpg', 'vob', 'wmv', 'rm' , 'rmvb'];
-
-      //判断后缀名
-      if(sp.some(item=>item==row.docType)){
-        this.a=true;
-        this.vid1=true;
-        this.aud1=false;
-        this.img1=false;
-        this.vid=row.docPath;
-      }else if(yp.some(item=>item==row.docType)){
-        this.a=true;
-        this.aud1=true;
-        this.vid1=false;
-        this.img1=false;
-        this.aud=row.docPath;
-      }else if(tp.some(item=>item==row.docType)){
-        this.a=true;
-        this.aud1=false;
-        this.vid1=false;
-        this.img1=true;
-        this.imgg=row.docPath;
-      }
-      else{
-        this.$tab.openPage(
-        window.open("/individual/Pre/user/" + row.docId, '_blank'),
-      );
-      // console.log(111);
-      }
+        //图片后缀名
+        var tp = ['jpeg', 'tiff', 'raw', 'bmp', 'gif', 'png', 'jpg'];
+        //音频后缀名
+        var yp = ['mid', 'mp3', 'wav', 'wma', 'ra', 'ogg', 'flac', 'aac', 'ape'];
+        //视频后缀名
+        var sp = ['asf', 'avi', 'mp4', 'ogm', 'ifo', 'mpg', 'mov', 'mpeg', 'mpg', 'vob', 'wmv', 'rm', 'rmvb'];
+
+        //判断后缀名
+        if (sp.some(item => item == row.docType)) {
+          this.a = true;
+          this.vid1 = true;
+          this.aud1 = false;
+          this.img1 = false;
+          this.vid = row.docPath;
+        } else if (yp.some(item => item == row.docType)) {
+          this.a = true;
+          this.aud1 = true;
+          this.vid1 = false;
+          this.img1 = false;
+          this.aud = row.docPath;
+        } else if (tp.some(item => item == row.docType)) {
+          this.a = true;
+          this.aud1 = false;
+          this.vid1 = false;
+          this.img1 = true;
+          this.imgg = row.docPath;
+        } else {
+          this.$tab.openPage(
+            window.open("/individual/Pre/user/" + row.docId, '_blank'),
+          );
+          // console.log(111);
+        }
       },
       //在线编辑
       handleEdit(row) {
@@ -547,13 +485,18 @@ import { listTag } from "@/api/doc/tag.js";
           listLevel().then(response => {
             this.levelOptions = response.rows;
           });
+
+          getYears().then((response) => {
+            this.yearOptions = response.data;
+          });
+
           this.loading = false;
 
-             //标签数据
-         listTag().then((res) => {
-          this.tags = res.rows;
+          //标签数据
+          listTag().then((res) => {
+            this.tags = res.rows;
+          });
         });
-        });    
       },
       /** 查询文件基本信息列表 */
       getList() {
@@ -595,7 +538,7 @@ import { listTag } from "@/api/doc/tag.js";
           tagList: [],
         };
         this.resetForm("form");
-        this.dynamicTags=[]
+        this.dynamicTags = []
       },
       /** 搜索按钮操作 */
       handleQuery() {
@@ -630,7 +573,7 @@ import { listTag } from "@/api/doc/tag.js";
           this.form = response.data;
           this.open = true;
           this.title = "修改文件基本信息";
-          this.dynamicTags = this.form.tagList.map(item=>item.tagName);
+          this.dynamicTags = this.form.tagList.map(item => item.tagName);
         });
       },
       /** 提交按钮 */
@@ -702,15 +645,16 @@ import { listTag } from "@/api/doc/tag.js";
       }
     }
   };
-  </script>
-    
-    <style scoped lang='scss'>
+</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));
@@ -741,11 +685,13 @@ import { listTag } from "@/api/doc/tag.js";
     .main {
       width: calc(100vw * (1876 / 1920));
       height: calc(100vh * (930 / 1080));
+
       .app-container {
         width: calc(100vw * (1876 / 1920));
         height: calc(100vh * (930 / 1080));
         padding: 0;
       }
+
       .main-left {
         width: calc(100vw * (260 / 1920));
         height: calc(100vh * (930 / 1080));
@@ -754,6 +700,7 @@ import { listTag } from "@/api/doc/tag.js";
         margin-top: calc(100vh * (35 / 1080));
         background: url(../../../assets/img/Group-609.png);
         background-size: calc(100vw * (260 / 1920)) calc(100vh * (930 / 1080));
+
         .head-top {
           color: #ffffffff;
           font-size: 0.2rem;
@@ -761,24 +708,27 @@ import { listTag } from "@/api/doc/tag.js";
           padding-top: calc(100vh * (25 / 1080));
         }
       }
-      .el-breadcrumb{
-          width: calc(100vw * (1600 / 1920));
-          height: calc(100vh * (44 / 1080));
-          margin-left: calc(100vw * (290 / 1920));
-          margin-top: calc(100vh * (10 / 1080));
-          margin-bottom: calc(100vh * (20 / 1080));
-          background: #0F143CFF;
-          display: flex;
-          align-items: center;
-          padding-left: calc(100vw * (20 / 1920));
-  
+
+      .el-breadcrumb {
+        width: calc(100vw * (1600 / 1920));
+        height: calc(100vh * (44 / 1080));
+        margin-left: calc(100vw * (290 / 1920));
+        margin-top: calc(100vh * (10 / 1080));
+        margin-bottom: calc(100vh * (20 / 1080));
+        background: #0F143CFF;
+        display: flex;
+        align-items: center;
+        padding-left: calc(100vw * (20 / 1920));
+
       }
+
       .main-right {
         width: calc(100vw * (1600 / 1920));
         height: calc(100vh * (930 / 1080));
         background: url(../../../assets/img/Group-610.png);
         background-size: calc(100vw * (1600 / 1920)) calc(100vh * (930 / 1080));
         margin-top: calc(100vh * (35 / 1080));
+
         p {
           color: #ffffffff;
           font-size: 0.16rem;
@@ -786,216 +736,253 @@ import { listTag } from "@/api/doc/tag.js";
           padding-top: calc(100vh * (25 / 1080));
           padding-bottom: calc(100vh * (20 / 1080));
         }
+
         //重置按钮
         .reset1 {
           color: #2e8aecff;
           background: transparent;
           border: 1px solid #2E8AECFF;
         }
+
         .main-right-form {
           width: calc(100vw * (1540 / 1920));
           height: calc(100vh * (80 / 1080));
           margin-top: calc(100vh * (20 / 1080));
           margin-left: calc(100vw * (20 / 1920));
         }
+
         .main-right-table {
           width: calc(100vw * (1540 / 1920));
           height: calc(100vh * (630 / 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));
-        margin-top: calc(100vh * (10 / 1080));
-      }
+
+        //表格底部
+        .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));
+          margin-top: calc(100vh * (10 / 1080));
+        }
       }
     }
-    .dhk{
-    width: calc(100vw * (1500 / 1920));
-    height: calc(100vh * (850 / 1080));
-    // background: salmon;
-    background: #0F1540FF;
-    position: absolute;
-    top: 10%;
-    left: 10%;
-    z-index: 99;
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    .gb{
-    position: absolute;
-    top: 0;
-    right: 0; 
-    }
-    video{
-     width: calc(100vw * (1440 / 1920));
-     height: calc(100vh * (810 / 1080)); 
-    }
-    .el-image{
-     width: calc(100vw * (960 / 1920));
-     height: calc(100vh * (720 / 1080)); 
-    }
-     .el-button-group {
+
+    .dhk {
+      width: calc(100vw * (1500 / 1920));
+      height: calc(100vh * (850 / 1080));
+      // background: salmon;
+      background: #0F1540FF;
       position: absolute;
       top: 10%;
-      right: 1%;
+      left: 10%;
+      z-index: 99;
+      display: flex;
+      justify-content: center;
+      align-items: center;
+
+      .gb {
+        position: absolute;
+        top: 0;
+        right: 0;
+      }
+
+      video {
+        width: calc(100vw * (1440 / 1920));
+        height: calc(100vh * (810 / 1080));
+      }
+
+      .el-image {
+        width: calc(100vw * (960 / 1920));
+        height: calc(100vh * (720 / 1080));
+      }
+
+      .el-button-group {
+        position: absolute;
+        top: 10%;
+        right: 1%;
+      }
     }
   }
+
+  //左边下拉菜单样式
+  ::v-deep .el-tree {
+    width: calc(100vw * (200 / 1920));
+    margin-top: calc(100vh * (30 / 1080));
+    background: transparent;
+    color: #7ea4c8ff;
+  }
+
+  //左边下拉菜单点击样式
+  ::v-deep .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
+    background: #293667FF;
+  }
+
+  ::v-deep .el-tree-node {
+    width: calc(100vw * (232 / 1920));
+  }
+
+  //悬停时的样式
+  ::v-deep .el-tree-node__content:hover {
+    background: #293667ff;
+  }
+
+  //右边顶部字体样式
+  ::v-deep .el-form-item__label {
+    color: #2e8aecff;
+  }
+
+  //右边顶部搜索框样式
+  ::v-deep .el-input__inner {
+    background-color: transparent;
+    border: 1px solid #01d1ffff;
+    color: #ffffffcc;
+  }
+
+  ::v-deep .el-form-item--small .el-form-item__content {
+    width: calc(100vw * (220 / 1920));
   }
- //左边下拉菜单样式
-::v-deep .el-tree {
-  width: calc(100vw * (200 / 1920));
-  margin-top: calc(100vh * (30 / 1080));
-  background: transparent;
-  color: #7ea4c8ff;
-}
- //左边下拉菜单点击样式
-::v-deep .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content {
-  background: #293667FF;
-}
-::v-deep .el-tree-node {
-  width: calc(100vw * (232 / 1920));
-}
-//悬停时的样式
-::v-deep .el-tree-node__content:hover {
-  background: #293667ff;
-}
-//右边顶部字体样式
-::v-deep .el-form-item__label {
-  color: #2e8aecff;
-}
-//右边顶部搜索框样式
-::v-deep .el-input__inner {
-  background-color: transparent;
-  border: 1px solid #01d1ffff;
-  color: #ffffffcc;
-}
-::v-deep .el-form-item--small .el-form-item__content {
-  width: calc(100vw * (220 / 1920));
-}
-//右边顶部标签搜索
-::v-deep .el-select > .el-input {
+
+  //右边顶部标签搜索
+  ::v-deep .el-select>.el-input {
     width: calc(100vw * (180 / 1920));
-}
-//右边表格线条隐藏
-::v-deep .el-table::before {
-  height: 0;
-}
-//table样式
-::v-deep .el-table th {
-  background: #016c9aa6;
-  color: #2e8aec;
-}
-::v-deep .el-table tr {
-  background: transparent;
-  color: #7EA4C8FF;
-}
-::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.is-circle {
-  background: #006c9aff;
-  color: white;
-}
-//按钮的样式
-::v-deep .el-button--primary.is-plain {
-  background-color: #002a5cff;
-  border: none;
-  color: #2e8aec;
-}
-//新增/修改弹窗顶部样式
-::v-deep .el-dialog__title {
-  color: white;
-}
-//上传弹窗位置高度
-::v-deep .el-dialog:not(.is-fullscreen) {
-  margin-top: 1vh !important;
-}
-//弹窗关闭按钮
-::v-deep .el-dialog__headerbtn {
-  top: calc(100vh * (45 / 1080));
-  right: calc(100vw * (20 / 1920));
-  font-size: 20px;
-}
-//建议框样式
-::v-deep .el-textarea__inner {
-  background: transparent;
-  resize: none;
-}
-//弹窗底部按钮的位置
-::v-deep .el-dialog__footer {
-  padding: 0;
-}
-//弹窗样式
-::v-deep .el-dialog5 {
-  width: calc(100vw * (800 / 1920)) !important;
-  height: calc(100vh * (1050 / 1080)) !important;
-  background: url(../../../assets/img/Group-585.png);
-  background-size: calc(100vw * (800 / 1920)) calc(100vh * (1050 / 1080));
-  //弹窗中间内容
-  .el-dialog__body {
-    // width: calc(100vw * (620 / 1920)) ;
-    height: calc(100vh * (780 / 1080));
-    margin-top: calc(100vh * (50 / 1080));
-    margin-bottom: calc(100vh * (20 / 1080));
-    padding-right: 50px;
-    overflow: auto;
-    // background: salmon;
   }
-  .el-dialog__header {
-    padding-bottom: 0;
+
+  //右边表格线条隐藏
+  ::v-deep .el-table::before {
+    height: 0;
+  }
+
+  //table样式
+  ::v-deep .el-table th {
+    background: #016c9aa6;
+    color: #2e8aec;
+  }
+
+  ::v-deep .el-table tr {
+    background: transparent;
+    color: #7EA4C8FF;
+  }
+
+  ::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.is-circle {
+    background: #006c9aff;
+    color: white;
+  }
+
+  //按钮的样式
+  ::v-deep .el-button--primary.is-plain {
+    background-color: #002a5cff;
+    border: none;
+    color: #2e8aec;
+  }
+
+  //新增/修改弹窗顶部样式
+  ::v-deep .el-dialog__title {
+    color: white;
+  }
+
+  //上传弹窗位置高度
+  ::v-deep .el-dialog:not(.is-fullscreen) {
+    margin-top: 1vh !important;
   }
-  .el-upload__tip {
-    font-size: 12px;
-    color: #006c9aff;
-    margin-top: 0px;
+
+  //弹窗关闭按钮
+  ::v-deep .el-dialog__headerbtn {
+    top: calc(100vh * (45 / 1080));
+    right: calc(100vw * (20 / 1920));
+    font-size: 20px;
   }
-  .el-upload-list__item {
-    margin: 0;
+
+  //建议框样式
+  ::v-deep .el-textarea__inner {
+    background: transparent;
+    resize: none;
   }
 
-  .el-tag + .el-tag {
-    margin-left: 10px;
+  //弹窗底部按钮的位置
+  ::v-deep .el-dialog__footer {
+    padding: 0;
   }
-  .button-new-tag {
-    margin-left: 10px;
-    height: 32px;
-    line-height: 30px;
-    padding-top: 0;
-    padding-bottom: 0;
+
+  //弹窗样式
+  ::v-deep .el-dialog5 {
+    width: calc(100vw * (800 / 1920)) !important;
+    height: calc(100vh * (1050 / 1080)) !important;
+    background: url(../../../assets/img/Group-585.png);
+    background-size: calc(100vw * (800 / 1920)) calc(100vh * (1050 / 1080));
+
+    //弹窗中间内容
+    .el-dialog__body {
+      // width: calc(100vw * (620 / 1920)) ;
+      height: calc(100vh * (780 / 1080));
+      margin-top: calc(100vh * (50 / 1080));
+      margin-bottom: calc(100vh * (20 / 1080));
+      padding-right: 50px;
+      overflow: auto;
+      // background: salmon;
+    }
+
+    .el-dialog__header {
+      padding-bottom: 0;
+    }
+
+    .el-upload__tip {
+      font-size: 12px;
+      color: #006c9aff;
+      margin-top: 0px;
+    }
+
+    .el-upload-list__item {
+      margin: 0;
+    }
+
+    .el-tag+.el-tag {
+      margin-left: 10px;
+    }
+
+    .button-new-tag {
+      margin-left: 10px;
+      height: 32px;
+      line-height: 30px;
+      padding-top: 0;
+      padding-bottom: 0;
+    }
+
+    .input-new-tag {
+      width: 90px;
+      margin-left: 10px;
+      vertical-align: bottom;
+    }
   }
-  .input-new-tag {
-    width: 90px;
-    margin-left: 10px;
-    vertical-align: bottom;
+
+  //重置按钮
+  // ::v-deep .el-button + .el-button {
+  //     color: #1890ff;
+  // }
+  //标签按钮
+  ::v-deep .el-tag {
+    color: #df9439ff;
+    border: 1px solid #ff9839ff;
+    background: #bba99240;
+    margin-left: 3px;
+    margin-bottom: 3px;
+    height: calc(100vh * (35 / 1080));
+    line-height: calc(100vh * (35 / 1080));
   }
-}
-//重置按钮
-// ::v-deep .el-button + .el-button {
-//     color: #1890ff;
-// }
-//标签按钮
-::v-deep .el-tag {
-  color: #df9439ff;
-  border: 1px solid #ff9839ff;
-  background: #bba99240;
-  margin-left: 3px;
-  margin-bottom: 3px;
-  height: calc(100vh * (35 / 1080));
-  line-height: calc(100vh * (35 / 1080));
-}
-  </style>
-    
+</style>

+ 1 - 1
src/views1/Group/Groups/GroupsView.vue

@@ -62,7 +62,7 @@
               icon="el-icon-plus"
               size="mini"
               @click="handleAdd"
-              v-hasRole="['group.manager']"
+              v-hasRole="['public.manager']"
               >新增</el-button
             >
           </el-col>

+ 276 - 352
src/views1/Group/Subgroup/SubgroupView.vue

@@ -1,400 +1,324 @@
 <template>
   <div class="app-container">
-    <el-form
-      :model="queryParams"
-      ref="queryForm"
-      size="small"
-      :inline="true"
-      v-show="showSearch"
-      label-width="68px"
-    >
-      <el-form-item label="用户ID" prop="userId">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <!-- <el-form-item label="用户ID" prop="userId">
         <el-input
           v-model="queryParams.userId"
           placeholder="请输入用户ID"
           clearable
           @keyup.enter.native="handleQuery"
         />
-      </el-form-item>
+      </el-form-item> -->
       <el-form-item label="用户姓名" prop="userName">
-        <el-input
-          v-model="queryParams.userName"
-          placeholder="请输入用户姓名"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+        <el-input v-model="queryParams.userName" placeholder="请输入用户姓名" clearable @keyup.enter.native="handleQuery" />
       </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"
-          class="reset1"
-          >重置</el-button
-        >
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" class="reset1">重置</el-button>
       </el-form-item>
     </el-form>
 
     <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:groupUser:add']"
-          >分配成员</el-button
-        >
+        <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">分配成员</el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button
-          type="danger"
-          plain
-          icon="el-icon-circle-close"
-          size="mini"
-          :disabled="multiple"
-          @click="cancelGroupUserAll"
-          v-hasPermi="['doc:groupUser:remove']"
-          >删除成员</el-button
-        >
+        <el-button type="danger" plain icon="el-icon-circle-close" size="mini" :disabled="multiple"
+          @click="cancelGroupUserAll">删除成员</el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button
-          type="warning"
-          plain
-          size="mini"
-          @click="handleClose"
-          class="reset2"
-          >返回</el-button
-        >
+        <el-button type="warning" plain size="mini" @click="handleClose" class="reset2">返回</el-button>
       </el-col>
-      <right-toolbar
-        :showSearch.sync="showSearch"
-        @queryTable="getList"
-      ></right-toolbar>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
-    <el-table
-      v-loading="loading"
-      :data="groupUserList"
-      @selection-change="handleSelectionChange"
-    >
+    <el-table v-loading="loading" :data="groupUserList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column
-        label="用户名称"
-        prop="userName"
-        :show-overflow-tooltip="true"
-      />
-      <el-table-column
-        label="用户昵称"
-        prop="nickName"
-        :show-overflow-tooltip="true"
-      />
-      <el-table-column
-        label="邮箱"
-        prop="email"
-        :show-overflow-tooltip="true"
-      />
-      <el-table-column
-        label="手机"
-        prop="phonenumber"
-        :show-overflow-tooltip="true"
-      />
+      <el-table-column label="用户名称" prop="userName" :show-overflow-tooltip="true" />
+      <el-table-column label="用户昵称" prop="nickName" :show-overflow-tooltip="true" />
+      <el-table-column label="邮箱" prop="email" :show-overflow-tooltip="true" />
+      <el-table-column label="手机" prop="phonenumber" :show-overflow-tooltip="true" />
       <el-table-column label="状态" align="center" prop="status">
         <template slot-scope="scope">
-          <dict-tag
-            :options="dict.type.sys_normal_disable"
-            :value="scope.row.status"
-          />
+          <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status" />
         </template>
       </el-table-column>
-      <el-table-column
-        label="操作"
-        align="center"
-        class-name="small-padding fixed-width"
-      >
+      <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-circle-close"
-            @click="cancelGroupUser(scope.row)"
-            v-hasPermi="['doc:groupUser:remove']"
-            >删除成员</el-button
-          >
+          <el-button size="mini" type="text" icon="el-icon-circle-close"
+            @click="cancelGroupUser(scope.row)">删除成员</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"
-    />
-    <select-user
-      ref="select"
-      :groupId="queryParams.groupId"
-      @ok="handleQuery"
-    />
+    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+      @pagination="getList" />
+    <select-user ref="select" :groupId="queryParams.groupId" @ok="handleQuery" />
   </div>
 </template>
-  
-  <script>
-import "@/styles1/element-ui1.scss";
 
-import {
-  listGroupUser,
-  getGroupUser,
-  delGroupUser,
-  addGroupUser,
-  updateGroupUser,
-  groupUserCancelAll,
-} from "@/api/doc/groupUser";
-import selectUser from "./selectUser";
-export default {
-  name: "GroupUser",
-  dicts: ["sys_normal_disable"],
-  components: {
-    selectUser,
-  },
-  data() {
-    return {
-      // 遮罩层
-      loading: true,
-      // 选中数组
-      ids: [],
-      // 非单个禁用
-      single: true,
-      // 非多个禁用
-      multiple: true,
-      // 显示搜索条件
-      showSearch: true,
-      // 总条数
-      total: 0,
-      // 分组成员表格数据
-      groupUserList: [],
-      // 弹出层标题
-      title: "",
-      // 是否显示弹出层
-      open: false,
-      // 查询参数
-      queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        userId: null,
-        userName: null,
-      },
-      // 表单参数
-      form: {},
-      // 表单校验
-      rules: {},
-    };
-  },
-  created() {
-    const groupId = this.$route.params && this.$route.params.groupId;
-    if (groupId) {
-      this.queryParams.groupId = groupId;
-      this.getList();
-    }
-  },
-  methods: {
-    // 返回按钮
-    handleClose() {
-      const obj = {
-        path: "/home/group/groups",
-      };
-      this.$tab.closeOpenPage(obj);
-    },
-    /** 查询分组成员列表 */
-    getList() {
-      this.loading = true;
-      listGroupUser(this.queryParams).then((response) => {
-        this.groupUserList = response.rows;
-        this.total = response.total;
-        this.loading = false;
-      });
-    },
-    // 取消按钮
-    cancel() {
-      this.open = false;
-      this.reset();
+<script>
+  import "@/styles1/element-ui1.scss";
+
+  import {
+    listGroupUser,
+    getGroupUser,
+    delGroupUser,
+    addGroupUser,
+    updateGroupUser,
+    groupUserCancelAll,
+  } from "@/api/doc/groupUser";
+  import selectUser from "./selectUser";
+  export default {
+    name: "GroupUser",
+    dicts: ["sys_normal_disable"],
+    components: {
+      selectUser,
     },
-    // 表单重置
-    reset() {
-      this.form = {
-        groupId: null,
-        userId: null,
-        userName: null,
+    data() {
+      return {
+        // 遮罩层
+        loading: true,
+        // 选中数组
+        ids: [],
+        // 非单个禁用
+        single: true,
+        // 非多个禁用
+        multiple: true,
+        // 显示搜索条件
+        showSearch: true,
+        // 总条数
+        total: 0,
+        // 分组成员表格数据
+        groupUserList: [],
+        // 弹出层标题
+        title: "",
+        // 是否显示弹出层
+        open: false,
+        // 查询参数
+        queryParams: {
+          pageNum: 1,
+          pageSize: 10,
+          userId: null,
+          userName: null,
+        },
+        // 表单参数
+        form: {},
+        // 表单校验
+        rules: {},
       };
-      this.resetForm("form");
-    },
-    /** 搜索按钮操作 */
-    handleQuery() {
-      this.queryParams.pageNum = 1;
-      this.getList();
     },
-    /** 重置按钮操作 */
-    resetQuery() {
-      this.resetForm("queryForm");
-      this.handleQuery();
+    created() {
+      const groupId = this.$route.params && this.$route.params.groupId;
+      if (groupId) {
+        this.queryParams.groupId = groupId;
+        this.getList();
+      }
     },
-    // 多选框选中数据
-    handleSelectionChange(selection) {
-      this.ids = selection.map((item) => item.userId);
-      this.single = selection.length !== 1;
-      this.multiple = !selection.length;
-    },
-    /** 新增按钮操作 */
-    handleAdd() {
-      this.$refs.select.show();
-    },
-    /** 提交按钮 */
-    submitForm() {
-      this.$refs["form"].validate((valid) => {
-        if (valid) {
-          if (this.form.groupId != null) {
-            updateGroupUser(this.form).then((response) => {
-              this.$modal.msgSuccess("修改成功");
-              this.open = false;
-              this.getList();
+    methods: {
+      // 返回按钮
+      handleClose() {
+        const obj = {
+          path: "/home/group/groups",
+        };
+        this.$tab.closeOpenPage(obj);
+      },
+      /** 查询分组成员列表 */
+      getList() {
+        this.loading = true;
+        listGroupUser(this.queryParams).then((response) => {
+          this.groupUserList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        });
+      },
+      // 取消按钮
+      cancel() {
+        this.open = false;
+        this.reset();
+      },
+      // 表单重置
+      reset() {
+        this.form = {
+          groupId: null,
+          userId: null,
+          userName: 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.userId);
+        this.single = selection.length !== 1;
+        this.multiple = !selection.length;
+      },
+      /** 新增按钮操作 */
+      handleAdd() {
+        this.$refs.select.show();
+      },
+      /** 提交按钮 */
+      submitForm() {
+        this.$refs["form"].validate((valid) => {
+          if (valid) {
+            if (this.form.groupId != null) {
+              updateGroupUser(this.form).then((response) => {
+                this.$modal.msgSuccess("修改成功");
+                this.open = false;
+                this.getList();
+              });
+            } else {
+              addGroupUser(this.form).then((response) => {
+                this.$modal.msgSuccess("新增成功");
+                this.open = false;
+                this.getList();
+              });
+            }
+          }
+        });
+      },
+      /** 删除按钮操作 */
+      cancelGroupUserAll(row) {
+        const groupId = this.queryParams.groupId;
+        const userIds = this.ids.join(",");
+        this.$modal
+          .confirm("是否确认删除选中的分组成员?")
+          .then(function() {
+            return groupUserCancelAll({
+              groupId: groupId,
+              userIds: userIds,
             });
-          } else {
-            addGroupUser(this.form).then((response) => {
-              this.$modal.msgSuccess("新增成功");
-              this.open = false;
-              this.getList();
+          })
+          .then(() => {
+            this.getList();
+            this.$modal.msgSuccess("删除成功");
+          })
+          .catch(() => {});
+      },
+      /** 删除按钮操作 */
+      cancelGroupUser(row) {
+        const groupId = this.queryParams.groupId;
+        const userIds = row.userId;
+        this.$modal
+          .confirm('是否确认删除分组成员"' + row.userName + '"的数据项?')
+          .then(function() {
+            return groupUserCancelAll({
+              groupId: groupId,
+              userIds: userIds,
             });
-          }
-        }
-      });
-    },
-    /** 删除按钮操作 */
-    cancelGroupUserAll(row) {
-      const groupId = this.queryParams.groupId;
-      const userIds = this.ids.join(",");
-      this.$modal
-        .confirm("是否确认删除选中的分组成员?")
-        .then(function () {
-          return groupUserCancelAll({
-            groupId: groupId,
-            userIds: userIds,
-          });
-        })
-        .then(() => {
-          this.getList();
-          this.$modal.msgSuccess("删除成功");
-        })
-        .catch(() => {});
-    },
-    /** 删除按钮操作 */
-    cancelGroupUser(row) {
-      const groupId = this.queryParams.groupId;
-      const userIds = row.userId;
-      this.$modal
-        .confirm('是否确认删除分组成员"' + row.userName + '"的数据项?')
-        .then(function () {
-          return groupUserCancelAll({
-            groupId: groupId,
-            userIds: userIds,
-          });
-        })
-        .then(() => {
-          this.getList();
-          this.$modal.msgSuccess("删除成功");
-        })
-        .catch(() => {});
+          })
+          .then(() => {
+            this.getList();
+            this.$modal.msgSuccess("删除成功");
+          })
+          .catch(() => {});
+      },
     },
-  },
-};
+  };
 </script>
 
 <style scoped lang='scss'>
-.el-table {
-  width: calc(100vw * (1882 / 1920));
-  height: calc(100vh * (600 / 1080));
-  background: transparent;
-  color: #7ea4c8ff !important;
-  overflow: auto;
-}
-.reset1 {
-  color: #2e8aecff;
-  background: transparent;
-  border: 1px solid #2e8aecff;
-}
-.reset2 {
-  background-color: #002a5cff;
-  color: #1890ff;
-  border: none;
-}
-//底部跳转
-::v-deep .pagination-container {
-  height: calc(100vh * (50 / 1080));
-  background: transparent;
-}
-::v-deep .pagination-container .el-pagination {
-  bottom: 10px;
-}
-//table样式
-::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-form-item__label {
-  color: #2e8aecff;
-}
-::v-deep .el-input__inner {
-  background: transparent;
-  border: 1px solid #01d1ffff;
-  color: #006c9aff;
-}
+  .el-table {
+    width: calc(100vw * (1882 / 1920));
+    height: calc(100vh * (600 / 1080));
+    background: transparent;
+    color: #7ea4c8ff !important;
+    overflow: auto;
+  }
+
+  .reset1 {
+    color: #2e8aecff;
+    background: transparent;
+    border: 1px solid #2e8aecff;
+  }
+
+  .reset2 {
+    background-color: #002a5cff;
+    color: #1890ff;
+    border: none;
+  }
+
+  //底部跳转
+  ::v-deep .pagination-container {
+    height: calc(100vh * (50 / 1080));
+    background: transparent;
+  }
+
+  ::v-deep .pagination-container .el-pagination {
+    bottom: 10px;
+  }
+
+  //table样式
+  ::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-form-item__label {
+    color: #2e8aecff;
+  }
+
+  ::v-deep .el-input__inner {
+    background: transparent;
+    border: 1px solid #01d1ffff;
+    color: #006c9aff;
+  }
+
+  //table底下白线消失处理
+  ::v-deep .el-table {
+    color: #ffffffff;
+  }
+
+  ::v-deep .el-table::before {
+    width: 0;
+  }
+
+  //按钮的样式
+  ::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 {
+    background-color: #002a5cff;
+    color: #1890ff;
+    border: none;
+  }
+
+  //顶部样式
+  ::v-deep .el-form-item__label {
+    text-align: center;
+  }
 
-//table底下白线消失处理
-::v-deep .el-table {
-  color: #ffffffff;
-}
-::v-deep .el-table::before {
-  width: 0;
-}
-//按钮的样式
-::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 {
-  background-color: #002a5cff;
-  color: #1890ff;
-  border: none;
-}
-//顶部样式
-::v-deep .el-form-item__label {
-  text-align: center;
-}
-//搜索刷新按钮颜色
-::v-deep .el-button.is-circle {
-  background: #006c9aff;
-  color: white;
-}
+  //搜索刷新按钮颜色
+  ::v-deep .el-button.is-circle {
+    background: #006c9aff;
+    color: white;
+  }
 </style>

+ 3 - 4
src/views1/Page/More/MoreView.vue

@@ -100,9 +100,8 @@
                       <el-dropdown-item icon="el-icon-view" @click.native="handleShare(scope.row)"  v-if="checkLevel(scope.row, 'share')">分享</el-dropdown-item>
                       <el-dropdown-item icon="el-icon-view" @click.native="handleDownload(scope.row)"  v-if="checkLevel(scope.row, 'download')">下载</el-dropdown-item>
                       <el-dropdown-item icon="el-icon-view" @click.native="handleEdit(scope.row)"   v-if="checkLevel(scope.row, 'edit')">在线编辑</el-dropdown-item>
-                      <el-dropdown-item icon="el-icon-edit" @click.native="handleUpdate(scope.row)" v-if="checkLevel(scope.row, 'modify')" v-hasPermi="['doc:info:edit']">修改</el-dropdown-item>
-                      <el-dropdown-item icon="el-icon-delete" @click.native="handleDelete(scope.row)" v-if="checkLevel(scope.row, 'del')"
-                        v-hasPermi="['doc:info:remove']">删除</el-dropdown-item>
+                   <!--   <el-dropdown-item icon="el-icon-edit" @click.native="handleUpdate(scope.row)" v-if="checkLevel(scope.row, 'modify')">修改</el-dropdown-item>
+                      <el-dropdown-item icon="el-icon-delete" @click.native="handleDelete(scope.row)" v-if="checkLevel(scope.row, 'del')">删除</el-dropdown-item> -->
                     </el-dropdown-menu>
                   </el-dropdown>
                 </template>
@@ -377,7 +376,7 @@ export default {
   },
   mounted() {
     this.getLists();
-    
+
   },
 
   watch: {

+ 7 - 5
src/views1/Personal/Partspace/PartspaceView.vue

@@ -16,7 +16,7 @@
           <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']" v-hasRole="['dept.manager']">新增</el-button>
+                v-hasRole="['dept.manager']">新增</el-button>
             </el-col>
             <el-col :span="1.5">
               <el-button type="info" plain icon="el-icon-sort" size="mini" @click="toggleExpandAll">展开/折叠</el-button>
@@ -72,9 +72,10 @@
       </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 ref="formSpace" :model="formSpace" :rules="rulesSpace" label-width="120px">
+          <el-form-item label="扩充容量(GB)" prop="expandCap">
+            <el-input-number v-model="formSpace.expandCap" label="请输入容量" :min="1" size="medium"></el-input-number>
+            <!-- <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="请输入申请理由" />
@@ -345,6 +346,7 @@
           if (valid) {
             addExpand(this.formSpace).then(response => {
               this.$modal.msgSuccess("扩容申请提交成功");
+              this.spaceData.isApply = "1"
               this.openSpace = false;
             });
           }
@@ -607,4 +609,4 @@
   ::v-deep .el-input--medium .el-input__inner {
     width: calc(100vw * (200 / 1920));
   }
-</style>
+</style>

+ 1 - 1
src/views1/Personal/Publispace/PublispaceView.vue

@@ -16,7 +16,7 @@
           <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-hasRole="['dept.manager']">新增</el-button>
+                v-hasRole="['public.manager']">新增</el-button>
             </el-col>
             <el-col :span="1.5">
               <el-button type="info" plain icon="el-icon-sort" size="mini" @click="toggleExpandAll">展开/折叠</el-button>

+ 1 - 0
src/views1/Personal/Space/SpaceView.vue

@@ -362,6 +362,7 @@
           if (valid) {
             addExpand(this.formSpace).then((response) => {
               this.$modal.msgSuccess("扩容申请提交成功");
+              this.spaceData.isApply = "1"
               this.openSpace = false;
             });
           }

+ 5 - 3
src/views1/Personal/Storagespace/Groupspace.vue

@@ -79,9 +79,10 @@
       </el-dialog>
       <!-- 扩容申请对话框 -->
       <el-dialog :title="title" :visible.sync="openSpace" width="500px" append-to-body v-if="flag">
-        <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 ref="formSpace" :model="formSpace" :rules="rulesSpace" label-width="120px">
+          <el-form-item label="扩充容量(GB)" prop="expandCap">
+            <el-input-number v-model="formSpace.expandCap" label="请输入容量" :min="1" size="medium"></el-input-number>
+            <!-- <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="请输入申请理由" />
@@ -368,6 +369,7 @@
           if (valid) {
             addExpand(this.formSpace).then((response) => {
               this.$modal.msgSuccess("扩容申请提交成功");
+              this.spaceData.isApply = "1"
               this.openSpace = false;
             });
           }