@netang/quasar 0.0.20 → 0.0.21
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 +2 -3
- package/components/dialog/index.vue +30 -2
- package/components/drawer/index.vue +2 -6
- package/components/field-table/index.vue +85 -115
- package/components/layout/index.vue +26 -19
- package/components/table/index.vue +12 -3
- package/components/toolbar/index.vue +4 -11
- package/package.json +1 -1
- package/utils/$table.js +4 -0
- package/utils/symbols.js +1 -0
package/README.md
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
## Installation
|
|
2
2
|
|
|
3
3
|
```bash
|
|
4
|
-
npm install @netang/
|
|
4
|
+
npm install @netang/quasar --save-dev
|
|
5
5
|
```
|
|
6
6
|
|
|
7
7
|
Install mandatory peer dependencies
|
|
8
8
|
```bash
|
|
9
|
-
npm install @netang/utils --save-dev
|
|
10
|
-
npm install lodash --save-dev
|
|
9
|
+
npm install @netang/utils @netang/vue-utils @netang/node-utils quasar @quasar/extras lodash axios bignumber.js spark-md5 xregexp --save-dev
|
|
11
10
|
```
|
|
12
11
|
|
|
13
12
|
## License
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
<q-dialog
|
|
3
3
|
class="n-dialog-proxy"
|
|
4
4
|
ref="dialogRef"
|
|
5
|
+
v-model="currentModelValue"
|
|
5
6
|
v-bind="dialogProps"
|
|
6
7
|
@hide="onDialogHide"
|
|
7
8
|
>
|
|
@@ -23,9 +24,14 @@
|
|
|
23
24
|
container
|
|
24
25
|
>
|
|
25
26
|
<q-page-container>
|
|
27
|
+
<slot
|
|
28
|
+
v-bind="props"
|
|
29
|
+
v-if="$slots.default"
|
|
30
|
+
/>
|
|
26
31
|
<component
|
|
27
32
|
:is="comp"
|
|
28
33
|
v-bind="props"
|
|
34
|
+
v-else
|
|
29
35
|
/>
|
|
30
36
|
</q-page-container>
|
|
31
37
|
</q-layout>
|
|
@@ -43,7 +49,7 @@
|
|
|
43
49
|
</template>
|
|
44
50
|
|
|
45
51
|
<script>
|
|
46
|
-
import { ref, computed, defineAsyncComponent, provide } from 'vue'
|
|
52
|
+
import { ref, computed, defineAsyncComponent, provide, watch } from 'vue'
|
|
47
53
|
import { useDialogPluginComponent, useQuasar } from 'quasar'
|
|
48
54
|
|
|
49
55
|
import routers from '@/router/routers'
|
|
@@ -62,6 +68,11 @@ export default {
|
|
|
62
68
|
* 声明属性
|
|
63
69
|
*/
|
|
64
70
|
props: {
|
|
71
|
+
// 值
|
|
72
|
+
modelValue: {
|
|
73
|
+
type: Boolean,
|
|
74
|
+
default: true,
|
|
75
|
+
},
|
|
65
76
|
// 对话框传参
|
|
66
77
|
dialogProps: Object,
|
|
67
78
|
// 组件标识
|
|
@@ -103,25 +114,41 @@ export default {
|
|
|
103
114
|
},
|
|
104
115
|
// 是否全屏
|
|
105
116
|
fullscreen: Boolean,
|
|
117
|
+
// 页面容器
|
|
118
|
+
pageContainer: {
|
|
119
|
+
type: Boolean,
|
|
120
|
+
default: true,
|
|
121
|
+
},
|
|
106
122
|
},
|
|
107
123
|
|
|
108
124
|
/**
|
|
109
125
|
* 声明事件
|
|
110
126
|
*/
|
|
111
127
|
emits: [
|
|
128
|
+
'update:modelValue',
|
|
112
129
|
...useDialogPluginComponent.emits
|
|
113
130
|
],
|
|
114
131
|
|
|
115
132
|
/**
|
|
116
133
|
* 组合式
|
|
117
134
|
*/
|
|
118
|
-
setup(props) {
|
|
135
|
+
setup(props, { emit }) {
|
|
119
136
|
|
|
120
137
|
// ==========【数据】============================================================================================
|
|
121
138
|
|
|
122
139
|
// quasar 对象
|
|
123
140
|
const $q = useQuasar()
|
|
124
141
|
|
|
142
|
+
const currentModelValue = ref(props.modelValue)
|
|
143
|
+
|
|
144
|
+
watch(()=>props.modelValue, function (val) {
|
|
145
|
+
currentModelValue.value = val
|
|
146
|
+
})
|
|
147
|
+
|
|
148
|
+
watch(currentModelValue, function (val) {
|
|
149
|
+
emit('update:modelValue', val)
|
|
150
|
+
})
|
|
151
|
+
|
|
125
152
|
const {
|
|
126
153
|
// 对话框节点
|
|
127
154
|
dialogRef,
|
|
@@ -283,6 +310,7 @@ export default {
|
|
|
283
310
|
// ==========【返回】=============================================================================================
|
|
284
311
|
|
|
285
312
|
return {
|
|
313
|
+
currentModelValue,
|
|
286
314
|
// 自定义样式
|
|
287
315
|
customStyle,
|
|
288
316
|
// 组件
|
|
@@ -108,12 +108,8 @@ export default {
|
|
|
108
108
|
const $route = useRoute()
|
|
109
109
|
|
|
110
110
|
// 是否显示
|
|
111
|
-
const isShow =
|
|
112
|
-
|
|
113
|
-
// 更新布局数据
|
|
114
|
-
$nLayout.update(function(data) {
|
|
115
|
-
data[props.side].data = isShow
|
|
116
|
-
})
|
|
111
|
+
const isShow = $nLayout.data[props.side].modelValue
|
|
112
|
+
isShow.value = $q.screen.width < props.breakpoint ? false : props.show
|
|
117
113
|
|
|
118
114
|
// 缓存名
|
|
119
115
|
let cacheName = ''
|
|
@@ -97,91 +97,22 @@
|
|
|
97
97
|
</q-popup-proxy>
|
|
98
98
|
</q-field>
|
|
99
99
|
|
|
100
|
-
<
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
<!-- :columns="tableColumns"-->
|
|
112
|
-
<!-- :selection="tableSelection"-->
|
|
113
|
-
<!-- :loading="tableLoading"-->
|
|
114
|
-
<!-- :rows-per-page-options="tableRowsPerPageOptions"-->
|
|
115
|
-
<!-- @row-click="tableRowClick"-->
|
|
116
|
-
<!-- @row-dblclick="tableRowDblclick"-->
|
|
117
|
-
<!-- @request="tableRequest"-->
|
|
118
|
-
<!-- flat-->
|
|
119
|
-
<!-- virtual-scroll-->
|
|
120
|
-
<!-- dense-->
|
|
121
|
-
<!-->-->
|
|
122
|
-
<!-- <!– 图片 –>-->
|
|
123
|
-
<!-- <template-->
|
|
124
|
-
<!-- v-for="imgName in tableImgNames"-->
|
|
125
|
-
<!-- v-slot:[`body-cell-${imgName}`]="props"-->
|
|
126
|
-
<!-- >-->
|
|
127
|
-
<!-- <q-td :props="props">-->
|
|
128
|
-
<!-- <!– 缩略图 –>-->
|
|
129
|
-
<!-- <n-thumbnail-->
|
|
130
|
-
<!-- :src="props.row[imgName]"-->
|
|
131
|
-
<!-- preview-->
|
|
132
|
-
<!-- />-->
|
|
133
|
-
<!-- </q-td>-->
|
|
134
|
-
<!-- </template>-->
|
|
135
|
-
|
|
136
|
-
<!-- <!– 插槽 –>-->
|
|
137
|
-
<!-- <template-->
|
|
138
|
-
<!-- v-for="slotName in slotNames"-->
|
|
139
|
-
<!-- v-slot:[slotName]="props"-->
|
|
140
|
-
<!-- >-->
|
|
141
|
-
<!-- <q-td :props="props">-->
|
|
142
|
-
<!-- <slot-->
|
|
143
|
-
<!-- :name="slotName"-->
|
|
144
|
-
<!-- v-bind="props"-->
|
|
145
|
-
<!-- />-->
|
|
146
|
-
<!-- </q-td>-->
|
|
147
|
-
<!-- </template>-->
|
|
148
|
-
|
|
149
|
-
<!-- <!– 合计 –>-->
|
|
150
|
-
<!-- <!–<template v-slot:bottom-row="props" v-if="tableSummary">–>-->
|
|
151
|
-
<!-- <!– <n-table-summary–>-->
|
|
152
|
-
<!-- <!– :props="props"–>-->
|
|
153
|
-
<!-- <!– :data="tableSummary"–>-->
|
|
154
|
-
<!-- <!– :selection="tableSelection"–>-->
|
|
155
|
-
<!-- <!– />–>-->
|
|
156
|
-
<!-- <!–</template>–>-->
|
|
157
|
-
|
|
158
|
-
<!-- <!– 翻页 –>-->
|
|
159
|
-
<!-- <template v-slot:pagination="props">-->
|
|
160
|
-
<!-- <n-table-pagination-->
|
|
161
|
-
<!-- :props="props"-->
|
|
162
|
-
<!-- :table-refresh="tableRefresh"-->
|
|
163
|
-
<!-- />-->
|
|
164
|
-
<!-- </template>-->
|
|
165
|
-
<!--</q-table>-->
|
|
166
|
-
<!--<q-card-section>-->
|
|
167
|
-
<!-- <div class="text-h6">Alert</div>-->
|
|
168
|
-
<!--</q-card-section>-->
|
|
169
|
-
|
|
170
|
-
<!--<q-card-section class="q-pt-none">-->
|
|
171
|
-
<!-- Lorem ipsum dolor sit amet consectetur adipisicing elit. Rerum repellendus sit voluptate voluptas eveniet porro. Rerum blanditiis perferendis totam, ea at omnis vel numquam exercitationem aut, natus minima, porro labore.-->
|
|
172
|
-
<!--</q-card-section>-->
|
|
173
|
-
|
|
174
|
-
<!--<q-card-actions align="right">-->
|
|
175
|
-
<!-- <q-btn flat label="OK" color="primary" v-close-popup />-->
|
|
176
|
-
<!--</q-card-actions>-->
|
|
177
|
-
</q-card>
|
|
178
|
-
</q-dialog>
|
|
100
|
+
<n-dialog
|
|
101
|
+
title="选择商品"
|
|
102
|
+
v-model="showDialog"
|
|
103
|
+
>
|
|
104
|
+
<q-page>
|
|
105
|
+
<n-table
|
|
106
|
+
page-status
|
|
107
|
+
@load="onPopupShow"
|
|
108
|
+
/>
|
|
109
|
+
</q-page>
|
|
110
|
+
</n-dialog>
|
|
179
111
|
</template>
|
|
180
112
|
|
|
181
113
|
<script>
|
|
182
|
-
import { ref, reactive, computed, watch, nextTick, onMounted } from 'vue'
|
|
183
|
-
import {
|
|
184
|
-
import NDialog from "../dialog";
|
|
114
|
+
import { ref, reactive, computed, provide, watch, nextTick, onMounted } from 'vue'
|
|
115
|
+
import { NFieldTableKey } from '../../utils/symbols'
|
|
185
116
|
|
|
186
117
|
export default {
|
|
187
118
|
|
|
@@ -189,7 +120,7 @@ export default {
|
|
|
189
120
|
* 标识
|
|
190
121
|
*/
|
|
191
122
|
name: 'NFieldTable',
|
|
192
|
-
|
|
123
|
+
|
|
193
124
|
/**
|
|
194
125
|
* 声明属性
|
|
195
126
|
*/
|
|
@@ -267,10 +198,18 @@ export default {
|
|
|
267
198
|
rowKey: props.rowKey,
|
|
268
199
|
// 选择类型, 可选值 single multiple none
|
|
269
200
|
selection: props.multiple ? 'multiple' : 'none',
|
|
270
|
-
// 关闭宫格
|
|
271
|
-
showGrid: false,
|
|
272
|
-
// 关闭可见列
|
|
273
|
-
showVisibleColumns: false,
|
|
201
|
+
// // 关闭宫格
|
|
202
|
+
// showGrid: false,
|
|
203
|
+
// // 关闭可见列
|
|
204
|
+
// showVisibleColumns: false,
|
|
205
|
+
})
|
|
206
|
+
|
|
207
|
+
// ==========【注入】============================================================================================
|
|
208
|
+
|
|
209
|
+
// 向后代注入数据
|
|
210
|
+
provide(NFieldTableKey, {
|
|
211
|
+
// 表格实例
|
|
212
|
+
$table,
|
|
274
213
|
})
|
|
275
214
|
|
|
276
215
|
// ==========【计算属性】=========================================================================================
|
|
@@ -285,6 +224,25 @@ export default {
|
|
|
285
224
|
return []
|
|
286
225
|
})
|
|
287
226
|
|
|
227
|
+
/**
|
|
228
|
+
* 获取表格列数据
|
|
229
|
+
*/
|
|
230
|
+
// const tableColumns = computed(function () {
|
|
231
|
+
//
|
|
232
|
+
// // 获取原始表格列数据
|
|
233
|
+
// const rawTableColumns = props.route
|
|
234
|
+
// // 如果有路由组件路径
|
|
235
|
+
// ? utils.$table.config(props.route, 'columns')
|
|
236
|
+
// // 否则为自定义表格列数据
|
|
237
|
+
// : props.columns
|
|
238
|
+
//
|
|
239
|
+
// // 如果有原始表格列数据
|
|
240
|
+
// return utils.isValidArray(rawTableColumns)
|
|
241
|
+
// // 克隆原始表格列数据
|
|
242
|
+
// ? _.cloneDeep(rawTableColumns)
|
|
243
|
+
// : []
|
|
244
|
+
// })
|
|
245
|
+
|
|
288
246
|
// ==========【监听数据】=========================================================================================
|
|
289
247
|
|
|
290
248
|
/**
|
|
@@ -301,40 +259,54 @@ export default {
|
|
|
301
259
|
*/
|
|
302
260
|
function getTableColumns() {
|
|
303
261
|
|
|
304
|
-
const columns = []
|
|
305
|
-
|
|
306
262
|
// 获取原始表格列数据
|
|
307
|
-
|
|
263
|
+
const rawTableColumns = props.route
|
|
308
264
|
// 如果有路由组件路径
|
|
309
265
|
? utils.$table.config(props.route, 'columns')
|
|
310
266
|
// 否则为自定义表格列数据
|
|
311
267
|
: props.columns
|
|
312
268
|
|
|
313
269
|
// 如果有原始表格列数据
|
|
314
|
-
|
|
315
|
-
|
|
270
|
+
return utils.isValidArray(rawTableColumns)
|
|
316
271
|
// 克隆原始表格列数据
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
272
|
+
? _.cloneDeep(rawTableColumns)
|
|
273
|
+
// 否则为空
|
|
274
|
+
: []
|
|
275
|
+
|
|
276
|
+
// const columns = []
|
|
277
|
+
//
|
|
278
|
+
// // 获取原始表格列数据
|
|
279
|
+
// let rawTableColumns = props.route
|
|
280
|
+
// // 如果有路由组件路径
|
|
281
|
+
// ? utils.$table.config(props.route, 'columns')
|
|
282
|
+
// // 否则为自定义表格列数据
|
|
283
|
+
// : props.columns
|
|
284
|
+
//
|
|
285
|
+
// // 如果有原始表格列数据
|
|
286
|
+
// if (utils.isValidArray(rawTableColumns)) {
|
|
287
|
+
//
|
|
288
|
+
// // 克隆原始表格列数据
|
|
289
|
+
// rawTableColumns = _.cloneDeep(rawTableColumns)
|
|
290
|
+
//
|
|
291
|
+
// // 快捷表格显示的属性名称数组
|
|
292
|
+
// utils.forEach(props.showKeys, function (key) {
|
|
293
|
+
// for (const item of rawTableColumns) {
|
|
294
|
+
// if (item.name === key) {
|
|
295
|
+
// // 删除搜索字段
|
|
296
|
+
// if (_.has(item, 'search')) {
|
|
297
|
+
// delete item.search
|
|
298
|
+
// }
|
|
299
|
+
// // 删除可见字段
|
|
300
|
+
// if (_.has(item, 'visible')) {
|
|
301
|
+
// delete item.visible
|
|
302
|
+
// }
|
|
303
|
+
// columns.push(item)
|
|
304
|
+
// }
|
|
305
|
+
// }
|
|
306
|
+
// })
|
|
307
|
+
// }
|
|
308
|
+
//
|
|
309
|
+
// return columns
|
|
338
310
|
}
|
|
339
311
|
|
|
340
312
|
/**
|
|
@@ -394,9 +366,7 @@ export default {
|
|
|
394
366
|
* 显示对话框
|
|
395
367
|
*/
|
|
396
368
|
function onDialog() {
|
|
397
|
-
|
|
398
369
|
showDialog.value = true
|
|
399
|
-
console.log('ssss')
|
|
400
370
|
}
|
|
401
371
|
|
|
402
372
|
// ==========【生命周期】=========================================================================================
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
</template>
|
|
21
21
|
|
|
22
22
|
<script>
|
|
23
|
-
import { provide } from 'vue'
|
|
23
|
+
import { provide, ref } from 'vue'
|
|
24
24
|
import { NLayoutKey } from '../../utils/symbols'
|
|
25
25
|
|
|
26
26
|
export default {
|
|
@@ -55,17 +55,40 @@ export default {
|
|
|
55
55
|
|
|
56
56
|
// ==========【注入】============================================================================================
|
|
57
57
|
|
|
58
|
+
const leftModelValue = ref(null)
|
|
59
|
+
const rightModelValue = ref(null)
|
|
60
|
+
|
|
58
61
|
// 布局数据
|
|
59
62
|
const data = {
|
|
60
63
|
// 左边侧滑菜单数据
|
|
61
64
|
left: {
|
|
62
65
|
// 是否显示
|
|
63
|
-
|
|
66
|
+
modelValue: leftModelValue,
|
|
67
|
+
// 是否显示切换按钮
|
|
68
|
+
showButton() {
|
|
69
|
+
return leftModelValue.value !== null
|
|
70
|
+
},
|
|
71
|
+
// 切换
|
|
72
|
+
toggle() {
|
|
73
|
+
if (leftModelValue.value !== null) {
|
|
74
|
+
leftModelValue.value = ! leftModelValue.value
|
|
75
|
+
}
|
|
76
|
+
},
|
|
64
77
|
},
|
|
65
78
|
// 右边侧滑菜单数据
|
|
66
79
|
right: {
|
|
67
80
|
// 是否显示
|
|
68
|
-
|
|
81
|
+
modelValue: rightModelValue,
|
|
82
|
+
// 是否显示切换按钮
|
|
83
|
+
showButton() {
|
|
84
|
+
return rightModelValue.value !== null
|
|
85
|
+
},
|
|
86
|
+
// 切换
|
|
87
|
+
toggle() {
|
|
88
|
+
if (rightModelValue.value !== null) {
|
|
89
|
+
rightModelValue.value = ! rightModelValue.value
|
|
90
|
+
}
|
|
91
|
+
},
|
|
69
92
|
},
|
|
70
93
|
// 权限数据
|
|
71
94
|
role: {},
|
|
@@ -74,22 +97,6 @@ export default {
|
|
|
74
97
|
// 上传器
|
|
75
98
|
uploader: [],
|
|
76
99
|
}
|
|
77
|
-
data.left.show = function() {
|
|
78
|
-
return data.left.data !== null ? data.left.data.value : false
|
|
79
|
-
}
|
|
80
|
-
data.left.toggle = function () {
|
|
81
|
-
if (data.left.data !== null) {
|
|
82
|
-
data.left.data.value = ! data.left.data.value
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
data.right.show = function() {
|
|
86
|
-
return data.right.data !== null ? data.right.data.value : false
|
|
87
|
-
}
|
|
88
|
-
data.right.toggle = function () {
|
|
89
|
-
if (data.right.data !== null) {
|
|
90
|
-
data.right.data.value = ! data.right.data.value
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
100
|
|
|
94
101
|
// 向后代注入数据
|
|
95
102
|
provide(NLayoutKey, {
|
|
@@ -21,7 +21,8 @@
|
|
|
21
21
|
:table-refresh="tableRefresh"
|
|
22
22
|
v-bind="toolbarProps"
|
|
23
23
|
header
|
|
24
|
-
|
|
24
|
+
>
|
|
25
|
+
</n-toolbar>
|
|
25
26
|
<!-- 左侧分类 -->
|
|
26
27
|
<n-drawer
|
|
27
28
|
side="left"
|
|
@@ -166,9 +167,11 @@
|
|
|
166
167
|
</template>
|
|
167
168
|
|
|
168
169
|
<script>
|
|
169
|
-
import { ref, onMounted, watch, computed } from 'vue'
|
|
170
|
+
import { ref, onMounted, watch, computed, inject } from 'vue'
|
|
170
171
|
import { useRoute } from 'vue-router'
|
|
171
172
|
|
|
173
|
+
import { NFieldTableKey } from '../../utils/symbols'
|
|
174
|
+
|
|
172
175
|
export default {
|
|
173
176
|
|
|
174
177
|
/**
|
|
@@ -236,6 +239,12 @@ export default {
|
|
|
236
239
|
*/
|
|
237
240
|
setup(props, { emit, slots }) {
|
|
238
241
|
|
|
242
|
+
// ==========【注入】============================================================================================
|
|
243
|
+
|
|
244
|
+
// 获取文本框表格注入
|
|
245
|
+
const $fieldTable = inject(NFieldTableKey)
|
|
246
|
+
const inFieldTable = !! $fieldTable
|
|
247
|
+
|
|
239
248
|
// ==========【数据】============================================================================================
|
|
240
249
|
|
|
241
250
|
// 树节点
|
|
@@ -264,7 +273,7 @@ export default {
|
|
|
264
273
|
}
|
|
265
274
|
|
|
266
275
|
// 创建表格
|
|
267
|
-
const $table = utils.$table.create(tableParams)
|
|
276
|
+
const $table = inFieldTable ? $fieldTable.$table : utils.$table.create(tableParams)
|
|
268
277
|
|
|
269
278
|
// ==========【计算属性】==========================================================================================
|
|
270
279
|
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
round
|
|
12
12
|
flat
|
|
13
13
|
@click="layoutData.left.toggle"
|
|
14
|
-
v-if="
|
|
14
|
+
v-if="layoutData.left.showButton()"
|
|
15
15
|
/>
|
|
16
16
|
|
|
17
17
|
<!-- 左边插槽 -->
|
|
@@ -99,6 +99,8 @@
|
|
|
99
99
|
</q-menu>
|
|
100
100
|
</q-btn>
|
|
101
101
|
|
|
102
|
+
<span>{{layoutData.right.data}}</span>
|
|
103
|
+
|
|
102
104
|
<!-- 右边按钮-->
|
|
103
105
|
<q-btn
|
|
104
106
|
:icon="rightIcon"
|
|
@@ -106,7 +108,7 @@
|
|
|
106
108
|
round
|
|
107
109
|
flat
|
|
108
110
|
@click="layoutData.right.toggle"
|
|
109
|
-
v-if="
|
|
111
|
+
v-if="layoutData.right.showButton()"
|
|
110
112
|
/>
|
|
111
113
|
</q-toolbar>
|
|
112
114
|
</container>
|
|
@@ -175,20 +177,11 @@ export default {
|
|
|
175
177
|
type: String,
|
|
176
178
|
default: 'format_list_bulleted',
|
|
177
179
|
},
|
|
178
|
-
// 默认隐藏左边(宽屏不显示, 小屏自动显示)
|
|
179
|
-
hiddenLeft: Boolean,
|
|
180
180
|
// 左边图标
|
|
181
181
|
rightIcon: {
|
|
182
182
|
type: String,
|
|
183
183
|
default: 'search',
|
|
184
184
|
},
|
|
185
|
-
// 是否请求权限按钮数据
|
|
186
|
-
getRoleBtn: {
|
|
187
|
-
type: Boolean,
|
|
188
|
-
default: true,
|
|
189
|
-
},
|
|
190
|
-
// 是否隐藏右边(宽屏不显示, 小屏自动显示)
|
|
191
|
-
hiddenRight: Boolean,
|
|
192
185
|
// 是否头部
|
|
193
186
|
header: Boolean,
|
|
194
187
|
},
|
package/package.json
CHANGED
package/utils/$table.js
CHANGED
|
@@ -307,6 +307,10 @@ function create(params) {
|
|
|
307
307
|
// 表格搜索数据值
|
|
308
308
|
const tableSearchValue = ref(firstTableSearchValue)
|
|
309
309
|
|
|
310
|
+
watch(tableSearchValue, function (val) {
|
|
311
|
+
console.log('tableSearchValue', val)
|
|
312
|
+
})
|
|
313
|
+
|
|
310
314
|
// 表格搜索参数
|
|
311
315
|
const tableSearchOptions = ref()
|
|
312
316
|
|
package/utils/symbols.js
CHANGED