1
lzhe
2024-06-05 dcf9c9e0410fe1186239e3f8d6f7bdc789c08010
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<!--
 * @Date: 2024-05-26 16:12:09
 * @LastEditors: Sneed
 * @LastEditTime: 2024-05-26 21:56:20
 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/dnc/craft/document/index.vue
-->
<!--
 * @Date: 2024-05-21 22:46:05
 * @LastEditors: Sneed
 * @LastEditTime: 2024-05-26 21:50:37
 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/dnc/craft/document/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 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 :gutter="20">
                            <el-col :span="12">
                                <scTable highlight-current-row @dataChange="dataChange" @row-click="rowClick"
                                    ref="table" :params="params" :apiObj="apiObj" @selection-change="selectionChange"
                                    stripe>
                                    <el-table-column type="selection" width="50"></el-table-column>
                                    <el-table-column label="工艺包名称" prop="name" width="160">
                                    </el-table-column>
                                    <el-table-column label="工艺包编号" prop="allPathName" width="160"></el-table-column>
                                    <el-table-column label="操作" fixed="right" align="right" width="160">
                                        <template #default="scope">
                                            <el-button-group>
                                                <el-button text type="primary" size="small"
                                                    @click="table_edit(scope.row, scope.$index)">编辑</el-button>
                                                <el-button text type="primary" size="small"
                                                    @click="del([scope.row])">删除</el-button>
                                            </el-button-group>
                                        </template>
                                    </el-table-column>
                                </scTable>
                            </el-col>
                            <el-col :span="12">
                                <h2>工艺包详情</h2>
                                <el-row>
                                    <el-col :span="12">
                                        工艺包名称:
                                    </el-col>
                                    <el-col :span="12">
                                        工艺包编号:
                                    </el-col>
                                    <el-col :span="12">
                                        工艺包所在目录:
                                    </el-col>
                                    <el-col :span="24">
                                        <Children></Children>
                                    </el-col>
                                </el-row>
                            </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>
import Children from './Children.vue'
export default {
    components: {
        Children
    },
    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-process-catalogue/lazy-list?parentId=${id}`).then(res => {
                if (node.level === 0) {
                    this.$nextTick(() => {
                        this.nodeClick(res.data[0])
                    })
                }
                resolve(res.data)
            })
        },
        del() {
            this.$HTTP.delete(`/api/blade-dnc/dnc-process-catalogue/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>