From 2f8288dceb49c9fcbd3ea1f50f235e905a9a839c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=AE=B8=E5=85=81=E6=9E=9E?= <3422692813@qq.com>
Date: Mon, 24 Mar 2025 16:59:58 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/partner/api/file.js | 8 ++++
src/views/partner/file/file.vue | 69 +++++++++++++++++++++++++++++++--
2 files changed, 73 insertions(+), 4 deletions(-)
diff --git a/src/views/partner/api/file.js b/src/views/partner/api/file.js
index a4a2049..4d9262f 100644
--- a/src/views/partner/api/file.js
+++ b/src/views/partner/api/file.js
@@ -16,6 +16,14 @@ export function listByPermission(query) {
params: query
})
}
+// 查询inspectionFile文件夹树结构
+export function queryTreeFolder(query) {
+ return request({
+ url: '/inspectionFile/inspectionFile/queryTreeFolder',
+ method: 'get',
+ params: query
+ })
+}
// 根据文件id获取有权限的用户id
export function getUserIdsByFileId(query) {
return request({
diff --git a/src/views/partner/file/file.vue b/src/views/partner/file/file.vue
index 9700275..1f69d52 100644
--- a/src/views/partner/file/file.vue
+++ b/src/views/partner/file/file.vue
@@ -82,7 +82,7 @@
分配权限
历史版本
- 删除
+ 删除
@@ -206,6 +206,23 @@
:fileType="['doc', 'xls', 'ppt', 'txt', 'pdf','png','jpg','jpeg','gif','docx','xlsx','pptx','wps']"
v-model="form.filePath"/>
+
+
+
+
{
+ this.folderList = response.data
+ console.log('folderList', this.folderList)
+ })
+ },
+ handleFolderChange(e) {
+ // if (e.length === 0) {
+ // this.form.fatherId = null
+ // return
+ // }
+ // console.log(e)
+ // this.form.fatherId = e[e.length - 1]
+ },
formatDate(timestamp) {
if (!timestamp) return "";
const date = new Date(timestamp);
@@ -472,6 +504,7 @@ export default {
this.queryParams.fatherId = this.$route.query.folderId
this.fatherId = this.$route.query.folderId
}
+ this.queryTreeFolder()
listByPermission(this.queryParams).then(response => {
this.inspectionFileList = response.data;
this.queryParams.fatherId = response.data[0].fatherId;
@@ -615,6 +648,32 @@ export default {
this.form = item;
this.open = true;
this.title = "修改";
+ console.log(item)
+ //判断文件夹树中是否有item的id或者item子类的id如果有禁用
+ this.folderList = this.disableIfExistsInTree(this.folderList, item.id)
+ },
+ disableIfExistsInTree(treeData, targetId) {
+ console.log(treeData, targetId, '执行');
+
+ function traverse(nodes, parentDisabled = false) {
+ return nodes.map(node => {
+ let newNode = { ...node };
+
+ // 递归处理子节点,同时传递父级的禁用状态
+ if (newNode.children && newNode.children.length > 0) {
+ newNode.children = traverse(newNode.children, newNode.value === targetId || parentDisabled);
+ }
+
+ // 只禁用目标节点及其子节点,不影响兄弟节点
+ if (newNode.value === targetId || parentDisabled) {
+ newNode.disabled = true;
+ }
+
+ return newNode;
+ });
+ }
+
+ return traverse(treeData);
},
/** 修改按钮操作 */
handleUpdate(row) {
@@ -638,6 +697,7 @@ export default {
if (this.form.id != null) {
updateInspectionFile(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
+ this.form = {}
this.open = false;
this.getList();
});
@@ -645,6 +705,7 @@ export default {
this.form.fatherId = this.fatherId
addInspectionFile(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
+ this.form = {}
this.open = false;
this.getList();
});