1
lzhe
2024-05-12 f00e6c3b881c67ef3651d4f812230188af01faca
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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
<!--
 * @Date: 2024-05-12 20:02:31
 * @LastEditors: Sneed
 * @LastEditTime: 2024-05-12 21:34:13
 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/console/tooling/Tray.vue
-->
<template>
    <el-container>
        <el-aside width="200px">
            <el-container>
                <el-main>
                    <el-tree default-expand-all ref="group" node-key="id" :data="treeData" :props="{
                        label: 'name',
                        disabled: 'isGroup'
                    }" @node-click="nodeClick">
                        <template #default="{ node, data }">
                            <span :class="data.isGroup ? 'active' : ''" class="custom-tree-node">
                                <span>{{
                                    node.label || data.code }}</span>
                            </span>
                        </template>
                    </el-tree>
                </el-main>
                <el-footer>
                    <el-button>添加托盘组</el-button>
                </el-footer>
            </el-container>
        </el-aside>
        <!-- <el-main> -->
        <el-container v-if="selectNode.id">
            <el-header>
                <el-button @click="table_add" type="primary" icon="el-icon-plus"></el-button>
                <import-table style="margin:0 8px" :exportUrl="exportUrl" :uploadUrl="uploadUrl"></import-table>
                <el-button type="danger" plain icon="el-icon-delete" @click="batchDel"></el-button>
                <el-input v-model="params.keyWord" style="width: 240px;margin-left: auto;" placeholder="请输入检索内容"
                    clearable></el-input>
                <el-button @click="search" type="primary" icon="el-icon-search"></el-button>
            </el-header>
            <el-main>
                <el-row>
                    <el-col :span="10">
                        <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="code" width="120"></el-table-column>
                            <el-table-column label="托盘名称" prop="name" width="120"></el-table-column>
                            <el-table-column label="可用状态" prop="type" width="120"></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-popconfirm title="确定删除吗?" @confirm="table_del([scope.row], '0')">
                                            <template #reference>
                                                <el-button text type="primary" size="small">删除</el-button>
                                            </template>
                                        </el-popconfirm>
                                    </el-button-group>
                                </template>
                            </el-table-column>
                        </scTable>
                    </el-col>
                    <el-col :span="14">
                        <h2>托盘信息</h2>
                        <el-container>
                            <el-main>
                                <div class="tuopan-info">
                                    <div>
                                        tup
                                    </div>
                                    <el-row>
                                        <el-col :span="12">
                                            托盘面数: {{ }}
                                        </el-col>
                                        <el-col :span="12">
                                            托盘面数: {{ }}
                                        </el-col>
                                        <el-col :span="12">
                                            托盘面数: {{ }}
                                        </el-col>
                                        <el-col :span="12">
                                            托盘面数: {{ }}
                                        </el-col>
                                        <el-col :span="12">
                                            托盘面数: {{ }}
                                        </el-col>
                                        <el-col :span="12">
                                            托盘面数: {{ }}
                                        </el-col>
                                        <el-col :span="12">
                                            托盘面数: {{ }}
                                        </el-col>
                                        <el-col :span="12">
                                            托盘面数: {{ }}
                                        </el-col>
                                    </el-row>
                                </div>
 
                            </el-main>
                        </el-container>
                    </el-col>
                </el-row>
            </el-main>
        </el-container>
        <!-- </el-main> -->
    </el-container>
</template>
 
<script>
import importTable from '@/layout/components/importTable.vue'
export default {
    components: {
        importTable
    },
    data() {
        return {
            treeData: [],
            params: {
                keyword: ''
            },
            info: {},
            selectNode: {},
            apiObj: {
                get: async (data) => {
                    let params = {
                        ...data
                    }
                    return await this.$HTTP.get(`/api/blade-cps/tray/page/${this.selectNode.id}`, { keyword: this.params.keyword }, { params }).then(res => {
                        return res
                    })
                }
            },
        }
    },
    watch: {
        'selectNode.id': {
            handler(val) {
                if (val) {
                    this.queryInfo()
                } else {
                    this.info = {}
                }
            }
        }
    },
    created() {
        this.init()
    },
    methods: {
        init() {
            this.$HTTP.post(`/api/blade-cps/tray/tooling-tree`, {
                groupCategory: 1,
                groupType: "group_tray"
            }).then(res => {
                this.treeData = res.data
                this.selectNode = res.data[0]
            })
        },
        queryInfo() {
            if (!this.selectNode.id) return
            this.$refs?.table?.reload()
            // this.$HTTP.get(`/api/blade-cps/tray/${this.selectNode.id}`).then(res => {
            //     this.info = res.data
            // })
            // this.$HTTP.get(`/api/blade-cps/tray-surface/list/${this.selectNode.id}`).then(res => {
            //     this.info = res.data
            // })
        },
        queryChildInfo() {
            if (!this.selectNode.id) return
            this.$HTTP.get(`/api/blade-cps/tray/${this.selectNode.id}`).then(res => {
                this.info = res.data
            })
            this.$HTTP.get(`/api/blade-cps/tray-surface/list/${this.selectNode.id}`).then(res => {
                this.info = res.data
            })
        },
        nodeClick(node) {
            this.selectNode = node
        }
    }
}
</script>
 
<style lang="scss" scoped>
.custom-tree-node.active {
    color: #ccc;
}
 
.empty {
    justify-content: center;
}
 
.tuopan-info {
    display: flex;
}
</style>