br-dionysus 1.17.2 → 1.17.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +136 -792
- package/dist/br-dionysus.es.js +1635 -1635
- package/dist/br-dionysus.umd.js +5 -5
- package/dist/index.css +1 -1
- package/package.json +1 -1
- package/packages/MTable/docs/DemoTest1.vue +132 -0
- package/packages/MTable/docs/DemoTest2.vue +172 -0
- package/packages/MTable/docs/DemoTest3.vue +143 -0
- package/packages/MTable/docs/DemoTest4.vue +145 -0
- package/packages/MTable/docs/DemoTest5.vue +111 -0
- package/packages/MTable/docs/demo.vue +16 -344
- package/packages/MTable/src/MTable.vue +6 -23
- package/web-types.json +1 -1
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<h5>表格表单</h5>
|
|
4
|
+
<MTable
|
|
5
|
+
:data="tableData"
|
|
6
|
+
border
|
|
7
|
+
scrollbarAlwaysOn
|
|
8
|
+
@pasteData="pasteData"
|
|
9
|
+
@selectionChange="handleSelectionChange"
|
|
10
|
+
>
|
|
11
|
+
<el-table-column
|
|
12
|
+
fixed="left"
|
|
13
|
+
type="selection"
|
|
14
|
+
/>
|
|
15
|
+
<MTableColumn
|
|
16
|
+
prop="name"
|
|
17
|
+
label="名称"
|
|
18
|
+
minWidth="200"
|
|
19
|
+
showOverflowTooltip
|
|
20
|
+
></MTableColumn>
|
|
21
|
+
<MTableColumn
|
|
22
|
+
prop="address"
|
|
23
|
+
label="地址"
|
|
24
|
+
minWidth="200"
|
|
25
|
+
>
|
|
26
|
+
<template #default="scope">
|
|
27
|
+
<el-input
|
|
28
|
+
v-model="(scope.row as any).address"
|
|
29
|
+
placeholder="请输入地址"
|
|
30
|
+
></el-input>
|
|
31
|
+
</template>
|
|
32
|
+
</MTableColumn>
|
|
33
|
+
</MTable>
|
|
34
|
+
</div>
|
|
35
|
+
</template>
|
|
36
|
+
|
|
37
|
+
<script setup lang="ts">
|
|
38
|
+
import { ref } from 'vue'
|
|
39
|
+
import { MTableColumn } from './../../MTableColumn'
|
|
40
|
+
|
|
41
|
+
const tableData = ref<any[]>([])
|
|
42
|
+
tableData.value = [{
|
|
43
|
+
id: 1,
|
|
44
|
+
sn: 1,
|
|
45
|
+
date: '2016-05-03',
|
|
46
|
+
name: 'Tom1',
|
|
47
|
+
address: 'No. 189, Grove St, Los Angeles',
|
|
48
|
+
tag: 'Home',
|
|
49
|
+
pid: 0,
|
|
50
|
+
qty: 10
|
|
51
|
+
}, {
|
|
52
|
+
id: 2,
|
|
53
|
+
sn: 2,
|
|
54
|
+
date: '2016-05-02',
|
|
55
|
+
name: 'Tom2',
|
|
56
|
+
address: 'No. 189, Grove St, Los Angeles',
|
|
57
|
+
tag: 'Office',
|
|
58
|
+
pid: 0,
|
|
59
|
+
qty: 101
|
|
60
|
+
}, {
|
|
61
|
+
id: 3,
|
|
62
|
+
sn: 3,
|
|
63
|
+
date: '2016-05-04',
|
|
64
|
+
name: 'Tom3',
|
|
65
|
+
address: 'No. 189, Grove St, Los Angeles',
|
|
66
|
+
tag: 'Home',
|
|
67
|
+
pid: 0,
|
|
68
|
+
qty: 102
|
|
69
|
+
}, {
|
|
70
|
+
id: 4,
|
|
71
|
+
sn: 4,
|
|
72
|
+
date: '2016-05-01',
|
|
73
|
+
name: 'Tom4',
|
|
74
|
+
address: 'No. 189, Grove St, Los Angeles',
|
|
75
|
+
tag: 'Office',
|
|
76
|
+
pid: 0,
|
|
77
|
+
qty: 103
|
|
78
|
+
}, {
|
|
79
|
+
id: 5,
|
|
80
|
+
sn: 5,
|
|
81
|
+
date: '2016-05-05',
|
|
82
|
+
name: 'Tom4',
|
|
83
|
+
address: 'No. 189, Grove St, Los Angeles',
|
|
84
|
+
tag: 'Office',
|
|
85
|
+
pid: 0,
|
|
86
|
+
qty: 104
|
|
87
|
+
}, {
|
|
88
|
+
id: 6,
|
|
89
|
+
sn: 6,
|
|
90
|
+
date: '2016-06-01',
|
|
91
|
+
name: 'Tom4',
|
|
92
|
+
address: 'No. 189, Grove St, Los Angeles',
|
|
93
|
+
tag: 'Office',
|
|
94
|
+
pid: 0,
|
|
95
|
+
qty: 105
|
|
96
|
+
}]
|
|
97
|
+
|
|
98
|
+
// 选中项
|
|
99
|
+
const multipleSelection = ref<number[]>([])
|
|
100
|
+
const handleSelectionChange = (val: any[]) => {
|
|
101
|
+
multipleSelection.value = val.map(item => item.sn)
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
const pasteData = (data: any, pasteTableData: any[]) => {
|
|
105
|
+
console.log('pasteTableData', pasteTableData)
|
|
106
|
+
tableData.value = pasteTableData
|
|
107
|
+
}
|
|
108
|
+
</script>
|
|
109
|
+
|
|
110
|
+
<style>
|
|
111
|
+
</style>
|
|
@@ -1,356 +1,28 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="g-box">
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
:data="tableData1"
|
|
6
|
-
border
|
|
7
|
-
:filtersValue="filtersValue"
|
|
8
|
-
scrollbarAlwaysOn
|
|
9
|
-
v-model:tableConfig="tableConfig"
|
|
10
|
-
@selectionChange="handleSelectionChange"
|
|
11
|
-
>
|
|
12
|
-
<el-table-column
|
|
13
|
-
fixed="left"
|
|
14
|
-
type="selection"
|
|
15
|
-
/>
|
|
16
|
-
<MTableColumn
|
|
17
|
-
v-for="item in tableTitle"
|
|
18
|
-
:key="item.prop"
|
|
19
|
-
:prop="item.prop"
|
|
20
|
-
:label="item.label"
|
|
21
|
-
:align="item.align"
|
|
22
|
-
:minWidth="item.minWidth"
|
|
23
|
-
:className="item.className"
|
|
24
|
-
:filters="item.filters"
|
|
25
|
-
:headerAlign="item.headerAlign"
|
|
26
|
-
:fixed="item.fixed"
|
|
27
|
-
v-model:filtersValue="filtersValue"
|
|
28
|
-
showOverflowTooltip
|
|
29
|
-
></MTableColumn>
|
|
30
|
-
</MTable>
|
|
3
|
+
<!--<DemoTest1></DemoTest1>-->
|
|
4
|
+
<!--<el-divider />-->
|
|
31
5
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
<MTable
|
|
35
|
-
:data="tableData"
|
|
36
|
-
border
|
|
37
|
-
@headerDragend="headerDragend"
|
|
38
|
-
:filtersValue="filtersValue"
|
|
39
|
-
scrollbarAlwaysOn
|
|
40
|
-
v-model:tableConfig="tableConfig"
|
|
41
|
-
rowKey="id"
|
|
42
|
-
tableConfigKey="tableConfigKey"
|
|
43
|
-
expandProp="sn"
|
|
44
|
-
@privateExpandChange="privateExpandChange"
|
|
45
|
-
>
|
|
46
|
-
<el-table-column
|
|
47
|
-
fixed="left"
|
|
48
|
-
type="selection"
|
|
49
|
-
/>
|
|
50
|
-
<MTableColumn
|
|
51
|
-
type="expand"
|
|
52
|
-
width="1"
|
|
53
|
-
>
|
|
54
|
-
<template #default="props">
|
|
55
|
-
<h1>index{{ props.index }}</h1>
|
|
56
|
-
<h1>$index{{ props.$index }}</h1>
|
|
57
|
-
<h1>测试</h1>
|
|
58
|
-
</template>
|
|
59
|
-
</MTableColumn>
|
|
60
|
-
<el-table-column
|
|
61
|
-
prop="name"
|
|
62
|
-
label="名称"
|
|
63
|
-
>
|
|
64
|
-
<el-table-column
|
|
65
|
-
prop="date"
|
|
66
|
-
label="时间"
|
|
67
|
-
></el-table-column>
|
|
68
|
-
<el-table-column
|
|
69
|
-
prop="address"
|
|
70
|
-
label="地址"
|
|
71
|
-
></el-table-column>
|
|
72
|
-
</el-table-column>
|
|
73
|
-
<MTableColumn
|
|
74
|
-
v-for="item in tableTitle"
|
|
75
|
-
:key="item.prop"
|
|
76
|
-
:prop="item.prop"
|
|
77
|
-
:label="item.label"
|
|
78
|
-
:align="item.align"
|
|
79
|
-
:minWidth="item.minWidth"
|
|
80
|
-
:className="item.className"
|
|
81
|
-
:filters="item.filters"
|
|
82
|
-
:headerAlign="item.headerAlign"
|
|
83
|
-
:fixed="item.fixed"
|
|
84
|
-
v-model:filtersValue="filtersValue"
|
|
85
|
-
showOverflowTooltip
|
|
86
|
-
>
|
|
87
|
-
</MTableColumn>
|
|
88
|
-
</MTable>
|
|
6
|
+
<!--<DemoTest2></DemoTest2>-->
|
|
7
|
+
<!--<el-divider />-->
|
|
89
8
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
:data="tableData"
|
|
93
|
-
border
|
|
94
|
-
@headerDragend="headerDragend"
|
|
95
|
-
:filtersValue="filtersValue"
|
|
96
|
-
scrollbarAlwaysOn
|
|
97
|
-
v-model:tableConfig="tableConfig"
|
|
98
|
-
rowKey="id"
|
|
99
|
-
tableConfigKey="tableConfigKey"
|
|
100
|
-
@expandChange="privateExpandChange"
|
|
101
|
-
>
|
|
102
|
-
<MTableColumn
|
|
103
|
-
v-for="item in tableTitle"
|
|
104
|
-
:key="item.prop"
|
|
105
|
-
:prop="item.prop"
|
|
106
|
-
:label="item.label"
|
|
107
|
-
:align="item.align"
|
|
108
|
-
:minWidth="item.minWidth"
|
|
109
|
-
:className="item.className"
|
|
110
|
-
:filters="item.filters"
|
|
111
|
-
:headerAlign="item.headerAlign"
|
|
112
|
-
:fixed="item.fixed"
|
|
113
|
-
v-model:filtersValue="filtersValue"
|
|
114
|
-
showOverflowTooltip
|
|
115
|
-
>
|
|
116
|
-
</MTableColumn>
|
|
117
|
-
</MTable>
|
|
9
|
+
<!--<DemoTest3></DemoTest3>-->
|
|
10
|
+
<!--<el-divider />-->
|
|
118
11
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
:relevancyTable="mTableRef"
|
|
125
|
-
></MBatchEdit>
|
|
126
|
-
<MTable
|
|
127
|
-
ref="mTableRef"
|
|
128
|
-
:data="tableData1"
|
|
129
|
-
border
|
|
130
|
-
scrollbarAlwaysOn
|
|
131
|
-
showSelectionCellStatus
|
|
132
|
-
v-model:selectionCell="selectionCell"
|
|
133
|
-
>
|
|
134
|
-
<MTableColumn
|
|
135
|
-
v-for="item in tableTitle"
|
|
136
|
-
:key="item.prop"
|
|
137
|
-
:prop="item.prop"
|
|
138
|
-
:label="item.label"
|
|
139
|
-
:align="item.align"
|
|
140
|
-
:minWidth="item.minWidth"
|
|
141
|
-
:className="item.className"
|
|
142
|
-
:filters="item.filters"
|
|
143
|
-
:headerAlign="item.headerAlign"
|
|
144
|
-
:fixed="item.fixed"
|
|
145
|
-
:isBatchEdit="item.isBatchEdit"
|
|
146
|
-
v-model:filtersValue="filtersValue"
|
|
147
|
-
showOverflowTooltip
|
|
148
|
-
></MTableColumn>
|
|
149
|
-
<MTableColumn
|
|
150
|
-
prop="prop"
|
|
151
|
-
label="label"
|
|
152
|
-
showOverflowTooltip
|
|
153
|
-
></MTableColumn>
|
|
154
|
-
</MTable>
|
|
155
|
-
<p>选中的单元格:{{ selectionCell }}</p>
|
|
12
|
+
<!--<DemoTest4></DemoTest4>-->
|
|
13
|
+
<!--<el-divider />-->
|
|
14
|
+
|
|
15
|
+
<DemoTest5></DemoTest5>
|
|
16
|
+
<el-divider />
|
|
156
17
|
</div>
|
|
157
18
|
</template>
|
|
158
19
|
|
|
159
20
|
<script setup lang="ts">
|
|
160
|
-
import
|
|
161
|
-
import
|
|
162
|
-
import
|
|
163
|
-
import
|
|
164
|
-
|
|
165
|
-
const privateExpandChange = (row: any, expandedRows: any[]) => {
|
|
166
|
-
console.log('row', row)
|
|
167
|
-
console.log('expandedRows', expandedRows)
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
const tableData = ref<any[]>([])
|
|
171
|
-
const { tableTitle, headerDragend, tableConfig, filtersValue } = useTableConfig('MTableDemo', [{
|
|
172
|
-
label: '序号',
|
|
173
|
-
prop: 'sn',
|
|
174
|
-
minWidth: 200,
|
|
175
|
-
fixed: 'left',
|
|
176
|
-
isBatchEdit: false
|
|
177
|
-
}, {
|
|
178
|
-
label: '时间',
|
|
179
|
-
prop: 'date',
|
|
180
|
-
minWidth: 200,
|
|
181
|
-
isBatchEdit: true
|
|
182
|
-
}, {
|
|
183
|
-
label: '地址',
|
|
184
|
-
prop: 'address',
|
|
185
|
-
minWidth: 200,
|
|
186
|
-
isBatchEdit: true
|
|
187
|
-
}, {
|
|
188
|
-
label: '名称',
|
|
189
|
-
prop: 'name',
|
|
190
|
-
minWidth: 200,
|
|
191
|
-
isBatchEdit: true
|
|
192
|
-
}, {
|
|
193
|
-
label: '数量',
|
|
194
|
-
prop: 'qty',
|
|
195
|
-
minWidth: 200,
|
|
196
|
-
isBatchEdit: true
|
|
197
|
-
}], tableData)
|
|
198
|
-
|
|
199
|
-
// const childTableTitle: TableTitle[] = [{
|
|
200
|
-
// label: '序号',
|
|
201
|
-
// prop: 'sn',
|
|
202
|
-
// minWidth: 200,
|
|
203
|
-
// fixed: 'left'
|
|
204
|
-
// }, {
|
|
205
|
-
// label: '时间',
|
|
206
|
-
// prop: 'date',
|
|
207
|
-
// minWidth: 200
|
|
208
|
-
// }, {
|
|
209
|
-
// label: '地址',
|
|
210
|
-
// prop: 'address',
|
|
211
|
-
// minWidth: 200
|
|
212
|
-
// }, {
|
|
213
|
-
// label: '名称',
|
|
214
|
-
// prop: 'name',
|
|
215
|
-
// minWidth: 200
|
|
216
|
-
// }]
|
|
217
|
-
const zzzz = () => {
|
|
218
|
-
filtersValue.value = {}
|
|
219
|
-
}
|
|
220
|
-
tableData.value = [{
|
|
221
|
-
id: 1,
|
|
222
|
-
sn: 1,
|
|
223
|
-
date: '2016-05-03',
|
|
224
|
-
name: 'Tom1',
|
|
225
|
-
address: 'No. 189, Grove St, Los Angeles',
|
|
226
|
-
tag: 'Home',
|
|
227
|
-
pid: 0
|
|
228
|
-
}, {
|
|
229
|
-
id: 2,
|
|
230
|
-
sn: 2,
|
|
231
|
-
date: '2016-05-02',
|
|
232
|
-
name: 'Tom2',
|
|
233
|
-
address: 'No. 189, Grove St, Los Angeles',
|
|
234
|
-
tag: 'Office',
|
|
235
|
-
pid: 0,
|
|
236
|
-
children: [{
|
|
237
|
-
id: 21,
|
|
238
|
-
sn: 1,
|
|
239
|
-
date: '2016-05-02',
|
|
240
|
-
name: 'Tom21',
|
|
241
|
-
address: 'No. 189, Grove St, Los Angeles',
|
|
242
|
-
tag: 'Office'
|
|
243
|
-
}, {
|
|
244
|
-
id: 22,
|
|
245
|
-
sn: 2,
|
|
246
|
-
date: '2016-05-02',
|
|
247
|
-
name: 'Tom22',
|
|
248
|
-
address: 'No. 189, Grove St, Los Angeles',
|
|
249
|
-
tag: 'Office'
|
|
250
|
-
}]
|
|
251
|
-
}, {
|
|
252
|
-
id: 3,
|
|
253
|
-
sn: 3,
|
|
254
|
-
date: '2016-05-04',
|
|
255
|
-
name: 'Tom3',
|
|
256
|
-
address: 'No. 189, Grove St, Los Angeles',
|
|
257
|
-
tag: 'Home',
|
|
258
|
-
pid: 0
|
|
259
|
-
}, {
|
|
260
|
-
id: 4,
|
|
261
|
-
sn: 4,
|
|
262
|
-
date: '2016-05-01',
|
|
263
|
-
name: 'Tom4',
|
|
264
|
-
address: 'No. 189, Grove St, Los Angeles',
|
|
265
|
-
tag: 'Office',
|
|
266
|
-
pid: 0
|
|
267
|
-
}, {
|
|
268
|
-
id: 5,
|
|
269
|
-
sn: 5,
|
|
270
|
-
date: '2016-05-05',
|
|
271
|
-
name: 'Tom4',
|
|
272
|
-
address: 'No. 189, Grove St, Los Angeles',
|
|
273
|
-
tag: 'Office',
|
|
274
|
-
pid: 0
|
|
275
|
-
}, {
|
|
276
|
-
id: 6,
|
|
277
|
-
sn: 6,
|
|
278
|
-
date: '2016-06-01',
|
|
279
|
-
name: 'Tom4',
|
|
280
|
-
address: 'No. 189, Grove St, Los Angeles',
|
|
281
|
-
tag: 'Office',
|
|
282
|
-
pid: 0
|
|
283
|
-
}]
|
|
284
|
-
|
|
285
|
-
const tableData1 = ref<any[]>([])
|
|
286
|
-
tableData1.value = [{
|
|
287
|
-
id: 1,
|
|
288
|
-
sn: 1,
|
|
289
|
-
date: '2016-05-03',
|
|
290
|
-
name: 'Tom1',
|
|
291
|
-
address: 'No. 189, Grove St, Los Angeles',
|
|
292
|
-
tag: 'Home',
|
|
293
|
-
pid: 0,
|
|
294
|
-
qty: 10
|
|
295
|
-
}, {
|
|
296
|
-
id: 2,
|
|
297
|
-
sn: 2,
|
|
298
|
-
date: '2016-05-02',
|
|
299
|
-
name: 'Tom2',
|
|
300
|
-
address: 'No. 189, Grove St, Los Angeles',
|
|
301
|
-
tag: 'Office',
|
|
302
|
-
pid: 0,
|
|
303
|
-
qty: 101
|
|
304
|
-
}, {
|
|
305
|
-
id: 3,
|
|
306
|
-
sn: 3,
|
|
307
|
-
date: '2016-05-04',
|
|
308
|
-
name: 'Tom3',
|
|
309
|
-
address: 'No. 189, Grove St, Los Angeles',
|
|
310
|
-
tag: 'Home',
|
|
311
|
-
pid: 0,
|
|
312
|
-
qty: 102
|
|
313
|
-
}, {
|
|
314
|
-
id: 4,
|
|
315
|
-
sn: 4,
|
|
316
|
-
date: '2016-05-01',
|
|
317
|
-
name: 'Tom4',
|
|
318
|
-
address: 'No. 189, Grove St, Los Angeles',
|
|
319
|
-
tag: 'Office',
|
|
320
|
-
pid: 0,
|
|
321
|
-
qty: 103
|
|
322
|
-
}, {
|
|
323
|
-
id: 5,
|
|
324
|
-
sn: 5,
|
|
325
|
-
date: '2016-05-05',
|
|
326
|
-
name: 'Tom4',
|
|
327
|
-
address: 'No. 189, Grove St, Los Angeles',
|
|
328
|
-
tag: 'Office',
|
|
329
|
-
pid: 0,
|
|
330
|
-
qty: 104
|
|
331
|
-
}, {
|
|
332
|
-
id: 6,
|
|
333
|
-
sn: 6,
|
|
334
|
-
date: '2016-06-01',
|
|
335
|
-
name: 'Tom4',
|
|
336
|
-
address: 'No. 189, Grove St, Los Angeles',
|
|
337
|
-
tag: 'Office',
|
|
338
|
-
pid: 0,
|
|
339
|
-
qty: 105
|
|
340
|
-
}]
|
|
341
|
-
|
|
342
|
-
// 选中项
|
|
343
|
-
const multipleSelection = ref<number[]>([])
|
|
344
|
-
const handleSelectionChange = (val: any[]) => {
|
|
345
|
-
multipleSelection.value = val.map(item => item.sn)
|
|
346
|
-
tableData1.value[0].name = tableData1.value[0].name + 'd'
|
|
347
|
-
}
|
|
348
|
-
|
|
349
|
-
/**
|
|
350
|
-
* 批量修改
|
|
351
|
-
* */
|
|
352
|
-
const selectionCell = ref<string>('')
|
|
353
|
-
const mTableRef = ref<any | null>(null)
|
|
21
|
+
// import DemoTest1 from 'packages/MTable/docs/DemoTest1.vue'
|
|
22
|
+
// import DemoTest2 from 'packages/MTable/docs/DemoTest2.vue'
|
|
23
|
+
// import DemoTest3 from 'packages/MTable/docs/DemoTest3.vue'
|
|
24
|
+
// import DemoTest4 from 'packages/MTable/docs/DemoTest4.vue'
|
|
25
|
+
import DemoTest5 from 'packages/MTable/docs/DemoTest5.vue'
|
|
354
26
|
</script>
|
|
355
27
|
|
|
356
28
|
<style lang="scss" scoped>
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
</template>
|
|
30
30
|
|
|
31
31
|
<script setup lang="ts">
|
|
32
|
-
import { ref, onMounted, computed, useSlots, watch, provide, reactive } from 'vue'
|
|
32
|
+
import { ref, onMounted, computed, useSlots, watch, provide, reactive, getCurrentInstance } from 'vue'
|
|
33
33
|
import checkType from '../../Tool/checkType/checkType'
|
|
34
34
|
import { TableConfig } from './../../Hook/useTableConfig/useTableConfig'
|
|
35
35
|
import { tableKey } from './token'
|
|
@@ -82,7 +82,7 @@ const getTableTitle = (): TableTitle[] => {
|
|
|
82
82
|
const slotDefaultData = slotsToData(slots, {
|
|
83
83
|
name: 'default',
|
|
84
84
|
isJumpFgt: false,
|
|
85
|
-
maxDepth:
|
|
85
|
+
maxDepth: 2
|
|
86
86
|
})
|
|
87
87
|
const mTableColumnItemList: SlotsToDataReturnItem[] = []
|
|
88
88
|
slotDefaultData.forEach(item => {
|
|
@@ -151,27 +151,6 @@ const tableData = computed(() => {
|
|
|
151
151
|
return true
|
|
152
152
|
})
|
|
153
153
|
})
|
|
154
|
-
// const tableData = ref<Record<string, any>[]>([])
|
|
155
|
-
// watch(
|
|
156
|
-
// () => [props.data, props.filtersValue],
|
|
157
|
-
// () => {
|
|
158
|
-
// if (!Object.keys(props.filtersValue || {}).length) {
|
|
159
|
-
// tableData.value = props.data
|
|
160
|
-
// return
|
|
161
|
-
// }
|
|
162
|
-
// tableData.value = props.data.filter(item => {
|
|
163
|
-
// for (const key in props.filtersValue) {
|
|
164
|
-
// const node = props.filtersValue[key]
|
|
165
|
-
// const colData = checkType(item[key]).isObject() || checkType(item[key]).isArray() ? JSON.stringify(item[key]) : item[key]
|
|
166
|
-
// if (!node.includes(colData) && node.length) return false
|
|
167
|
-
// }
|
|
168
|
-
// return true
|
|
169
|
-
// })
|
|
170
|
-
// }, {
|
|
171
|
-
// immediate: true,
|
|
172
|
-
// deep: true
|
|
173
|
-
// }
|
|
174
|
-
// )
|
|
175
154
|
const createHash = (hashLength: number = 24) => {
|
|
176
155
|
return Array.from(Array(Number(hashLength) || 24), () => Math.floor(Math.random() * 36).toString(36)).join('')
|
|
177
156
|
}
|
|
@@ -255,9 +234,13 @@ const cellClick = (row: any, column: { property: string; }, cell: any) => {
|
|
|
255
234
|
selectionCellInfo.prop = column.property
|
|
256
235
|
emit('update:selectionCell', isRepeatClick ? '' : column.property)
|
|
257
236
|
}
|
|
237
|
+
const instance = getCurrentInstance()
|
|
258
238
|
const disablePasteEvent = (e: { preventDefault: () => void; }) => {
|
|
239
|
+
const checkPaste = Boolean(instance?.vnode?.props?.onPasteData)
|
|
240
|
+
if (!checkPaste) return
|
|
259
241
|
e.preventDefault()
|
|
260
242
|
}
|
|
243
|
+
|
|
261
244
|
const paste = (e: { clipboardData: any; }) => {
|
|
262
245
|
internalData.value = JSON.parse(JSON.stringify(props.data))
|
|
263
246
|
const clipdata = e.clipboardData
|