@sugarat/easypicker2-client 2.4.3 → 2.6.1-beta.0

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 (293) hide show
  1. package/dist/assets/aria-bc8e8b0f.js +2 -0
  2. package/dist/assets/aria-bc8e8b0f.js.map +1 -0
  3. package/dist/assets/aria-legacy.af0825d3.js +2 -0
  4. package/dist/assets/data-analysis-632af70e.js +2 -0
  5. package/dist/assets/data-analysis-632af70e.js.map +1 -0
  6. package/dist/assets/data-analysis-legacy.297ff95d.js +2 -0
  7. package/dist/assets/data-board-4290cade.js +2 -0
  8. package/dist/assets/data-board-4290cade.js.map +1 -0
  9. package/dist/assets/data-board-legacy.b3bf2f61.js +2 -0
  10. package/dist/assets/el-date-picker-b3398f8f.js +2 -0
  11. package/dist/assets/el-date-picker-b3398f8f.js.map +1 -0
  12. package/dist/assets/el-date-picker-cf2e83b6.css +1 -0
  13. package/dist/assets/el-date-picker-legacy.fd044c30.js +2 -0
  14. package/dist/assets/el-dialog-25bd2fb8.css +1 -0
  15. package/dist/assets/el-dialog-c11c4af2.js +2 -0
  16. package/dist/assets/el-dialog-c11c4af2.js.map +1 -0
  17. package/dist/assets/el-dialog-legacy.d2229175.js +2 -0
  18. package/dist/assets/el-dropdown-item-0c6ddabc.css +1 -0
  19. package/dist/assets/el-dropdown-item-3eb29c67.js +2 -0
  20. package/dist/assets/el-dropdown-item-3eb29c67.js.map +1 -0
  21. package/dist/assets/el-dropdown-item-legacy.60575f42.js +2 -0
  22. package/dist/assets/el-form-item-3aad794a.css +1 -0
  23. package/dist/assets/el-form-item-fb230be3.js +2 -0
  24. package/dist/assets/el-form-item-fb230be3.js.map +1 -0
  25. package/dist/assets/el-form-item-legacy.237ed4b6.js +2 -0
  26. package/dist/assets/el-loading-d0f2d079.css +1 -0
  27. package/dist/assets/el-loading-e9365e7e.js +2 -0
  28. package/dist/assets/el-loading-e9365e7e.js.map +1 -0
  29. package/dist/assets/el-loading-legacy.8045609e.js +2 -0
  30. package/dist/assets/el-pagination-85149e11.js +2 -0
  31. package/dist/assets/el-pagination-85149e11.js.map +1 -0
  32. package/dist/assets/el-pagination-bf7c736d.css +1 -0
  33. package/dist/assets/el-pagination-legacy.02ed0149.js +2 -0
  34. package/dist/assets/el-progress-63aabe3a.css +1 -0
  35. package/dist/assets/el-progress-b98becda.js +2 -0
  36. package/dist/assets/el-progress-b98becda.js.map +1 -0
  37. package/dist/assets/el-progress-legacy.1165db46.js +2 -0
  38. package/dist/assets/el-select-2a16e5df.js +2 -0
  39. package/dist/assets/el-select-2a16e5df.js.map +1 -0
  40. package/dist/assets/el-select-6be23320.css +1 -0
  41. package/dist/assets/el-select-legacy.5ccdd9a4.js +2 -0
  42. package/dist/assets/el-switch-abdd5a33.js +2 -0
  43. package/dist/assets/el-switch-abdd5a33.js.map +1 -0
  44. package/dist/assets/el-switch-aeab2c6b.css +1 -0
  45. package/dist/assets/el-switch-legacy.96786863.js +2 -0
  46. package/dist/assets/el-tab-pane-4a1bb4c7.css +1 -0
  47. package/dist/assets/el-tab-pane-db271c8d.js +2 -0
  48. package/dist/assets/el-tab-pane-db271c8d.js.map +1 -0
  49. package/dist/assets/el-tab-pane-legacy.143cbc33.js +2 -0
  50. package/dist/assets/el-table-column-19feeab8.js +21 -0
  51. package/dist/assets/el-table-column-19feeab8.js.map +1 -0
  52. package/dist/assets/el-table-column-6c2089f9.css +1 -0
  53. package/dist/assets/el-table-column-legacy.afba06f3.js +24 -0
  54. package/dist/assets/index-01e33329.css +1 -0
  55. package/dist/assets/index-0f83ff96.css +1 -0
  56. package/dist/assets/index-0fbe23b2.js +2 -0
  57. package/dist/assets/index-0fbe23b2.js.map +1 -0
  58. package/dist/assets/index-14d600a5.js +2 -0
  59. package/dist/assets/index-14d600a5.js.map +1 -0
  60. package/dist/assets/index-1639ad54.js +15 -0
  61. package/dist/assets/index-1639ad54.js.map +1 -0
  62. package/dist/assets/index-16b096cf.js +2 -0
  63. package/dist/assets/index-16b096cf.js.map +1 -0
  64. package/dist/assets/index-1bd2cd2e.js +2 -0
  65. package/dist/assets/index-1bd2cd2e.js.map +1 -0
  66. package/dist/assets/index-2c76567d.js +2 -0
  67. package/dist/assets/index-2c76567d.js.map +1 -0
  68. package/dist/assets/index-3091894a.css +1 -0
  69. package/dist/assets/index-34fd4f9f.css +1 -0
  70. package/dist/assets/index-37e15bc6.css +1 -0
  71. package/dist/assets/index-3f82ab7a.css +1 -0
  72. package/dist/assets/index-43d1d27e.js +2 -0
  73. package/dist/assets/index-43d1d27e.js.map +1 -0
  74. package/dist/assets/index-488b0f9e.js +2 -0
  75. package/dist/assets/index-488b0f9e.js.map +1 -0
  76. package/dist/assets/index-4b1f55ea.js +2 -0
  77. package/dist/assets/index-4b1f55ea.js.map +1 -0
  78. package/dist/assets/index-4c81cf78.css +1 -0
  79. package/dist/assets/index-51740dfd.js +2 -0
  80. package/dist/assets/index-51740dfd.js.map +1 -0
  81. package/dist/assets/index-5281fad0.js +2 -0
  82. package/dist/assets/index-5281fad0.js.map +1 -0
  83. package/dist/assets/index-68448dbd.js +2 -0
  84. package/dist/assets/index-68448dbd.js.map +1 -0
  85. package/dist/assets/index-74330c06.js +2 -0
  86. package/dist/assets/index-74330c06.js.map +1 -0
  87. package/dist/assets/index-76f31e30.css +1 -0
  88. package/dist/assets/index-76ff9b9b.css +1 -0
  89. package/dist/assets/index-78a8b3c7.js +2 -0
  90. package/dist/assets/index-78a8b3c7.js.map +1 -0
  91. package/dist/assets/index-82a6b493.css +1 -0
  92. package/dist/assets/index-93c733b3.css +1 -0
  93. package/dist/assets/index-98b55468.css +1 -0
  94. package/dist/assets/index-9e6a9bcf.js +2 -0
  95. package/dist/assets/index-9e6a9bcf.js.map +1 -0
  96. package/dist/assets/index-9e6bd406.js +2 -0
  97. package/dist/assets/index-9e6bd406.js.map +1 -0
  98. package/dist/assets/index-ac06071b.js +2 -0
  99. package/dist/assets/index-ac06071b.js.map +1 -0
  100. package/dist/assets/index-adc1b681.js +2 -0
  101. package/dist/assets/index-adc1b681.js.map +1 -0
  102. package/dist/assets/index-b8357360.js +2 -0
  103. package/dist/assets/index-b8357360.js.map +1 -0
  104. package/dist/assets/index-d09329eb.js +2 -0
  105. package/dist/assets/index-d09329eb.js.map +1 -0
  106. package/dist/assets/index-d3ae2239.css +1 -0
  107. package/dist/assets/index-da51da36.css +1 -0
  108. package/dist/assets/index-e7d8a83e.css +1 -0
  109. package/dist/assets/index-eb08e7b7.css +1 -0
  110. package/dist/assets/index-f31c9ba4.css +1 -0
  111. package/dist/assets/index-f74b7eb6.js +2 -0
  112. package/dist/assets/index-f74b7eb6.js.map +1 -0
  113. package/dist/assets/index-legacy.082ccf5b.js +2 -0
  114. package/dist/assets/index-legacy.12de1889.js +2 -0
  115. package/dist/assets/index-legacy.1796b3ef.js +2 -0
  116. package/dist/assets/index-legacy.227978b5.js +2 -0
  117. package/dist/assets/index-legacy.296716c3.js +2 -0
  118. package/dist/assets/index-legacy.36482c14.js +2 -0
  119. package/dist/assets/index-legacy.41d8801d.js +2 -0
  120. package/dist/assets/index-legacy.4b2923ee.js +2 -0
  121. package/dist/assets/index-legacy.4c1d6eb3.js +2 -0
  122. package/dist/assets/index-legacy.7a041259.js +2 -0
  123. package/dist/assets/index-legacy.820f4ba0.js +2 -0
  124. package/dist/assets/index-legacy.8311ba4a.js +2 -0
  125. package/dist/assets/index-legacy.9eb93981.js +18 -0
  126. package/dist/assets/index-legacy.a19ed25e.js +2 -0
  127. package/dist/assets/index-legacy.b8de0bf4.js +2 -0
  128. package/dist/assets/index-legacy.e932a3d4.js +2 -0
  129. package/dist/assets/index-legacy.e96fb189.js +2 -0
  130. package/dist/assets/index-legacy.ec490514.js +2 -0
  131. package/dist/assets/index-legacy.ed2883a1.js +2 -0
  132. package/dist/assets/index-legacy.f16524a6.js +2 -0
  133. package/dist/assets/index-legacy.f84efe08.js +2 -0
  134. package/dist/assets/isEqual-95d6c129.js +2 -0
  135. package/dist/assets/isEqual-95d6c129.js.map +1 -0
  136. package/dist/assets/isEqual-legacy.83836994.js +2 -0
  137. package/dist/assets/other-8d7ba6a0.js +2 -0
  138. package/dist/assets/other-8d7ba6a0.js.map +1 -0
  139. package/dist/assets/other-legacy.39078796.js +2 -0
  140. package/dist/assets/polyfills-legacy.99e38685.js +4 -0
  141. package/dist/assets/refresh-be31af7a.js +2 -0
  142. package/dist/assets/refresh-be31af7a.js.map +1 -0
  143. package/dist/assets/refresh-legacy.600c5af4.js +2 -0
  144. package/dist/assets/tip-822b05b7.js +2 -0
  145. package/dist/assets/tip-822b05b7.js.map +1 -0
  146. package/dist/assets/tip-9cb18ee8.css +1 -0
  147. package/dist/assets/tip-legacy.b6d754fd.js +2 -0
  148. package/dist/assets/validator-5c60ab85.js +2 -0
  149. package/dist/assets/validator-5c60ab85.js.map +1 -0
  150. package/dist/assets/validator-legacy.86b93c0e.js +2 -0
  151. package/{index.html → dist/index.html} +8 -1
  152. package/package.json +26 -19
  153. package/.env +0 -6
  154. package/.env.production +0 -3
  155. package/.env.test +0 -4
  156. package/.eslintignore +0 -0
  157. package/.eslintrc.json +0 -57
  158. package/.github/workflows/main.yml +0 -61
  159. package/.prettierrc.js +0 -9
  160. package/auto-imports.d.ts +0 -6
  161. package/components.d.ts +0 -56
  162. package/docker/ep_backup/easypicker2.sql +0 -214
  163. package/docker/ep_backup/mongodb/easypicker2/action.bson +0 -0
  164. package/docker/ep_backup/mongodb/easypicker2/action.metadata.json +0 -1
  165. package/docker/ep_backup/mongodb/easypicker2/log.bson +0 -0
  166. package/docker/ep_backup/mongodb/easypicker2/log.metadata.json +0 -1
  167. package/docker/ep_backup/user-config.json +0 -176
  168. package/docs/.env +0 -1
  169. package/docs/.env.production +0 -2
  170. package/docs/.vitepress/config.ts +0 -204
  171. package/docs/.vitepress/theme/bg.png +0 -0
  172. package/docs/.vitepress/theme/index.scss +0 -41
  173. package/docs/.vitepress/theme/index.ts +0 -5
  174. package/docs/author.md +0 -24
  175. package/docs/auto-imports.d.ts +0 -6
  176. package/docs/components.d.ts +0 -17
  177. package/docs/deploy/design/api.md +0 -3
  178. package/docs/deploy/design/db.md +0 -3
  179. package/docs/deploy/design/index.md +0 -3
  180. package/docs/deploy/design/shell.md +0 -9
  181. package/docs/deploy/faq.md +0 -86
  182. package/docs/deploy/index.md +0 -9
  183. package/docs/deploy/local.md +0 -275
  184. package/docs/deploy/online-new.md +0 -610
  185. package/docs/deploy/online.md +0 -683
  186. package/docs/deploy/qiniu.md +0 -183
  187. package/docs/index.md +0 -40
  188. package/docs/introduction/about/code.md +0 -26
  189. package/docs/introduction/about/index.md +0 -33
  190. package/docs/introduction/feature/index.md +0 -3
  191. package/docs/plan/log.md +0 -346
  192. package/docs/plan/todo.md +0 -127
  193. package/docs/plan/wish.md +0 -29
  194. package/docs/praise/index.md +0 -45
  195. package/docs/public/robots.txt +0 -2
  196. package/docs/src/apis/ajax.ts +0 -66
  197. package/docs/src/apis/index.ts +0 -1
  198. package/docs/src/apis/modules/wish.ts +0 -20
  199. package/docs/src/components/Avatar.vue +0 -60
  200. package/docs/src/components/Home.vue +0 -85
  201. package/docs/src/components/Picture.vue +0 -13
  202. package/docs/src/components/Praise.vue +0 -52
  203. package/docs/src/components/WishBtn.vue +0 -98
  204. package/docs/src/components/WishPanel.vue +0 -170
  205. package/docs/src/components/callme/index.vue +0 -72
  206. package/docs/vite.config.ts +0 -42
  207. package/public/favicon.ico +0 -0
  208. package/public/logo.png +0 -0
  209. package/scripts/deploy/docs.mjs +0 -24
  210. package/scripts/deploy/prod.mjs +0 -24
  211. package/scripts/deploy/test.mjs +0 -26
  212. package/src/@types/ajax.d.ts +0 -5
  213. package/src/@types/api.d.ts +0 -305
  214. package/src/@types/lib.d.ts +0 -26
  215. package/src/@types/page.d.ts +0 -18
  216. package/src/App.vue +0 -36
  217. package/src/apis/ajax.ts +0 -72
  218. package/src/apis/index.ts +0 -20
  219. package/src/apis/modules/action.ts +0 -17
  220. package/src/apis/modules/category.ts +0 -20
  221. package/src/apis/modules/config.ts +0 -19
  222. package/src/apis/modules/file.ts +0 -150
  223. package/src/apis/modules/people.ts +0 -81
  224. package/src/apis/modules/public.ts +0 -49
  225. package/src/apis/modules/super/overview.ts +0 -56
  226. package/src/apis/modules/super/user.ts +0 -62
  227. package/src/apis/modules/task.ts +0 -67
  228. package/src/apis/modules/user.ts +0 -56
  229. package/src/apis/modules/wish.ts +0 -31
  230. package/src/assets/i/EasyPicker.png +0 -0
  231. package/src/assets/logo.png +0 -0
  232. package/src/assets/styles/app.css +0 -69
  233. package/src/components/HomeFooter/index.vue +0 -134
  234. package/src/components/HomeHeader/index.vue +0 -156
  235. package/src/components/InfosForm/index.vue +0 -73
  236. package/src/components/MessageList/index.vue +0 -155
  237. package/src/components/MessagePanel/index.vue +0 -46
  238. package/src/components/Praise/index.vue +0 -102
  239. package/src/components/QrCode.vue +0 -44
  240. package/src/components/linkDialog.vue +0 -104
  241. package/src/components/loginPanel.vue +0 -92
  242. package/src/constants/index.ts +0 -83
  243. package/src/env.d.ts +0 -8
  244. package/src/main.ts +0 -19
  245. package/src/pages/404/index.vue +0 -59
  246. package/src/pages/about/index.vue +0 -152
  247. package/src/pages/callme/index.vue +0 -155
  248. package/src/pages/dashboard/config/index.vue +0 -304
  249. package/src/pages/dashboard/files/index.vue +0 -1152
  250. package/src/pages/dashboard/index.vue +0 -335
  251. package/src/pages/dashboard/manage/config/index.vue +0 -97
  252. package/src/pages/dashboard/manage/index.vue +0 -105
  253. package/src/pages/dashboard/manage/overview/index.vue +0 -486
  254. package/src/pages/dashboard/manage/user/index.vue +0 -678
  255. package/src/pages/dashboard/manage/wish/index.vue +0 -257
  256. package/src/pages/dashboard/tasks/components/CategoryPanel.vue +0 -208
  257. package/src/pages/dashboard/tasks/components/CreateTask.vue +0 -93
  258. package/src/pages/dashboard/tasks/components/TaskInfo.vue +0 -129
  259. package/src/pages/dashboard/tasks/components/infoPanel/ddl.vue +0 -96
  260. package/src/pages/dashboard/tasks/components/infoPanel/file.vue +0 -175
  261. package/src/pages/dashboard/tasks/components/infoPanel/info.vue +0 -467
  262. package/src/pages/dashboard/tasks/components/infoPanel/people.vue +0 -566
  263. package/src/pages/dashboard/tasks/components/infoPanel/template.vue +0 -146
  264. package/src/pages/dashboard/tasks/components/infoPanel/tip.vue +0 -55
  265. package/src/pages/dashboard/tasks/components/infoPanel/tipInfo.vue +0 -196
  266. package/src/pages/dashboard/tasks/index.vue +0 -302
  267. package/src/pages/dashboard/tasks/public.ts +0 -32
  268. package/src/pages/disabled/index.vue +0 -47
  269. package/src/pages/feedback/index.vue +0 -5
  270. package/src/pages/home/index.vue +0 -72
  271. package/src/pages/login/index.vue +0 -270
  272. package/src/pages/register/index.vue +0 -211
  273. package/src/pages/reset/index.vue +0 -186
  274. package/src/pages/task/index.vue +0 -895
  275. package/src/pages/wish/index.vue +0 -152
  276. package/src/router/Interceptor/index.ts +0 -112
  277. package/src/router/index.ts +0 -13
  278. package/src/router/routes/index.ts +0 -197
  279. package/src/shims-vue.d.ts +0 -6
  280. package/src/store/index.ts +0 -17
  281. package/src/store/modules/category.ts +0 -44
  282. package/src/store/modules/public.ts +0 -27
  283. package/src/store/modules/task.ts +0 -55
  284. package/src/store/modules/user.ts +0 -57
  285. package/src/utils/elementUI.ts +0 -8
  286. package/src/utils/networkUtil.ts +0 -236
  287. package/src/utils/other.ts +0 -25
  288. package/src/utils/regExp.ts +0 -11
  289. package/src/utils/stringUtil.ts +0 -241
  290. package/tsconfig.json +0 -24
  291. package/vite.config.ts +0 -55
  292. /package/{docs/public → dist}/favicon.ico +0 -0
  293. /package/{docs/public → dist}/logo.png +0 -0
@@ -1,96 +0,0 @@
1
- <template>
2
- <div class="tc ddl">
3
- <tip
4
- :imgs="[
5
- 'https://img.cdn.sugarat.top/mdImg/MTY0OTE0OTI4NjU5Nw==649149286597',
6
- 'https://img.cdn.sugarat.top/mdImg/MTY0OTE0OTMxMDEyOQ==649149310129',
7
- 'https://img.cdn.sugarat.top/mdImg/MTY0OTE0OTM3MzgxOA==649149373818'
8
- ]"
9
- >设置截止日期,截止后将不能再提交文件。</tip
10
- >
11
- <div class="tc flex fc fac">
12
- <el-date-picker
13
- :editable="false"
14
- v-model="newDate"
15
- type="datetime"
16
- placeholder="点击设置新截止日期"
17
- @change="updateDDL"
18
- :default-time="new Date(ddl)"
19
- ></el-date-picker>
20
- <el-button v-if="newDate" @click="closeDDL">取消</el-button>
21
- </div>
22
- <div style="margin-top: 10px" v-if="newDate">
23
- <tip>{{ isOver ? '已经截止' : `剩余时间: ${waitTimeStr}` }} </tip>
24
- </div>
25
- </div>
26
- </template>
27
- <script lang="ts" setup>
28
- import { computed, onMounted, ref, watchEffect } from 'vue'
29
- import { formatDate } from '@/utils/stringUtil'
30
- import { updateTaskInfo } from '../../public'
31
- import Tip from './tip.vue'
32
-
33
- const props = defineProps({
34
- ddl: {
35
- type: String,
36
- default: '',
37
- required: false
38
- },
39
- k: {
40
- type: String,
41
- default: ''
42
- }
43
- })
44
-
45
- const newDate = ref()
46
- watchEffect(() => {
47
- if (props.ddl) {
48
- newDate.value = new Date(props.ddl)
49
- } else {
50
- newDate.value = null
51
- }
52
- })
53
- // 更新DDL
54
- const updateDDL = () => {
55
- if (newDate.value) {
56
- const ddl = formatDate(
57
- new Date(newDate.value.getTime() - 1000 * 60 * 60 * 8)
58
- )
59
- updateTaskInfo(props.k, { ddl })
60
- }
61
- }
62
- // 关闭DDL
63
- const closeDDL = () => {
64
- newDate.value = null
65
- updateTaskInfo(props.k, { ddl: null })
66
- }
67
-
68
- const waitTime = ref(0)
69
- const isOver = computed(() => waitTime.value <= 0)
70
- const waitTimeStr = computed(() => {
71
- let seconds = ~~(waitTime.value / 1000)
72
- let hour = ~~(seconds / (60 * 60))
73
- const day = ~~(hour / 24)
74
- hour %= 24
75
- const minute = ~~((seconds % 3600) / 60)
76
- seconds %= 60
77
- return `剩余${day}天${hour}时${minute}分${seconds}秒`
78
- })
79
-
80
- const refreshWaitTime = (loop = true) => {
81
- if (newDate.value) {
82
- waitTime.value = newDate.value.getTime() - Date.now()
83
- } else {
84
- waitTime.value = 0
85
- }
86
- if (loop) {
87
- setTimeout(() => {
88
- refreshWaitTime()
89
- }, 1000)
90
- }
91
- }
92
-
93
- onMounted(() => {
94
- refreshWaitTime()
95
- })
96
- </script>
@@ -1,175 +0,0 @@
1
- <template>
2
- <div class="tc">
3
- <tip class="title"> ↓下方设置允许提交的文件类型↓ </tip>
4
- <tip>暂时只支持通过文件名后缀进行卡控,后续根据反馈再优化</tip>
5
- <tip>例如:txt,png,jpeg,webp</tip>
6
- <div class="tc">
7
- <el-switch
8
- active-text="限制文件类型"
9
- inactive-text="不限制文件类型"
10
- @change="handleChange"
11
- :value="formatData.status"
12
- style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949"
13
- />
14
- </div>
15
- <div v-show="formatData.status">
16
- <tip>支持英文逗号","分割,一次添加多个</tip>
17
- <div style="max-width: 300px; margin: 0 auto">
18
- <el-input v-model="typeName" placeholder="请输入文件类型(省略.)">
19
- <template #append>
20
- <el-button @click="handleAddType"> 确定 </el-button>
21
- </template>
22
- </el-input>
23
- </div>
24
- <el-tag
25
- v-for="(tag, idx) in formatData.format"
26
- :key="idx"
27
- class="type"
28
- closable
29
- :disable-transitions="false"
30
- @close="handleDelType(idx)"
31
- >
32
- {{ tag }}
33
- </el-tag>
34
- <tip v-show="formatData.format.length"
35
- >已添加: <span>{{ formatData.format.join(',') }}</span>
36
- <el-button type="primary" text size="small" @click="handleCopyType"
37
- >一键复制</el-button
38
- >
39
- </tip>
40
- </div>
41
- <div class="split-line"></div>
42
- <tip class="title"
43
- >↓下方设置最大同时提交文件数量(16 >= x >=1 默认 10)↓</tip
44
- >
45
- <div class="tc">
46
- <el-input-number
47
- :model-value="formatData.limit"
48
- :min="1"
49
- :max="16"
50
- @change="handleChangeLimit"
51
- />
52
- </div>
53
- <div class="split-line"></div>
54
- <tip class="title"> ↓下方设置文件最大的大小↓ </tip>
55
- <tip>1024B = 1KB, 1024KB = 1MB, 1024MB = 1GB</tip>
56
- <tip>0表示不限制</tip>
57
- <div class="tc">
58
- <el-input-number
59
- :model-value="inputSize"
60
- :min="0"
61
- :max="1024"
62
- @change="handleLimitSize"
63
- />
64
- <el-select
65
- @change="handleChangeUnit"
66
- v-model="formatData.sizeUnit"
67
- placeholder="单位"
68
- style="width: 100px"
69
- >
70
- <el-option v-for="v in unitList" :key="v" :label="v" :value="v" />
71
- </el-select>
72
- </div>
73
- <div class="split-line"></div>
74
- <tip :style="formatData.size === 0 ? 'color:grey' : 'color:red'">{{
75
- formatData.size === 0
76
- ? '不限制大小'
77
- : `限制为不超过: ${formatSize(formatData.size)}`
78
- }}</tip>
79
- </div>
80
- </template>
81
- <script lang="ts" setup>
82
- import { ElMessage } from 'element-plus'
83
- import { reactive, ref, watchEffect } from 'vue'
84
- import {
85
- copyRes,
86
- formatSize,
87
- getDefaultFormat,
88
- parseFileFormat
89
- } from '@/utils/stringUtil'
90
- import { updateTaskInfo } from '../../public'
91
- import Tip from './tip.vue'
92
-
93
- const props = defineProps({
94
- format: {
95
- type: String,
96
- default: '',
97
- required: false
98
- },
99
- k: {
100
- type: String,
101
- default: ''
102
- }
103
- })
104
-
105
- const formatData = reactive(getDefaultFormat())
106
- const typeName = ref('')
107
- const updateInfo = () => {
108
- updateTaskInfo(props.k, {
109
- format: JSON.stringify(formatData)
110
- })
111
- }
112
- const handleChange = (v: boolean) => {
113
- formatData.status = !!v
114
- updateInfo()
115
- }
116
-
117
- const handleAddType = () => {
118
- const inputValue = typeName.value.split(',')
119
- for (const v of inputValue) {
120
- if (formatData.format.includes(v)) {
121
- ElMessage.error(`${v} 已存在`)
122
- return
123
- }
124
- }
125
-
126
- formatData.format.push(...inputValue)
127
- updateInfo()
128
-
129
- typeName.value = ''
130
- }
131
- const handleDelType = (idx) => {
132
- formatData.format.splice(idx, 1)
133
- updateInfo()
134
- }
135
- const handleCopyType = () => {
136
- copyRes(formatData.format.join(','))
137
- }
138
-
139
- const handleChangeLimit = (limit: number) => {
140
- formatData.limit = limit
141
- updateInfo()
142
- }
143
-
144
- const inputSize = ref(0)
145
- const unitList = reactive(['B', 'KB', 'MB', 'GB'])
146
- const handleChangeUnit = () => {
147
- const idx = unitList.findIndex((v) => v === formatData.sizeUnit)
148
- formatData.size = inputSize.value * 1024 ** idx
149
- updateInfo()
150
- }
151
- const handleLimitSize = (limit: number) => {
152
- inputSize.value = limit
153
- const idx = unitList.findIndex((v) => v === formatData.sizeUnit)
154
- formatData.size = inputSize.value * 1024 ** idx
155
- updateInfo()
156
- }
157
-
158
- watchEffect(() => {
159
- if (props.format !== null) {
160
- Object.assign(formatData, parseFileFormat(props.format))
161
- }
162
- })
163
- </script>
164
- <style scoped>
165
- .type {
166
- margin: 10px;
167
- }
168
- .split-line {
169
- margin-top: 10px;
170
- }
171
- .title {
172
- color: black;
173
- font-weight: bold;
174
- }
175
- </style>