smart_archives_web/src/views/archivesManagement/fileManager/components/rightTable.vue

169 lines
5.6 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<!-- 档案目录管理 -->
<div>
<el-card style="min-height: calc(100vh - 190px);">
<TableModel :formLabel="formLabel" :showOperation="true" :showRightTools="true" ref="tableRef"
:columnsList="columnsList" :request-api="getFileManageApi" :send-params="defaultParams">
<template slot="dataSource" slot-scope="{ data }">
<span>{{ data.dataSource === '1' ? '本系统上传' : '智慧现场' }}</span>
</template>
<template slot="btn">
<el-button plain size="mini" type="primary" icon="el-icon-plus" v-hasPermi="['file:manage:add']"
@click="handleAdd" :disabled="addBtnIsShow">
新增
</el-button>
</template>
<template slot="handle" slot-scope="{ data }">
<el-button plain size="mini" type="success" icon="el-icon-warning-outline" v-hasPermi="['file:manage:query']"
@click="handleDetail(data)">
详情
</el-button>
<el-button plain size="mini" type="primary" icon="el-icon-edit" v-hasPermi="['file:manage:update']"
@click="handleUpdate(data)">
修改
</el-button>
<el-button plain size="mini" type="danger" icon="el-icon-delete" v-hasPermi="['file:manage:del']"
@click="handleDelete(data)">
删除
</el-button>
</template>
</TableModel>
<!-- 新增/编辑 -->
<AddTableData v-if="isflag" :isAdd="isAdd" :rowData="row" @handleQuery="handleQuery" :title="title"
@closeDialog="closeDialog" @showColose="showColose" :dataForm="row" :width="600" :projectId="projectId" />
</el-card>
</div>
</template>
<script>
import TableModel from '@/components/TableModel'
import { columnsList, formLabel } from './config'
import {
delFileManageApi,
getFileManageApi,
} from '@/api/archivesManagement/fileManager/fileManager.js'
import AddTableData from './addTableData'
export default {
name: 'FileRightTable',
props:{
projectId:{
type:String,
default:''
},
selectedNode:{
type:Object,
default:null
}
},
components: {
TableModel,
AddTableData
},
data() {
return {
formLabel,
columnsList,
getFileManageApi,
title: "",
isflag: false,
isAdd: '',
row: {},
loading: false,
addBtnIsShow:true,
defaultParams: {}
}
},
created() {
},
methods: {
closeDialog() {
this.isflag = false;
},
showColose() {
this.isflag = false;
},
/** 新增按钮操作 */
handleAdd() {
console.log(this.selectedNode);
this.title = "新增";
this.isAdd = 'add';
this.isflag = true;
this.row = this.selectedNode;
this.row.detailStatus = false;
this.row.belongName = this.selectedNode.parentName + '/' + this.selectedNode.label
},
/** 修改操作 */
handleUpdate(row) {
this.title = "修改";
this.isAdd = 'edit';
this.row = row;
this.row.belongName = this.selectedNode.parentName + '/' + this.selectedNode.label
this.row.detailStatus = false;
this.isflag = true;
},
/** 详情操作 */
handleDetail(row) {
this.title = "详情";
this.isAdd = 'detail';
this.row = row;
this.row.belongName = this.selectedNode.label + '/' + this.selectedNode.parentName
this.row.detailStatus = true;
this.isflag = true;
},
/* 搜索操作 */
handleQuery() {
this.$refs.tableRef.getTableList()
},
/** 删除操作 */
handleDelete(row) {
this.$modal.confirm(`是否确认删除文件名称为"${row.contentName}"的数据项?`).then(() => {
// 显示加载遮罩
this.$modal.loading("正在删除,请稍候...");
delFileManageApi({ id: row.id }).then(res => {
this.$modal.closeLoading();
if (res.code === 200) {
this.$modal.msgSuccess("删除成功");
this.handleQuery();
} else {
this.$modal.msgError(res.msg);
}
}).catch(error => {
this.$modal.closeLoading();
this.$modal.msgError("删除失败,请重试");
console.error('删除失败:', error);
});
}).catch(() => {
// 用户取消删除,不需要处理
});
},
},
// 监听选中的节点
watch: {
selectedNode: {
handler(newVal) {
console.log(newVal);
this.addBtnIsShow = !(newVal && Number(newVal.level) === 4)
// 更新并下发默认请求参数(例如 parentId
const parentId = newVal && newVal.id ? newVal.id : 0
this.defaultParams = { parentId }
if (this.$refs.tableRef) {
this.$refs.tableRef.queryTableList({ parentId })
}
},
immediate: true, // 表示立即执行
},
},
}
</script>