@netang/quasar 0.0.101 → 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 -1222
  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,149 +1,149 @@
1
- <template>
2
- <q-list
3
- :dark="dark"
4
- >
5
- <n-list-menu-item
6
- :data="data"
7
- @item-click="onItemClick"
8
- />
9
- </q-list>
10
- </template>
11
-
12
- <script>
13
- import { watch } from 'vue'
14
-
15
- import $n_has from 'lodash/has'
16
- import $n_isValidArray from '@netang/utils/isValidArray'
17
-
18
- import NListMenuItem from '../list-menu-item'
19
-
20
- export default {
21
-
22
- /**
23
- * 标识
24
- */
25
- name: 'NListMenu',
26
-
27
- /**
28
- * 组件
29
- */
30
- components: {
31
- NListMenuItem,
32
- },
33
-
34
- /**
35
- * 声明属性
36
- */
37
- props: {
38
- // 数据
39
- data: Array,
40
- // 是否暗色
41
- dark: Boolean,
42
- // 激活 key
43
- activeKey: {
44
- type: String,
45
- default: 'id',
46
- },
47
- // 激活值
48
- activeValue: [String, Number],
49
- },
50
-
51
- /**
52
- * 声明事件
53
- */
54
- emits: [
55
- // 单个元素点击
56
- 'itemClick',
57
- ],
58
-
59
- /**
60
- * 组合式
61
- */
62
- setup(props, { emit }) {
63
-
64
- // ==========【方法】============================================================================================
65
-
66
- /**
67
- * 单个元素点击
68
- */
69
- function onItemClick(item) {
70
- emit('itemClick', item)
71
- }
72
-
73
- /**
74
- * 设置激活状态
75
- */
76
- function setActive() {
77
-
78
- const parentAll = {}
79
-
80
- // 获取父节点
81
- function getParent({ attr }) {
82
- if (
83
- // 如果不是根节点
84
- attr.pid
85
- // 有父节点
86
- && $n_has(parentAll, attr.pid)
87
- ) {
88
- const parentItem = parentAll[attr.pid]
89
-
90
- // 设为展开
91
- parentItem.expanded = true
92
-
93
- getParent(parentItem)
94
- }
95
- }
96
-
97
- // 获取子节点
98
- function getChildren(data) {
99
-
100
- for (const item of data) {
101
-
102
- // 设为折叠
103
- item.expanded = false
104
-
105
- // 如果是父节点
106
- if (item.children.length) {
107
- parentAll[item.id] = item
108
- getChildren(item.children)
109
-
110
- // 否则如果是匹配的子节点
111
- } else if (props.activeValue && item.attr[props.activeKey] === props.activeValue) {
112
-
113
- // 设为展开
114
- item.expanded = true
115
-
116
- getParent(item)
117
- }
118
- }
119
- }
120
-
121
- getChildren(props.data)
122
- }
123
-
124
- // ==========【监听数据】=========================================================================================
125
-
126
- /**
127
- * 监听声明值
128
- */
129
- watch([()=>props.data, ()=>props.activeValue], function() {
130
-
131
- // 设置激活状态
132
- if ($n_isValidArray(props.data)) {
133
- setActive()
134
- }
135
-
136
- }, {
137
- // 立即执行
138
- immediate: true,
139
- })
140
-
141
- // ==========【返回】=========================================================================================
142
-
143
- return {
144
- // 单个元素点击
145
- onItemClick,
146
- }
147
- }
148
- }
149
- </script>
1
+ <template>
2
+ <q-list
3
+ :dark="dark"
4
+ >
5
+ <n-list-menu-item
6
+ :data="data"
7
+ @item-click="onItemClick"
8
+ />
9
+ </q-list>
10
+ </template>
11
+
12
+ <script>
13
+ import { watch } from 'vue'
14
+
15
+ import $n_has from 'lodash/has'
16
+ import $n_isValidArray from '@netang/utils/isValidArray'
17
+
18
+ import NListMenuItem from '../list-menu-item'
19
+
20
+ export default {
21
+
22
+ /**
23
+ * 标识
24
+ */
25
+ name: 'NListMenu',
26
+
27
+ /**
28
+ * 组件
29
+ */
30
+ components: {
31
+ NListMenuItem,
32
+ },
33
+
34
+ /**
35
+ * 声明属性
36
+ */
37
+ props: {
38
+ // 数据
39
+ data: Array,
40
+ // 是否暗色
41
+ dark: Boolean,
42
+ // 激活 key
43
+ activeKey: {
44
+ type: String,
45
+ default: 'id',
46
+ },
47
+ // 激活值
48
+ activeValue: [String, Number],
49
+ },
50
+
51
+ /**
52
+ * 声明事件
53
+ */
54
+ emits: [
55
+ // 单个元素点击
56
+ 'itemClick',
57
+ ],
58
+
59
+ /**
60
+ * 组合式
61
+ */
62
+ setup(props, { emit }) {
63
+
64
+ // ==========【方法】============================================================================================
65
+
66
+ /**
67
+ * 单个元素点击
68
+ */
69
+ function onItemClick(item) {
70
+ emit('itemClick', item)
71
+ }
72
+
73
+ /**
74
+ * 设置激活状态
75
+ */
76
+ function setActive() {
77
+
78
+ const parentAll = {}
79
+
80
+ // 获取父节点
81
+ function getParent({ attr }) {
82
+ if (
83
+ // 如果不是根节点
84
+ attr.pid
85
+ // 有父节点
86
+ && $n_has(parentAll, attr.pid)
87
+ ) {
88
+ const parentItem = parentAll[attr.pid]
89
+
90
+ // 设为展开
91
+ parentItem.expanded = true
92
+
93
+ getParent(parentItem)
94
+ }
95
+ }
96
+
97
+ // 获取子节点
98
+ function getChildren(data) {
99
+
100
+ for (const item of data) {
101
+
102
+ // 设为折叠
103
+ item.expanded = false
104
+
105
+ // 如果是父节点
106
+ if (item.children.length) {
107
+ parentAll[item.id] = item
108
+ getChildren(item.children)
109
+
110
+ // 否则如果是匹配的子节点
111
+ } else if (props.activeValue && item.attr[props.activeKey] === props.activeValue) {
112
+
113
+ // 设为展开
114
+ item.expanded = true
115
+
116
+ getParent(item)
117
+ }
118
+ }
119
+ }
120
+
121
+ getChildren(props.data)
122
+ }
123
+
124
+ // ==========【监听数据】=========================================================================================
125
+
126
+ /**
127
+ * 监听声明值
128
+ */
129
+ watch([()=>props.data, ()=>props.activeValue], function() {
130
+
131
+ // 设置激活状态
132
+ if ($n_isValidArray(props.data)) {
133
+ setActive()
134
+ }
135
+
136
+ }, {
137
+ // 立即执行
138
+ immediate: true,
139
+ })
140
+
141
+ // ==========【返回】=========================================================================================
142
+
143
+ return {
144
+ // 单个元素点击
145
+ onItemClick,
146
+ }
147
+ }
148
+ }
149
+ </script>
@@ -1,79 +1,79 @@
1
- <template>
2
- <template v-for="item in data">
3
-
4
- <!-- 如果有子菜单 -->
5
- <q-expansion-item
6
- :label="item.label"
7
- :group="`group-${level}`"
8
- v-model="item.expanded"
9
- :icon="item.attr.icon"
10
- v-if="item.children.length"
11
- >
12
- <n-list-menu-item
13
- :data="item.children"
14
- :level="level + 1"
15
- @item-click="onItemClick"
16
- />
17
- </q-expansion-item>
18
-
19
- <!-- 否则为单独的菜单 -->
20
- <q-item
21
- :active="item.expanded"
22
- active-class="text-white"
23
- @click="onItemClick(item)"
24
- clickable
25
- v-else
26
- >
27
- <q-item-section>
28
- <q-item-label>{{item.label}}</q-item-label>
29
- </q-item-section>
30
- </q-item>
31
-
32
- </template>
33
- </template>
34
-
35
- <script>
36
- export default {
37
-
38
- /**
39
- * 标识
40
- */
41
- name: 'NListMenuItem',
42
-
43
- /**
44
- * 声明属性
45
- */
46
- props: {
47
- // 数据
48
- data: Array,
49
- // 层级
50
- level: {
51
- type: Number,
52
- default: 1,
53
- },
54
- },
55
-
56
- /**
57
- * 声明事件
58
- */
59
- emits: [
60
- // 单个元素点击
61
- 'itemClick',
62
- ],
63
-
64
- /**
65
- * 组合式
66
- */
67
- setup(props, { emit }) {
68
-
69
- // ==========【返回】=========================================================================================
70
-
71
- return {
72
- // 单个元素点击
73
- onItemClick(item) {
74
- emit('itemClick', item)
75
- },
76
- }
77
- }
78
- }
79
- </script>
1
+ <template>
2
+ <template v-for="item in data">
3
+
4
+ <!-- 如果有子菜单 -->
5
+ <q-expansion-item
6
+ :label="item.label"
7
+ :group="`group-${level}`"
8
+ v-model="item.expanded"
9
+ :icon="item.attr.icon"
10
+ v-if="item.children.length"
11
+ >
12
+ <n-list-menu-item
13
+ :data="item.children"
14
+ :level="level + 1"
15
+ @item-click="onItemClick"
16
+ />
17
+ </q-expansion-item>
18
+
19
+ <!-- 否则为单独的菜单 -->
20
+ <q-item
21
+ :active="item.expanded"
22
+ active-class="text-white"
23
+ @click="onItemClick(item)"
24
+ clickable
25
+ v-else
26
+ >
27
+ <q-item-section>
28
+ <q-item-label>{{item.label}}</q-item-label>
29
+ </q-item-section>
30
+ </q-item>
31
+
32
+ </template>
33
+ </template>
34
+
35
+ <script>
36
+ export default {
37
+
38
+ /**
39
+ * 标识
40
+ */
41
+ name: 'NListMenuItem',
42
+
43
+ /**
44
+ * 声明属性
45
+ */
46
+ props: {
47
+ // 数据
48
+ data: Array,
49
+ // 层级
50
+ level: {
51
+ type: Number,
52
+ default: 1,
53
+ },
54
+ },
55
+
56
+ /**
57
+ * 声明事件
58
+ */
59
+ emits: [
60
+ // 单个元素点击
61
+ 'itemClick',
62
+ ],
63
+
64
+ /**
65
+ * 组合式
66
+ */
67
+ setup(props, { emit }) {
68
+
69
+ // ==========【返回】=========================================================================================
70
+
71
+ return {
72
+ // 单个元素点击
73
+ onItemClick(item) {
74
+ emit('itemClick', item)
75
+ },
76
+ }
77
+ }
78
+ }
79
+ </script>
@@ -1,92 +1,92 @@
1
- <template>
2
- <div v-if="container">
3
- <!-- 空数据 -->
4
- <n-empty
5
- :description="emptyDescription"
6
- fit
7
- v-if="pageStatus === false"
8
- />
9
- <!-- 插槽 -->
10
- <slot v-else-if="pageStatus === true" />
11
- <!-- 加载 -->
12
- <q-inner-loading
13
- :showing="pageLoading"
14
- />
15
- </div>
16
- <q-page
17
- v-bind="$attrs"
18
- v-else
19
- >
20
- <!-- 空数据 -->
21
- <n-empty
22
- :description="emptyDescription"
23
- fit
24
- v-if="pageStatus === false"
25
- />
26
- <!-- 插槽 -->
27
- <slot v-else-if="pageStatus === true" />
28
- <!-- 加载 -->
29
- <q-inner-loading
30
- :showing="pageLoading"
31
- />
32
- </q-page>
33
- </template>
34
-
35
- <script>
36
- import { inject } from 'vue'
37
-
38
- import { NPowerKey } from '../../utils/symbols'
39
-
40
- import NEmpty from '../empty'
41
-
42
- export default {
43
-
44
- /**
45
- * 标识
46
- */
47
- name: 'NPowerPage',
48
-
49
- /**
50
- * 声明属性
51
- */
52
- props: {
53
- // 是否容器化
54
- container: Boolean,
55
- },
56
-
57
- /**
58
- * 组件
59
- */
60
- components: {
61
- NEmpty,
62
- },
63
-
64
- /**
65
- * 组合式
66
- */
67
- setup() {
68
-
69
- // ==========【数据】============================================================================================
70
-
71
- // 获取注入权限数据
72
- const {
73
- // 页面状态
74
- pageStatus,
75
- // 空状态描述
76
- emptyDescription,
77
- // 页面加载
78
- pageLoading,
79
- } = inject(NPowerKey)
80
-
81
- // ==========【返回】============================================================================================
82
- return {
83
- // 页面状态
84
- pageStatus,
85
- // 空状态描述
86
- emptyDescription,
87
- // 页面加载
88
- pageLoading,
89
- }
90
- },
91
- }
92
- </script>
1
+ <template>
2
+ <div v-if="container">
3
+ <!-- 空数据 -->
4
+ <n-empty
5
+ :description="emptyDescription"
6
+ fit
7
+ v-if="pageStatus === false"
8
+ />
9
+ <!-- 插槽 -->
10
+ <slot v-else-if="pageStatus === true" />
11
+ <!-- 加载 -->
12
+ <q-inner-loading
13
+ :showing="pageLoading"
14
+ />
15
+ </div>
16
+ <q-page
17
+ v-bind="$attrs"
18
+ v-else
19
+ >
20
+ <!-- 空数据 -->
21
+ <n-empty
22
+ :description="emptyDescription"
23
+ fit
24
+ v-if="pageStatus === false"
25
+ />
26
+ <!-- 插槽 -->
27
+ <slot v-else-if="pageStatus === true" />
28
+ <!-- 加载 -->
29
+ <q-inner-loading
30
+ :showing="pageLoading"
31
+ />
32
+ </q-page>
33
+ </template>
34
+
35
+ <script>
36
+ import { inject } from 'vue'
37
+
38
+ import { NPowerKey } from '../../utils/symbols'
39
+
40
+ import NEmpty from '../empty'
41
+
42
+ export default {
43
+
44
+ /**
45
+ * 标识
46
+ */
47
+ name: 'NPowerPage',
48
+
49
+ /**
50
+ * 声明属性
51
+ */
52
+ props: {
53
+ // 是否容器化
54
+ container: Boolean,
55
+ },
56
+
57
+ /**
58
+ * 组件
59
+ */
60
+ components: {
61
+ NEmpty,
62
+ },
63
+
64
+ /**
65
+ * 组合式
66
+ */
67
+ setup() {
68
+
69
+ // ==========【数据】============================================================================================
70
+
71
+ // 获取注入权限数据
72
+ const {
73
+ // 页面状态
74
+ pageStatus,
75
+ // 空状态描述
76
+ emptyDescription,
77
+ // 页面加载
78
+ pageLoading,
79
+ } = inject(NPowerKey)
80
+
81
+ // ==========【返回】============================================================================================
82
+ return {
83
+ // 页面状态
84
+ pageStatus,
85
+ // 空状态描述
86
+ emptyDescription,
87
+ // 页面加载
88
+ pageLoading,
89
+ }
90
+ },
91
+ }
92
+ </script>