@netang/quasar 0.0.100 → 0.0.102

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 (164) hide show
  1. package/.editorconfig +12 -0
  2. package/LICENSE +21 -21
  3. package/README.md +11 -11
  4. package/_docs/docs/.vuepress/client.js +8 -8
  5. package/_docs/docs/.vuepress/config.js +40 -40
  6. package/_docs/docs/.vuepress/configs/index.js +2 -2
  7. package/_docs/docs/.vuepress/configs/navbar/index.js +1 -1
  8. package/_docs/docs/.vuepress/configs/navbar/zh.js +16 -16
  9. package/_docs/docs/.vuepress/configs/sidebar/index.js +1 -1
  10. package/_docs/docs/.vuepress/configs/sidebar/zh.js +75 -75
  11. package/_docs/docs/.vuepress/public/css/index.css +3 -3
  12. package/_docs/docs/.vuepress/styles/index.scss +3 -3
  13. package/_docs/docs/components/column-title.md +25 -25
  14. package/_docs/docs/components/data.md +66 -66
  15. package/_docs/docs/components/dialog.md +59 -59
  16. package/_docs/docs/components/dragger.md +26 -26
  17. package/_docs/docs/components/editor-code.md +16 -16
  18. package/_docs/docs/components/empty.md +13 -13
  19. package/_docs/docs/components/field-date.md +16 -16
  20. package/_docs/docs/components/field-text.md +57 -57
  21. package/_docs/docs/components/field-tree.md +21 -21
  22. package/_docs/docs/components/img.md +25 -25
  23. package/_docs/docs/components/input-number.md +21 -21
  24. package/_docs/docs/components/list-menu-item.md +21 -21
  25. package/_docs/docs/components/list-menu.md +21 -21
  26. package/_docs/docs/components/power-page.md +21 -21
  27. package/_docs/docs/components/price.md +21 -21
  28. package/_docs/docs/components/render.md +12 -12
  29. package/_docs/docs/components/search-item.md +10 -10
  30. package/_docs/docs/components/search.md +12 -12
  31. package/_docs/docs/components/select.md +11 -11
  32. package/_docs/docs/components/splitter.md +15 -15
  33. package/_docs/docs/components/table-column-fixed.md +20 -20
  34. package/_docs/docs/components/table-pagination.md +20 -20
  35. package/_docs/docs/components/table-splitter.md +20 -20
  36. package/_docs/docs/components/table-summary.md +20 -20
  37. package/_docs/docs/components/table.md +25 -25
  38. package/_docs/docs/components/thumbnail.md +18 -18
  39. package/_docs/docs/components/toolbar.md +9 -9
  40. package/_docs/docs/components/uploader-query.md +19 -19
  41. package/_docs/docs/components/uploader.md +16 -16
  42. package/_docs/docs/components/value-format.md +26 -26
  43. package/_docs/docs/index.md +1 -1
  44. package/_docs/docs/utils/alert.md +26 -26
  45. package/_docs/docs/utils/area.md +112 -112
  46. package/_docs/docs/utils/arr.md +80 -80
  47. package/_docs/docs/utils/auth.md +101 -101
  48. package/_docs/docs/utils/bus.md +18 -18
  49. package/_docs/docs/utils/confirm.md +31 -31
  50. package/_docs/docs/utils/copy.md +22 -22
  51. package/_docs/docs/utils/dialog.md +98 -98
  52. package/_docs/docs/utils/dict.md +50 -50
  53. package/_docs/docs/utils/dictOptions.md +27 -27
  54. package/_docs/docs/utils/form.md +33 -33
  55. package/_docs/docs/utils/getData.md +60 -60
  56. package/_docs/docs/utils/getFile.md +21 -21
  57. package/_docs/docs/utils/getImage.md +33 -33
  58. package/_docs/docs/utils/getTime.md +51 -51
  59. package/_docs/docs/utils/index.md +1 -1
  60. package/_docs/docs/utils/loading.md +18 -18
  61. package/_docs/docs/utils/notify.md +29 -29
  62. package/_docs/docs/utils/power.md +353 -353
  63. package/_docs/docs/utils/previewImage.md +11 -11
  64. package/_docs/docs/utils/price.md +45 -45
  65. package/_docs/docs/utils/rule.md +30 -30
  66. package/_docs/docs/utils/ruleValid.md +31 -31
  67. package/_docs/docs/utils/symbols.md +30 -30
  68. package/_docs/docs/utils/table.md +194 -194
  69. package/_docs/docs/utils/timestamp.md +27 -27
  70. package/_docs/docs/utils/toast.md +27 -27
  71. package/_docs/docs/utils/tree.md +174 -174
  72. package/_docs/docs/utils/uploader.md +29 -29
  73. package/_docs/package.json +11 -11
  74. package/components/column-title/index.vue +37 -37
  75. package/components/data/index.vue +20 -20
  76. package/components/dialog/index.vue +372 -372
  77. package/components/dragger/index.vue +203 -203
  78. package/components/drawer/index.vue +303 -303
  79. package/components/editor-code/index.vue +289 -289
  80. package/components/empty/index.vue +71 -71
  81. package/components/field-date/index.vue +850 -850
  82. package/components/field-date/methods.js +100 -100
  83. package/components/field-table/index.vue +1222 -1195
  84. package/components/field-text/index.vue +165 -165
  85. package/components/field-tree/index.vue +739 -659
  86. package/components/img/index.vue +202 -202
  87. package/components/input-number/index.vue +546 -546
  88. package/components/list-menu/index.vue +149 -149
  89. package/components/list-menu-item/index.vue +79 -79
  90. package/components/power-page/index.vue +92 -92
  91. package/components/price/index.vue +188 -188
  92. package/components/private/components/index.js +11 -11
  93. package/components/private/components/move-to-tree/index.vue +154 -154
  94. package/components/private/edit-power-data/index.vue +816 -816
  95. package/components/private/table-visible-columns-button/index.vue +109 -109
  96. package/components/render/index.vue +150 -150
  97. package/components/search/index.vue +222 -222
  98. package/components/search-item/index.vue +210 -210
  99. package/components/select/index.vue +177 -177
  100. package/components/splitter/index.vue +415 -415
  101. package/components/table/index.vue +456 -456
  102. package/components/table-column-fixed/index.vue +112 -112
  103. package/components/table-pagination/index.vue +192 -192
  104. package/components/table-splitter/index.vue +360 -360
  105. package/components/table-summary/index.vue +110 -110
  106. package/components/thumbnail/index.vue +72 -72
  107. package/components/toolbar/container.vue +31 -31
  108. package/components/toolbar/index.vue +136 -136
  109. package/components/uploader/index.vue +158 -158
  110. package/components/uploader-query/index.vue +758 -758
  111. package/components/value-format/index.vue +274 -274
  112. package/configs/area3.js +1 -1
  113. package/docs/css/index.css +3 -3
  114. package/package.json +24 -24
  115. package/sass/common.scss +174 -174
  116. package/sass/index.scss +14 -14
  117. package/sass/line.scss +39 -39
  118. package/sass/quasar/btn.scss +46 -46
  119. package/sass/quasar/common.scss +3 -3
  120. package/sass/quasar/dialog.scss +7 -7
  121. package/sass/quasar/drawer.scss +6 -6
  122. package/sass/quasar/field.scss +243 -243
  123. package/sass/quasar/loading.scss +6 -6
  124. package/sass/quasar/menu.scss +8 -8
  125. package/sass/quasar/table.scss +150 -150
  126. package/sass/quasar/toolbar.scss +22 -22
  127. package/store/index.js +29 -29
  128. package/utils/$auth.js +127 -127
  129. package/utils/$form.js +56 -56
  130. package/utils/$power.js +1215 -1215
  131. package/utils/$rule.js +13 -13
  132. package/utils/$ruleValid.js +10 -10
  133. package/utils/$table.js +999 -999
  134. package/utils/$tree.js +713 -713
  135. package/utils/alert.js +12 -12
  136. package/utils/area.js +400 -400
  137. package/utils/arr.js +51 -51
  138. package/utils/bus.js +6 -6
  139. package/utils/config.js +52 -52
  140. package/utils/confirm.js +11 -11
  141. package/utils/copy.js +30 -30
  142. package/utils/dialog.js +36 -36
  143. package/utils/dict.js +21 -21
  144. package/utils/dictOptions.js +28 -28
  145. package/utils/getData.js +73 -73
  146. package/utils/getFile.js +40 -40
  147. package/utils/getImage.js +153 -153
  148. package/utils/getTime.js +106 -106
  149. package/utils/index.js +61 -61
  150. package/utils/loading.js +15 -15
  151. package/utils/notify.js +13 -13
  152. package/utils/previewImage.js +10 -10
  153. package/utils/price.js +18 -18
  154. package/utils/symbols.js +18 -18
  155. package/utils/timestamp.js +18 -18
  156. package/utils/toast.js +13 -13
  157. package/utils/uploader/aliyun.js +6 -6
  158. package/utils/uploader/local.js +8 -8
  159. package/utils/uploader/qiniu.js +321 -321
  160. package/utils/uploader.js +1059 -1059
  161. package/utils/useAuth.js +30 -30
  162. package/utils/useRouter.js +47 -47
  163. package/utils/useSearch.js +496 -496
  164. package/utils/useUploader.js +53 -53
@@ -1,210 +1,210 @@
1
- <template>
2
- <div class="n-search__item n-field-group">
3
-
4
- <!-- 比较1 -->
5
- <div class="n-field-group row no-wrap">
6
-
7
- <!-- 比较类型1 -->
8
- <q-select
9
- class="n-field-group__select"
10
- v-model="modelValue[0].compare"
11
- :options="data.compareOptions1"
12
- :disable="data.compareOptions1.length === 1"
13
- map-options
14
- emit-value
15
- outlined
16
- stack-label
17
- dense
18
- options-dense
19
- />
20
-
21
- <q-input
22
- class="n-field-fieldset"
23
- :label="data.label"
24
- dense
25
- outlined
26
- disable
27
- v-if="data.type === 'date' && modelValue[0].compare >= 20"
28
- />
29
-
30
- <!-- 多选(类型为 in / not in)-->
31
- <slot
32
- :label="data.label"
33
- :index="0"
34
- :multiple="indexOf([dicts.SEARCH_COMPARE_TYPE__IN, dicts.SEARCH_COMPARE_TYPE__NOT_IN], modelValue[0].compare) > -1"
35
- v-else
36
- />
37
- </div>
38
-
39
- <!-- 比较2(类型为 > / >=) -->
40
- <div
41
- class="n-field-group row"
42
- v-if="data.compareOptions2.length && indexOf([dicts.SEARCH_TYPE__GT, dicts.SEARCH_TYPE__GTE], modelValue[0].compare) > -1"
43
- >
44
- <!-- 比较类型2 -->
45
- <q-select
46
- class="n-field-group__select"
47
- v-model="modelValue[1].compare"
48
- :options="data.compareOptions2"
49
- :disable="data.compareOptions2.length === 1"
50
- map-options
51
- emit-value
52
- outlined
53
- dense
54
- options-dense
55
- />
56
-
57
- <slot
58
- :label="undefined"
59
- :multiple="false"
60
- :index="1"
61
- />
62
- </div>
63
- </div>
64
- </template>
65
-
66
- <script>
67
- import { watch } from 'vue'
68
-
69
- import $n_isArray from 'lodash/isArray'
70
- import $n_cloneDeep from 'lodash/cloneDeep'
71
-
72
- import $n_split from '@netang/utils/split'
73
- import $n_indexOf from '@netang/utils/indexOf'
74
- import $n_numberDeep from '@netang/utils/numberDeep'
75
-
76
- import { configs } from '../../utils/config'
77
-
78
- const {
79
- // 字典常量
80
- dicts,
81
- } = configs
82
-
83
- export default {
84
-
85
- /**
86
- * 标识
87
- */
88
- name: 'NSearchItem',
89
-
90
- /**
91
- * 声明属性
92
- */
93
- props: {
94
- // 值
95
- modelValue: Array,
96
- // 数据
97
- data: Object,
98
- },
99
-
100
- /**
101
- * 声明事件
102
- */
103
- emits: [
104
- 'update:modelValue',
105
- ],
106
-
107
- /**
108
- * 组合式
109
- */
110
- setup(props, { emit }) {
111
-
112
- // ==========【监听数据】=========================================================================================
113
-
114
- /**
115
- * 监听值的比较类型
116
- */
117
- watch(()=>props.modelValue[0].compare, function(compare) {
118
-
119
- // 获取当前值
120
- const value = props.modelValue[0].value
121
-
122
- // 如果类型为 in / not in, 则为多选
123
- // --------------------------------------------------
124
- if ($n_indexOf([dicts.SEARCH_COMPARE_TYPE__IN, dicts.SEARCH_COMPARE_TYPE__NOT_IN], compare) > -1) {
125
-
126
- // 如果当前值不为数组
127
- if (! $n_isArray(value)) {
128
-
129
- // 则将值转为数组
130
- // 触发更新值
131
- emitModelValue($n_split(value, ','))
132
- }
133
-
134
- // 否则为单选 && 如果值为: 数组
135
- // --------------------------------------------------
136
- } else if ($n_isArray(value)) {
137
-
138
- // 触发更新值
139
- emitModelValue(value.length ? $n_numberDeep(value[0]) : '')
140
-
141
- // 否则为单选 && 值为: 字符串 / 数字
142
- // --------------------------------------------------
143
- } else {
144
-
145
- // 将值转为数组
146
- const arr = $n_split(value, ',')
147
-
148
- // 如果数组长度不为 1, 则说明有多个值 || 无值
149
- if (arr.length !== 1) {
150
-
151
- // 触发更新值
152
- emitModelValue(arr.length > 1 ? arr[0] : '')
153
- }
154
- }
155
- })
156
-
157
- // ==========【方法】=============================================================================================
158
-
159
- /**
160
- * 触发更新值
161
- */
162
- function emitModelValue(value) {
163
-
164
- // 克隆值
165
- const _modelValue = $n_cloneDeep(props.modelValue)
166
-
167
- // 更新值
168
- _modelValue[0].value = value
169
-
170
- // 更新值
171
- emit('update:modelValue', _modelValue)
172
- }
173
-
174
- // ==========【返回】=============================================================================================
175
-
176
- return {
177
- dicts,
178
- indexOf: $n_indexOf,
179
- }
180
- },
181
- }
182
- </script>
183
-
184
- <style lang="scss">
185
- .n-search__item {
186
- .n-field-group {
187
- > .q-field--outlined {
188
-
189
- // 第一个子节点
190
- &:first-child,
191
- // 第三个子节点
192
- &:nth-child(3) {
193
- .q-field__control {
194
- height: 100% !important;
195
- background-color: rgba(var(--n-reverse-color-rgb), 0.04);
196
-
197
- .q-field__marginal {
198
- height: 100% !important;
199
- }
200
- }
201
- }
202
-
203
- // 第二个子节点
204
- &:nth-child(2) {
205
- flex: 1;
206
- }
207
- }
208
- }
209
- }
210
- </style>
1
+ <template>
2
+ <div class="n-search__item n-field-group">
3
+
4
+ <!-- 比较1 -->
5
+ <div class="n-field-group row no-wrap">
6
+
7
+ <!-- 比较类型1 -->
8
+ <q-select
9
+ class="n-field-group__select"
10
+ v-model="modelValue[0].compare"
11
+ :options="data.compareOptions1"
12
+ :disable="data.compareOptions1.length === 1"
13
+ map-options
14
+ emit-value
15
+ outlined
16
+ stack-label
17
+ dense
18
+ options-dense
19
+ />
20
+
21
+ <q-input
22
+ class="n-field-fieldset"
23
+ :label="data.label"
24
+ dense
25
+ outlined
26
+ disable
27
+ v-if="data.type === 'date' && modelValue[0].compare >= 20"
28
+ />
29
+
30
+ <!-- 多选(类型为 in / not in)-->
31
+ <slot
32
+ :label="data.label"
33
+ :index="0"
34
+ :multiple="indexOf([dicts.SEARCH_COMPARE_TYPE__IN, dicts.SEARCH_COMPARE_TYPE__NOT_IN], modelValue[0].compare) > -1"
35
+ v-else
36
+ />
37
+ </div>
38
+
39
+ <!-- 比较2(类型为 > / >=) -->
40
+ <div
41
+ class="n-field-group row"
42
+ v-if="data.compareOptions2.length && indexOf([dicts.SEARCH_TYPE__GT, dicts.SEARCH_TYPE__GTE], modelValue[0].compare) > -1"
43
+ >
44
+ <!-- 比较类型2 -->
45
+ <q-select
46
+ class="n-field-group__select"
47
+ v-model="modelValue[1].compare"
48
+ :options="data.compareOptions2"
49
+ :disable="data.compareOptions2.length === 1"
50
+ map-options
51
+ emit-value
52
+ outlined
53
+ dense
54
+ options-dense
55
+ />
56
+
57
+ <slot
58
+ :label="undefined"
59
+ :multiple="false"
60
+ :index="1"
61
+ />
62
+ </div>
63
+ </div>
64
+ </template>
65
+
66
+ <script>
67
+ import { watch } from 'vue'
68
+
69
+ import $n_isArray from 'lodash/isArray'
70
+ import $n_cloneDeep from 'lodash/cloneDeep'
71
+
72
+ import $n_split from '@netang/utils/split'
73
+ import $n_indexOf from '@netang/utils/indexOf'
74
+ import $n_numberDeep from '@netang/utils/numberDeep'
75
+
76
+ import { configs } from '../../utils/config'
77
+
78
+ const {
79
+ // 字典常量
80
+ dicts,
81
+ } = configs
82
+
83
+ export default {
84
+
85
+ /**
86
+ * 标识
87
+ */
88
+ name: 'NSearchItem',
89
+
90
+ /**
91
+ * 声明属性
92
+ */
93
+ props: {
94
+ // 值
95
+ modelValue: Array,
96
+ // 数据
97
+ data: Object,
98
+ },
99
+
100
+ /**
101
+ * 声明事件
102
+ */
103
+ emits: [
104
+ 'update:modelValue',
105
+ ],
106
+
107
+ /**
108
+ * 组合式
109
+ */
110
+ setup(props, { emit }) {
111
+
112
+ // ==========【监听数据】=========================================================================================
113
+
114
+ /**
115
+ * 监听值的比较类型
116
+ */
117
+ watch(()=>props.modelValue[0].compare, function(compare) {
118
+
119
+ // 获取当前值
120
+ const value = props.modelValue[0].value
121
+
122
+ // 如果类型为 in / not in, 则为多选
123
+ // --------------------------------------------------
124
+ if ($n_indexOf([dicts.SEARCH_COMPARE_TYPE__IN, dicts.SEARCH_COMPARE_TYPE__NOT_IN], compare) > -1) {
125
+
126
+ // 如果当前值不为数组
127
+ if (! $n_isArray(value)) {
128
+
129
+ // 则将值转为数组
130
+ // 触发更新值
131
+ emitModelValue($n_split(value, ','))
132
+ }
133
+
134
+ // 否则为单选 && 如果值为: 数组
135
+ // --------------------------------------------------
136
+ } else if ($n_isArray(value)) {
137
+
138
+ // 触发更新值
139
+ emitModelValue(value.length ? $n_numberDeep(value[0]) : '')
140
+
141
+ // 否则为单选 && 值为: 字符串 / 数字
142
+ // --------------------------------------------------
143
+ } else {
144
+
145
+ // 将值转为数组
146
+ const arr = $n_split(value, ',')
147
+
148
+ // 如果数组长度不为 1, 则说明有多个值 || 无值
149
+ if (arr.length !== 1) {
150
+
151
+ // 触发更新值
152
+ emitModelValue(arr.length > 1 ? arr[0] : '')
153
+ }
154
+ }
155
+ })
156
+
157
+ // ==========【方法】=============================================================================================
158
+
159
+ /**
160
+ * 触发更新值
161
+ */
162
+ function emitModelValue(value) {
163
+
164
+ // 克隆值
165
+ const _modelValue = $n_cloneDeep(props.modelValue)
166
+
167
+ // 更新值
168
+ _modelValue[0].value = value
169
+
170
+ // 更新值
171
+ emit('update:modelValue', _modelValue)
172
+ }
173
+
174
+ // ==========【返回】=============================================================================================
175
+
176
+ return {
177
+ dicts,
178
+ indexOf: $n_indexOf,
179
+ }
180
+ },
181
+ }
182
+ </script>
183
+
184
+ <style lang="scss">
185
+ .n-search__item {
186
+ .n-field-group {
187
+ > .q-field--outlined {
188
+
189
+ // 第一个子节点
190
+ &:first-child,
191
+ // 第三个子节点
192
+ &:nth-child(3) {
193
+ .q-field__control {
194
+ height: 100% !important;
195
+ background-color: rgba(var(--n-reverse-color-rgb), 0.04);
196
+
197
+ .q-field__marginal {
198
+ height: 100% !important;
199
+ }
200
+ }
201
+ }
202
+
203
+ // 第二个子节点
204
+ &:nth-child(2) {
205
+ flex: 1;
206
+ }
207
+ }
208
+ }
209
+ }
210
+ </style>