@netang/quasar 0.1.89 → 0.1.90

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 (250) 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/column-title/index.vue +38 -38
  7. package/components/dialog/img-viewer/index.vue +657 -657
  8. package/components/dialog/index.vue +373 -373
  9. package/components/drawer/index.vue +303 -303
  10. package/components/editor-code/index.vue +325 -325
  11. package/components/empty/index.vue +80 -80
  12. package/components/field-date/index.vue +850 -850
  13. package/components/field-table/index.vue +1394 -1394
  14. package/components/field-tree/index.vue +754 -754
  15. package/components/img/index.vue +239 -239
  16. package/components/input-number/index.vue +547 -547
  17. package/components/mixed-table/index.vue +532 -532
  18. package/components/mixed-table-splitter/index.vue +377 -377
  19. package/components/power-page/index.vue +94 -94
  20. package/components/private/components/move-to-tree/index.vue +154 -154
  21. package/components/private/edit-power-data/index.vue +846 -846
  22. package/components/private/table-visible-columns-button/index.vue +114 -114
  23. package/components/render/index.vue +123 -123
  24. package/components/search/index.vue +231 -231
  25. package/components/search-item/index.vue +212 -212
  26. package/components/select/index.vue +177 -177
  27. package/components/splitter/index.vue +422 -422
  28. package/components/table/index.vue +513 -513
  29. package/components/table-column-fixed/index.vue +110 -110
  30. package/components/table-summary/index.vue +107 -107
  31. package/components/toolbar/index.vue +146 -146
  32. package/components/tree/index.vue +1728 -1728
  33. package/components/uploader/index.vue +190 -190
  34. package/components/uploader-query/index.vue +893 -893
  35. package/docs/404.html +33 -33
  36. package/docs/assets/404.html-60b35caa.js +1 -1
  37. package/docs/assets/404.html-d1e63d77.js +1 -1
  38. package/docs/assets/alert.html-b2a2a72f.js +5 -5
  39. package/docs/assets/alert.html-ba46d137.js +1 -1
  40. package/docs/assets/app-9f30aa4b.js +6 -6
  41. package/docs/assets/area.html-01b9b58d.js +42 -42
  42. package/docs/assets/area.html-9a4fce6a.js +1 -1
  43. package/docs/assets/arr.html-145d27e7.js +1 -1
  44. package/docs/assets/arr.html-674e65ab.js +11 -11
  45. package/docs/assets/auth.html-579fa830.js +1 -1
  46. package/docs/assets/auth.html-8544ed95.js +8 -8
  47. package/docs/assets/bus.html-c71254aa.js +1 -1
  48. package/docs/assets/bus.html-dc7d3d19.js +6 -6
  49. package/docs/assets/column-title.html-c735cb5a.js +3 -3
  50. package/docs/assets/column-title.html-e9316762.js +1 -1
  51. package/docs/assets/confirm.html-ddfdc27f.js +10 -10
  52. package/docs/assets/confirm.html-ef3e2bef.js +1 -1
  53. package/docs/assets/copy.html-d20345b6.js +1 -1
  54. package/docs/assets/copy.html-ef8c8571.js +13 -13
  55. package/docs/assets/data.html-6432175d.js +30 -30
  56. package/docs/assets/data.html-a3b05d5b.js +1 -1
  57. package/docs/assets/dialog.html-1f698e5a.js +1 -1
  58. package/docs/assets/dialog.html-62902b83.js +68 -68
  59. package/docs/assets/dialog.html-baea77c9.js +1 -1
  60. package/docs/assets/dialog.html-bb082fc4.js +1 -1
  61. package/docs/assets/dict.html-1311da3d.js +23 -23
  62. package/docs/assets/dict.html-b96fbf0c.js +1 -1
  63. package/docs/assets/dictOptions.html-7c4f40a5.js +1 -1
  64. package/docs/assets/dictOptions.html-fb99d175.js +5 -5
  65. package/docs/assets/dragger.html-668d3efa.js +1 -1
  66. package/docs/assets/dragger.html-749d585a.js +1 -1
  67. package/docs/assets/editor-code.html-6ab26ea9.js +1 -1
  68. package/docs/assets/editor-code.html-d196205d.js +1 -1
  69. package/docs/assets/empty.html-1c139131.js +1 -1
  70. package/docs/assets/empty.html-1e9c441d.js +1 -1
  71. package/docs/assets/field-date.html-069fdb13.js +1 -1
  72. package/docs/assets/field-date.html-ad204aa9.js +1 -1
  73. package/docs/assets/field-table.html-ce480f03.js +1 -1
  74. package/docs/assets/field-table.html-d9236160.js +1 -1
  75. package/docs/assets/field-text.html-7277c62f.js +1 -1
  76. package/docs/assets/field-text.html-ccb4cecf.js +1 -1
  77. package/docs/assets/field-tree.html-519bfb45.js +1 -1
  78. package/docs/assets/field-tree.html-fdc748d6.js +1 -1
  79. package/docs/assets/form.html-2b562c37.js +2 -2
  80. package/docs/assets/form.html-75104cd5.js +1 -1
  81. package/docs/assets/framework-204010b2.js +5 -5
  82. package/docs/assets/getData.html-990e3787.js +1 -1
  83. package/docs/assets/getData.html-bb72025f.js +34 -34
  84. package/docs/assets/getFile.html-42368004.js +1 -1
  85. package/docs/assets/getFile.html-99abd054.js +3 -3
  86. package/docs/assets/getImage.html-3429c5a1.js +1 -1
  87. package/docs/assets/getImage.html-4d886d83.js +3 -3
  88. package/docs/assets/getTime.html-7435f922.js +1 -1
  89. package/docs/assets/getTime.html-b37f49eb.js +20 -20
  90. package/docs/assets/img.html-7d1da657.js +1 -1
  91. package/docs/assets/img.html-fbea1105.js +1 -1
  92. package/docs/assets/index.html-1695dd7c.js +1 -1
  93. package/docs/assets/index.html-65a4aa67.js +1 -1
  94. package/docs/assets/index.html-7b98d5bd.js +1 -1
  95. package/docs/assets/index.html-c01f2648.js +1 -1
  96. package/docs/assets/input-number.html-0b250d2a.js +1 -1
  97. package/docs/assets/input-number.html-a8eb0378.js +1 -1
  98. package/docs/assets/list-menu-item.html-7f1b4611.js +1 -1
  99. package/docs/assets/list-menu-item.html-84ed5ab8.js +1 -1
  100. package/docs/assets/list-menu.html-28b4163f.js +1 -1
  101. package/docs/assets/list-menu.html-cb6ba95b.js +1 -1
  102. package/docs/assets/loading.html-dae9e39d.js +6 -6
  103. package/docs/assets/loading.html-dc74c9e6.js +1 -1
  104. package/docs/assets/notify.html-e6c4c514.js +1 -1
  105. package/docs/assets/notify.html-f2c4d914.js +8 -8
  106. package/docs/assets/power-page.html-32e02f82.js +1 -1
  107. package/docs/assets/power-page.html-485e77da.js +1 -1
  108. package/docs/assets/power.html-d258cc19.js +93 -93
  109. package/docs/assets/power.html-e490bd32.js +1 -1
  110. package/docs/assets/previewImage.html-6a6b4245.js +1 -1
  111. package/docs/assets/previewImage.html-c5b7e945.js +2 -2
  112. package/docs/assets/price.html-1882c548.js +19 -19
  113. package/docs/assets/price.html-94d3f5be.js +1 -1
  114. package/docs/assets/price.html-d213df0f.js +1 -1
  115. package/docs/assets/price.html-deaf880f.js +1 -1
  116. package/docs/assets/render.html-8efcbdd4.js +1 -1
  117. package/docs/assets/render.html-df228e38.js +1 -1
  118. package/docs/assets/rule.html-2cd57fc2.js +13 -13
  119. package/docs/assets/rule.html-61662001.js +1 -1
  120. package/docs/assets/ruleValid.html-04fe2552.js +1 -1
  121. package/docs/assets/ruleValid.html-e0a776af.js +14 -14
  122. package/docs/assets/search-0782d0d1.svg +1 -1
  123. package/docs/assets/search-item.html-3f75394c.js +1 -1
  124. package/docs/assets/search-item.html-4e942ecd.js +1 -1
  125. package/docs/assets/search.html-2807043e.js +1 -1
  126. package/docs/assets/search.html-c24f8806.js +1 -1
  127. package/docs/assets/select.html-00d0607c.js +1 -1
  128. package/docs/assets/select.html-de7731f5.js +1 -1
  129. package/docs/assets/splitter.html-56f51a70.js +1 -1
  130. package/docs/assets/splitter.html-f5c836d7.js +1 -1
  131. package/docs/assets/style-161e43ab.css +1 -1
  132. package/docs/assets/symbols.html-a6aea4bf.js +1 -1
  133. package/docs/assets/symbols.html-b1f65bad.js +21 -21
  134. package/docs/assets/table-column-fixed.html-3a69e7b2.js +1 -1
  135. package/docs/assets/table-column-fixed.html-e763c38b.js +1 -1
  136. package/docs/assets/table-pagination.html-236934d3.js +1 -1
  137. package/docs/assets/table-pagination.html-c37ee2ac.js +1 -1
  138. package/docs/assets/table-splitter.html-07eab15c.js +1 -1
  139. package/docs/assets/table-splitter.html-7670ee65.js +1 -1
  140. package/docs/assets/table-summary.html-04db434f.js +1 -1
  141. package/docs/assets/table-summary.html-943c65a0.js +1 -1
  142. package/docs/assets/table.html-36253ad7.js +1 -1
  143. package/docs/assets/table.html-7f9c5d1b.js +38 -38
  144. package/docs/assets/table.html-93d53dc8.js +1 -1
  145. package/docs/assets/table.html-ac99b9cb.js +1 -1
  146. package/docs/assets/thumbnail.html-bab1976b.js +1 -1
  147. package/docs/assets/thumbnail.html-eb64e5e8.js +1 -1
  148. package/docs/assets/timestamp.html-4e54f79b.js +13 -13
  149. package/docs/assets/timestamp.html-d0e1b88a.js +1 -1
  150. package/docs/assets/toast.html-58ecbe21.js +1 -1
  151. package/docs/assets/toast.html-c9b9d36b.js +6 -6
  152. package/docs/assets/toolbar.html-83d9f97c.js +1 -1
  153. package/docs/assets/toolbar.html-ff7b8c92.js +1 -1
  154. package/docs/assets/tree.html-d07cbe79.js +23 -23
  155. package/docs/assets/tree.html-ea04193e.js +1 -1
  156. package/docs/assets/uploader-query.html-05590718.js +1 -1
  157. package/docs/assets/uploader-query.html-3175bac5.js +1 -1
  158. package/docs/assets/uploader.html-36da4394.js +2 -2
  159. package/docs/assets/uploader.html-6b5f3079.js +1 -1
  160. package/docs/assets/uploader.html-b9340b57.js +1 -1
  161. package/docs/assets/uploader.html-bc1c22e3.js +1 -1
  162. package/docs/assets/value-format.html-8ae3d47d.js +1 -1
  163. package/docs/assets/value-format.html-afa99b3d.js +1 -1
  164. package/docs/components/column-title.html +35 -35
  165. package/docs/components/data.html +62 -62
  166. package/docs/components/dialog.html +33 -33
  167. package/docs/components/dragger.html +33 -33
  168. package/docs/components/editor-code.html +33 -33
  169. package/docs/components/empty.html +33 -33
  170. package/docs/components/field-date.html +33 -33
  171. package/docs/components/field-table.html +33 -33
  172. package/docs/components/field-text.html +33 -33
  173. package/docs/components/field-tree.html +33 -33
  174. package/docs/components/img.html +33 -33
  175. package/docs/components/input-number.html +33 -33
  176. package/docs/components/list-menu-item.html +33 -33
  177. package/docs/components/list-menu.html +33 -33
  178. package/docs/components/power-page.html +33 -33
  179. package/docs/components/price.html +33 -33
  180. package/docs/components/render.html +33 -33
  181. package/docs/components/search-item.html +33 -33
  182. package/docs/components/search.html +33 -33
  183. package/docs/components/select.html +33 -33
  184. package/docs/components/splitter.html +33 -33
  185. package/docs/components/table-column-fixed.html +33 -33
  186. package/docs/components/table-pagination.html +33 -33
  187. package/docs/components/table-splitter.html +33 -33
  188. package/docs/components/table-summary.html +33 -33
  189. package/docs/components/table.html +33 -33
  190. package/docs/components/thumbnail.html +33 -33
  191. package/docs/components/toolbar.html +33 -33
  192. package/docs/components/uploader-query.html +33 -33
  193. package/docs/components/uploader.html +33 -33
  194. package/docs/components/value-format.html +33 -33
  195. package/docs/index.html +33 -33
  196. package/docs/utils/alert.html +37 -37
  197. package/docs/utils/area.html +74 -74
  198. package/docs/utils/arr.html +43 -43
  199. package/docs/utils/auth.html +40 -40
  200. package/docs/utils/bus.html +38 -38
  201. package/docs/utils/confirm.html +42 -42
  202. package/docs/utils/copy.html +45 -45
  203. package/docs/utils/dialog.html +100 -100
  204. package/docs/utils/dict.html +55 -55
  205. package/docs/utils/dictOptions.html +37 -37
  206. package/docs/utils/form.html +34 -34
  207. package/docs/utils/getData.html +66 -66
  208. package/docs/utils/getFile.html +35 -35
  209. package/docs/utils/getImage.html +35 -35
  210. package/docs/utils/getTime.html +52 -52
  211. package/docs/utils/index.html +33 -33
  212. package/docs/utils/loading.html +38 -38
  213. package/docs/utils/notify.html +40 -40
  214. package/docs/utils/power.html +125 -125
  215. package/docs/utils/previewImage.html +34 -34
  216. package/docs/utils/price.html +51 -51
  217. package/docs/utils/rule.html +45 -45
  218. package/docs/utils/ruleValid.html +46 -46
  219. package/docs/utils/symbols.html +53 -53
  220. package/docs/utils/table.html +70 -70
  221. package/docs/utils/timestamp.html +45 -45
  222. package/docs/utils/toast.html +38 -38
  223. package/docs/utils/tree.html +55 -55
  224. package/docs/utils/uploader.html +34 -34
  225. package/package.json +1 -1
  226. package/sass/common.scss +184 -184
  227. package/sass/index.scss +12 -12
  228. package/sass/quasar/field.scss +250 -250
  229. package/sass/quasar/table.scss +168 -168
  230. package/sass/variables.scss +140 -140
  231. package/utils/$form.js +72 -72
  232. package/utils/$power.js +1435 -1435
  233. package/utils/$render.js +75 -75
  234. package/utils/$search.js +416 -416
  235. package/utils/$table.js +1275 -1275
  236. package/utils/$tree.js +34 -16
  237. package/utils/config.js +57 -57
  238. package/utils/dialog.js +36 -36
  239. package/utils/dict.js +21 -21
  240. package/utils/getData.js +88 -88
  241. package/utils/getFile.js +41 -41
  242. package/utils/getImage.js +176 -176
  243. package/utils/getTime.js +113 -113
  244. package/utils/index.js +65 -65
  245. package/utils/previewImage.js +14 -14
  246. package/utils/timestamp.js +18 -18
  247. package/utils/uploader/qiniu.js +320 -320
  248. package/utils/uploader.js +1625 -1625
  249. package/utils/useFileUrl.js +25 -25
  250. package/utils/useSearch.js +499 -499
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
+ }