@netang/quasar 0.0.36 → 0.0.39

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.
@@ -81,9 +81,9 @@
81
81
  no-refocus
82
82
  no-focus
83
83
  fit
84
- @focus="onPopupFocus"
84
+ @focus="onFieldFocus"
85
85
  @show="onPopupShow"
86
- @before-hide="onPopupBeforeHide"
86
+ @before-hide="showPopup = false"
87
87
  v-if="! readonly"
88
88
  >
89
89
  <q-card>
@@ -96,10 +96,10 @@
96
96
  :nodes="nodes"
97
97
  :node-key="nodeKey"
98
98
  :label-key="labelKey"
99
+ :ticked="treeTicked"
100
+ @update:ticked="emitModelValue"
99
101
  v-model:expanded="treeExpanded"
100
102
  :tick-strategy="currentTickStrategy"
101
- :ticked="treeTicked"
102
- @update:ticked="onUpdateTicked"
103
103
  :accordion="accordion"
104
104
  >
105
105
  <template v-slot:default-header="{ node }">
@@ -214,15 +214,15 @@ export default {
214
214
  // 树节点
215
215
  const treeRef = ref(null)
216
216
 
217
- // 树选择数据
218
- const treeTicked = ref(formatModelValue())
219
-
220
217
  // tree all
221
218
  let treeAll = getTreeAll()
222
219
 
223
220
  // 树展开数据
224
221
  const treeExpanded = ref(getExpanded())
225
222
 
223
+ // 树选择数据
224
+ const treeTicked = ref(formatModelValue(props.modelValue))
225
+
226
226
  // ==========【计算属性】=========================================================================================
227
227
 
228
228
  /**
@@ -260,7 +260,7 @@ export default {
260
260
  /**
261
261
  * 监听节点数组
262
262
  */
263
- watch(()=>props.nodes, function () {
263
+ watch(() => props.nodes, function () {
264
264
  // 更新 tree all
265
265
  treeAll = getTreeAll()
266
266
  })
@@ -268,10 +268,10 @@ export default {
268
268
  /**
269
269
  * 监听声明值
270
270
  */
271
- watch(()=>props.modelValue, function() {
271
+ watch(() => props.modelValue, function(val) {
272
272
 
273
273
  // 设置选中数据
274
- treeTicked.value = formatModelValue()
274
+ treeTicked.value = formatModelValue(val)
275
275
 
276
276
  // 设置输入框焦点
277
277
  setInputFocus()
@@ -377,25 +377,27 @@ export default {
377
377
  /**
378
378
  * 格式化传值
379
379
  */
380
- function formatModelValue() {
380
+ function formatModelValue(val) {
381
+
382
+ // 如果是多选
381
383
  if (props.multiple) {
382
- if (utils.isValidArray(props.modelValue)) {
383
- return props.modelValue
384
- }
385
- return []
384
+ return utils.isValidArray(val) ? val : []
386
385
  }
387
386
 
388
- if (utils.isRequired(props.modelValue)) {
389
- return [props.modelValue]
387
+ // 如果为有效值
388
+ if (utils.isRequired(val)) {
389
+ return [ val ]
390
390
  }
391
391
 
392
392
  return []
393
393
  }
394
394
 
395
395
  /**
396
- * 更新选择树数据回调
396
+ * 触发更新值
397
397
  */
398
- function onUpdateTicked(val) {
398
+ function emitModelValue(val) {
399
+
400
+ // 触发更新值
399
401
  emit('update:modelValue', val)
400
402
  }
401
403
 
@@ -409,23 +411,32 @@ export default {
409
411
 
410
412
  // 如果是父节点
411
413
  if (utils.isValidArray(children)) {
414
+
412
415
  // 则无任何操作
413
416
  return
414
417
  }
415
418
 
416
- const newTicked = [...treeTicked.value]
419
+ // 克隆已选树数据
420
+ const _ticked = [...treeTicked.value]
421
+
422
+ // 获取值在树数据中的索引
423
+ const index = utils.indexOf(_ticked, id)
417
424
 
418
425
  // 如果在数据中
419
- const index = utils.indexOf(newTicked, id)
420
426
  if (index > -1) {
421
- newTicked.splice(index, 1)
427
+ // 则删除
428
+ _ticked.splice(index, 1)
429
+ // 否则
422
430
  } else {
423
- newTicked.push(id)
431
+ // 添加
432
+ _ticked.push(id)
424
433
  }
425
434
 
435
+ // 触发更新值
426
436
  // 设置树选择数据
427
- emit('update:modelValue', newTicked)
437
+ emitModelValue(_ticked)
428
438
 
439
+ // 否则是单选
429
440
  } else {
430
441
 
431
442
  if (
@@ -438,8 +449,9 @@ export default {
438
449
  return
439
450
  }
440
451
 
452
+ // 触发更新值
441
453
  // 设置树选择数据
442
- emit('update:modelValue', id)
454
+ emitModelValue(id)
443
455
 
444
456
  // 则停止冒泡
445
457
  e.preventDefault()
@@ -451,12 +463,19 @@ export default {
451
463
  }
452
464
 
453
465
  /**
454
- * 移除单个
466
+ * 移除单个节点
455
467
  */
456
468
  function onRemoveItem(index) {
457
- const newValue = [...treeTicked.value]
458
- newValue.splice(index, 1)
459
- emit('update:modelValue', newValue)
469
+
470
+ // 克隆已选树数据
471
+ const _ticked = [...treeTicked.value]
472
+
473
+ // 删除该节点
474
+ _ticked.splice(index, 1)
475
+
476
+ // 触发更新值
477
+ // 设置树选择数据
478
+ emitModelValue(_ticked)
460
479
  }
461
480
 
462
481
  /**
@@ -497,27 +516,14 @@ export default {
497
516
  */
498
517
  function onFieldClear() {
499
518
 
500
- // 更新值
501
- emit('update:modelValue', props.multiple ? [] : null)
519
+ // 触发更新值
520
+ // 清空树数据
521
+ emitModelValue(props.multiple ? [] : null)
502
522
 
503
523
  // 隐藏弹出层
504
524
  popupRef.value.hide()
505
525
  }
506
526
 
507
- /**
508
- * 弹出层获取焦点触发
509
- */
510
- function onPopupFocus(e) {
511
-
512
- // 停止冒泡
513
- e.stopPropagation()
514
-
515
- // 设置输入框焦点
516
- setInputFocus()
517
-
518
- window.scrollTo(window.pageXOffset || window.scrollX || document.body.scrollLeft || 0, 0)
519
- }
520
-
521
527
  /**
522
528
  * 弹出层显示回调
523
529
  */
@@ -530,15 +536,6 @@ export default {
530
536
  setInputFocus()
531
537
  }
532
538
 
533
- /**
534
- * 弹出层隐藏前显示回调
535
- */
536
- function onPopupBeforeHide() {
537
-
538
- // 隐藏弹出层
539
- showPopup.value = false
540
- }
541
-
542
539
  /**
543
540
  * 设置输入框文字选中
544
541
  */
@@ -604,8 +601,8 @@ export default {
604
601
  // 当前节点选择策略
605
602
  currentTickStrategy,
606
603
 
607
- // 更新选择树数据回调
608
- onUpdateTicked,
604
+ // 触发更新值
605
+ emitModelValue,
609
606
  // 点击节点
610
607
  onNode,
611
608
  // 移除单个
@@ -618,12 +615,8 @@ export default {
618
615
  // 字段清空触发
619
616
  onFieldClear,
620
617
 
621
- // 弹出层获取焦点触发
622
- onPopupFocus,
623
618
  // 弹出层显示回调
624
619
  onPopupShow,
625
- // 弹出层隐藏前显示回调
626
- onPopupBeforeHide,
627
620
  }
628
621
  },
629
622
  }
@@ -35,9 +35,9 @@ export default {
35
35
  // 值是否为数组
36
36
  valueArray: Boolean,
37
37
  // 修改前值
38
- formatBefore: [Function, Object, Boolean],
38
+ formatBefore: [ Function, Object, Boolean ],
39
39
  // 修改后值
40
- formatAfter: [Function, Object, Boolean],
40
+ formatAfter: [ Function, Object, Boolean ],
41
41
  },
42
42
 
43
43
  /**
@@ -72,8 +72,14 @@ export default {
72
72
  /**
73
73
  * 监听声明值
74
74
  */
75
- watch(()=>props.modelValue, function (val) {
75
+ watch(() => props.modelValue, function (val) {
76
+
77
+ // 格式化声明值
76
78
  currentValue.value = formatModelValue(val)
79
+
80
+ }, {
81
+ // 深度监听
82
+ deep: true,
77
83
  })
78
84
 
79
85
  // ==========【方法】=============================================================================================
@@ -160,8 +166,6 @@ export default {
160
166
  */
161
167
  function formatStringValue(val, params, valueArray) {
162
168
 
163
- console.log(val, params, valueArray)
164
-
165
169
  const o = Object.assign({
166
170
  // 替换内容
167
171
  replace: /\n|\,|\s+/g,
@@ -283,7 +283,8 @@ export default {
283
283
  // 如果当前值 !== 声明值
284
284
  const rawModelValue = formatToModelValue(currentValue.value)
285
285
  if (rawModelValue !== props.modelValue) {
286
- // 则更新值
286
+
287
+ // 触发更新值
287
288
  emitModelValue(rawModelValue)
288
289
  }
289
290
 
@@ -292,7 +293,7 @@ export default {
292
293
  /**
293
294
  * 监听声明值
294
295
  */
295
- watch(()=>props.modelValue, function (val) {
296
+ watch(() => props.modelValue, function (val) {
296
297
 
297
298
  // 格式化为当前值
298
299
  val = formatToCurrentValue(val, true)
@@ -325,10 +326,11 @@ export default {
325
326
  // ==========【方法】=============================================================================================
326
327
 
327
328
  /**
328
- * 更新值
329
+ * 触发更新值
329
330
  */
330
331
  function emitModelValue(val) {
331
- // 更新值
332
+
333
+ // 触发更新值
332
334
  emit('update:modelValue', val)
333
335
  }
334
336
 
@@ -457,7 +459,7 @@ export default {
457
459
  // 将当前值转为声明值
458
460
  val = formatToModelValue(val)
459
461
 
460
- // 更新值
462
+ // 触发更新值
461
463
  emitModelValue(val)
462
464
 
463
465
  // 失去焦点触发
@@ -485,7 +487,7 @@ export default {
485
487
  // 更新当前值
486
488
  currentValue.value = val
487
489
 
488
- // 更新值
490
+ // 触发更新值
489
491
  emitModelValue(formatToModelValue(val))
490
492
  }
491
493
  }
@@ -352,7 +352,7 @@ export default {
352
352
  if (utils.isValidObject(res)) {
353
353
 
354
354
  // 设置表格传参
355
- $table.tableQuery.value = res
355
+ $table.setQuery(res)
356
356
 
357
357
  // 表格重新加载
358
358
  $table.tableReload()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@netang/quasar",
3
- "version": "0.0.36",
3
+ "version": "0.0.39",
4
4
  "description": "netang-quasar",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"
package/sass/var.scss ADDED
@@ -0,0 +1,141 @@
1
+ // ==========【quasar 重定义】=====================================================================================================
2
+
3
+ $primary : #4380fa;
4
+ $secondary : #19be6b;
5
+ $accent : #9C27B0;
6
+
7
+ $dark : #27282e;
8
+ $dark-page : #1b1c21;
9
+
10
+ $positive : #19be6b;
11
+ $negative : #ff3750;
12
+ $info : #2db7f5;
13
+ $warning : #ff9900;
14
+
15
+ //$shadow-color : #000000 !default;
16
+ //$elevation-umbra : rgba($shadow-color, 0.1) !default;
17
+ //$elevation-penumbra : rgba($shadow-color, 0.1) !default;
18
+ //$elevation-ambient : rgba($shadow-color, 0.1) !default;
19
+
20
+ // 按钮紧凑内边距
21
+ $button-dense-padding: 0.285em 16px !important;
22
+
23
+ // ==========【自定义】=====================================================================================================
24
+
25
+ $color-gray-dark: $dark-page;
26
+ $color-gray-white: #ffffff;
27
+
28
+ $color-gray-99: mix($color-gray-dark, $color-gray-white, 99%);
29
+ $color-gray-98: mix($color-gray-dark, $color-gray-white, 98%);
30
+ $color-gray-97: mix($color-gray-dark, $color-gray-white, 97%);
31
+ $color-gray-96: mix($color-gray-dark, $color-gray-white, 96%);
32
+ $color-gray-95: mix($color-gray-dark, $color-gray-white, 95%);
33
+ $color-gray-94: mix($color-gray-dark, $color-gray-white, 94%);
34
+ $color-gray-93: mix($color-gray-dark, $color-gray-white, 93%);
35
+ $color-gray-92: mix($color-gray-dark, $color-gray-white, 92%);
36
+ $color-gray-91: mix($color-gray-dark, $color-gray-white, 91%);
37
+ $color-gray-90: mix($color-gray-dark, $color-gray-white, 90%);
38
+ $color-gray-89: mix($color-gray-dark, $color-gray-white, 89%);
39
+ $color-gray-88: mix($color-gray-dark, $color-gray-white, 88%);
40
+ $color-gray-87: mix($color-gray-dark, $color-gray-white, 87%);
41
+ $color-gray-86: mix($color-gray-dark, $color-gray-white, 86%);
42
+ $color-gray-85: mix($color-gray-dark, $color-gray-white, 85%);
43
+ $color-gray-84: mix($color-gray-dark, $color-gray-white, 84%);
44
+ $color-gray-83: mix($color-gray-dark, $color-gray-white, 83%);
45
+ $color-gray-82: mix($color-gray-dark, $color-gray-white, 82%);
46
+ $color-gray-81: mix($color-gray-dark, $color-gray-white, 81%);
47
+ $color-gray-80: mix($color-gray-dark, $color-gray-white, 80%);
48
+ $color-gray-79: mix($color-gray-dark, $color-gray-white, 79%);
49
+ $color-gray-78: mix($color-gray-dark, $color-gray-white, 78%);
50
+ $color-gray-77: mix($color-gray-dark, $color-gray-white, 77%);
51
+ $color-gray-76: mix($color-gray-dark, $color-gray-white, 76%);
52
+ $color-gray-75: mix($color-gray-dark, $color-gray-white, 75%);
53
+ $color-gray-74: mix($color-gray-dark, $color-gray-white, 74%);
54
+ $color-gray-73: mix($color-gray-dark, $color-gray-white, 73%);
55
+ $color-gray-72: mix($color-gray-dark, $color-gray-white, 72%);
56
+ $color-gray-71: mix($color-gray-dark, $color-gray-white, 71%);
57
+ $color-gray-70: mix($color-gray-dark, $color-gray-white, 70%);
58
+ $color-gray-69: mix($color-gray-dark, $color-gray-white, 69%);
59
+ $color-gray-68: mix($color-gray-dark, $color-gray-white, 68%);
60
+ $color-gray-67: mix($color-gray-dark, $color-gray-white, 67%);
61
+ $color-gray-66: mix($color-gray-dark, $color-gray-white, 66%);
62
+ $color-gray-65: mix($color-gray-dark, $color-gray-white, 65%);
63
+ $color-gray-64: mix($color-gray-dark, $color-gray-white, 64%);
64
+ $color-gray-63: mix($color-gray-dark, $color-gray-white, 63%);
65
+ $color-gray-62: mix($color-gray-dark, $color-gray-white, 62%);
66
+ $color-gray-61: mix($color-gray-dark, $color-gray-white, 61%);
67
+ $color-gray-60: mix($color-gray-dark, $color-gray-white, 60%);
68
+ $color-gray-59: mix($color-gray-dark, $color-gray-white, 59%);
69
+ $color-gray-58: mix($color-gray-dark, $color-gray-white, 58%);
70
+ $color-gray-57: mix($color-gray-dark, $color-gray-white, 57%);
71
+ $color-gray-56: mix($color-gray-dark, $color-gray-white, 56%);
72
+ $color-gray-55: mix($color-gray-dark, $color-gray-white, 55%);
73
+ $color-gray-54: mix($color-gray-dark, $color-gray-white, 54%);
74
+ $color-gray-53: mix($color-gray-dark, $color-gray-white, 53%);
75
+ $color-gray-52: mix($color-gray-dark, $color-gray-white, 52%);
76
+ $color-gray-51: mix($color-gray-dark, $color-gray-white, 51%);
77
+ $color-gray-50: mix($color-gray-dark, $color-gray-white, 50%);
78
+ $color-gray-49: mix($color-gray-dark, $color-gray-white, 49%);
79
+ $color-gray-48: mix($color-gray-dark, $color-gray-white, 48%);
80
+ $color-gray-47: mix($color-gray-dark, $color-gray-white, 47%);
81
+ $color-gray-46: mix($color-gray-dark, $color-gray-white, 46%);
82
+ $color-gray-45: mix($color-gray-dark, $color-gray-white, 45%);
83
+ $color-gray-44: mix($color-gray-dark, $color-gray-white, 44%);
84
+ $color-gray-43: mix($color-gray-dark, $color-gray-white, 43%);
85
+ $color-gray-42: mix($color-gray-dark, $color-gray-white, 42%);
86
+ $color-gray-41: mix($color-gray-dark, $color-gray-white, 41%);
87
+ $color-gray-40: mix($color-gray-dark, $color-gray-white, 40%);
88
+ $color-gray-39: mix($color-gray-dark, $color-gray-white, 39%);
89
+ $color-gray-38: mix($color-gray-dark, $color-gray-white, 38%);
90
+ $color-gray-37: mix($color-gray-dark, $color-gray-white, 37%);
91
+ $color-gray-36: mix($color-gray-dark, $color-gray-white, 36%);
92
+ $color-gray-35: mix($color-gray-dark, $color-gray-white, 35%);
93
+ $color-gray-34: mix($color-gray-dark, $color-gray-white, 34%);
94
+ $color-gray-33: mix($color-gray-dark, $color-gray-white, 33%);
95
+ $color-gray-32: mix($color-gray-dark, $color-gray-white, 32%);
96
+ $color-gray-31: mix($color-gray-dark, $color-gray-white, 31%);
97
+ $color-gray-30: mix($color-gray-dark, $color-gray-white, 30%);
98
+ $color-gray-29: mix($color-gray-dark, $color-gray-white, 29%);
99
+ $color-gray-28: mix($color-gray-dark, $color-gray-white, 28%);
100
+ $color-gray-27: mix($color-gray-dark, $color-gray-white, 27%);
101
+ $color-gray-26: mix($color-gray-dark, $color-gray-white, 26%);
102
+ $color-gray-25: mix($color-gray-dark, $color-gray-white, 25%);
103
+ $color-gray-24: mix($color-gray-dark, $color-gray-white, 24%);
104
+ $color-gray-23: mix($color-gray-dark, $color-gray-white, 23%);
105
+ $color-gray-22: mix($color-gray-dark, $color-gray-white, 22%);
106
+ $color-gray-21: mix($color-gray-dark, $color-gray-white, 21%);
107
+ $color-gray-20: mix($color-gray-dark, $color-gray-white, 20%);
108
+ $color-gray-16: mix($color-gray-dark, $color-gray-white, 16%);
109
+ $color-gray-19: mix($color-gray-dark, $color-gray-white, 19%);
110
+ $color-gray-18: mix($color-gray-dark, $color-gray-white, 18%);
111
+ $color-gray-17: mix($color-gray-dark, $color-gray-white, 17%);
112
+ $color-gray-16: mix($color-gray-dark, $color-gray-white, 16%);
113
+ $color-gray-15: mix($color-gray-dark, $color-gray-white, 15%);
114
+ $color-gray-14: mix($color-gray-dark, $color-gray-white, 14%);
115
+ $color-gray-13: mix($color-gray-dark, $color-gray-white, 13%);
116
+ $color-gray-12: mix($color-gray-dark, $color-gray-white, 12%);
117
+ $color-gray-11: mix($color-gray-dark, $color-gray-white, 11%);
118
+ $color-gray-10: mix($color-gray-dark, $color-gray-white, 10%);
119
+ $color-gray-9: mix($color-gray-dark, $color-gray-white, 9%);
120
+ $color-gray-8: mix($color-gray-dark, $color-gray-white, 8%);
121
+ $color-gray-7: mix($color-gray-dark, $color-gray-white, 7%);
122
+ $color-gray-6: mix($color-gray-dark, $color-gray-white, 6%);
123
+ $color-gray-5: mix($color-gray-dark, $color-gray-white, 5%);
124
+ $color-gray-4: mix($color-gray-dark, $color-gray-white, 4%);
125
+ $color-gray-3: mix($color-gray-dark, $color-gray-white, 3%);
126
+ $color-gray-2: mix($color-gray-dark, $color-gray-white, 2%);
127
+ $color-gray-1: mix($color-gray-dark, $color-gray-white, 1%);
128
+
129
+ $color-ccc: #cccccc;
130
+ $color-999: #999999;
131
+ $color-888: #888888;
132
+ $color-777: #777777;
133
+ $color-666: #666666;
134
+ $color-555: #555555;
135
+ $color-444: #444444;
136
+ $color-333: #333333;
137
+ $color-222: #222222;
138
+ $color-111: #111111;
139
+ $color-000: $color-gray-dark;
140
+
141
+ @import "~quasar/src/css/variables.sass";
package/utils/$table.js CHANGED
@@ -217,9 +217,6 @@ function create(params) {
217
217
  // 表格宫格
218
218
  const tableGrid = ref(o.showGrid && isCache ? utils.storage.get('table:grid:' + cacheName) === true : false)
219
219
 
220
- // 表格传参
221
- const tableQuery = ref({})
222
-
223
220
  // 表格请求参数(将表格传参中的搜索参数剥离掉, 剩下的直接当做参数传递给服务器)
224
221
  let tableRequestQuery = {}
225
222
 
@@ -371,10 +368,12 @@ function create(params) {
371
368
  })
372
369
  }
373
370
 
371
+ // ==========【方法】================================================================================================
372
+
374
373
  /**
375
- * 监听表格传参
374
+ * 设置表格传参
376
375
  */
377
- watch(tableQuery, function (query) {
376
+ function setQuery(query) {
378
377
 
379
378
  if (utils.isValidObject(query)) {
380
379
 
@@ -475,13 +474,8 @@ function create(params) {
475
474
  }
476
475
 
477
476
  tableRequestQuery = {}
477
+ }
478
478
 
479
- }, {
480
- // 深度监听
481
- deep: true,
482
- })
483
-
484
- // ==========【方法】================================================================================================
485
479
 
486
480
  /**
487
481
  * 表格是否已加载
@@ -892,8 +886,6 @@ function create(params) {
892
886
 
893
887
  // 表格宫格
894
888
  tableGrid,
895
- // 表格传参
896
- tableQuery,
897
889
  // 表格合计
898
890
  tableSummary,
899
891
  // 表格搜索数据
@@ -901,6 +893,8 @@ function create(params) {
901
893
  // 表格搜索参数
902
894
  tableSearchOptions,
903
895
 
896
+ // 设置表格传参
897
+ setQuery,
904
898
  // 表格是否已加载
905
899
  isTableLoaded,
906
900
  // 表格加载(只加载一次)
package/utils/price.js CHANGED
@@ -1,13 +1,13 @@
1
- /**
2
- * 换算金额
3
- */
4
- utils.price = function(value, params) {
5
- return utils.decimal(value, Object.assign({
6
- // 最小值
7
- min: 0,
8
- // 小数点位数
9
- decimalLength: 2,
10
- // 是否开启人民币分转元(如值 189 -> 1.89)
11
- centToYuan: utils.config('priceCent') === true,
12
- }, params))
13
- }
1
+ /**
2
+ * 换算金额
3
+ */
4
+ utils.price = function(value, params) {
5
+ return utils.decimal(value, Object.assign({
6
+ // 最小值
7
+ min: 0,
8
+ // 小数点位数
9
+ decimalLength: 2,
10
+ // 是否开启人民币分转元(如值 189 -> 1.89)
11
+ centToYuan: utils.config('priceCent') === true,
12
+ }, params))
13
+ }