br-dionysus 1.8.5 → 1.8.7

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.
Files changed (28) hide show
  1. package/README.md +341 -42
  2. package/dist/br-dionysus.es.js +7 -7
  3. package/dist/br-dionysus.umd.js +3 -3
  4. package/dist/index.css +1 -1
  5. package/dist/packages/Hook/useFormInline/useFormInline.d.ts +25 -0
  6. package/dist/packages/Hook/usePackageConfig/usePackageConfig.d.ts +1 -1
  7. package/dist/packages/MDialog/src/MDialog.vue.d.ts +1 -1
  8. package/dist/packages/MInputNumber/src/MInputNumber.vue.d.ts +2 -2
  9. package/dist/packages/MSelectTable/src/MSelectTable.vue.d.ts +2 -2
  10. package/dist/packages/MSelectTableV1/src/MSelectTableV1.vue.d.ts +3 -3
  11. package/dist/packages/MSelectV2/src/MSelectV2.vue.d.ts +1 -1
  12. package/dist/packages/MTableColumnSet/src/MTableColumnSet.vue.d.ts +1 -1
  13. package/dist/packages/Tool/slotsToData/slotsToData.d.ts +19 -0
  14. package/package.json +1 -1
  15. package/packages/Hook/useFormInline/README.md +45 -0
  16. package/packages/Hook/useFormInline/demo.vue +141 -0
  17. package/packages/Hook/useFormInline/useFormInline.ts +60 -0
  18. package/packages/Hook/usePackageConfig/usePackageConfig.ts +1 -1
  19. package/packages/Hook/useTableConfig/useTableConfig.ts +1 -1
  20. package/packages/MInline/docs/README.md +7 -6
  21. package/packages/MInline/docs/demo.vue +81 -13
  22. package/packages/MInputNumber/docs/demo.vue +42 -2
  23. package/packages/MInputNumber/src/MInputNumber.vue +7 -7
  24. package/packages/MTableSuper/src/MTableSuper.vue +1 -1
  25. package/packages/SkinConfig/src/useSkin.ts +2 -2
  26. package/packages/Tool/slotsToData/README.md +26 -0
  27. package/packages/Tool/slotsToData/slotsToData.ts +38 -0
  28. package/web-types.json +1 -1
package/README.md CHANGED
@@ -30,6 +30,8 @@
30
30
 
31
31
  + TabPage([标签页组件](#标签页组件))
32
32
 
33
+ + useFormInline([筛选项配置化-hook](#筛选项配置化-hook))
34
+
33
35
  + usePackageConfig([配置保存与获取-hook](#配置保存与获取-hook))
34
36
 
35
37
  + useRemainingSpace([计算获取剩余空间-hook](#计算获取剩余空间-hook))
@@ -310,38 +312,38 @@ const open3 = () => {
310
312
  </el-input>
311
313
  </el-form-item>
312
314
  <el-form-item
313
- label="编码"
314
- prop="code"
315
+ label="类型"
316
+ prop="type"
315
317
  data-item
316
318
  >
317
319
  <el-input
318
- v-model="formInline.code"
320
+ v-model="formInline.type"
319
321
  clearable
320
- placeholder="请输入编码"
322
+ placeholder="请输入类型"
321
323
  >
322
324
  </el-input>
323
325
  </el-form-item>
324
326
  <el-form-item
325
- label="角色名"
326
- prop="name"
327
+ label="地区"
328
+ prop="region"
327
329
  data-item
328
330
  >
329
331
  <el-input
330
- v-model="formInline.name"
332
+ v-model="formInline.region"
331
333
  clearable
332
- placeholder="请输入角色名"
334
+ placeholder="请输入地区"
333
335
  >
334
336
  </el-input>
335
337
  </el-form-item>
336
338
  <el-form-item
337
- label="时间"
338
- prop="time"
339
+ label="等级"
340
+ prop="level"
339
341
  data-item
340
342
  >
341
343
  <el-input
342
- v-model="formInline.time"
344
+ v-model="formInline.level"
343
345
  clearable
344
- placeholder="请输入时间"
346
+ placeholder="请输入等级"
345
347
  >
346
348
  </el-input>
347
349
  </el-form-item>
@@ -357,6 +359,42 @@ const open3 = () => {
357
359
  </el-button>
358
360
  </template>
359
361
  </m-inline>
362
+
363
+ <div
364
+ class="j-test"
365
+ data="xxx"
366
+ >
367
+ <p
368
+ class="j-p"
369
+ draggable="true"
370
+ >
371
+ 111
372
+ </p>
373
+ <p
374
+ class="j-p"
375
+ draggable="true"
376
+ >
377
+ 222
378
+ </p>
379
+ <p
380
+ class="j-p"
381
+ draggable="true"
382
+ >
383
+ 333
384
+ </p>
385
+ <p
386
+ class="j-p"
387
+ draggable="true"
388
+ >
389
+ 444
390
+ </p>
391
+ <p
392
+ class="j-p"
393
+ draggable="true"
394
+ >
395
+ 555
396
+ </p>
397
+ </div>
360
398
  </div>
361
399
  </template>
362
400
 
@@ -367,7 +405,39 @@ import { reactive } from 'vue'
367
405
  const formInline = reactive({
368
406
  name: '',
369
407
  code: '',
370
- time: ''
408
+ time: '',
409
+ type: '',
410
+ region: '',
411
+ level: ''
412
+ })
413
+
414
+ const dragstart = (keyName: string = '') => {
415
+ console.log('keyName', keyName)
416
+ }
417
+ const drop = (index: number) => {
418
+ console.log('index', index)
419
+ }
420
+ const dragover = (event: Event) => {
421
+ event.preventDefault()
422
+ }
423
+ const test = (keyName: string = '') => {
424
+ console.log('keyName', keyName)
425
+ }
426
+ setTimeout(() => {
427
+ const boxDom = document.querySelector('.j-test') as HTMLDivElement
428
+ boxDom.ondragover = dragover
429
+ const domNodeList: NodeList = document.querySelectorAll('.j-p')
430
+ const domList: HTMLElement[] = []
431
+ domNodeList.forEach(dom => domList.push(dom as HTMLElement))
432
+ for (let i = 0; i < domList.length; i++) {
433
+ const dom = domList[i]
434
+ if (!dom) continue
435
+
436
+ dom.draggable = true
437
+ dom.ondrop = () => drop(i)
438
+ dom.ondragstart = () => dragstart('item.props?.prop as string')
439
+ dom.onclick = () => test('item.props?.prop as string')
440
+ }
371
441
  })
372
442
  </script>
373
443
 
@@ -382,15 +452,16 @@ const formInline = reactive({
382
452
 
383
453
  ### 2) Attributes
384
454
 
385
- | 参数 | 说明 | 类型 | 可选值 | 默认值 |
386
- |----------|:-----:|:------:|:-------------------------:|:-------:|
387
- | minWidth | 列最小宽度 | number | - | 200 |
388
- | maxWidth | 列最大宽度 | number | - | 300 |
389
- | size | 组件尺寸 | enum | large \| default \| small | default |
455
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
456
+ |-----------|:-----:|:------:|:-------------------------:|:-------:|
457
+ | minWidth | 列最小宽度 | number | - | 200 |
458
+ | maxWidth | 列最大宽度 | number | - | 300 |
459
+ | size | 组件尺寸 | enum | large \| default \| small | default |
460
+ | configKey | 配置key | string | - | - |
390
461
 
391
462
  ### 2) Events
392
463
 
393
- | 方法名 | 说明 | 参数 |
464
+ | 事件名 | 说明 | 参数 |
394
465
  |--------|:----------------------:|:---------------:|
395
466
  | switch | 当切换展开与折叠模式时触发,返回当前展开状态 | unfold(boolean) |
396
467
 
@@ -407,14 +478,54 @@ const formInline = reactive({
407
478
 
408
479
  <template>
409
480
  <div class="g-demo-m-input-number-box">
410
- <m-input-number v-model="test"></m-input-number>
481
+ <m-input-number
482
+ v-model="test"
483
+ @input="numberInput"
484
+ @change="numberChange"
485
+ ></m-input-number>
486
+ <h5>对比组</h5>
487
+ <el-input-number
488
+ v-model="test2"
489
+ @input="numberInput2"
490
+ @change="numberChange2"
491
+ ></el-input-number>
411
492
  </div>
412
493
  </template>
413
494
 
414
495
  <script setup lang="ts">
415
- import { ref } from 'vue'
496
+ import { ref, watch } from 'vue'
416
497
 
417
498
  const test = ref<number>(0)
499
+ const numberInput = (val: number) => {
500
+ console.log('m1', val)
501
+ console.log('m2', test.value)
502
+ }
503
+ const numberChange = (val: number) => {
504
+ console.log('m3', val)
505
+ console.log('m4', test.value)
506
+ }
507
+ watch(
508
+ () => test.value,
509
+ () => {
510
+ console.log('m5', test.value)
511
+ }
512
+ )
513
+
514
+ const test2 = ref<number>(0)
515
+ const numberInput2 = (val: number) => {
516
+ console.log('e1', val)
517
+ console.log('e2', test2.value)
518
+ }
519
+ const numberChange2 = (val: number) => {
520
+ console.log('e3', val)
521
+ console.log('e4', test2.value)
522
+ }
523
+ watch(
524
+ () => test2.value,
525
+ () => {
526
+ console.log('e5', test2.value)
527
+ }
528
+ )
418
529
  </script>
419
530
 
420
531
  <style scoped>
@@ -2646,6 +2757,8 @@ const list = ref<{ name: string, className: string }[]>([
2646
2757
 
2647
2758
  ## Hook列表
2648
2759
 
2760
+ + useFormInline([筛选项配置化-hook](#筛选项配置化-hook))
2761
+
2649
2762
  + usePackageConfig([配置保存与获取-hook](#配置保存与获取-hook))
2650
2763
 
2651
2764
  + useRemainingSpace([计算获取剩余空间-hook](#计算获取剩余空间-hook))
@@ -2659,6 +2772,51 @@ const list = ref<{ name: string, className: string }[]>([
2659
2772
 
2660
2773
 
2661
2774
 
2775
+ 筛选项配置化 hook
2776
+ =================
2777
+
2778
+ ### 1) 基础用法
2779
+
2780
+
2781
+
2782
+ ### 2) 所需参数
2783
+
2784
+ | 名称 | 描述 | 类型 | 可选值 | 默认值 |
2785
+ |-----------|---------------|---------------------------------|:---:|:----:|
2786
+ | configKey | 当前配置标识,即唯一key | string | - | '' |
2787
+ | data | 筛选条件关联key map | <T extends Record<string, any>> | - | - |
2788
+ | isConfig | 是否开启配置 | boolean | - | true |
2789
+
2790
+ ### 2) 返回值
2791
+
2792
+ | 名称 | 描述 | 类型 |
2793
+ |----|-----|------------------------------------|
2794
+ | - | 返回值 | UseFormInlineReturnType<T> \| void |
2795
+
2796
+ #### 2.1) UseFormInlineReturnType
2797
+
2798
+ | 名称 | 描述 | 类型 |
2799
+ |-----------------|---------------|------------|
2800
+ | \[K in keyof T] | 筛选条件关联key map | T\[K] |
2801
+ | reset | 重置方法 | () => void |
2802
+
2803
+ ### 3) 配置结构 FormInlineConfigType<T>
2804
+
2805
+ | 名称 | 描述 | 类型 |
2806
+ |--------------|------|---------|
2807
+ | sort | 排序 | number |
2808
+ | defaultValue | 默认值 | any |
2809
+ | show | 是否显示 | boolean |
2810
+
2811
+
2812
+
2813
+
2814
+
2815
+
2816
+
2817
+
2818
+
2819
+
2662
2820
  配置保存与获取 hook
2663
2821
  =================
2664
2822
 
@@ -2855,6 +3013,8 @@ const list = ref<{ name: string, className: string }[]>([
2855
3013
  + createHash([](#))
2856
3014
 
2857
3015
  + moneyFormat([](#))
3016
+
3017
+ + slotsToData([](#))
2858
3018
 
2859
3019
 
2860
3020
  对话框
@@ -3126,38 +3286,38 @@ const open3 = () => {
3126
3286
  </el-input>
3127
3287
  </el-form-item>
3128
3288
  <el-form-item
3129
- label="编码"
3130
- prop="code"
3289
+ label="类型"
3290
+ prop="type"
3131
3291
  data-item
3132
3292
  >
3133
3293
  <el-input
3134
- v-model="formInline.code"
3294
+ v-model="formInline.type"
3135
3295
  clearable
3136
- placeholder="请输入编码"
3296
+ placeholder="请输入类型"
3137
3297
  >
3138
3298
  </el-input>
3139
3299
  </el-form-item>
3140
3300
  <el-form-item
3141
- label="角色名"
3142
- prop="name"
3301
+ label="地区"
3302
+ prop="region"
3143
3303
  data-item
3144
3304
  >
3145
3305
  <el-input
3146
- v-model="formInline.name"
3306
+ v-model="formInline.region"
3147
3307
  clearable
3148
- placeholder="请输入角色名"
3308
+ placeholder="请输入地区"
3149
3309
  >
3150
3310
  </el-input>
3151
3311
  </el-form-item>
3152
3312
  <el-form-item
3153
- label="时间"
3154
- prop="time"
3313
+ label="等级"
3314
+ prop="level"
3155
3315
  data-item
3156
3316
  >
3157
3317
  <el-input
3158
- v-model="formInline.time"
3318
+ v-model="formInline.level"
3159
3319
  clearable
3160
- placeholder="请输入时间"
3320
+ placeholder="请输入等级"
3161
3321
  >
3162
3322
  </el-input>
3163
3323
  </el-form-item>
@@ -3173,6 +3333,42 @@ const open3 = () => {
3173
3333
  </el-button>
3174
3334
  </template>
3175
3335
  </m-inline>
3336
+
3337
+ <div
3338
+ class="j-test"
3339
+ data="xxx"
3340
+ >
3341
+ <p
3342
+ class="j-p"
3343
+ draggable="true"
3344
+ >
3345
+ 111
3346
+ </p>
3347
+ <p
3348
+ class="j-p"
3349
+ draggable="true"
3350
+ >
3351
+ 222
3352
+ </p>
3353
+ <p
3354
+ class="j-p"
3355
+ draggable="true"
3356
+ >
3357
+ 333
3358
+ </p>
3359
+ <p
3360
+ class="j-p"
3361
+ draggable="true"
3362
+ >
3363
+ 444
3364
+ </p>
3365
+ <p
3366
+ class="j-p"
3367
+ draggable="true"
3368
+ >
3369
+ 555
3370
+ </p>
3371
+ </div>
3176
3372
  </div>
3177
3373
  </template>
3178
3374
 
@@ -3183,7 +3379,39 @@ import { reactive } from 'vue'
3183
3379
  const formInline = reactive({
3184
3380
  name: '',
3185
3381
  code: '',
3186
- time: ''
3382
+ time: '',
3383
+ type: '',
3384
+ region: '',
3385
+ level: ''
3386
+ })
3387
+
3388
+ const dragstart = (keyName: string = '') => {
3389
+ console.log('keyName', keyName)
3390
+ }
3391
+ const drop = (index: number) => {
3392
+ console.log('index', index)
3393
+ }
3394
+ const dragover = (event: Event) => {
3395
+ event.preventDefault()
3396
+ }
3397
+ const test = (keyName: string = '') => {
3398
+ console.log('keyName', keyName)
3399
+ }
3400
+ setTimeout(() => {
3401
+ const boxDom = document.querySelector('.j-test') as HTMLDivElement
3402
+ boxDom.ondragover = dragover
3403
+ const domNodeList: NodeList = document.querySelectorAll('.j-p')
3404
+ const domList: HTMLElement[] = []
3405
+ domNodeList.forEach(dom => domList.push(dom as HTMLElement))
3406
+ for (let i = 0; i < domList.length; i++) {
3407
+ const dom = domList[i]
3408
+ if (!dom) continue
3409
+
3410
+ dom.draggable = true
3411
+ dom.ondrop = () => drop(i)
3412
+ dom.ondragstart = () => dragstart('item.props?.prop as string')
3413
+ dom.onclick = () => test('item.props?.prop as string')
3414
+ }
3187
3415
  })
3188
3416
  </script>
3189
3417
 
@@ -3198,15 +3426,16 @@ const formInline = reactive({
3198
3426
 
3199
3427
  ### 2) Attributes
3200
3428
 
3201
- | 参数 | 说明 | 类型 | 可选值 | 默认值 |
3202
- |----------|:-----:|:------:|:-------------------------:|:-------:|
3203
- | minWidth | 列最小宽度 | number | - | 200 |
3204
- | maxWidth | 列最大宽度 | number | - | 300 |
3205
- | size | 组件尺寸 | enum | large \| default \| small | default |
3429
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
3430
+ |-----------|:-----:|:------:|:-------------------------:|:-------:|
3431
+ | minWidth | 列最小宽度 | number | - | 200 |
3432
+ | maxWidth | 列最大宽度 | number | - | 300 |
3433
+ | size | 组件尺寸 | enum | large \| default \| small | default |
3434
+ | configKey | 配置key | string | - | - |
3206
3435
 
3207
3436
  ### 2) Events
3208
3437
 
3209
- | 方法名 | 说明 | 参数 |
3438
+ | 事件名 | 说明 | 参数 |
3210
3439
  |--------|:----------------------:|:---------------:|
3211
3440
  | switch | 当切换展开与折叠模式时触发,返回当前展开状态 | unfold(boolean) |
3212
3441
 
@@ -3223,14 +3452,54 @@ const formInline = reactive({
3223
3452
 
3224
3453
  <template>
3225
3454
  <div class="g-demo-m-input-number-box">
3226
- <m-input-number v-model="test"></m-input-number>
3455
+ <m-input-number
3456
+ v-model="test"
3457
+ @input="numberInput"
3458
+ @change="numberChange"
3459
+ ></m-input-number>
3460
+ <h5>对比组</h5>
3461
+ <el-input-number
3462
+ v-model="test2"
3463
+ @input="numberInput2"
3464
+ @change="numberChange2"
3465
+ ></el-input-number>
3227
3466
  </div>
3228
3467
  </template>
3229
3468
 
3230
3469
  <script setup lang="ts">
3231
- import { ref } from 'vue'
3470
+ import { ref, watch } from 'vue'
3232
3471
 
3233
3472
  const test = ref<number>(0)
3473
+ const numberInput = (val: number) => {
3474
+ console.log('m1', val)
3475
+ console.log('m2', test.value)
3476
+ }
3477
+ const numberChange = (val: number) => {
3478
+ console.log('m3', val)
3479
+ console.log('m4', test.value)
3480
+ }
3481
+ watch(
3482
+ () => test.value,
3483
+ () => {
3484
+ console.log('m5', test.value)
3485
+ }
3486
+ )
3487
+
3488
+ const test2 = ref<number>(0)
3489
+ const numberInput2 = (val: number) => {
3490
+ console.log('e1', val)
3491
+ console.log('e2', test2.value)
3492
+ }
3493
+ const numberChange2 = (val: number) => {
3494
+ console.log('e3', val)
3495
+ console.log('e4', test2.value)
3496
+ }
3497
+ watch(
3498
+ () => test2.value,
3499
+ () => {
3500
+ console.log('e5', test2.value)
3501
+ }
3502
+ )
3234
3503
  </script>
3235
3504
 
3236
3505
  <style scoped>
@@ -5533,3 +5802,33 @@ const list = ref<{ name: string, className: string }[]>([
5533
5802
  | repairZero | 末尾补到几位零 | number | - |
5534
5803
 
5535
5804
 
5805
+
5806
+
5807
+ ## vue3的slots转json
5808
+
5809
+ ### 1) 参数
5810
+
5811
+ | 参数 | 描述 | 类型 | 默认值 |
5812
+ |-------|-------------|--------|-----------|
5813
+ | slots | vue的slots对象 | Slots | - |
5814
+ | name | 插槽名 | string | 'default' |
5815
+
5816
+ ### 2) 返参
5817
+
5818
+ | 参数 | 描述 | 类型 | 默认值 |
5819
+ |----|--------------|-------------------|-----|
5820
+ | - | 格式化后的slots数据 | SlotsToDataReturn | [] |
5821
+
5822
+ #### 2.1) SlotsToDataReturn
5823
+ | 参数 | 描述 | 类型 | 默认值 |
5824
+ |-------------------|--------------|-------------------------|-----|
5825
+ | SlotsToDataReturn | 格式化后的slots数据 | SlotsToDataReturnItem[] | [] |
5826
+
5827
+ #### 2.1) SlotsToDataReturn
5828
+ | 参数 | 描述 | 类型 | 默认值 |
5829
+ |----------|---------------|-----------------------------|-----|
5830
+ | name | 标签名 | string | - |
5831
+ | props | 组件标签上的props参数 | Record<string, any> \| null | - |
5832
+ | children | 子级 | SlotsToDataReturnItem[] | - |
5833
+
5834
+
@@ -253,11 +253,9 @@ const wl = (e) => (ml("data-v-aa54745e"), e = e(), gl(), e), Bc = { class: "g-bo
253
253
  };
254
254
  o.vSize = g[n.size], o.isTableMini = n.size === "table-mini";
255
255
  }, u = () => {
256
- setTimeout(() => {
257
- if (o.vValue === void 0)
258
- return l("update:modelValue", null), !1;
259
- l("update:modelValue", o.vValue);
260
- });
256
+ if (o.vValue === void 0)
257
+ return l("update:modelValue", null), !1;
258
+ l("update:modelValue", o.vValue);
261
259
  }, c = (g) => {
262
260
  setTimeout(() => {
263
261
  u(), l("change", g);
@@ -309,7 +307,7 @@ const wl = (e) => (ml("data-v-aa54745e"), e = e(), gl(), e), Bc = { class: "g-bo
309
307
  ], 8, Qc);
310
308
  };
311
309
  }
312
- }), ri = /* @__PURE__ */ _t(td, [["__scopeId", "data-v-774e3dfc"]]), Fl = {
310
+ }), ri = /* @__PURE__ */ _t(td, [["__scopeId", "data-v-f5462354"]]), Fl = {
313
311
  install(e) {
314
312
  e.component("MInputNumber", ri);
315
313
  }
@@ -12930,7 +12928,9 @@ const MC = { class: "g-box g-select-table-box" }, PC = {
12930
12928
  ...c.labelClassName ? { headerClass: c.labelClassName } : {},
12931
12929
  ...c.minWidth ? { minWidth: c.minWidth || c.width } : {},
12932
12930
  ...c.width || c.minWidth ? { width: c.width || c.minWidth || 100 } : {}
12933
- })))(l(n)), s = _((t == null ? void 0 : t.data) || []), i = O(() => {
12931
+ })))(l(n));
12932
+ console.log("tableColumn", a);
12933
+ const s = _((t == null ? void 0 : t.data) || []), i = O(() => {
12934
12934
  var u;
12935
12935
  return ((u = s.value) == null ? void 0 : u.length) > JC;
12936
12936
  });