@netang/quasar 0.1.93 → 0.1.95

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