|
@@ -16,7 +16,7 @@
|
|
|
<Document v-else />
|
|
<Document v-else />
|
|
|
</el-icon>
|
|
</el-icon>
|
|
|
<span class="node-label" @click="handleFolderClick(data)">{{ node.label }}</span>
|
|
<span class="node-label" @click="handleFolderClick(data)">{{ node.label }}</span>
|
|
|
- <span class="node-actions">
|
|
|
|
|
|
|
+ <span v-if="data.id !== 0" class="node-actions">
|
|
|
<span class="menu-trigger" @click="toggleMenu($event, data)">
|
|
<span class="menu-trigger" @click="toggleMenu($event, data)">
|
|
|
<el-icon>
|
|
<el-icon>
|
|
|
<MoreFilled />
|
|
<MoreFilled />
|
|
@@ -69,6 +69,13 @@
|
|
|
<!-- 添加文件夹对话框 -->
|
|
<!-- 添加文件夹对话框 -->
|
|
|
<el-dialog v-model="dialog.visible" :title="dialog.title" width="600px" append-to-body>
|
|
<el-dialog v-model="dialog.visible" :title="dialog.title" width="600px" append-to-body>
|
|
|
<el-form ref="folderFormRef" :model="form" :rules="rules" label-width="140px">
|
|
<el-form ref="folderFormRef" :model="form" :rules="rules" label-width="140px">
|
|
|
|
|
+ <el-form-item v-if="!dialog.isEdit && form.parentId === undefined" :label="t('document.document.form.type')" prop="type">
|
|
|
|
|
+ <el-select v-model="form.type" :placeholder="t('document.document.form.typePlaceholder')" style="width: 100%">
|
|
|
|
|
+ <el-option :label="t('document.document.type.country')" :value="1" />
|
|
|
|
|
+ <el-option :label="t('document.document.type.center')" :value="2" />
|
|
|
|
|
+ <el-option :label="t('document.document.type.folder')" :value="0" />
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </el-form-item>
|
|
|
<el-form-item :label="t('document.document.form.name')" prop="name">
|
|
<el-form-item :label="t('document.document.form.name')" prop="name">
|
|
|
<el-input v-model="form.name" :placeholder="t('document.document.form.namePlaceholder')" clearable />
|
|
<el-input v-model="form.name" :placeholder="t('document.document.form.namePlaceholder')" clearable />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -189,7 +196,22 @@ const getList = async () => {
|
|
|
loading.value = true;
|
|
loading.value = true;
|
|
|
try {
|
|
try {
|
|
|
const res = await listFolder({ projectId: props.projectId } as any);
|
|
const res = await listFolder({ projectId: props.projectId } as any);
|
|
|
- treeData.value = res.data || [];
|
|
|
|
|
|
|
+ const folders = res.data || [];
|
|
|
|
|
+
|
|
|
|
|
+ // 添加临时文件夹到列表底部
|
|
|
|
|
+ const tempFolder: FolderListVO = {
|
|
|
|
|
+ id: 0,
|
|
|
|
|
+ projectId: props.projectId as number,
|
|
|
|
|
+ parentId: undefined,
|
|
|
|
|
+ type: 0,
|
|
|
|
|
+ name: '临时文件夹',
|
|
|
|
|
+ status: 0,
|
|
|
|
|
+ note: '',
|
|
|
|
|
+ restrictionLevel: -1,
|
|
|
|
|
+ children: []
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ treeData.value = [...folders, tempFolder];
|
|
|
} catch (error) {
|
|
} catch (error) {
|
|
|
ElMessage.error(t('document.document.message.getFolderListFailed'));
|
|
ElMessage.error(t('document.document.message.getFolderListFailed'));
|
|
|
console.error(error);
|
|
console.error(error);
|
|
@@ -234,6 +256,7 @@ const handleAddFolder = () => {
|
|
|
currentNode.value = null;
|
|
currentNode.value = null;
|
|
|
form.value.projectId = props.projectId;
|
|
form.value.projectId = props.projectId;
|
|
|
form.value.parentId = undefined;
|
|
form.value.parentId = undefined;
|
|
|
|
|
+ form.value.type = 1; // 默认选择国家类型
|
|
|
dialog.visible = true;
|
|
dialog.visible = true;
|
|
|
dialog.title = t('document.document.dialog.addFolder');
|
|
dialog.title = t('document.document.dialog.addFolder');
|
|
|
dialog.isEdit = false;
|
|
dialog.isEdit = false;
|