From eb5e1ce43a8136428c90ba2fb4c3447e4fd627c3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=BE=99=E8=BF=90=E6=A8=A1?= <1724894114@qq.com>
Date: Mon, 29 Jul 2024 16:27:34 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=96=87=E4=BB=B6=E7=A7=BB?=
=?UTF-8?q?=E5=8A=A8=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 | 14 +++
src/store/modules/global.js | 6 ++
src/views/docsManager/document.vue | 30 ++++++-
src/views/docsManager/index.vue | 11 ++-
src/views/docsManager/moveFile.vue | 125 +++++++++++++++++++++++++++
src/views/docsManager/save.vue | 30 +++++--
src/views/docsManager/share.vue | 43 +++++++--
src/views/docsManager/uploadFile.vue | 25 ++++--
8 files changed, 257 insertions(+), 27 deletions(-)
create mode 100644 src/views/docsManager/moveFile.vue
diff --git a/src/api/model/docs.js b/src/api/model/docs.js
index 43445ef..47992d9 100644
--- a/src/api/model/docs.js
+++ b/src/api/model/docs.js
@@ -65,6 +65,20 @@ export default {
post: async function (params) {
return await http.post(this.url, params);
},
+ },
+ folderSelect:{
+ url: `${config.API_URL}/document.folder.select.list`,
+ name: "部门列表下拉",
+ post: async function (params) {
+ return await http.post(this.url, params);
+ },
+ },
+ move:{
+ url: `${config.API_URL}/document.file.move`,
+ name: "移动文件|文件夹",
+ post: async function (params) {
+ return await http.post(this.url, params);
+ },
}
},
share:{
diff --git a/src/store/modules/global.js b/src/store/modules/global.js
index b2d665e..e7e5fb0 100644
--- a/src/store/modules/global.js
+++ b/src/store/modules/global.js
@@ -25,6 +25,9 @@ export default {
docsRouter:[
{name:'我的文档',id:''}
],
+ shareRouter:[
+ {name:'我的文档',id:''}
+ ]
},
mutations: {
SET_ismobile(state, key){
@@ -55,5 +58,8 @@ export default {
SET_docs_router(state, key){
state.docsRouter = key
},
+ SET_share_router(state, key){
+ state.shareRouter = key
+ },
}
}
diff --git a/src/views/docsManager/document.vue b/src/views/docsManager/document.vue
index 72856fe..7593760 100644
--- a/src/views/docsManager/document.vue
+++ b/src/views/docsManager/document.vue
@@ -51,10 +51,11 @@
删除
重命名
共享
+ 移动文件夹
-
+
@@ -96,19 +97,22 @@
+
diff --git a/src/views/docsManager/moveFile.vue b/src/views/docsManager/moveFile.vue
new file mode 100644
index 0000000..cc0339a
--- /dev/null
+++ b/src/views/docsManager/moveFile.vue
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+ {{ node.data.name }}
+
+
+
+
+
+ 取 消
+ 保 存
+
+
+
+
+
+
+
diff --git a/src/views/docsManager/save.vue b/src/views/docsManager/save.vue
index 59ab602..55ed2bf 100644
--- a/src/views/docsManager/save.vue
+++ b/src/views/docsManager/save.vue
@@ -1,7 +1,10 @@
-
+
+
+
+
@@ -21,7 +24,7 @@ export default {
titleMap: {
add: '新建文件夹',
edit: '编辑',
- show: '查看'
+ rename: '修改文件名'
},
visible: false,
isSave: false,
@@ -30,12 +33,17 @@ export default {
form: {
parent_id:"",
name: "",
+ file_id:'',
+ file_name:'',
},
//验证规则
rules: {
name: [
{required: true, message: '请输入文件夹名称'}
],
+ file_name:[
+ {required: true, message: '请输入文件名称'}
+ ]
}
}
},
@@ -54,7 +62,17 @@ export default {
this.$refs.dialogForm.validate(async (valid) => {
if (valid) {
this.isSave = true;
- const res = await this.$API.docs.manager.add.post(this.form);
+ let res
+ if(this.mode == 'rename'){
+ delete this.form.name;
+ delete this.form.id;
+ res = await this.$API.docs.manager.rename.post(this.form);
+ }else{
+ let params = this.$TOOL.objCopy(this.form);
+ delete params.file_id;
+ delete params.file_name;
+ res = await this.$API.docs.manager.add.post(this.form);
+ }
this.isSave = false;
if(res.code == 200){
this.$emit('success', this.form, this.mode)
@@ -68,12 +86,12 @@ export default {
setData(data){
this.form.parent_id = data.folder_id;
this.form.name = data.name;
-
- if(this.mode == 'edit'){
+ if(this.mode == 'edit' || this.mode == 'rename'){
this.form.parent_id = data.parent_id;
this.form.id = data.id;
if(data.type == 'file'){
- this.form.name = data.client_file_name;
+ this.form.file_name = data.client_file_name;
+ this.form.file_id = data.id;
}
}
}
diff --git a/src/views/docsManager/share.vue b/src/views/docsManager/share.vue
index da5dfc5..9f30420 100644
--- a/src/views/docsManager/share.vue
+++ b/src/views/docsManager/share.vue
@@ -5,15 +5,17 @@
@@ -44,7 +46,7 @@
-
+
@@ -83,6 +85,10 @@ export default {
data() {
return {
size:'small',
+ routerList: this.$store.state.global.shareRouter,
+ docsList:[],
+ docsNextShow:false,
+
dialog: {
save: false,
shareSave: false
@@ -96,7 +102,8 @@ export default {
keyword: null,
folder_id:"",
name:""
- }
+ },
+
}
},
methods: {
@@ -125,6 +132,30 @@ export default {
uploadFileSuccess(){
this.$refs.table.refresh();
},
+ prev(){
+ this.routerList.splice(this.routerList.length-1,1);
+ this.$store.commit("SET_share_router", this.routerList);
+
+ this.params.folder_id = this.routerList[this.routerList.length-1].id;
+ this.$refs.table.upData(this.params);
+
+ this.docsNextShow = true;
+ },
+ // 打开文件夹
+ openFolder(row){
+ let arrList = this.routerList;
+ let params = {
+ name:row.name,
+ id:row.id
+ }
+ arrList.push(params);
+ this.$store.commit("SET_share_router", arrList);
+ this.docsList.push(params);
+ this.docsNextShow = false;
+
+ this.params.folder_id = row.id;
+ this.$refs.table.upData(this.params);
+ },
}
}
diff --git a/src/views/docsManager/uploadFile.vue b/src/views/docsManager/uploadFile.vue
index 7b3f035..31bd3da 100644
--- a/src/views/docsManager/uploadFile.vue
+++ b/src/views/docsManager/uploadFile.vue
@@ -44,8 +44,8 @@
-
-
{{item.file_name}}
+
+
{{item.client_file_name}}
@@ -107,12 +107,11 @@ export default {
if(res.data && (res.data.type == 12)){
this.progressShow = true;
- this.listProgress.forEach((em,index)=>{
+ this.listProgress.forEach(em=>{
if(em.uuid == res.data.file_unique_id){
em.rate = res.data.rate
if(res.data.status == 1){
// this.listProgress.splice(index,1);
- this.fileList.splice(index,1);
}
}
})
@@ -120,6 +119,8 @@ export default {
this.progressShow = false;
}
if(res.data.status == 1){
+ this.fileList.splice(this.fileList[0],1);
+ // this.handleRemove('',this.fileList,true);
this.$emit('uploadFileSuccess');
}
}
@@ -164,7 +165,8 @@ export default {
close(){
this.visible = false;
this.progressShow = false;
- this.listProgress = []
+ this.listProgress = [];
+ this.handleRemove('',this.fileList,true);
},
async save() {
const res = await this.$API.docs.manager.upload.post(this.params);
@@ -177,10 +179,15 @@ export default {
handleExceed(){
this.$message.warning('文件超出最大限制');
},
- handleRemove(file,fileList){
- const index = fileList.findIndex(f => f.uid === file.uid);
- if (index !== -1) {
- fileList.splice(index, 1);
+ handleRemove(file,fileList,isArr=false){
+ if(isArr){
+ fileList = [];
+ this.listProgress = [];
+ }else{
+ const index = fileList.findIndex(f => f.uid === file.uid);
+ if (index !== -1) {
+ fileList.splice(index, 1);
+ }
}
},
// 上传成功