档案管理

This commit is contained in:
cwchen 2025-09-16 15:03:25 +08:00
parent b5bc20fb8b
commit fab9b91529
8 changed files with 118 additions and 19 deletions

View File

@ -9,3 +9,85 @@ export function getProListAPI(data) {
params: data,
})
}
// 获取档案目录树
export function getFileManageTreeApi(params) {
return request({
url: '/smartArchives/fileManage/getFileManageTree',
method: 'get',
params,
})
}
// 新增档案目录
export function addArchiveLeftApi(data) {
return request({
url: '/smartArchives/fileManage/addLeft',
method: 'post',
data:data
})
}
// 新增档案表格数据
export function addArchiveRightApi(data) {
return request({
url: '/smartArchives/fileManage/addRight',
method: 'post',
data:data
})
}
// 修改档案目录
export function editArchiveLeftApi(data) {
return request({
url: '/smartArchives/fileManage/editLeft',
method: 'post',
data:data,
})
}
// 修改档案目录
export function editArchiveRightApi(data) {
return request({
url: '/smartArchives/fileManage/editRight',
method: 'post',
data:data,
})
}
// 删除档案目录
export function delFileManageApi(data) {
return request({
url: '/smartArchives/fileManage/delFileManage',
method: 'post',
data:data,
})
}
// 编辑-详情
export function getArchivalCatalogueByIdApi(params) {
return request({
url: '/smartArchives/fileManage/getArchivalCatalogueById',
method: 'get',
params
})
}
// 列表
export function getArchivalCatalogueListApi(params) {
return request({
url: '/smartArchives/fileManage/getArchivalCatalogue',
method: 'get',
params
})
}
// 查询序号
export function geMaxSortApi(params) {
return request({
url: '/smartArchives/fileManage/geMaxSort',
method: 'get',
params
})
}

View File

@ -5,10 +5,10 @@
<div>
<el-form :model="form" :rules="rules" ref="ruleForm" label-width="110px">
<el-form-item label="所属案卷">
<el-input type="textarea" class="form-item" :value="belongName" :disabled="true"></el-input>
<el-input type="textarea" :autosize="{ minRows: 4, maxRows: 6 }" class="form-item" :value="belongName" :disabled="true"></el-input>
</el-form-item>
<el-form-item label="文件题名" prop="contentName">
<el-input type="textarea" class="form-item" v-model="form.contentName" clearable show-word-limit
<el-input type="textarea" :autosize="{ minRows: 4, maxRows: 6 }" class="form-item" v-model="form.contentName" clearable show-word-limit
placeholder="请输入文件题名" maxlength="64" :disabled="detailStatus"></el-input>
</el-form-item>
<el-form-item label="案卷期限" prop="term">

View File

@ -10,7 +10,7 @@
@select="onParentSelect" noChildrenText="没有数据了" noOptionsText="没有数据了" noResultsText="没有搜索结果" />
</el-form-item>
<el-form-item :label="getFormLabel('contentName')" prop="contentName">
<el-input type="textarea" class="form-item" v-model="form.contentName" clearable show-word-limit
<el-input type="textarea" :autosize="{ minRows: 4, maxRows: 6 }" class="form-item" v-model="form.contentName" clearable show-word-limit
:placeholder="getFormPlaceholder('contentName')" maxlength="64"></el-input>
</el-form-item>
<el-form-item :label="getFormLabel('sort')" prop="sort">

View File

@ -33,7 +33,7 @@
import _ from 'lodash'
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import { getArchivalCatalogueTreeApi, addArchiveLeftApi, editArchiveLeftApi,geMaxSortApi } from '@/api/archivesManagement/index.js'
import { getArchivalCatalogueTreeApi, addFileManageApi, updateFileManageApi,geMaxSortApi } from '@/api/archivesManagement/index.js'
export default {
name: "FileAddTreeData",
props: ["width", "dataForm", "title", "disabled", "isAdd", "rowData"],
@ -276,7 +276,7 @@ export default {
let params = _.cloneDeep(this.form);
if (this.isAdd === 'add') {
addArchiveLeftApi(params).then(res => {
addFileManageApi(params).then(res => {
this.loading.close();
if (res.code === 200) {
this.handleReuslt(res);
@ -288,7 +288,7 @@ export default {
// this.$modal.msgError('');
});
} else {
editArchiveLeftApi(params).then(res => {
updateFileManageApi(params).then(res => {
this.loading.close();
if (res.code === 200) {
this.handleReuslt(res);

View File

@ -35,7 +35,8 @@
@click.stop="() => addTree(data)" v-hasPermi="['archive:catalogue:add']">
</el-button>
<el-button type="text" v-if="node.level > 1" icon="el-icon-edit-outline"
style="color: #007ce0" @click.stop="() => editTree(node, data)" v-hasPermi="['archive:catalogue:edit']">
style="color: #007ce0" @click.stop="() => editTree(node, data)"
v-hasPermi="['archive:catalogue:edit']">
</el-button>
<el-button type="text" v-if="node.level > 1" icon="el-icon-delete" style="color: #f00000;"
@click.stop="() => delTree(node, data)" v-hasPermi="['archive:catalogue:del']">
@ -53,11 +54,17 @@
</template>
<script>
import { getArchivalCatalogueTreeApi,delArchiveApi } from '@/api/archivesManagement/index.js'
import { getFileManageTreeApi, delFileManageApi } from '@/api/archivesManagement/fileManager/fileManager.js'
import AddTreeData from './addTreeData.vue'
export default {
name: 'FileLeftTree',
components: { AddTreeData },
props: {
projectId: {
type: [String, Number],
default: 0
}
},
data() {
return {
treeDataList: [],
@ -67,7 +74,7 @@ export default {
isAdd: '',
row: {},
selectedNodeId: null, // ID
delArchiveApi
delFileManageApi
}
},
computed: {
@ -122,11 +129,11 @@ export default {
this.isflag = true;
},
/* 删除树节点 */
delTree(row, data){
delTree(row, data) {
this.$modal.confirm(`是否确认删除节点名称为"${row.label}"的数据项?`).then(() => {
//
this.$modal.loading("正在删除,请稍候...");
delArchiveApi({ id: data.id }).then(res => {
delFileManageApi({ id: data.id }).then(res => {
this.$modal.closeLoading();
if (res.code === 200) {
this.$modal.msgSuccess("删除成功");
@ -163,7 +170,7 @@ export default {
level: item.level,
sort: item.sort,
parentId: item.parentId,
parentName:item.parentName
parentName: item.parentName
};
//
@ -193,7 +200,7 @@ export default {
},
//
async getLeftTreeList() {
const res = await getArchivalCatalogueTreeApi()
const res = await getFileManageTreeApi()
const transformedData = this.convertToVueTree(res.data)
this.treeDataList = transformedData;
//
@ -274,8 +281,10 @@ export default {
min-width: 0;
overflow: visible;
text-overflow: initial;
white-space: normal; /* 允许换行 */
word-break: break-word; /* 长词断行 */
white-space: normal;
/* 允许换行 */
word-break: break-word;
/* 长词断行 */
line-height: 20px;
}
@ -291,7 +300,7 @@ export default {
}
/* 高亮选中状态同样自适应高度 */
.el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content {
.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
height: auto !important;
align-items: flex-start;
line-height: 20px;
@ -317,9 +326,11 @@ export default {
.left-tree-list .el-tree-node__content:hover {
background-color: #f5f5f5;
}
.el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content {
.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
height: auto;
}
/* 选中节点的悬停效果 */
.left-tree-list .el-tree-node.is-current>.el-tree-node__content:hover {
background-color: #8cc8ff;

View File

@ -39,7 +39,7 @@ import { columnsList, formLabel } from './config'
import {
delArchiveApi,
getArchivalCatalogueListApi,
} from '@/api/archivesManagement/index'
} from '@/api/archivesManagement/fileManager/fileManager.js'
import AddTableData from './addTableData'

View File

@ -12,7 +12,7 @@
</el-card>
<el-row :gutter="24" class="content-row">
<el-col :span="9" class="pane-left">
<LeftTree @handleNodeClick="handleNodeClick" />
<LeftTree @handleNodeClick="handleNodeClick" :projectId="projectId" />
</el-col>
<el-col :span="15" class="pane-right">
<RightTable :selectedNode = "selectedNode" />

View File

@ -0,0 +1,6 @@
<template>
<!-- 归档配置 -->
<div class="app-container">
</div>
</template>