scorpioyq il y a 2 ans
Parent
commit
95cf0b57e0
2 fichiers modifiés avec 64 ajouts et 44 suppressions
  1. 2 2
      src/api/project/index.js
  2. 62 42
      src/views/resource/index.vue

+ 2 - 2
src/api/project/index.js

@@ -109,11 +109,11 @@ export default {
     },
     includeStage(params) {
         // 单个项目包含阶段
-        return fetch('/blade-project-manage-v2/stage/v2/projectStages', params)
+        return fetch('/blade-project-manage-v2/stage/v2/projectStages', params,)
     },
     folderList(params) {
         // 阶段包含文件夹列表
-        return fetch('/blade-project-manage-v2/folder/v2/listByStageId', params, 'post')
+        return fetch('/blade-project-manage-v2/folder/v2/listByStageId', params,)
     },
     sqRecord(params) {
         // 文件夹授权记录

+ 62 - 42
src/views/resource/index.vue

@@ -5,20 +5,20 @@
         <div class="flex flex-center">
           <span class="mr-10 nowrap">项目阶段</span>
           <el-select
-            v-model="folderInfo.stageId"
-            remote
-            filterable
-            clearable
-            placeholder="筛选项目阶段"
-            :remote-method="remoteMethod"
-            style="width: 100%"
-            @change="folderResult"
+              v-model="folderInfo.stageId"
+              remote
+              filterable
+              clearable
+              placeholder="筛选项目阶段"
+              :remote-method="remoteMethod"
+              style="width: 100%"
+              @change="folderResult"
           >
             <el-option
-              v-for="item in stage"
-              :key="item.id"
-              :label="item.name"
-              :value="item.id"
+                v-for="item in stage"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id"
             >
             </el-option>
           </el-select>
@@ -31,23 +31,30 @@
         <div class="full-width flex flex-center flex-justify-between">
           <div class="full-width flex flex-justify-start flex-align-center">
             <base-button
-              title="新建文件夹"
-              icon="Plus"
-              @click="showDialog(1)"
+                title="新建文件夹"
+                icon="Plus"
+                @click="showDialog(1)"
+            />
+            <base-button title="批量授权" icon="User"/>
+          </div>
+          <div class="flex flex-center">
+            <span class="nowrap mr-10">文件搜索</span>
+            <el-input
+                v-model="folderInfo.keyword"
+                placeholder="输入文件关键字"
+                style="width: 100%"
             />
-            <base-button title="批量授权" icon="User" />
           </div>
-          <el-button round icon="el-icon-search" />
         </div>
         <el-breadcrumb
-          separator-icon="ArrowRight"
-          class="mt-20 main-color pointer"
+            separator-icon="ArrowRight"
+            class="mt-20 main-color pointer"
         >
-          <el-breadcrumb-item> 提示说明</el-breadcrumb-item>
+          <el-breadcrumb-item>提示说明</el-breadcrumb-item>
         </el-breadcrumb>
-        <xtable :data="data" :option="option" @row-click="top = !top">
+        <xtable :data="data" :option="option" @row-click="folderOpen">
           <template #row="{ row, ele }">
-            <div class="flex light-blue-bg">
+            <div class="flex">
               {{ row[ele.prop] }}
             </div>
           </template>
@@ -61,27 +68,27 @@
             <el-button type="primary" plain>新建文件夹</el-button>
             <el-button type="primary" plain>批量授权</el-button>
           </div>
-          <el-button round icon="el-icon-search" />
+          <el-button round icon="el-icon-search"/>
         </div>
         <el-breadcrumb
-          separator-icon="ArrowRight"
-          class="mt-20 main-color pointer"
+            separator-icon="ArrowRight"
+            class="mt-20 main-color pointer"
         >
           <el-breadcrumb-item @click="top = true"
-            >返回上一层
+          >返回上一层
           </el-breadcrumb-item>
           <el-breadcrumb-item>全部文件</el-breadcrumb-item>
-          <el-breadcrumb-item>归档1</el-breadcrumb-item>
+          <el-breadcrumb-item>{{ data.title }}</el-breadcrumb-item>
         </el-breadcrumb>
         <xtable :data="data" :option="option">
           <template #row="{ index, row, ele }">
             <div v-if="index === 0" class="light-purple-bg flex flex-center">
-              <img src="@/assets/svg/folder/edit.svg" style="width: 40px" />
+              <img src="@/assets/svg/folder/edit.svg" style="width: 40px"/>
               <div>
                 {{ row[ele.prop] }}
               </div>
             </div>
-            <div v-else>666</div>
+            <el-empty v-else/>
           </template>
         </xtable>
       </div>
@@ -89,9 +96,9 @@
 
     <el-dialog v-model="show" :title="title" :width="width">
       <floder
-        v-if="showType === 1"
-        :info="folderInfo"
-        @close="colseDialog"
+          v-if="showType === 1"
+          :info="folderInfo"
+          @close="colseDialog"
       ></floder>
     </el-dialog>
   </div>
@@ -125,7 +132,7 @@ export default {
       width: 380,
       title: '新建文件夹',
       top: true,
-      data: [{ title: '@2' }, { title: '@3333', status: '555' }],
+      data: [{title: '@2'}, {title: '@3333', status: '555'}],
       option: {
         column: [
           {
@@ -135,8 +142,8 @@ export default {
             width: 270
           },
           {
-            label: '状态',
-            prop: 'status'
+            label: '所属阶段',
+            prop: 'stageName'
           },
           {
             label: '创建时间',
@@ -179,7 +186,8 @@ export default {
     },
     getFolderList() {
       const data = {
-        stageId: this.folderInfo.stageId
+        stageId: this.folderInfo.stageId,
+        dictKey: 1
       }
       this.$api.project.folderList(Object.assign(data, this.page)).then(res => {
         if (res.code === 200) {
@@ -188,17 +196,29 @@ export default {
         }
       })
     },
+    folderOpen(row) {
+      console.log(row)
+      this.top = !this.top
+      const data = {id: row.id, isHistory: 0}
+      this.$api.project.fileList(Object.assign(data, this.page)).then(res => {
+        if (res.code === 200) {
+          this.data = res.data
+        } else {
+          this.$message.error(res.msg)
+        }
+      })
+    },
     /**
      * 获取项目阶段
      */
     getStage() {
       this.$api.project
-        .includeStage({ projectId: this.folderInfo.projectId })
-        .then(res => {
-          if (res.code === 200) {
-            this.stage = res.data
-          }
-        })
+          .includeStage({projectId: this.folderInfo.projectId})
+          .then(res => {
+            if (res.code === 200) {
+              this.stage = res.data
+            }
+          })
     },
     folderResult(res) {
       this.stageId = res