From 41d35798b9cd3e61b0c5c6945562ba28252c148f Mon Sep 17 00:00:00 2001
From: gaoshp <291585735@qq.com>
Date: 星期二, 21 五月 2024 23:57:23 +0800
Subject: [PATCH] 归档目录
---
src/views/dnc/file/catalog/index.vue | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 157 insertions(+), 0 deletions(-)
diff --git a/src/views/dnc/file/catalog/index.vue b/src/views/dnc/file/catalog/index.vue
new file mode 100644
index 0000000..647c442
--- /dev/null
+++ b/src/views/dnc/file/catalog/index.vue
@@ -0,0 +1,157 @@
+<!--
+ * @Date: 2024-05-21 22:46:05
+ * @LastEditors: Sneed
+ * @LastEditTime: 2024-05-21 23:55:40
+ * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/dnc/file/catalog/index.vue
+-->
+<template>
+ <el-main style="height: 100%;">
+ <el-card shadow="never" style="height: 100%;" body-style="height: 100%">
+ <el-container>
+ <el-aside width="200px">
+ <el-tree ref="group" node-key="id" :props="{
+ label: 'name',
+ hasChildren: 'id'
+ }" @node-click="nodeClick" highlight-current :current-node-key="selectNode.id" :load="loadNode"
+ lazy></el-tree>
+ </el-aside>
+ <el-container>
+ <el-header>
+ <el-button type="primary" @click="addNext">鏂板涓嬬骇</el-button>
+ <el-button type="primary" :disabled="!selectNode.id || selectNode.id === 0"
+ @click="edit">缂栬緫</el-button>
+ <el-button style="margin-left: 8px;margin-right: auto;" type="danger" plain
+ :disabled="!selectNode.id || selectNode.id === 0" @click="del">鍒犻櫎</el-button>
+ </el-header>
+ <el-main>
+ <el-row>
+ <el-col :span="12">
+ <el-form :model="selectNode" label-width="120px" label-position="center">
+ <el-form-item label="涓婄骇鐩綍">
+ <el-input disabled v-model="selectNode.parentName" />
+ </el-form-item>
+ <el-form-item label="鐩綍鍚嶇О" prop="name">
+ <el-input disabled v-model="selectNode.name" />
+ </el-form-item>
+ </el-form>
+ </el-col>
+ </el-row>
+
+ </el-main>
+ </el-container>
+ </el-container>
+ </el-card>
+ <el-dialog v-model="visible" title="鏂板缓鏂囦欢澶�" width="500">
+ <el-form :model="formEdit" :rules="rulesEdit" ref="dialogForm" label-width="120px" label-position="center">
+ <el-form-item label="涓婄骇鐩綍">
+ <el-input disabled v-model="formEdit.parentName" />
+ </el-form-item>
+ <el-form-item label="鐩綍鍚嶇О" prop="name">
+ <el-input v-model="formEdit.name" />
+ </el-form-item>
+ <el-col :span="24">
+ <el-form-item>
+ <slot>
+ <el-button type="primary" @click="submit">鎻愪氦</el-button>
+ </slot>
+ </el-form-item>
+ </el-col>
+ </el-form>
+ </el-dialog>
+ </el-main>
+</template>
+
+<script>
+export default {
+ data() {
+ return {
+ treeData: [],
+ selection: [],
+ selectNode: {
+ id: 0
+ },
+ visible: false,
+ formEdit: {
+ parentId: '',
+ parentName: '',
+ name: ''
+ },
+ rulesEdit: {
+ name: [
+ { required: true, message: '蹇呭~' }
+ ]
+ },
+ }
+ },
+ created() {
+ },
+ methods: {
+ loadNode(node, resolve) {
+ console.log(node, '>>>>>>')
+ let id = node.level === 0 ? '' : node.data.id
+ this.$HTTP.get(`/api/blade-dnc/dnc-archive-directory/list?parentId=${id}`).then(res => {
+ if (node.level === 0) {
+ this.$nextTick(() => {
+ this.nodeClick(res.data[0])
+ })
+ }
+ resolve(res.data)
+ })
+ },
+ addNext() {
+ console.log('------')
+ this.formEdit = {
+ parentId: this.selectNode.id,
+ parentName: this.selectNode.name,
+ }
+ this.visible = true
+ },
+ edit() {
+ console.log(this.selectNode)
+ this.formEdit = {
+ directoryId: this.selectNode.id,
+ parentId: this.selectNode.parentId,
+ parentName: this.selectNode.parentName,
+ name: this.selectNode.name,
+
+ }
+ this.visible = true
+ },
+ submit() {
+ if (this.formEdit.directoryId) {
+ return this.$HTTP.put(`/api/blade-dnc/dnc-archive-directory/update`, { ...this.formEdit }).then(res => {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.$refs.group.remove({
+ ...res.data
+ })
+ this.$refs.group.append({
+ ...res.data
+ }, this.selectNode.parentId)
+ this.visible = false
+ })
+ }
+ this.$HTTP.post(`/api/blade-dnc/dnc-archive-directory/insert`, { ...this.formEdit }).then(res => {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.$refs.group.append({
+ ...res.data
+ }, this.selectNode.id)
+ this.visible = false
+ })
+ },
+ del() {
+ this.$HTTP.delete(`/api/blade-dnc/dnc-archive-directory/remove`, {}, { data: [this.selectNode.id] }).then(res => {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ })
+ },
+ nodeClick(node, treeNode) {
+ console.log(node, treeNode)
+ this.selectNode = {
+ ...node,
+ parentName: treeNode?.parent?.data?.name || '-'
+ }
+ }
+ }
+}
+</script>
+
+<style lang="scss" scoped></style>
\ No newline at end of file
--
Gitblit v1.9.3