|
@@ -15,7 +15,7 @@
|
|
|
</div>
|
|
|
<div class="head-container">
|
|
|
<el-tree
|
|
|
- :data="deptOptions"
|
|
|
+ :data="fileOptions"
|
|
|
:props="defaultProps"
|
|
|
:expand-on-click-node="false"
|
|
|
:filter-node-method="filterNode"
|
|
@@ -26,9 +26,10 @@
|
|
|
@node-click="handleNodeClick"
|
|
|
>
|
|
|
<template #default="{ node, data }">
|
|
|
- <span class="custom-tree-node">
|
|
|
+ <span class="custom-tree-node" style="display: flex; justify-content: space-between; align-items: center; width: 100%;">
|
|
|
+ <span style="display: flex; align-items: center;">
|
|
|
<!-- 文件夹图标 -->
|
|
|
- <svg t="1750230337349" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
|
|
+ <svg x="1750230337349" class="icon" viewBox="0 0 1024 1024"
|
|
|
xmlns="http://www.w3.org/2000/svg" p-id="1538" width="1em" height="1em">
|
|
|
<path
|
|
|
d="M918.673 883H104.327C82.578 883 65 867.368 65 848.027V276.973C65 257.632 82.578 242 104.327 242h814.346C940.422 242 958 257.632 958 276.973v571.054C958 867.28 940.323 883 918.673 883z"
|
|
@@ -42,7 +43,50 @@
|
|
|
</svg>
|
|
|
|
|
|
<!-- 文件夹名称 -->
|
|
|
- <span style="margin-left: 6px;">{{ data.label }}</span>
|
|
|
+ <span style="margin-left: 6px;">{{ data.label}}</span>
|
|
|
+ </span>
|
|
|
+
|
|
|
+ <!-- 文件操作 -->
|
|
|
+ <span class="tree-node-actions" @click.stop="">
|
|
|
+ <el-dropdown placement="bottom-end" trigger="click" @visible-change="(visible) => { if (visible) getLevel(data.id); }"
|
|
|
+ >
|
|
|
+ <el-button size="small" type="text" icon="el-icon-setting" style="margin-left: auto;"></el-button>
|
|
|
+ <template #dropdown>
|
|
|
+ <el-dropdown-menu style="min-width: 120px;">
|
|
|
+ <!-- 新增按钮:仅当层级小于4时显示 -->
|
|
|
+ <el-button
|
|
|
+ v-if="levels[data.id] !== undefined && levels[data.id] >= 0 && levels[data.id] < 4"
|
|
|
+ size="mini"
|
|
|
+ type="primary"
|
|
|
+ plain
|
|
|
+ style="width: 60px; border: none; text-align: center;"
|
|
|
+ @click="handleAddFolder(data)">
|
|
|
+ 新增
|
|
|
+ </el-button>
|
|
|
+
|
|
|
+ <!-- 修改按钮始终显示 -->
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="primary"
|
|
|
+ plain
|
|
|
+ style="width: 60px;border: none; text-align: center;"
|
|
|
+ @click="handleUpdateFolderName(data)">
|
|
|
+ 修改
|
|
|
+ </el-button>
|
|
|
+
|
|
|
+ <!-- 删除按钮始终显示 -->
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="primary"
|
|
|
+ plain
|
|
|
+ style="width: 60px; border:none; text-align: center;"
|
|
|
+ @click="handleDeleteFolder(data)">
|
|
|
+ 删除
|
|
|
+ </el-button>
|
|
|
+</el-dropdown-menu>
|
|
|
+ </template>
|
|
|
+ </el-dropdown>
|
|
|
+</span>
|
|
|
</span>
|
|
|
</template>
|
|
|
</el-tree>
|
|
@@ -70,7 +114,7 @@
|
|
|
style="width: 240px"
|
|
|
>
|
|
|
<el-option
|
|
|
- v-for="dict in dict.type.sys_normal_disable"
|
|
|
+ v-for="dict in dict.type.sys_file_status"
|
|
|
:key="dict.value"
|
|
|
:label="dict.label"
|
|
|
:value="dict.value"
|
|
@@ -82,7 +126,7 @@
|
|
|
v-model="dateRange"
|
|
|
style="width: 240px"
|
|
|
value-format="yyyy-MM-dd"
|
|
|
- type="daterange"
|
|
|
+ type="dateRange"
|
|
|
range-separator="-"
|
|
|
start-placeholder="开始日期"
|
|
|
end-placeholder="结束日期"
|
|
@@ -102,7 +146,7 @@
|
|
|
icon="el-icon-plus"
|
|
|
size="mini"
|
|
|
@click="handleAdd"
|
|
|
- v-hasPermi="['system:user:add']"
|
|
|
+ v-hasPermi="['system:file:add']"
|
|
|
>新增
|
|
|
</el-button>
|
|
|
</el-col>
|
|
@@ -114,7 +158,7 @@
|
|
|
size="mini"
|
|
|
:disabled="single"
|
|
|
@click="handleUpdate"
|
|
|
- v-hasPermi="['system:user:edit']"
|
|
|
+ v-hasPermi="['system:file:edit']"
|
|
|
>修改
|
|
|
</el-button>
|
|
|
</el-col>
|
|
@@ -126,7 +170,7 @@
|
|
|
size="mini"
|
|
|
:disabled="multiple"
|
|
|
@click="handleDelete"
|
|
|
- v-hasPermi="['system:user:remove']"
|
|
|
+ v-hasPermi="['system:file:remove']"
|
|
|
>删除
|
|
|
</el-button>
|
|
|
</el-col>
|
|
@@ -137,7 +181,7 @@
|
|
|
icon="el-icon-upload2"
|
|
|
size="mini"
|
|
|
@click="handleImport"
|
|
|
- v-hasPermi="['system:user:import']"
|
|
|
+ v-hasPermi="['system:file:import']"
|
|
|
>导入
|
|
|
</el-button>
|
|
|
</el-col>
|
|
@@ -148,7 +192,7 @@
|
|
|
icon="el-icon-download"
|
|
|
size="mini"
|
|
|
@click="handleExport"
|
|
|
- v-hasPermi="['system:user:export']"
|
|
|
+ v-hasPermi="['system:file:export']"
|
|
|
>导出
|
|
|
</el-button>
|
|
|
</el-col>
|
|
@@ -158,36 +202,41 @@
|
|
|
plain
|
|
|
icon="el-icon-refresh"
|
|
|
size="mini"
|
|
|
- @click="handleDingtalk"
|
|
|
+ @click="handleDingTalk"
|
|
|
>同步钉钉
|
|
|
</el-button>
|
|
|
</el-col>
|
|
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
|
|
|
</el-row>
|
|
|
|
|
|
- <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
|
|
|
+ <el-table v-loading="loading" :data="fileList" @selection-change="handleSelectionChange">
|
|
|
<el-table-column type="selection" width="50" align="center"/>
|
|
|
- <el-table-column label="文件编号" align="center" key="filelId" prop="fileId" v-if="columns[0].visible"/>
|
|
|
+ <el-table-column label="文件编号" type="index" width="50" :index="indexMethod" align="center" key="filelId"
|
|
|
+ prop="fileId" v-if="columns[0].visible"/>
|
|
|
<el-table-column label="文件名称" align="center" key="fileName" prop="fileName" v-if="columns[1].visible"
|
|
|
:show-overflow-tooltip="true"/>
|
|
|
<el-table-column label="文件类型" align="center" key="fileType" prop="fileType" v-if="columns[2].visible"
|
|
|
:show-overflow-tooltip="true"/>
|
|
|
<el-table-column label="所属文件夹" align="center" key="folderId" prop="folderId" v-if="columns[3].visible"
|
|
|
- :show-overflow-tooltip="true" :formatter="getParentFolderName"/>
|
|
|
+ :show-overflow-tooltip="true" :formatter="getFolderName"/>
|
|
|
<el-table-column label="创建者" align="center" key="ceateBy" prop="createBy" v-if="columns[4].visible"
|
|
|
width="120"/>
|
|
|
<el-table-column label="状态" align="center" key="status" v-if="columns[5].visible">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-switch
|
|
|
- v-model="scope.row.status"
|
|
|
- active-value="0"
|
|
|
- inactive-value="1"
|
|
|
- @change="handleStatusChange(scope.row)"
|
|
|
- ></el-switch>
|
|
|
- </template>
|
|
|
+ <template #default="{ row }">
|
|
|
+ <el-switch
|
|
|
+ v-model="row.status"
|
|
|
+ :active-value="'0'"
|
|
|
+ :inactive-value="'1'"
|
|
|
+ @change="handleStatusChange(row)"
|
|
|
+ active-text="正常"
|
|
|
+ inactive-text="停用"
|
|
|
+ active-color="#13ce66"
|
|
|
+ inactive-color="#ff4949"
|
|
|
+ />
|
|
|
+</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="创建时间" align="center" prop="createTime" v-if="columns[6].visible" width="160">
|
|
|
- <template slot-scope="scope">
|
|
|
+ <template v-slot="scope">
|
|
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -197,39 +246,42 @@
|
|
|
width="160"
|
|
|
class-name="small-padding fixed-width"
|
|
|
>
|
|
|
- <template slot-scope="scope" v-if="scope.row.userId !== 1">
|
|
|
- <el-button
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- icon="el-icon-edit"
|
|
|
- @click="handleUpdate(scope.row)"
|
|
|
- v-hasPermi="['system:user:edit']"
|
|
|
- >修改
|
|
|
- </el-button>
|
|
|
- <el-button
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- icon="el-icon-delete"
|
|
|
- @click="handleDelete(scope.row)"
|
|
|
- v-hasPermi="['system:user:remove']"
|
|
|
- >删除
|
|
|
- </el-button>
|
|
|
- <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)"
|
|
|
- v-hasPermi="['system:user:resetPwd', 'system:user:edit']">
|
|
|
- <el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
|
|
|
- <el-dropdown-menu slot="dropdown">
|
|
|
- <el-dropdown-item command="handleResetPwd" icon="el-icon-key"
|
|
|
- v-hasPermi="['system:user:resetPwd']">重置密码
|
|
|
- </el-dropdown-item>
|
|
|
- <el-dropdown-item command="handleAuthRole" icon="el-icon-circle-check"
|
|
|
- v-hasPermi="['system:user:edit']">分配角色
|
|
|
- </el-dropdown-item>
|
|
|
- </el-dropdown-menu>
|
|
|
- </el-dropdown>
|
|
|
+ <template #default="scope">
|
|
|
+ <div v-if="scope.row.fileId !== 1">
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-edit"
|
|
|
+ @click="handleUpdate(scope.row)"
|
|
|
+ v-hasPermi="['system:file:edit']"
|
|
|
+ >修改
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ @click="handleDelete(scope.row)"
|
|
|
+ v-hasPermi="['system:file:remove']"
|
|
|
+ >删除
|
|
|
+ </el-button>
|
|
|
+ <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)"
|
|
|
+ v-hasPermi="['system:file:resetPwd', 'system:file:edit']">
|
|
|
+ <el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
|
|
|
+ <template #dropdown>
|
|
|
+ <el-dropdown-menu>
|
|
|
+ <el-dropdown-item command="handleResetPwd" icon="el-icon-key"
|
|
|
+ v-hasPermi="['system:file:resetPwd']">重置密码
|
|
|
+ </el-dropdown-item>
|
|
|
+ <el-dropdown-item command="handleAuthRole" icon="el-icon-circle-check"
|
|
|
+ v-hasPermi="['system:file:edit']">分配角色
|
|
|
+ </el-dropdown-item>
|
|
|
+ </el-dropdown-menu>
|
|
|
+ </template>
|
|
|
+ </el-dropdown>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
-
|
|
|
<pagination
|
|
|
v-show="total>0"
|
|
|
:total="total"
|
|
@@ -258,7 +310,7 @@
|
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="归属文件夹" prop="folderId">
|
|
|
- <treeselect v-model="form.folderId" :options="deptOptions" :show-count="true"
|
|
|
+ <treeselect v-model="form.folderId" :options="fileOptions" :show-count="true"
|
|
|
placeholder="请选择归属文件夹"/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -276,7 +328,7 @@
|
|
|
</el-col>
|
|
|
|
|
|
<el-table-column label="状态" prop="status" v-if="columns[4].visible">
|
|
|
- <template slot-scope="{row}">
|
|
|
+ <template v-slot="{row}">
|
|
|
<el-switch
|
|
|
v-model="row.status"
|
|
|
:active-value="'0'"
|
|
@@ -342,30 +394,21 @@
|
|
|
|
|
|
<script>
|
|
|
import {
|
|
|
- listUser,
|
|
|
- getUser,
|
|
|
- delUser,
|
|
|
- addUser,
|
|
|
- updateUser,
|
|
|
- resetUserPwd,
|
|
|
- changeUserStatus,
|
|
|
- deptTreeSelect,
|
|
|
initDingTalk
|
|
|
} from "@/api/system/user";
|
|
|
import {getToken} from "@/utils/auth";
|
|
|
import Treeselect from "@riophae/vue-treeselect";
|
|
|
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
|
|
-import {folderTreeSelect, getFolder} from "@/api/system/folder";
|
|
|
+import {addFolder, delFolder, folderTreeSelect, getFolder, updateFolder,checkFolderDeletable} from "@/api/system/folder";
|
|
|
import {addFile, delFile, getFile, listFile, updateFile} from "@/api/system/file";
|
|
|
import dict from "@/utils/dict";
|
|
|
-import {parseTime} from "../../../utils/xzl";
|
|
|
+import {parseTime} from "@/utils/xzl";
|
|
|
import {updateFileStatus} from "@/api/system/file";
|
|
|
-import {getDept, listDeptExcludeChild} from "@/api/system/dept";
|
|
|
|
|
|
|
|
|
export default {
|
|
|
- name: "User",
|
|
|
- dicts: ['sys_normal_disable', 'sys_user_sex'],
|
|
|
+ name: "File",
|
|
|
+ dicts: ['sys_file_status', 'sys_user_sex'],
|
|
|
components: {Treeselect},
|
|
|
data() {
|
|
|
return {
|
|
@@ -382,11 +425,11 @@ export default {
|
|
|
// 总条数
|
|
|
total: 0,
|
|
|
// 文件表格数据
|
|
|
- userList: null,
|
|
|
+ fileList: [],
|
|
|
// 弹出层标题
|
|
|
title: "",
|
|
|
// 文件夹树选项
|
|
|
- deptOptions: [],
|
|
|
+ fileOptions: [],
|
|
|
// 是否显示弹出层
|
|
|
open: false,
|
|
|
// 文件夹名称
|
|
@@ -397,6 +440,10 @@ export default {
|
|
|
dateRange: [],
|
|
|
//父文件夹名称
|
|
|
parentFolderCache: [],
|
|
|
+ // 用于缓存每个文件夹的 level 值
|
|
|
+ levels: [],
|
|
|
+ // 新增字段:用于缓存选中的文件夹ID
|
|
|
+ selectedFolderId: null,
|
|
|
// 表单参数
|
|
|
form: {
|
|
|
fileId: null,
|
|
@@ -408,8 +455,11 @@ export default {
|
|
|
status: '0', // 默认启用
|
|
|
remark: null
|
|
|
},
|
|
|
+ // 配置 el-tree 组件的数据结构映射规则
|
|
|
defaultProps: {
|
|
|
+ // 指定数据对象中表示子节点数组的字段名
|
|
|
children: "children",
|
|
|
+ // 指定数据对象中表示节点显示文本的字段名
|
|
|
label: "label"
|
|
|
},
|
|
|
// 文件导入参数
|
|
@@ -425,13 +475,14 @@ export default {
|
|
|
// 设置上传的请求头部
|
|
|
headers: {Authorization: "Bearer " + getToken()},
|
|
|
// 上传的地址
|
|
|
- url: process.env.VUE_APP_BASE_API + "/system/user/importData"
|
|
|
+ url: process.env.VUE_APP_BASE_API + "/system/file/importData"
|
|
|
},
|
|
|
// 查询参数
|
|
|
queryParams: {
|
|
|
pageNum: 1,
|
|
|
pageSize: 10,
|
|
|
fileName: undefined,
|
|
|
+ fileType: undefined,
|
|
|
status: undefined,
|
|
|
folderId: undefined
|
|
|
},
|
|
@@ -484,7 +535,7 @@ export default {
|
|
|
},
|
|
|
created() {
|
|
|
this.getList();
|
|
|
- this.getDeptTree();
|
|
|
+ this.getFileTree();
|
|
|
this.getConfigKey("sys.user.initPassword").then(response => {
|
|
|
this.initPassword = response.msg;
|
|
|
});
|
|
@@ -496,16 +547,17 @@ export default {
|
|
|
getList() {
|
|
|
this.loading = true;
|
|
|
listFile(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
|
|
|
- this.userList = response.rows;
|
|
|
+ this.fileList = response.rows;
|
|
|
this.total = response.total;
|
|
|
this.loading = false;
|
|
|
}
|
|
|
);
|
|
|
},
|
|
|
/** 查询文件夹下拉树结构 */
|
|
|
- getDeptTree() {
|
|
|
+ getFileTree() {
|
|
|
folderTreeSelect().then(response => {
|
|
|
- this.deptOptions = response.data;
|
|
|
+ this.fileOptions = response.data;
|
|
|
+ console.log(this.fileOptions)
|
|
|
});
|
|
|
},
|
|
|
// 筛选节点
|
|
@@ -516,6 +568,7 @@ export default {
|
|
|
// 节点单击事件
|
|
|
handleNodeClick(data) {
|
|
|
this.queryParams.folderId = data.id;
|
|
|
+ this.selectedFolderId = data.id;
|
|
|
this.handleQuery();
|
|
|
},
|
|
|
// 文件状态修改
|
|
@@ -569,8 +622,8 @@ export default {
|
|
|
},
|
|
|
// 多选框选中数据
|
|
|
handleSelectionChange(selection) {
|
|
|
- this.ids = selection.map(item => item.userId);
|
|
|
- this.single = selection.length != 1;
|
|
|
+ this.ids = selection.map(item => item.fileId);
|
|
|
+ this.single = selection.length !== 1;
|
|
|
this.multiple = !selection.length;
|
|
|
},
|
|
|
// 更多操作触发
|
|
@@ -589,6 +642,9 @@ export default {
|
|
|
/** 新增按钮操作 */
|
|
|
handleAdd() {
|
|
|
this.reset();
|
|
|
+ if (this.selectedFolderId) {
|
|
|
+ this.form.folderId = this.selectedFolderId;
|
|
|
+ }
|
|
|
this.open = true;
|
|
|
this.title = "添加文件";
|
|
|
},
|
|
@@ -637,7 +693,7 @@ export default {
|
|
|
...this.queryParams
|
|
|
}, `file_${new Date().getTime()}.xlsx`)
|
|
|
},
|
|
|
- handleDingtalk() {
|
|
|
+ handleDingTalk() {
|
|
|
initDingTalk().then(res => {
|
|
|
this.$modal.msgSuccess("同步成功");
|
|
|
})
|
|
@@ -663,7 +719,7 @@ export default {
|
|
|
this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", "导入结果", {dangerouslyUseHTMLString: true});
|
|
|
this.getList();
|
|
|
},
|
|
|
- getParentFolderName(row, column, cellValue, index) {
|
|
|
+ getFolderName(row, column, cellValue, index) {
|
|
|
return row.folderName
|
|
|
// if (!cellValue) {
|
|
|
// return '根目录';
|
|
@@ -686,6 +742,91 @@ export default {
|
|
|
// return '错误';
|
|
|
// }
|
|
|
},
|
|
|
+ indexMethod(index) {
|
|
|
+ // 支持分页:当前页码 * 每页条数 + 当前行索引
|
|
|
+ return (this.queryParams.pageNum - 1) * this.queryParams.pageSize + index + 1;
|
|
|
+ },
|
|
|
+
|
|
|
+ handleAddFolder(data) {
|
|
|
+ this.$prompt('请输入新文件夹名称', '新增文件夹', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ inputPattern: /.+/,
|
|
|
+ inputErrorMessage: '文件夹名称不能为空'
|
|
|
+ }).then(({ value }) => {
|
|
|
+ const newFolder = {
|
|
|
+ parentId: data.id,
|
|
|
+ folderName: value
|
|
|
+ };
|
|
|
+ addFolder(newFolder).then(() => {
|
|
|
+ this.$modal.msgSuccess("新增成功");
|
|
|
+ this.getFileTree(); // 刷新树
|
|
|
+ });
|
|
|
+ }).catch(() => {
|
|
|
+ this.$message.info("已取消新增");
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ getLevel(folderId) {
|
|
|
+ if (this.levels[folderId] !== undefined) {
|
|
|
+ return this.levels[folderId];
|
|
|
+ }
|
|
|
+ getFolder(folderId).then(res => {
|
|
|
+ const level = res.data?.level;
|
|
|
+ this.$set(this.levels, folderId, level); // Vue.set 确保响应式更新
|
|
|
+ }).catch(() => {
|
|
|
+ this.$set(this.levels, folderId, -1); // 错误情况设为 -1
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ handleUpdateFolderName(data){
|
|
|
+ this.$prompt('请输入新的文件夹名称', '修改文件夹', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ inputValue: data.label,
|
|
|
+ inputPattern: /.+/,
|
|
|
+ inputErrorMessage: '文件夹名称不能为空'
|
|
|
+ }).then(({ value }) => {
|
|
|
+ updateFolder({ folderId: data.id, folderName: value }).then(() => {
|
|
|
+ this.$modal.msgSuccess("修改成功");
|
|
|
+ this.getFileTree(); // 刷新树
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ handleDeleteFolder(data){
|
|
|
+ this.$confirm(`是否确认删除文件夹 “${data.label}”?`, '提示', {
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ checkFolderDeletable(data.id).then(res => {
|
|
|
+ if (res.data.hasChildren || res.data.fileCount > 0) {
|
|
|
+ const msg = res.data.hasChildren
|
|
|
+ ? "该文件夹包含子文件夹,确定要删除吗?"
|
|
|
+ : `该文件夹中有 ${res.data.fileCount || 0} 个文件,确定要删除吗?`;
|
|
|
+
|
|
|
+ this.$confirm(msg, '二次确认', {
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ delFolder(data.id).then(() => {
|
|
|
+ this.$modal.msgSuccess("删除成功");
|
|
|
+ this.getFileTree(); // 刷新树
|
|
|
+ this.getList(); // 刷新文件列表
|
|
|
+ });
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ delFolder(data.id).then(() => {
|
|
|
+ this.$modal.msgSuccess("删除成功");
|
|
|
+ this.getFileTree(); // 刷新树
|
|
|
+ this.getList(); // 刷新文件列表
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }).catch(() => {
|
|
|
+ this.$message.info("已取消删除");
|
|
|
+ });
|
|
|
+ }).catch(() => {
|
|
|
+ this.$message.info("操作已取消");
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
};
|
|
|
</script>
|