scorpioyq 2 years ago
parent
commit
0b6c0a4325

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

@@ -2,339 +2,339 @@ import fetch from '../fetch.js'
 import request from '@/api/axios'
 
 export default {
-  /**
-   * 项目相关借口
-   * @returns {Promise<unknown>}
-   */
-  projectList(current, size, params) {
-    // 项目列表
-    return fetch(
-      '/blade-project-manage-v2/project/v2/page',
-      {
-        ...params,
-        current,
-        size
-      },
-      'post',
-      'json'
-    )
-  },
-  projectAdd(params) {
-    // 新增项目
-    return fetch(
-      '/blade-project-manage-v2/project/v2/save',
-      params,
-      'post',
-      'json'
-    )
-  },
-  projectRemove(params) {
-    // 删除项目
-    return fetch('/blade-project-manage-v2/project/v2/remove', params, 'post')
-  },
-  proContact(params) {
-    // 关联子项目
-    return fetch(
-      '/blade-project-manage-v2/project/v2/connect',
-      params,
-      'post',
-      'json'
-    )
-  },
-  removeContact(params) {
-    return fetch(
-      '/blade-project-manage-v2/project/v2/removeConnect',
-      params,
-      'post'
-    )
-  },
-  childrenList(params) {
-    // 已关联子项目列表
-    return fetch('/blade-project-manage-v2/project/v2/childrenList', params)
-  },
-  typeList(params) {
-    // 项目分类列表
-    return fetch('/blade-project-manage-v2/typeAndStage/v2/page', params)
-  },
-  projectInfo(id) {
-    // 项目详细信息
-    return fetch('/blade-project-manage-v2/project/v2/detail/?id=' + id)
-  },
-  projectMapInfo(id) {
-    // 项目详细信息
-    return fetch('/blade-project-manage-v2/project/v2/newDetail/?id=' + id)
-  },
-  proUpdate(params) {
-    // 项目信息更新
-    return fetch(
-      '/blade-project-manage-v2/project/v2/newUpdate',
-      params,
-      'post',
-      'json'
-    )
-  },
-  issuanceDetail(params) {
-    // 项目发行明细
-    return fetch('/blade-project-manage-v2/projectdetail/v2/list', params)
-  },
-  issueAdd(params) {
-    // 新增发行明细
-    return fetch(
-      '/blade-project-manage-v2/projectdetail/v2/save',
-      params,
-      'post',
-      'json'
-    )
-  },
-  userStageList() {
-    // 统计用户阶段项目数
-    return fetch('/blade-project-manage-v2/stage/v2/projectCount')
-  },
-  userNunList(params) {
-    // 统计用户各类型项目数
-    return fetch(
-      '/blade-project-manage-v2/project/v2/projectStageNumber',
-      params,
-      'post',
-      'json'
-    )
-  },
-  updateStage(params) {
-    // 修改项目情况
-    return fetch(
-      '/blade-project-manage-v2/project/v2/updateProjectStage',
-      params,
-      'post'
-    )
-  },
-  includeStage(params) {
-    // 单个项目包含阶段
-    return fetch('/blade-project-manage-v2/stage/v2/projectStages', params)
-  },
-  folderList(params) {
-    // 阶段包含文件夹列表
-    return fetch('/blade-project-manage-v2/folder/v2/listByStageId', params)
-  },
-  sqRecord(params) {
-    // 文件夹授权记录
-    return fetch('/blade-project-manage-v2/qrcode/v2/grantLog', params)
-  },
-  findFiles(params) {
-    // 文件搜索
-    return fetch('/blade-project-manage-v2/folder/v2/findFile', params)
-  },
-  folderListAll(params) {
-    // 历史数据文件夹列表
-    return fetch('/blade-project-manage-v2/folder/v2/history', params)
-  },
-  folderRemove(params) {
-    // 删除文件夹
-    return fetch('/blade-project-manage-v2/folder/v2/remove', params, 'post')
-  },
-  folderAdd(params) {
-    // 添加文件夹
-    return fetch(
-      '/blade-project-manage-v2/folder/v2/submit',
-      params,
-      'post',
-      'json'
-    )
-  },
-  folderUpdate(params) {
-    // 文件夹更新
-    return fetch(
-      '/blade-project-manage-v2/folder/v2/submit',
-      params,
-      'post',
-      'json'
-    )
-  },
-  fileList(params) {
-    // 文件夹里包含文件列表
-    return fetch('/blade-project-manage-v2/folder/v2/getListByFolderId', params)
-  },
-  fileDetail(id) {
-    return fetch('/wutong-library/library/detail/' + id)
-  },
-  articleDetailByFile(id) {
-    return fetch('/wutong-library/library/detail/file/' + id)
-  },
-  fileAdd(params) {
-    // 上传(新增)文件
-    return fetch(
-      '/blade-project-manage-v2/folder/v2/saveFile',
-      params,
-      'post',
-      'json'
-    )
-  },
-  fileRemove(params) {
-    // 删除文件
-    return fetch('/blade-project-manage-v2/folder/v2/remove', params, 'post')
-  },
-  /**
-   * 业主主动授权
-   * @param params
-   * @returns {Promise | Promise<unknown>}
-   */
-  initCode(params) {
-    return fetch(
-      '/blade-project-manage-v2/qrcode/v2/getGrantQrcode',
-      params,
-      'post',
-      'json'
-    )
-  },
-  /**
-   * 服务商触发消息发送
-   * @param params
-   * @returns {Promise | Promise<unknown>}
-   */
-  send(params) {
-    return fetch('/blade-project-manage-v2/frontMessage/v2/sendMessage', params)
-  },
-  /**
-   * 服务商主动申请文件授权
-   * @param params
-   * @returns {Promise<unknown>}
-   */
-  apply(params) {
-    return fetch(
-      '/blade-project-manage-v2/grant/v2/applyGrant',
-      params,
-      'post',
-      'json'
-    )
-  },
-  folderType(params) {
-    return fetch('/blade-project-manage-v2/dict/v2/getDictList', params)
-  },
-  /**
-   * 全站搜索
-   * @param params
-   * @returns {Promise<unknown>}
-   */
-  totalSearch(params) {
-    return fetch(
-      '/blade-project-manage-v2/searcher/v2/getListByKeyword',
-      params,
-      'post',
-      'json'
-    )
-  },
-  /**
-   * 搜索详情
-   */
-  searchDetail(params) {
-    return fetch(
-      '/blade-project-manage-v2/searcher/v2/searchFileDetails',
-      params,
-      'post',
-      'json'
-    )
-  },
-  total(params) {
-    return fetch(
-      '/blade-project-manage-v2/searcher/v2/getTotalByKeyword',
-      params,
-      'post'
-    )
-  },
-  totalAmount(params) {
-    return fetch(
-      '/blade-project-manage-v2/project/v2/getTotalAmount',
-      params,
-      'post',
-      'json'
-    )
-  },
-  /**
-   * 是否需要归档
-   */
-  isHistory(params) {
-    return fetch('/blade-project-manage-v2/folder/v2/isHistory', params)
-  },
-  /**
-   * 归档
-   */
-  doneHistory(params) {
-    return fetch('/blade-project-manage-v2/folder/v2/history', params)
-  },
-  /**
-   * 是否有权限创建文件夹
-   */
-  queryCreateFolder(params) {
-    return fetch('/blade-project-manage-v2/folder/v2/queryFolderGrant', params)
-  },
-  /**
-   * 股室上报项目到管理员
-   */
-  upReportType(params) {
-    return fetch(
-      '/blade-project-manage-v2/project/v2/upReportType',
-      params,
-      'post'
-    )
-  },
-  /**
-   * 管理员审批项目
-   */
-  approvalProject(params) {
-    return fetch(
-      '/blade-project-manage-v2/project/v2/approvalReportType',
-      params,
-      'post'
-    )
-  },
-  /**
-   * 项目上报, 股室的正式项目,上报到固定资产
-   */
-  reportToAssets(params) {
-    return fetch(
-      '/blade-project-manage-v2/project-asset/v2/report-to-asset',
-      params,
-      'post'
-    )
-  },
-  /**
-   * 项目结转
-   */
-  projectCarry(parmas) {
-    return fetch(
-      '/blade-project-manage-v2/project/v2/projectCarryOver',
-      parmas,
-      'post'
-    )
-  },
-  /**
-   * 项目退库
-   * @param params
-   * @returns {Promise<unknown>}
-   */
-  projectCancel(params) {
-    return fetch('/blade-project-manage-v2/project/v2/isExit', params, 'post')
-  },
-  /**
-   * 项目入库预审
-   * @param params
-   * @returns {Promise | Promise<unknown>}
-   */
-  projectStore(params) {
-    return fetch(
-      '/blade-project-manage-v2/project-dispatch/v2/select-pre-storage',
-      params,
-      'post'
-    )
-  }
+    /**
+     * 项目相关借口
+     * @returns {Promise<unknown>}
+     */
+    projectList(current, size, params) {
+        // 项目列表
+        return fetch(
+            '/blade-project-manage-v2/project/v2/page',
+            {
+                ...params,
+                current,
+                size
+            },
+            'post',
+            'json'
+        )
+    },
+    projectAdd(params) {
+        // 新增项目
+        return fetch(
+            '/blade-project-manage-v2/project/v2/save',
+            params,
+            'post',
+            'json'
+        )
+    },
+    projectRemove(params) {
+        // 删除项目
+        return fetch('/blade-project-manage-v2/project/v2/remove', params, 'post')
+    },
+    proContact(params) {
+        // 关联子项目
+        return fetch(
+            '/blade-project-manage-v2/project/v2/connect',
+            params,
+            'post',
+            'json'
+        )
+    },
+    removeContact(params) {
+        return fetch(
+            '/blade-project-manage-v2/project/v2/removeConnect',
+            params,
+            'post'
+        )
+    },
+    childrenList(params) {
+        // 已关联子项目列表
+        return fetch('/blade-project-manage-v2/project/v2/childrenList', params)
+    },
+    typeList(params) {
+        // 项目分类列表
+        return fetch('/blade-project-manage-v2/typeAndStage/v2/page', params)
+    },
+    projectInfo(id) {
+        // 项目详细信息
+        return fetch('/blade-project-manage-v2/project/v2/detail/?id=' + id)
+    },
+    projectMapInfo(id) {
+        // 项目详细信息
+        return fetch('/blade-project-manage-v2/project/v2/newDetail/?id=' + id)
+    },
+    proUpdate(params) {
+        // 项目信息更新
+        return fetch(
+            '/blade-project-manage-v2/project/v2/newUpdate',
+            params,
+            'post',
+            'json'
+        )
+    },
+    issuanceDetail(params) {
+        // 项目发行明细
+        return fetch('/blade-project-manage-v2/projectdetail/v2/list', params)
+    },
+    issueAdd(params) {
+        // 新增发行明细
+        return fetch(
+            '/blade-project-manage-v2/projectdetail/v2/save',
+            params,
+            'post',
+            'json'
+        )
+    },
+    userStageList() {
+        // 统计用户阶段项目数
+        return fetch('/blade-project-manage-v2/stage/v2/projectCount')
+    },
+    userNunList(params) {
+        // 统计用户各类型项目数
+        return fetch(
+            '/blade-project-manage-v2/project/v2/projectStageNumber',
+            params,
+            'post',
+            'json'
+        )
+    },
+    updateStage(params) {
+        // 修改项目情况
+        return fetch(
+            '/blade-project-manage-v2/project/v2/updateProjectStage',
+            params,
+            'post'
+        )
+    },
+    includeStage(params) {
+        // 单个项目包含阶段
+        return fetch('/blade-project-manage-v2/stage/v2/projectStages', params)
+    },
+    folderList(params) {
+        // 阶段包含文件夹列表
+        return fetch('/blade-project-manage-v2/folder/v2/listByStageId', params, 'post')
+    },
+    sqRecord(params) {
+        // 文件夹授权记录
+        return fetch('/blade-project-manage-v2/qrcode/v2/grantLog', params)
+    },
+    findFiles(params) {
+        // 文件搜索
+        return fetch('/blade-project-manage-v2/folder/v2/findFile', params)
+    },
+    folderListAll(params) {
+        // 历史数据文件夹列表
+        return fetch('/blade-project-manage-v2/folder/v2/history', params)
+    },
+    folderRemove(params) {
+        // 删除文件夹
+        return fetch('/blade-project-manage-v2/folder/v2/remove', params, 'post')
+    },
+    folderAdd(params) {
+        // 添加文件夹
+        return fetch(
+            '/blade-project-manage-v2/folder/v2/submit',
+            params,
+            'post',
+            'json'
+        )
+    },
+    folderUpdate(params) {
+        // 文件夹更新
+        return fetch(
+            '/blade-project-manage-v2/folder/v2/submit',
+            params,
+            'post',
+            'json'
+        )
+    },
+    fileList(params) {
+        // 文件夹里包含文件列表
+        return fetch('/blade-project-manage-v2/folder/v2/getListByFolderId', params)
+    },
+    fileDetail(id) {
+        return fetch('/wutong-library/library/detail/' + id)
+    },
+    articleDetailByFile(id) {
+        return fetch('/wutong-library/library/detail/file/' + id)
+    },
+    fileAdd(params) {
+        // 上传(新增)文件
+        return fetch(
+            '/blade-project-manage-v2/folder/v2/saveFile',
+            params,
+            'post',
+            'json'
+        )
+    },
+    fileRemove(params) {
+        // 删除文件
+        return fetch('/blade-project-manage-v2/folder/v2/remove', params, 'post')
+    },
+    /**
+     * 业主主动授权
+     * @param params
+     * @returns {Promise | Promise<unknown>}
+     */
+    initCode(params) {
+        return fetch(
+            '/blade-project-manage-v2/qrcode/v2/getGrantQrcode',
+            params,
+            'post',
+            'json'
+        )
+    },
+    /**
+     * 服务商触发消息发送
+     * @param params
+     * @returns {Promise | Promise<unknown>}
+     */
+    send(params) {
+        return fetch('/blade-project-manage-v2/frontMessage/v2/sendMessage', params)
+    },
+    /**
+     * 服务商主动申请文件授权
+     * @param params
+     * @returns {Promise<unknown>}
+     */
+    apply(params) {
+        return fetch(
+            '/blade-project-manage-v2/grant/v2/applyGrant',
+            params,
+            'post',
+            'json'
+        )
+    },
+    folderType(params) {
+        return fetch('/blade-project-manage-v2/dict/v2/getDictList', params)
+    },
+    /**
+     * 全站搜索
+     * @param params
+     * @returns {Promise<unknown>}
+     */
+    totalSearch(params) {
+        return fetch(
+            '/blade-project-manage-v2/searcher/v2/getListByKeyword',
+            params,
+            'post',
+            'json'
+        )
+    },
+    /**
+     * 搜索详情
+     */
+    searchDetail(params) {
+        return fetch(
+            '/blade-project-manage-v2/searcher/v2/searchFileDetails',
+            params,
+            'post',
+            'json'
+        )
+    },
+    total(params) {
+        return fetch(
+            '/blade-project-manage-v2/searcher/v2/getTotalByKeyword',
+            params,
+            'post'
+        )
+    },
+    totalAmount(params) {
+        return fetch(
+            '/blade-project-manage-v2/project/v2/getTotalAmount',
+            params,
+            'post',
+            'json'
+        )
+    },
+    /**
+     * 是否需要归档
+     */
+    isHistory(params) {
+        return fetch('/blade-project-manage-v2/folder/v2/isHistory', params)
+    },
+    /**
+     * 归档
+     */
+    doneHistory(params) {
+        return fetch('/blade-project-manage-v2/folder/v2/history', params)
+    },
+    /**
+     * 是否有权限创建文件夹
+     */
+    queryCreateFolder(params) {
+        return fetch('/blade-project-manage-v2/folder/v2/queryFolderGrant', params)
+    },
+    /**
+     * 股室上报项目到管理员
+     */
+    upReportType(params) {
+        return fetch(
+            '/blade-project-manage-v2/project/v2/upReportType',
+            params,
+            'post'
+        )
+    },
+    /**
+     * 管理员审批项目
+     */
+    approvalProject(params) {
+        return fetch(
+            '/blade-project-manage-v2/project/v2/approvalReportType',
+            params,
+            'post'
+        )
+    },
+    /**
+     * 项目上报, 股室的正式项目,上报到固定资产
+     */
+    reportToAssets(params) {
+        return fetch(
+            '/blade-project-manage-v2/project-asset/v2/report-to-asset',
+            params,
+            'post'
+        )
+    },
+    /**
+     * 项目结转
+     */
+    projectCarry(parmas) {
+        return fetch(
+            '/blade-project-manage-v2/project/v2/projectCarryOver',
+            parmas,
+            'post'
+        )
+    },
+    /**
+     * 项目退库
+     * @param params
+     * @returns {Promise<unknown>}
+     */
+    projectCancel(params) {
+        return fetch('/blade-project-manage-v2/project/v2/isExit', params, 'post')
+    },
+    /**
+     * 项目入库预审
+     * @param params
+     * @returns {Promise | Promise<unknown>}
+     */
+    projectStore(params) {
+        return fetch(
+            '/blade-project-manage-v2/project-dispatch/v2/select-pre-storage',
+            params,
+            'post'
+        )
+    }
 }
 
 export const getLazyList = (parentId, params) => {
-  return request({
-    url: '/api/blade-project-manage-v2/project/v2/childrenList',
-    method: 'get',
-    params: {
-      ...params,
-      parentId
-    }
-  })
+    return request({
+        url: '/api/blade-project-manage-v2/project/v2/childrenList',
+        method: 'get',
+        params: {
+            ...params,
+            parentId
+        }
+    })
 }

+ 1 - 0
src/assets/svg/folder.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1689840648864" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5949" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M848.8576 199.1936H415.7568c0-26.5728-21.5424-48.128-48.128-48.128H175.1424c-26.5728 0-48.128 21.5424-48.128 48.128V343.5648c0 26.5984 21.5424 48.1408 48.128 48.1408h673.728c26.5728 0 48.128-21.5424 48.128-48.1408v-96.2432c-0.0128-26.5856-21.5552-48.128-48.1408-48.128z" fill="#CCA352" p-id="5950"></path><path d="M800.7424 247.3088H223.2576c-26.5728 0-48.128 21.5424-48.128 48.128v48.128c0 26.5984 21.5424 48.1408 48.128 48.1408h577.472c26.5728 0 48.128-21.5424 48.128-48.1408v-48.128c0-26.5728-21.5424-48.128-48.1152-48.128z" fill="#FFFFFF" p-id="5951"></path><path d="M848.8576 295.4368H175.1424c-26.5728 0-48.128 21.5424-48.128 48.128v481.2544c0 26.5472 21.5424 48.128 48.128 48.128h673.728c26.5728 0 48.128-21.568 48.128-48.128V343.552c-0.0128-26.5728-21.5552-48.1152-48.1408-48.1152z" fill="#FFCC66" p-id="5952"></path></svg>

+ 25 - 25
src/views/home/details.vue

@@ -2,32 +2,32 @@
   <div class="flex flex-justify-start full-height wrapper padding-top">
     <div class="full-height">
       <left-bar
-        :active="type === '0' ? -1 : active"
-        :data="data"
-        :stage="stage"
-        @typeChange="typeChange"
-        @typeChange1="typeChange1"
+          :active="type === '0' ? -1 : active"
+          :data="data"
+          :stage="stage"
+          @typeChange="typeChange"
+          @typeChange1="typeChange1"
       />
     </div>
     <el-card
-      shadow="hover"
-      class="full-height full-width white-bg padding-left padding-top"
-      style="margin-left: 10px"
+        shadow="hover"
+        class="full-height full-width white-bg padding-left padding-top"
+        style="margin-left: 10px"
     >
       <proinfo
-        v-if="type === '0'"
-        :data="data"
-        :issue="list"
-        @refInfo="proInfo"
-        @refresh="issueList"
+          v-if="type === '0'"
+          :data="data"
+          :issue="list"
+          @refInfo="proInfo"
+          @refresh="issueList"
       />
-      <folder-info
-        v-else-if="type === '1'"
-        :id="id"
-        :data="data"
-        :projectStageId="projectStageId"
+      <resource
+          v-else-if="type === '1'"
+          :id="id"
+          :data="data"
+          :projectStageId="projectStageId"
       />
-      <grant-record v-else />
+      <grant-record v-else/>
     </el-card>
   </div>
 </template>
@@ -42,12 +42,12 @@ meta: { layout: 'empty', keepAlive:true }
 <script>
 import leftBar from './component/left_bar.vue'
 import proinfo from './component/proinfo.vue'
-import folderInfo from './component/folder_info.vue'
+import resource from "@/views/resource/index.vue";
 import grantRecord from '@/views/home/component/grant_record.vue'
 
 export default {
   name: '资料管理',
-  components: { leftBar, proinfo, folderInfo, grantRecord },
+  components: {leftBar, proinfo, grantRecord, resource},
   watch: {
     stage: {
       handler(newValue) {
@@ -79,7 +79,7 @@ export default {
       this.type = '1'
       this.active = index
       this.projectStageId =
-        this.stage[index] === undefined ? '' : this.stage[index].id
+          this.stage[index] === undefined ? '' : this.stage[index].id
     })
   },
   methods: {
@@ -105,7 +105,7 @@ export default {
      * 发行明细
      */
     issueList() {
-      this.$api.project.issuanceDetail({ projectId: this.id }).then(res => {
+      this.$api.project.issuanceDetail({projectId: this.id}).then(res => {
         if (res.code === 200) {
           this.list = res.data.records
         }
@@ -115,7 +115,7 @@ export default {
      * 获取项目阶段
      */
     getStage() {
-      this.$api.project.includeStage({ projectId: this.id }).then(res => {
+      this.$api.project.includeStage({projectId: this.id}).then(res => {
         if (res.code === 200) {
           this.stage = res.data.map(e => {
             const newItem = {}
@@ -137,7 +137,7 @@ export default {
         this.type = '1'
       }
       this.projectStageId =
-        this.stage[res] === undefined ? '' : this.stage[res].id
+          this.stage[res] === undefined ? '' : this.stage[res].id
     }
   }
 }

+ 51 - 3
src/views/resource/component/floder.vue

@@ -1,11 +1,59 @@
 <template>
-  <div>
-    <el-button> 修改文件名</el-button>
+  <div class="flex flex-center flex-col">
+    <img src="../../../assets/svg/folder.svg" style="margin-top: -20px">
+    <el-input
+        v-model="title"
+        placeholder="请输入文件夹名称"
+        prefix-icon="EditPen"
+    />
+    <div class="mt-20 flex flex-justify-between full-width">
+      <div></div>
+      <el-button type="primary" @click="folderAdd">确定</el-button>
+    </div>
   </div>
 </template>
 
 <script>
-export default {}
+export default {
+  props: {
+    info: {
+      type: Object,
+      default: null
+    },
+  },
+  data() {
+    return {
+      title: ''
+    }
+
+  },
+
+  created() {
+    this.folderInfo = this.info
+    console.log(this.folderInfo)
+  },
+  methods: {
+    folderAdd() {
+      const data = {
+        projectId: this.info.projectId,
+        stageId: this.info.stageId,
+        title: this.title
+      }
+      if (this.info.stageId === '') {
+        this.$message.error('请先选择相关项目阶段!')
+        this.$emit('close')
+      }
+      this.$api.project.folderAdd(data).then(res => {
+        if (res.code === 200) {
+          this.$message.success(res.msg)
+          this.$emit('close')
+        } else {
+          this.$message.error(res.msg)
+        }
+      })
+    },
+  }
+}
 </script>
 
 <style lang="scss" scoped></style>

+ 14 - 12
src/views/resource/component/xtable.vue

@@ -9,23 +9,24 @@
     </div>
     <div class="full-width">
       <div
-        v-for="row in data"
-        :key="row.id"
-        class="flex flex-center row pointer"
-        @click="rowClick(row)"
+          v-for="row in data"
+          :key="row.id"
+          class="flex flex-center row pointer"
+          @click="rowClick(row)"
       >
         <div
-          v-for="(prop, cell) in headers"
-          :key="prop.id"
-          class="flex-child-average"
+            v-for="(prop, cell) in headers"
+            :key="prop.id"
+            class="flex-child-average"
         >
-          <div v-if="prop.label === '操作'">
-            <el-button type="primary" text>查看</el-button>
-            <el-button type="primary" text>查看</el-button>
-            <el-button type="primary" text>查看</el-button>
+          <div v-if="prop.label === '操作'" class=" nowrap">
+            <el-button type="primary" size="small" text>查看</el-button>
+            <el-button type="primary" size="small" text>归档</el-button>
+            <el-button type="primary" size="small" text>删除</el-button>
+            <el-button type="primary" size="small" text>重命名</el-button>
           </div>
           <div v-else>
-            <slot name="row" :index="cell" :row="row" :ele="prop" />
+            <slot name="row" :index="cell" :row="row" :ele="prop"/>
           </div>
         </div>
       </div>
@@ -84,6 +85,7 @@ export default {
   margin: 1px;
   background-color: #eeeeee;
 }
+
 .cell {
   height: 45px;
   border-bottom: #dcdfe6 solid 1px;

+ 99 - 29
src/views/resource/index.vue

@@ -2,7 +2,27 @@
   <div>
     <tips-custom>
       <template #default>
-        <el-button>33</el-button>
+        <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"
+          >
+            <el-option
+                v-for="item in stage"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id"
+            >
+            </el-option>
+          </el-select>
+        </div>
       </template>
     </tips-custom>
     <!--    content-->
@@ -10,21 +30,19 @@
       <div v-if="top">
         <div class="full-width flex flex-center flex-justify-between">
           <div class="full-width flex flex-justify-start flex-align-center">
-            <el-button type="primary" @click="showDialog(1)"
-              >新建文件夹</el-button
-            >
-            <el-button type="primary" plain>批量授权</el-button>
+            <base-button title="新建文件夹" icon="Plus" @click="showDialog(1)"/>
+            <base-button title="批量授权" icon="User"/>
           </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> 提示说明 </el-breadcrumb-item>
+          <el-breadcrumb-item> 提示说明</el-breadcrumb-item>
         </el-breadcrumb>
         <xtable :data="data" :option="option" @row-click="top = !top">
-          <template #row="{ row, ele }"> {{ row[ele.prop] }} </template>
+          <template #row="{ row, ele }"> {{ row[ele.prop] }}</template>
         </xtable>
       </div>
       <!--      下级目录-->
@@ -35,14 +53,15 @@
             <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>
           <el-breadcrumb-item>归档1</el-breadcrumb-item>
@@ -50,26 +69,28 @@
         <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>{{ row[ele.prop] }}</div>
+            <div v-else>666</div>
           </template>
         </xtable>
       </div>
     </el-card>
 
-    <el-dialog v-model="show">
-      <floder v-if="showType === 1"></floder>
+    <el-dialog v-model="show" :title="title"
+               :width="width"
+    >
+      <floder v-if="showType === 1" :info="folderInfo" @close="colseDialog"></floder>
     </el-dialog>
   </div>
 </template>
 
 <route>
 {
-name: '资料管理v2',
+name: '资料管理',
 meta: { 'show': false }
 }
 </route>
@@ -78,53 +99,102 @@ meta: { 'show': false }
 import tipsCustom from '@/components/tips-custom/index.vue'
 import xtable from '@/views/resource/component/xtable.vue'
 import floder from '@/views/resource/component/floder.vue'
+import baseButton from "@/components/base-button.vue";
 
 export default {
   components: {
     tipsCustom,
     xtable,
-    floder
+    floder,
+    baseButton
   },
+
   data() {
     return {
       show: false,
       showType: 1,
+      width: 380,
+      title: '新建文件夹',
       top: true,
-      data: [{ name: '@2' }, { name: '@22', phone: '555' }],
+      data: [],
       option: {
         column: [
           {
             label: '名称',
-            prop: 'name',
+            prop: 'title',
             display: false,
             width: 170
           },
           {
             label: '状态',
-            prop: 'realName'
+            prop: 'status'
           },
           {
-            label: '归档时间',
-            prop: 'phone'
+            label: '创建时间',
+            prop: 'createTime'
           },
           {
             label: '归档位置',
             prop: 'roleName'
           },
           {
-            label: '归档人',
-            prop: 'status'
+            label: '创建人',
+            prop: 'createUser'
           }
         ]
-      }
+      },
+      stage: [],
+      folderInfo: {
+        projectId: '',
+        stageId: ''
+      },
+      page: {
+        current: 1,
+        size: 10,
+      },
+      total: ''
     }
   },
+  created() {
+    this.folderInfo.projectId = this.$route.query.id
+    this.getFolderList()
+    this.getStage()
+  },
   methods: {
     showDialog(type) {
       this.showType = type
       this.show = true
+    },
+    colseDialog() {
+      this.show = false
+    },
+    getFolderList() {
+      const data = {
+        stageId: this.folderInfo.stageId,
+      }
+      this.$api.project.folderList(Object.assign(data, this.page)).then(res => {
+        if (res.code === 200) {
+          this.data = res.data.records
+          this.total = res.data.total
+        }
+      })
+    },
+    /**
+     * 获取项目阶段
+     */
+    getStage() {
+      this.$api.project.includeStage({projectId: this.folderInfo.projectId}).then(res => {
+        if (res.code === 200) {
+          this.stage = res.data
+        }
+      })
+    },
+    folderResult(res) {
+      this.stageId = res
+      this.getFolderList()
     }
-  }
+  },
+
 }
 </script>