Pārlūkot izejas kodu

搞定扩容申请

wukai 2 gadi atpakaļ
vecāks
revīzija
69a0e61144

+ 97 - 2
src/views/doc/dir/index.vue

@@ -39,6 +39,13 @@
       </el-table-column>
     </el-table>
 
+    <!-- 个人空间相关信息 -->
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        总容量:{{spaceData.spaceCap}} GB 已使用容量:{{spaceData.usedCap}} GB 可用容量:{{spaceData.avlCap}} GB
+        <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleExpand">扩容申请</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">
@@ -57,6 +64,23 @@
         <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>
 
@@ -69,9 +93,19 @@
     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";
 
@@ -94,6 +128,7 @@
         title: "",
         // 是否显示弹出层
         open: false,
+        openSpace: false,
         // 是否展开,默认全部展开
         isExpandAll: true,
         // 重新渲染表格状态
@@ -103,9 +138,11 @@
           parentId: null,
           dirName: null,
         },
+        //个人空间数据
+        spaceData: {},
         // 表单参数
         form: {},
-        // 表单校验
+        formSpace: {},
         // 表单校验
         rules: {
           dirName: [{
@@ -118,13 +155,35 @@
             message: "上级目录不能为空",
             trigger: "blur"
           }],
+        },
+        // 表单校验
+        rulesSpace: {
+          expandCap: [{
+            required: true,
+            message: "扩容容量不能为空",
+            trigger: "blur"
+          }],
+          remark: [{
+            required: true,
+            message: "申请理由不能为空",
+            trigger: "blur"
+          }],
         }
       };
     },
     created() {
       this.getList();
+      this.spaceInfo();
     },
     methods: {
+      /** 查询个人空间相关信息 */
+      spaceInfo() {
+        this.loading = true;
+        getPersonalSpace().then(response => {
+          this.spaceData = response.data;
+          this.loading = false;
+        });
+      },
       /** 查询目录信息列表 */
       getList() {
         this.loading = true;
@@ -149,6 +208,11 @@
         this.open = false;
         this.reset();
       },
+      // 取消按钮
+      cancelSpace() {
+        this.openSpace = false;
+        this.reset();
+      },
       // 表单重置
       reset() {
         this.form = {
@@ -191,6 +255,25 @@
           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");
+        });
+      },
       /** 展开/折叠操作 */
       toggleExpandAll() {
         this.refreshTable = false;
@@ -234,6 +317,18 @@
           }
         });
       },
+      /** 提交按钮 */
+      submitFormSpace() {
+        console.log(this.formSpace);
+        this.$refs["formSpace"].validate(valid => {
+          if (valid) {
+            addExpand(this.formSpace).then(response => {
+              this.$modal.msgSuccess("扩容申请提交成功");
+              this.openSpace = false;
+            });
+          }
+        });
+      },
       /** 删除按钮操作 */
       handleDelete(row) {
         this.$modal.confirm('是否确认删除目录信息编号为"' + row.dirId + '"的数据项?').then(function() {
@@ -245,4 +340,4 @@
       }
     }
   };
-</script>
+</script>

+ 58 - 9
src/views/doc/expand/index.vue

@@ -1,10 +1,10 @@
 <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="spaceId">
+      <el-form-item label="空间名称" prop="spaceName">
         <el-input
-          v-model="queryParams.spaceId"
-          placeholder="请输入空间ID"
+          v-model="queryParams.spaceName"
+          placeholder="请输入空间名称"
           clearable
           @keyup.enter.native="handleQuery"
         />
@@ -25,6 +25,16 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
+      <el-form-item label="扩容状态" prop="expandStatus">
+        <el-select v-model="queryParams.expandStatus" placeholder="请选择扩容状态" clearable>
+          <el-option
+            v-for="dict in dict.type.expand_status"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </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">重置</el-button>
@@ -80,11 +90,26 @@
     <el-table v-loading="loading" :data="expandList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="容量信息ID" align="center" prop="expandId" />
-      <el-table-column label="空间ID" align="center" prop="spaceId" />
+      <el-table-column label="空间名称" align="center" prop="spaceName" />
       <el-table-column label="当前容量" align="center" prop="currentCap" />
       <el-table-column label="扩充容量" align="center" prop="expandCap" />
-      <el-table-column label="扩容状态" align="center" prop="expandStatus" />
-      <el-table-column label="备注" align="center" prop="remark" />
+      <el-table-column label="扩容状态" align="center" prop="expandStatus">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.expand_status" :value="scope.row.expandStatus"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="创建人" align="center" prop="createBy" />
+      <el-table-column label="创建时间" align="center" prop="createTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="更新人" align="center" prop="updateBy" />
+      <el-table-column label="更新时间" align="center" prop="updateTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
@@ -104,7 +129,7 @@
         </template>
       </el-table-column>
     </el-table>
-    
+
     <pagination
       v-show="total>0"
       :total="total"
@@ -116,15 +141,33 @@
     <!-- 添加或修改扩容申请对话框 -->
     <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="空间ID" prop="spaceId">
+          <el-input v-model="form.spaceId" placeholder="请输入空间ID" />
+        </el-form-item>
+        <el-form-item label="空间名称" prop="spaceName">
+          <el-input v-model="form.spaceName" placeholder="请输入空间名称" />
+        </el-form-item>
         <el-form-item label="当前容量" prop="currentCap">
           <el-input v-model="form.currentCap" placeholder="请输入当前容量" />
         </el-form-item>
         <el-form-item label="扩充容量" prop="expandCap">
           <el-input v-model="form.expandCap" placeholder="请输入扩充容量" />
         </el-form-item>
+        <el-form-item label="扩容状态" prop="expandStatus">
+          <el-radio-group v-model="form.expandStatus">
+            <el-radio
+              v-for="dict in dict.type.expand_status"
+              :key="dict.value"
+              :label="dict.value"
+            >{{dict.label}}</el-radio>
+          </el-radio-group>
+        </el-form-item>
         <el-form-item label="备注" prop="remark">
           <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
         </el-form-item>
+        <el-form-item label="逻辑删除标志;1/非1" prop="isDel">
+          <el-input v-model="form.isDel" placeholder="请输入逻辑删除标志;1/非1" />
+        </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
@@ -139,6 +182,7 @@ import { listExpand, getExpand, delExpand, addExpand, updateExpand } from "@/api
 
 export default {
   name: "Expand",
+  dicts: ['expand_status'],
   data() {
     return {
       // 遮罩层
@@ -163,14 +207,18 @@ export default {
       queryParams: {
         pageNum: 1,
         pageSize: 10,
-        spaceId: null,
+        spaceName: null,
         currentCap: null,
         expandCap: null,
+        expandStatus: null,
       },
       // 表单参数
       form: {},
       // 表单校验
       rules: {
+        spaceName: [
+          { required: true, message: "空间名称不能为空", trigger: "blur" }
+        ],
         expandCap: [
           { required: true, message: "扩充容量不能为空", trigger: "blur" }
         ],
@@ -203,6 +251,7 @@ export default {
       this.form = {
         expandId: null,
         spaceId: null,
+        spaceName: null,
         currentCap: null,
         expandCap: null,
         expandStatus: null,
@@ -285,4 +334,4 @@ export default {
     }
   }
 };
-</script>
+</script>

+ 6 - 6
src/views/doc/space/index.vue

@@ -11,10 +11,10 @@
     </el-form>
 
     <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
+     <!-- <el-col :span="1.5">
         <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
           v-hasPermi="['doc:space:add']">新增</el-button>
-      </el-col>
+      </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:space:edit']">修改</el-button>
@@ -32,10 +32,10 @@
 
     <el-table v-loading="loading" :data="spaceList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="空间ID" align="center" prop="spaceId" />
+      <!-- <el-table-column label="空间ID" align="center" prop="spaceId" /> -->
       <el-table-column label="空间名称" align="center" prop="spaceName" />
-      <el-table-column label="空间容量" align="center" prop="spaceCap" />
-      <el-table-column label="已使用容量" align="center" prop="usedCap" />
+      <el-table-column label="空间容量(GB)" align="center" prop="spaceCap" />
+      <el-table-column label="已使用容量(TB)" align="center" prop="usedCap" />
       <el-table-column label="可用容量" align="center" prop="avlCap" />
       <el-table-column label="文件数量" align="center" prop="fileNum" />
       <el-table-column label="默认文件级别" align="center" prop="defaultLevel" />
@@ -262,4 +262,4 @@
       }
     }
   };
-</script>
+</script>