@netang/quasar 0.1.75 → 0.1.76

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 (247) hide show
  1. package/.editorconfig +12 -12
  2. package/_docs/docs/components/field-table.md +58 -58
  3. package/_docs/docs/components/field-tree.md +21 -21
  4. package/_docs/docs/components/table.md +24 -24
  5. package/_docs/docs/utils/table.md +196 -196
  6. package/components/dialog/img-viewer/index.vue +657 -657
  7. package/components/dialog/index.vue +372 -372
  8. package/components/drawer/index.vue +303 -303
  9. package/components/editor-code/index.vue +325 -325
  10. package/components/empty/index.vue +80 -80
  11. package/components/field-date/index.vue +850 -850
  12. package/components/field-tree/index.vue +754 -754
  13. package/components/img/index.vue +211 -211
  14. package/components/mixed-table/index.vue +532 -532
  15. package/components/mixed-table-splitter/index.vue +377 -377
  16. package/components/power-page/index.vue +94 -94
  17. package/components/private/components/move-to-tree/index.vue +154 -154
  18. package/components/private/edit-power-data/index.vue +846 -846
  19. package/components/private/table-visible-columns-button/index.vue +114 -114
  20. package/components/render/index.vue +123 -123
  21. package/components/search/index.vue +231 -231
  22. package/components/search-item/index.vue +212 -212
  23. package/components/select/index.vue +177 -177
  24. package/components/splitter/index.vue +422 -422
  25. package/components/table/index.vue +513 -513
  26. package/components/table-column-fixed/index.vue +110 -110
  27. package/components/table-summary/index.vue +107 -107
  28. package/components/toolbar/index.vue +146 -146
  29. package/components/tree/index.vue +1728 -1728
  30. package/components/uploader/index.vue +188 -188
  31. package/docs/404.html +33 -33
  32. package/docs/assets/404.html-60b35caa.js +1 -1
  33. package/docs/assets/404.html-d1e63d77.js +1 -1
  34. package/docs/assets/alert.html-b2a2a72f.js +5 -5
  35. package/docs/assets/alert.html-ba46d137.js +1 -1
  36. package/docs/assets/app-9f30aa4b.js +6 -6
  37. package/docs/assets/area.html-01b9b58d.js +42 -42
  38. package/docs/assets/area.html-9a4fce6a.js +1 -1
  39. package/docs/assets/arr.html-145d27e7.js +1 -1
  40. package/docs/assets/arr.html-674e65ab.js +11 -11
  41. package/docs/assets/auth.html-579fa830.js +1 -1
  42. package/docs/assets/auth.html-8544ed95.js +8 -8
  43. package/docs/assets/bus.html-c71254aa.js +1 -1
  44. package/docs/assets/bus.html-dc7d3d19.js +6 -6
  45. package/docs/assets/column-title.html-c735cb5a.js +3 -3
  46. package/docs/assets/column-title.html-e9316762.js +1 -1
  47. package/docs/assets/confirm.html-ddfdc27f.js +10 -10
  48. package/docs/assets/confirm.html-ef3e2bef.js +1 -1
  49. package/docs/assets/copy.html-d20345b6.js +1 -1
  50. package/docs/assets/copy.html-ef8c8571.js +13 -13
  51. package/docs/assets/data.html-6432175d.js +30 -30
  52. package/docs/assets/data.html-a3b05d5b.js +1 -1
  53. package/docs/assets/dialog.html-1f698e5a.js +1 -1
  54. package/docs/assets/dialog.html-62902b83.js +68 -68
  55. package/docs/assets/dialog.html-baea77c9.js +1 -1
  56. package/docs/assets/dialog.html-bb082fc4.js +1 -1
  57. package/docs/assets/dict.html-1311da3d.js +23 -23
  58. package/docs/assets/dict.html-b96fbf0c.js +1 -1
  59. package/docs/assets/dictOptions.html-7c4f40a5.js +1 -1
  60. package/docs/assets/dictOptions.html-fb99d175.js +5 -5
  61. package/docs/assets/dragger.html-668d3efa.js +1 -1
  62. package/docs/assets/dragger.html-749d585a.js +1 -1
  63. package/docs/assets/editor-code.html-6ab26ea9.js +1 -1
  64. package/docs/assets/editor-code.html-d196205d.js +1 -1
  65. package/docs/assets/empty.html-1c139131.js +1 -1
  66. package/docs/assets/empty.html-1e9c441d.js +1 -1
  67. package/docs/assets/field-date.html-069fdb13.js +1 -1
  68. package/docs/assets/field-date.html-ad204aa9.js +1 -1
  69. package/docs/assets/field-table.html-ce480f03.js +1 -1
  70. package/docs/assets/field-table.html-d9236160.js +1 -1
  71. package/docs/assets/field-text.html-7277c62f.js +1 -1
  72. package/docs/assets/field-text.html-ccb4cecf.js +1 -1
  73. package/docs/assets/field-tree.html-519bfb45.js +1 -1
  74. package/docs/assets/field-tree.html-fdc748d6.js +1 -1
  75. package/docs/assets/form.html-2b562c37.js +2 -2
  76. package/docs/assets/form.html-75104cd5.js +1 -1
  77. package/docs/assets/framework-204010b2.js +5 -5
  78. package/docs/assets/getData.html-990e3787.js +1 -1
  79. package/docs/assets/getData.html-bb72025f.js +34 -34
  80. package/docs/assets/getFile.html-42368004.js +1 -1
  81. package/docs/assets/getFile.html-99abd054.js +3 -3
  82. package/docs/assets/getImage.html-3429c5a1.js +1 -1
  83. package/docs/assets/getImage.html-4d886d83.js +3 -3
  84. package/docs/assets/getTime.html-7435f922.js +1 -1
  85. package/docs/assets/getTime.html-b37f49eb.js +20 -20
  86. package/docs/assets/img.html-7d1da657.js +1 -1
  87. package/docs/assets/img.html-fbea1105.js +1 -1
  88. package/docs/assets/index.html-1695dd7c.js +1 -1
  89. package/docs/assets/index.html-65a4aa67.js +1 -1
  90. package/docs/assets/index.html-7b98d5bd.js +1 -1
  91. package/docs/assets/index.html-c01f2648.js +1 -1
  92. package/docs/assets/input-number.html-0b250d2a.js +1 -1
  93. package/docs/assets/input-number.html-a8eb0378.js +1 -1
  94. package/docs/assets/list-menu-item.html-7f1b4611.js +1 -1
  95. package/docs/assets/list-menu-item.html-84ed5ab8.js +1 -1
  96. package/docs/assets/list-menu.html-28b4163f.js +1 -1
  97. package/docs/assets/list-menu.html-cb6ba95b.js +1 -1
  98. package/docs/assets/loading.html-dae9e39d.js +6 -6
  99. package/docs/assets/loading.html-dc74c9e6.js +1 -1
  100. package/docs/assets/notify.html-e6c4c514.js +1 -1
  101. package/docs/assets/notify.html-f2c4d914.js +8 -8
  102. package/docs/assets/power-page.html-32e02f82.js +1 -1
  103. package/docs/assets/power-page.html-485e77da.js +1 -1
  104. package/docs/assets/power.html-d258cc19.js +93 -93
  105. package/docs/assets/power.html-e490bd32.js +1 -1
  106. package/docs/assets/previewImage.html-6a6b4245.js +1 -1
  107. package/docs/assets/previewImage.html-c5b7e945.js +2 -2
  108. package/docs/assets/price.html-1882c548.js +19 -19
  109. package/docs/assets/price.html-94d3f5be.js +1 -1
  110. package/docs/assets/price.html-d213df0f.js +1 -1
  111. package/docs/assets/price.html-deaf880f.js +1 -1
  112. package/docs/assets/render.html-8efcbdd4.js +1 -1
  113. package/docs/assets/render.html-df228e38.js +1 -1
  114. package/docs/assets/rule.html-2cd57fc2.js +13 -13
  115. package/docs/assets/rule.html-61662001.js +1 -1
  116. package/docs/assets/ruleValid.html-04fe2552.js +1 -1
  117. package/docs/assets/ruleValid.html-e0a776af.js +14 -14
  118. package/docs/assets/search-0782d0d1.svg +1 -1
  119. package/docs/assets/search-item.html-3f75394c.js +1 -1
  120. package/docs/assets/search-item.html-4e942ecd.js +1 -1
  121. package/docs/assets/search.html-2807043e.js +1 -1
  122. package/docs/assets/search.html-c24f8806.js +1 -1
  123. package/docs/assets/select.html-00d0607c.js +1 -1
  124. package/docs/assets/select.html-de7731f5.js +1 -1
  125. package/docs/assets/splitter.html-56f51a70.js +1 -1
  126. package/docs/assets/splitter.html-f5c836d7.js +1 -1
  127. package/docs/assets/style-161e43ab.css +1 -1
  128. package/docs/assets/symbols.html-a6aea4bf.js +1 -1
  129. package/docs/assets/symbols.html-b1f65bad.js +21 -21
  130. package/docs/assets/table-column-fixed.html-3a69e7b2.js +1 -1
  131. package/docs/assets/table-column-fixed.html-e763c38b.js +1 -1
  132. package/docs/assets/table-pagination.html-236934d3.js +1 -1
  133. package/docs/assets/table-pagination.html-c37ee2ac.js +1 -1
  134. package/docs/assets/table-splitter.html-07eab15c.js +1 -1
  135. package/docs/assets/table-splitter.html-7670ee65.js +1 -1
  136. package/docs/assets/table-summary.html-04db434f.js +1 -1
  137. package/docs/assets/table-summary.html-943c65a0.js +1 -1
  138. package/docs/assets/table.html-36253ad7.js +1 -1
  139. package/docs/assets/table.html-7f9c5d1b.js +38 -38
  140. package/docs/assets/table.html-93d53dc8.js +1 -1
  141. package/docs/assets/table.html-ac99b9cb.js +1 -1
  142. package/docs/assets/thumbnail.html-bab1976b.js +1 -1
  143. package/docs/assets/thumbnail.html-eb64e5e8.js +1 -1
  144. package/docs/assets/timestamp.html-4e54f79b.js +13 -13
  145. package/docs/assets/timestamp.html-d0e1b88a.js +1 -1
  146. package/docs/assets/toast.html-58ecbe21.js +1 -1
  147. package/docs/assets/toast.html-c9b9d36b.js +6 -6
  148. package/docs/assets/toolbar.html-83d9f97c.js +1 -1
  149. package/docs/assets/toolbar.html-ff7b8c92.js +1 -1
  150. package/docs/assets/tree.html-d07cbe79.js +23 -23
  151. package/docs/assets/tree.html-ea04193e.js +1 -1
  152. package/docs/assets/uploader-query.html-05590718.js +1 -1
  153. package/docs/assets/uploader-query.html-3175bac5.js +1 -1
  154. package/docs/assets/uploader.html-36da4394.js +2 -2
  155. package/docs/assets/uploader.html-6b5f3079.js +1 -1
  156. package/docs/assets/uploader.html-b9340b57.js +1 -1
  157. package/docs/assets/uploader.html-bc1c22e3.js +1 -1
  158. package/docs/assets/value-format.html-8ae3d47d.js +1 -1
  159. package/docs/assets/value-format.html-afa99b3d.js +1 -1
  160. package/docs/components/column-title.html +35 -35
  161. package/docs/components/data.html +62 -62
  162. package/docs/components/dialog.html +33 -33
  163. package/docs/components/dragger.html +33 -33
  164. package/docs/components/editor-code.html +33 -33
  165. package/docs/components/empty.html +33 -33
  166. package/docs/components/field-date.html +33 -33
  167. package/docs/components/field-table.html +33 -33
  168. package/docs/components/field-text.html +33 -33
  169. package/docs/components/field-tree.html +33 -33
  170. package/docs/components/img.html +33 -33
  171. package/docs/components/input-number.html +33 -33
  172. package/docs/components/list-menu-item.html +33 -33
  173. package/docs/components/list-menu.html +33 -33
  174. package/docs/components/power-page.html +33 -33
  175. package/docs/components/price.html +33 -33
  176. package/docs/components/render.html +33 -33
  177. package/docs/components/search-item.html +33 -33
  178. package/docs/components/search.html +33 -33
  179. package/docs/components/select.html +33 -33
  180. package/docs/components/splitter.html +33 -33
  181. package/docs/components/table-column-fixed.html +33 -33
  182. package/docs/components/table-pagination.html +33 -33
  183. package/docs/components/table-splitter.html +33 -33
  184. package/docs/components/table-summary.html +33 -33
  185. package/docs/components/table.html +33 -33
  186. package/docs/components/thumbnail.html +33 -33
  187. package/docs/components/toolbar.html +33 -33
  188. package/docs/components/uploader-query.html +33 -33
  189. package/docs/components/uploader.html +33 -33
  190. package/docs/components/value-format.html +33 -33
  191. package/docs/index.html +33 -33
  192. package/docs/utils/alert.html +37 -37
  193. package/docs/utils/area.html +74 -74
  194. package/docs/utils/arr.html +43 -43
  195. package/docs/utils/auth.html +40 -40
  196. package/docs/utils/bus.html +38 -38
  197. package/docs/utils/confirm.html +42 -42
  198. package/docs/utils/copy.html +45 -45
  199. package/docs/utils/dialog.html +100 -100
  200. package/docs/utils/dict.html +55 -55
  201. package/docs/utils/dictOptions.html +37 -37
  202. package/docs/utils/form.html +34 -34
  203. package/docs/utils/getData.html +66 -66
  204. package/docs/utils/getFile.html +35 -35
  205. package/docs/utils/getImage.html +35 -35
  206. package/docs/utils/getTime.html +52 -52
  207. package/docs/utils/index.html +33 -33
  208. package/docs/utils/loading.html +38 -38
  209. package/docs/utils/notify.html +40 -40
  210. package/docs/utils/power.html +125 -125
  211. package/docs/utils/previewImage.html +34 -34
  212. package/docs/utils/price.html +51 -51
  213. package/docs/utils/rule.html +45 -45
  214. package/docs/utils/ruleValid.html +46 -46
  215. package/docs/utils/symbols.html +53 -53
  216. package/docs/utils/table.html +70 -70
  217. package/docs/utils/timestamp.html +45 -45
  218. package/docs/utils/toast.html +38 -38
  219. package/docs/utils/tree.html +55 -55
  220. package/docs/utils/uploader.html +34 -34
  221. package/package.json +1 -1
  222. package/sass/common.scss +179 -179
  223. package/sass/index.scss +12 -13
  224. package/sass/quasar/field.scss +250 -250
  225. package/sass/quasar/table.scss +168 -168
  226. package/sass/variables.scss +140 -140
  227. package/utils/$form.js +72 -72
  228. package/utils/$power.js +1430 -1430
  229. package/utils/$render.js +75 -75
  230. package/utils/$search.js +416 -416
  231. package/utils/$table.js +1206 -1206
  232. package/utils/$tree.js +664 -664
  233. package/utils/config.js +57 -57
  234. package/utils/dialog.js +36 -36
  235. package/utils/dict.js +21 -21
  236. package/utils/getData.js +88 -73
  237. package/utils/getFile.js +41 -41
  238. package/utils/getImage.js +176 -176
  239. package/utils/getTime.js +113 -113
  240. package/utils/index.js +65 -65
  241. package/utils/previewImage.js +14 -14
  242. package/utils/timestamp.js +18 -18
  243. package/utils/uploader/qiniu.js +320 -320
  244. package/utils/uploader.js +1625 -1625
  245. package/utils/useFileUrl.js +25 -25
  246. package/utils/useSearch.js +499 -499
  247. package/sass/quasar/dialog.scss +0 -7
package/utils/getImage.js CHANGED
@@ -1,176 +1,176 @@
1
- import $n_has from 'lodash/has'
2
- import $n_isString from 'lodash/isString'
3
-
4
- import $n_isValidArray from '@netang/utils/isValidArray'
5
- import $n_isValidObject from '@netang/utils/isValidObject'
6
- import $n_isValidString from '@netang/utils/isValidString'
7
- import $n_isNumeric from '@netang/utils/isNumeric'
8
- import $n_split from '@netang/utils/split'
9
-
10
- import $n_config from './config'
11
-
12
- import useFileUrl from './useFileUrl'
13
-
14
- /**
15
- * 获取图片
16
- */
17
- export default function getImage(src, options) {
18
-
19
- if (src) {
20
-
21
- // 如果是字符串
22
- if ($n_isValidString(src)) {
23
-
24
- // 则按照逗号隔开转为数租
25
- src = $n_split(src, ',')
26
- }
27
-
28
- // 如果为数组, 则获取第一个
29
- if ($n_isValidArray(src)) {
30
- src = src[0]
31
-
32
- // 如果为对象
33
- } else if ($n_isValidObject(src)) {
34
-
35
- if ($n_has(src, 'options')) {
36
- options = src.options
37
- }
38
-
39
- if ($n_has(src, 'img')) {
40
- src = src.img
41
- }
42
- }
43
-
44
- if ($n_isValidString(src)) {
45
-
46
- // http(s):// 或 data: 或 blob: 开头的地址
47
- if (/^(http(s)?:\/\/|data:|blob:)/i.test(src)) {
48
- return src
49
- }
50
-
51
- // 如果为对象定义的规格
52
- if ($n_isValidObject(options)) {
53
-
54
- // 如果有定义 w
55
- if ($n_has(options, 'w')) {
56
-
57
- let {
58
- w,
59
- maxWidth,
60
- zoom,
61
- } = options
62
-
63
- // 先设为 0
64
- options.w = 0
65
-
66
- // 如果有宽度
67
- if (w) {
68
-
69
- if (
70
- ! $n_isNumeric(w)
71
- && $n_isString(w)
72
- ) {
73
- w = w.replace('px', '')
74
- }
75
-
76
- if ($n_isNumeric(w)) {
77
- w = Number(w)
78
- if (w > 0) {
79
-
80
- // 获取设备像素比
81
- /* #if IS_WEB */
82
- // 如果开启缩放
83
- if (zoom) {
84
- const devicePixelRatio = window.devicePixelRatio || 1
85
- if (devicePixelRatio > 2) {
86
- w *= 2
87
- }
88
- }
89
- /* #endif */
90
-
91
- if (w > 10) {
92
- w = Math.floor(w / 10) * 10
93
- } else {
94
- w = Math.floor(w)
95
- }
96
-
97
- // 如果有最大宽度
98
- if (maxWidth && maxWidth > w) {
99
- w = maxWidth
100
- }
101
-
102
- options.w = w
103
- }
104
- }
105
- }
106
- }
107
- // --------------------------------------------------
108
-
109
- } else {
110
- options = {}
111
- }
112
-
113
- const {
114
- type,
115
- domain,
116
- } = $n_config('uploader.upload')
117
-
118
- // 判断图片上传方式
119
- switch (type) {
120
-
121
- // 七牛云
122
- case 'qiniu':
123
-
124
- const {
125
- compress,
126
- w,
127
- h,
128
- q,
129
- format,
130
- } = Object.assign({
131
- // 是否压缩
132
- compress: true,
133
- // 宽
134
- w: 0,
135
- // 高
136
- h: 0,
137
- // 质量
138
- q: 75,
139
- // 格式
140
- format: 'webp',
141
- }, options)
142
-
143
- // 如果压缩
144
- if (compress) {
145
-
146
- // 裁剪图片方式
147
- src += '?imageView2/2'
148
-
149
- // 质量
150
- if (q) {
151
- src += '/q/' + q
152
- }
153
-
154
- // 宽
155
- if (w) {
156
- src += '/w/' + w
157
- }
158
-
159
- // 高
160
- if (h) {
161
- src += '/h/' + h
162
- }
163
-
164
- // 格式
165
- if (format) {
166
- src += '/format/' + format
167
- }
168
- }
169
-
170
- return useFileUrl(domain, src)
171
- }
172
- }
173
- }
174
-
175
- return ''
176
- }
1
+ import $n_has from 'lodash/has'
2
+ import $n_isString from 'lodash/isString'
3
+
4
+ import $n_isValidArray from '@netang/utils/isValidArray'
5
+ import $n_isValidObject from '@netang/utils/isValidObject'
6
+ import $n_isValidString from '@netang/utils/isValidString'
7
+ import $n_isNumeric from '@netang/utils/isNumeric'
8
+ import $n_split from '@netang/utils/split'
9
+
10
+ import $n_config from './config'
11
+
12
+ import useFileUrl from './useFileUrl'
13
+
14
+ /**
15
+ * 获取图片
16
+ */
17
+ export default function getImage(src, options) {
18
+
19
+ if (src) {
20
+
21
+ // 如果是字符串
22
+ if ($n_isValidString(src)) {
23
+
24
+ // 则按照逗号隔开转为数租
25
+ src = $n_split(src, ',')
26
+ }
27
+
28
+ // 如果为数组, 则获取第一个
29
+ if ($n_isValidArray(src)) {
30
+ src = src[0]
31
+
32
+ // 如果为对象
33
+ } else if ($n_isValidObject(src)) {
34
+
35
+ if ($n_has(src, 'options')) {
36
+ options = src.options
37
+ }
38
+
39
+ if ($n_has(src, 'img')) {
40
+ src = src.img
41
+ }
42
+ }
43
+
44
+ if ($n_isValidString(src)) {
45
+
46
+ // http(s):// 或 data: 或 blob: 开头的地址
47
+ if (/^(http(s)?:\/\/|data:|blob:)/i.test(src)) {
48
+ return src
49
+ }
50
+
51
+ // 如果为对象定义的规格
52
+ if ($n_isValidObject(options)) {
53
+
54
+ // 如果有定义 w
55
+ if ($n_has(options, 'w')) {
56
+
57
+ let {
58
+ w,
59
+ maxWidth,
60
+ zoom,
61
+ } = options
62
+
63
+ // 先设为 0
64
+ options.w = 0
65
+
66
+ // 如果有宽度
67
+ if (w) {
68
+
69
+ if (
70
+ ! $n_isNumeric(w)
71
+ && $n_isString(w)
72
+ ) {
73
+ w = w.replace('px', '')
74
+ }
75
+
76
+ if ($n_isNumeric(w)) {
77
+ w = Number(w)
78
+ if (w > 0) {
79
+
80
+ // 获取设备像素比
81
+ /* #if IS_WEB */
82
+ // 如果开启缩放
83
+ if (zoom) {
84
+ const devicePixelRatio = window.devicePixelRatio || 1
85
+ if (devicePixelRatio > 2) {
86
+ w *= 2
87
+ }
88
+ }
89
+ /* #endif */
90
+
91
+ if (w > 10) {
92
+ w = Math.floor(w / 10) * 10
93
+ } else {
94
+ w = Math.floor(w)
95
+ }
96
+
97
+ // 如果有最大宽度
98
+ if (maxWidth && maxWidth > w) {
99
+ w = maxWidth
100
+ }
101
+
102
+ options.w = w
103
+ }
104
+ }
105
+ }
106
+ }
107
+ // --------------------------------------------------
108
+
109
+ } else {
110
+ options = {}
111
+ }
112
+
113
+ const {
114
+ type,
115
+ domain,
116
+ } = $n_config('uploader.upload')
117
+
118
+ // 判断图片上传方式
119
+ switch (type) {
120
+
121
+ // 七牛云
122
+ case 'qiniu':
123
+
124
+ const {
125
+ compress,
126
+ w,
127
+ h,
128
+ q,
129
+ format,
130
+ } = Object.assign({
131
+ // 是否压缩
132
+ compress: true,
133
+ // 宽
134
+ w: 0,
135
+ // 高
136
+ h: 0,
137
+ // 质量
138
+ q: 75,
139
+ // 格式
140
+ format: 'webp',
141
+ }, options)
142
+
143
+ // 如果压缩
144
+ if (compress) {
145
+
146
+ // 裁剪图片方式
147
+ src += '?imageView2/2'
148
+
149
+ // 质量
150
+ if (q) {
151
+ src += '/q/' + q
152
+ }
153
+
154
+ // 宽
155
+ if (w) {
156
+ src += '/w/' + w
157
+ }
158
+
159
+ // 高
160
+ if (h) {
161
+ src += '/h/' + h
162
+ }
163
+
164
+ // 格式
165
+ if (format) {
166
+ src += '/format/' + format
167
+ }
168
+ }
169
+
170
+ return useFileUrl(domain, src)
171
+ }
172
+ }
173
+ }
174
+
175
+ return ''
176
+ }
package/utils/getTime.js CHANGED
@@ -1,113 +1,113 @@
1
- import $n_get from 'lodash/get'
2
-
3
- import $n_isValidString from '@netang/utils/isValidString'
4
- import $n_toDate from '@netang/utils/toDate'
5
- import $n_indexOf from '@netang/utils/indexOf'
6
-
7
- import $n_timestamp from './timestamp'
8
-
9
- import { date as quasarDate } from 'quasar'
10
-
11
- /**
12
- * 获取时间
13
- */
14
- export default function getTime(time, options, defaultValue = '') {
15
-
16
- if (! time) {
17
- return $n_isValidString(options) ? options : defaultValue
18
- }
19
-
20
- // 分隔符
21
- const separator = $n_get(options, 'separator', '-')
22
-
23
- let {
24
- hideCurrentYear,
25
- showSecond,
26
- format,
27
- calendar,
28
- showCalendarToday,
29
- showCalendarTime,
30
-
31
- } = Object.assign({
32
- // 默认格式化
33
- format: `MM${separator}DD HH:mm`,
34
- // 是否显示秒
35
- showSecond: false,
36
- // 是否隐藏当前年份
37
- hideCurrentYear: false,
38
- // 是否显示日历格式
39
- calendar: false,
40
- // 是否显示日历今天
41
- showCalendarToday: false,
42
- // 是否显示日历时间
43
- showCalendarTime: false,
44
- }, options)
45
-
46
- // 传入时间
47
- const date = $n_toDate(time)
48
-
49
- // 当前时间
50
- const now = $n_toDate($n_timestamp())
51
-
52
- // 如果是自然化时间
53
- // 如果是今天, 则显示时分秒
54
- // 如果是昨天, 则显示昨天
55
- // 如果是本周, 则显示星期几
56
- // 如果是本年, 则显示某月某日
57
- // 如果是非本年, 则显示某年某月某日
58
- if (calendar) {
59
-
60
- // 当前时间
61
- let time = ''
62
-
63
- // 如果是今年
64
- if (quasarDate.formatDate(date, 'YYYY') === quasarDate.formatDate(now, 'YYYY')) {
65
-
66
- const formatYmd = `YYYY${separator}MM${separator}DD`
67
-
68
- // 如果是今天
69
- const resDay = quasarDate.formatDate(date, formatYmd)
70
- if (resDay === quasarDate.formatDate(now, formatYmd)) {
71
- return showCalendarToday ? '今天' : quasarDate.formatDate(date, 'HH:mm' + (showSecond ? ':ss' : ''))
72
- }
73
-
74
- // 判断是否是昨天
75
- if (resDay === quasarDate.formatDate(quasarDate.subtractFromDate(now, { days: 1 }), formatYmd)) {
76
- time = '昨天'
77
-
78
- // 是否为本周(判断日期在本年是第几周 如果相同, 则是本周)
79
- } else if (quasarDate.formatDate(date, 'YYYY w') === quasarDate.formatDate(now, 'YYYY w')) {
80
- time = quasarDate.formatDate(date, 'dddd')
81
-
82
- // 否则显示某月某日
83
- } else {
84
- time = quasarDate.formatDate(date, 'MM月DD日')
85
- }
86
-
87
- // 否则显示某年某月某日
88
- } else {
89
- time = quasarDate.formatDate(date, 'YYYY年MM月DD日')
90
- }
91
-
92
- // 是否显示日历时间
93
- if (showCalendarTime) {
94
- return time + ' ' + quasarDate.formatDate(date, 'HH:mm' + (showSecond ? ':ss' : ''))
95
- }
96
-
97
- // 否则仅显示日期
98
- return time
99
- }
100
-
101
- // 如果是今年是否显示
102
- if (
103
- $n_indexOf(format, 'YYYY') === -1
104
- && (
105
- ! hideCurrentYear
106
- || quasarDate.formatDate(date, 'YYYY') !== quasarDate.formatDate(now, 'YYYY')
107
- )
108
- ) {
109
- format = 'YYYY' + separator + format
110
- }
111
-
112
- return quasarDate.formatDate(date, format + (showSecond ? ':ss' : ''))
113
- }
1
+ import $n_get from 'lodash/get'
2
+
3
+ import $n_isValidString from '@netang/utils/isValidString'
4
+ import $n_toDate from '@netang/utils/toDate'
5
+ import $n_indexOf from '@netang/utils/indexOf'
6
+
7
+ import $n_timestamp from './timestamp'
8
+
9
+ import { date as quasarDate } from 'quasar'
10
+
11
+ /**
12
+ * 获取时间
13
+ */
14
+ export default function getTime(time, options, defaultValue = '') {
15
+
16
+ if (! time) {
17
+ return $n_isValidString(options) ? options : defaultValue
18
+ }
19
+
20
+ // 分隔符
21
+ const separator = $n_get(options, 'separator', '-')
22
+
23
+ let {
24
+ hideCurrentYear,
25
+ showSecond,
26
+ format,
27
+ calendar,
28
+ showCalendarToday,
29
+ showCalendarTime,
30
+
31
+ } = Object.assign({
32
+ // 默认格式化
33
+ format: `MM${separator}DD HH:mm`,
34
+ // 是否显示秒
35
+ showSecond: false,
36
+ // 是否隐藏当前年份
37
+ hideCurrentYear: false,
38
+ // 是否显示日历格式
39
+ calendar: false,
40
+ // 是否显示日历今天
41
+ showCalendarToday: false,
42
+ // 是否显示日历时间
43
+ showCalendarTime: false,
44
+ }, options)
45
+
46
+ // 传入时间
47
+ const date = $n_toDate(time)
48
+
49
+ // 当前时间
50
+ const now = $n_toDate($n_timestamp())
51
+
52
+ // 如果是自然化时间
53
+ // 如果是今天, 则显示时分秒
54
+ // 如果是昨天, 则显示昨天
55
+ // 如果是本周, 则显示星期几
56
+ // 如果是本年, 则显示某月某日
57
+ // 如果是非本年, 则显示某年某月某日
58
+ if (calendar) {
59
+
60
+ // 当前时间
61
+ let time = ''
62
+
63
+ // 如果是今年
64
+ if (quasarDate.formatDate(date, 'YYYY') === quasarDate.formatDate(now, 'YYYY')) {
65
+
66
+ const formatYmd = `YYYY${separator}MM${separator}DD`
67
+
68
+ // 如果是今天
69
+ const resDay = quasarDate.formatDate(date, formatYmd)
70
+ if (resDay === quasarDate.formatDate(now, formatYmd)) {
71
+ return showCalendarToday ? '今天' : quasarDate.formatDate(date, 'HH:mm' + (showSecond ? ':ss' : ''))
72
+ }
73
+
74
+ // 判断是否是昨天
75
+ if (resDay === quasarDate.formatDate(quasarDate.subtractFromDate(now, { days: 1 }), formatYmd)) {
76
+ time = '昨天'
77
+
78
+ // 是否为本周(判断日期在本年是第几周 如果相同, 则是本周)
79
+ } else if (quasarDate.formatDate(date, 'YYYY w') === quasarDate.formatDate(now, 'YYYY w')) {
80
+ time = quasarDate.formatDate(date, 'dddd')
81
+
82
+ // 否则显示某月某日
83
+ } else {
84
+ time = quasarDate.formatDate(date, 'MM月DD日')
85
+ }
86
+
87
+ // 否则显示某年某月某日
88
+ } else {
89
+ time = quasarDate.formatDate(date, 'YYYY年MM月DD日')
90
+ }
91
+
92
+ // 是否显示日历时间
93
+ if (showCalendarTime) {
94
+ return time + ' ' + quasarDate.formatDate(date, 'HH:mm' + (showSecond ? ':ss' : ''))
95
+ }
96
+
97
+ // 否则仅显示日期
98
+ return time
99
+ }
100
+
101
+ // 如果是今年是否显示
102
+ if (
103
+ $n_indexOf(format, 'YYYY') === -1
104
+ && (
105
+ ! hideCurrentYear
106
+ || quasarDate.formatDate(date, 'YYYY') !== quasarDate.formatDate(now, 'YYYY')
107
+ )
108
+ ) {
109
+ format = 'YYYY' + separator + format
110
+ }
111
+
112
+ return quasarDate.formatDate(date, format + (showSecond ? ':ss' : ''))
113
+ }