From ac1daa1a791620d84eb99f9e412589899cc79f15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BE=99=E8=BF=90=E6=A8=A1?= <1724894114@qq.com> Date: Wed, 24 Jul 2024 20:53:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=96=87=E6=A1=A3=E9=83=A8?= =?UTF-8?q?=E5=88=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/model/docs.js | 58 +++++++++++++++ src/assets/icons/Excel.vue | 13 ++++ src/assets/icons/Folder.vue | 13 ++++ src/assets/icons/Pdf.vue | 13 ++++ src/assets/icons/index.js | 3 + src/components/scTable/index.vue | 12 ++- src/style/docs.scss | 43 +++++++++++ src/style/style.scss | 1 + src/views/docsManager/document.vue | 116 ++++++++++++++++++++--------- src/views/docsManager/save.vue | 89 ++++++++++++++++++++++ 10 files changed, 324 insertions(+), 37 deletions(-) create mode 100644 src/api/model/docs.js create mode 100644 src/assets/icons/Excel.vue create mode 100644 src/assets/icons/Folder.vue create mode 100644 src/assets/icons/Pdf.vue create mode 100644 src/style/docs.scss create mode 100644 src/views/docsManager/save.vue diff --git a/src/api/model/docs.js b/src/api/model/docs.js new file mode 100644 index 0000000..970d513 --- /dev/null +++ b/src/api/model/docs.js @@ -0,0 +1,58 @@ +import config from "@/config"; +import http from "@/utils/request"; + +export default { + manager:{ + upload: { + url: `${config.API_URL}/document.upload`, + name: "上传文档", + post: async function (params) { + return await http.post(this.url, params); + }, + }, + add: { + url: `${config.API_URL}/document.folder.add`, + name: "新建文件夹", + post: async function (params) { + return await http.post(this.url, params); + }, + }, + list: { + url: `${config.API_URL}/document.folder.list`, + name: "文件、文件夹列表", + get: async function (params) { + return await http.post(this.url, params); + }, + }, + deleteFolder: { + url: `${config.API_URL}/document.folder.delete`, + name: "删除文件夹", + post: async function () { + return await http.post(this.url); + }, + }, + deleteFile: { + url: `${config.API_URL}/document.file.delete`, + name: "删除文件", + post: async function (params) { + return await http.post(this.url, params); + }, + }, + }, + share:{ + add: { + url: `${config.API_URL}/document.file.delete`, + name: "共享文件、文件夹", + post: async function (params) { + return await http.post(this.url, params); + }, + }, + list: { + url: `${config.API_URL}/document.share.list`, + name: "共享文件、文件夹列表", + get: async function (params) { + return await http.post(this.url, params); + }, + }, + } +}; diff --git a/src/assets/icons/Excel.vue b/src/assets/icons/Excel.vue new file mode 100644 index 0000000..594ad23 --- /dev/null +++ b/src/assets/icons/Excel.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/assets/icons/Folder.vue b/src/assets/icons/Folder.vue new file mode 100644 index 0000000..b6b6968 --- /dev/null +++ b/src/assets/icons/Folder.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/assets/icons/Pdf.vue b/src/assets/icons/Pdf.vue new file mode 100644 index 0000000..a6666fc --- /dev/null +++ b/src/assets/icons/Pdf.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/assets/icons/index.js b/src/assets/icons/index.js index f42eb7b..37aa674 100644 --- a/src/assets/icons/index.js +++ b/src/assets/icons/index.js @@ -28,6 +28,9 @@ export { default as AgentMaintenance } from './AgentMaintenance.vue' export { default as CostAllocation } from './CostAllocation.vue' export { default as DataSource } from './DataSource.vue' export { default as MachineRoom } from './MachineRoom.vue' +export { default as Folder } from './Folder.vue' +export { default as Pdf } from './Pdf.vue' +export { default as Excel } from './Excel.vue' // 列表按钮 export { default as Delete } from './Delete.vue' diff --git a/src/components/scTable/index.vue b/src/components/scTable/index.vue index 621855b..428d69f 100644 --- a/src/components/scTable/index.vue +++ b/src/components/scTable/index.vue @@ -95,6 +95,7 @@ hideRefresh: { type: Boolean, default: false }, hideSetting: { type: Boolean, default: false }, paginationLayout: { type: String, default: config.paginationLayout }, + rowChild:{type:Boolean, default:true} }, watch: { //监听从props里拿到值了 @@ -210,7 +211,16 @@ if(this.hidePagination){ this.tableData = response.data || []; }else{ - this.tableData = response.rows || []; + if(!this.rowChild){ + response.rows.forEach(item=>{ + item.data = item.children; + delete item.children + }) + this.tableData = response.rows || []; + console.log('数据处理') + }else{ + this.tableData = response.rows || []; + } } if(response.data.columnConfig){ this.userColumn = response.data.columnConfig; // 表头获取 diff --git a/src/style/docs.scss b/src/style/docs.scss new file mode 100644 index 0000000..6a01ffa --- /dev/null +++ b/src/style/docs.scss @@ -0,0 +1,43 @@ +.docsRow{ + width: 100%; + margin: 0; + ::v-deep .el-col{ + padding: 0 !important; + } +} +.docsHeaderMain{ + height: 48px; + padding-bottom: 0; +} +.docsHeader{ + width: 100%; + display: flex;align-items: center; + .arrowBox{ + display: flex;align-items: center;justify-content: center; + background: #EFF3FB;height: 28px; + border-radius: 4px;padding: 2px 0; + .item{ + padding: 0 12px; + height: 100%; + display: flex;align-items: center;justify-content: center; + } + .leftArrow{border-right: 1px solid #f9f9f9;} + .rightArrow{border-left: 1px solid #f9f9f9;} + } + .refreshBox{ + margin-left: 12px; + padding: 0 12px; + background: #EFF3FB;height: 28px; + border-radius: 4px; + display: flex;align-items: center;justify-content: center; + } + .breadcrumb{ + flex: 1; + margin:0 12px; + height: 28px; + padding: 0 10px; + border-radius: 4px; + display: flex;align-items: center; + border:1px solid #f3f3f3; + } +} diff --git a/src/style/style.scss b/src/style/style.scss index 7a69102..c2eb288 100644 --- a/src/style/style.scss +++ b/src/style/style.scss @@ -5,3 +5,4 @@ @import 'dark.scss'; @import 'home.scss'; @import 'user.scss'; +@import 'docs.scss'; diff --git a/src/views/docsManager/document.vue b/src/views/docsManager/document.vue index a57088a..6e77452 100644 --- a/src/views/docsManager/document.vue +++ b/src/views/docsManager/document.vue @@ -1,9 +1,44 @@ diff --git a/src/views/docsManager/save.vue b/src/views/docsManager/save.vue new file mode 100644 index 0000000..bd7ee74 --- /dev/null +++ b/src/views/docsManager/save.vue @@ -0,0 +1,89 @@ + + + + +