@sugarat/easypicker2-client 2.4.3 → 2.6.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-3ce8c1c1.js +2 -0
  5. package/dist/assets/data-analysis-3ce8c1c1.js.map +1 -0
  6. package/dist/assets/data-analysis-legacy.985137a1.js +2 -0
  7. package/dist/assets/data-board-fc2c2ec1.js +2 -0
  8. package/dist/assets/data-board-fc2c2ec1.js.map +1 -0
  9. package/dist/assets/data-board-legacy.33116f7c.js +2 -0
  10. package/dist/assets/el-date-picker-b377a533.js +2 -0
  11. package/dist/assets/el-date-picker-b377a533.js.map +1 -0
  12. package/dist/assets/el-date-picker-cf2e83b6.css +1 -0
  13. package/dist/assets/el-date-picker-legacy.127f0787.js +2 -0
  14. package/dist/assets/el-dialog-25bd2fb8.css +1 -0
  15. package/dist/assets/el-dialog-5b7bce58.js +2 -0
  16. package/dist/assets/el-dialog-5b7bce58.js.map +1 -0
  17. package/dist/assets/el-dialog-legacy.e6ef2c86.js +2 -0
  18. package/dist/assets/el-dropdown-item-0c6ddabc.css +1 -0
  19. package/dist/assets/el-dropdown-item-e0275106.js +2 -0
  20. package/dist/assets/el-dropdown-item-e0275106.js.map +1 -0
  21. package/dist/assets/el-dropdown-item-legacy.4888d114.js +2 -0
  22. package/dist/assets/el-form-item-3aad794a.css +1 -0
  23. package/dist/assets/el-form-item-c0658f70.js +2 -0
  24. package/dist/assets/el-form-item-c0658f70.js.map +1 -0
  25. package/dist/assets/el-form-item-legacy.a8e8784e.js +2 -0
  26. package/dist/assets/el-loading-c8798044.js +2 -0
  27. package/dist/assets/el-loading-c8798044.js.map +1 -0
  28. package/dist/assets/el-loading-d0f2d079.css +1 -0
  29. package/dist/assets/el-loading-legacy.534bd799.js +2 -0
  30. package/dist/assets/el-pagination-bf7c736d.css +1 -0
  31. package/dist/assets/el-pagination-dabcccbb.js +2 -0
  32. package/dist/assets/el-pagination-dabcccbb.js.map +1 -0
  33. package/dist/assets/el-pagination-legacy.7d2ae10d.js +2 -0
  34. package/dist/assets/el-progress-54b274cd.js +2 -0
  35. package/dist/assets/el-progress-54b274cd.js.map +1 -0
  36. package/dist/assets/el-progress-63aabe3a.css +1 -0
  37. package/dist/assets/el-progress-legacy.07ca6502.js +2 -0
  38. package/dist/assets/el-select-6be23320.css +1 -0
  39. package/dist/assets/el-select-f81a7377.js +2 -0
  40. package/dist/assets/el-select-f81a7377.js.map +1 -0
  41. package/dist/assets/el-select-legacy.94fad7fa.js +2 -0
  42. package/dist/assets/el-switch-9eba6fd0.js +2 -0
  43. package/dist/assets/el-switch-9eba6fd0.js.map +1 -0
  44. package/dist/assets/el-switch-aeab2c6b.css +1 -0
  45. package/dist/assets/el-switch-legacy.490534be.js +2 -0
  46. package/dist/assets/el-tab-pane-4a1bb4c7.css +1 -0
  47. package/dist/assets/el-tab-pane-89bdd69b.js +2 -0
  48. package/dist/assets/el-tab-pane-89bdd69b.js.map +1 -0
  49. package/dist/assets/el-tab-pane-legacy.cfdbc441.js +2 -0
  50. package/dist/assets/el-table-column-6716308a.js +21 -0
  51. package/dist/assets/el-table-column-6716308a.js.map +1 -0
  52. package/dist/assets/el-table-column-6c2089f9.css +1 -0
  53. package/dist/assets/el-table-column-legacy.49685e5a.js +24 -0
  54. package/dist/assets/index-01e33329.css +1 -0
  55. package/dist/assets/index-0b0f29ec.js +2 -0
  56. package/dist/assets/index-0b0f29ec.js.map +1 -0
  57. package/dist/assets/index-17c6005d.css +1 -0
  58. package/dist/assets/index-20019c57.js +2 -0
  59. package/dist/assets/index-20019c57.js.map +1 -0
  60. package/dist/assets/index-247f2c67.css +1 -0
  61. package/dist/assets/index-248e88e2.js +2 -0
  62. package/dist/assets/index-248e88e2.js.map +1 -0
  63. package/dist/assets/index-3091894a.css +1 -0
  64. package/dist/assets/index-37e15bc6.css +1 -0
  65. package/dist/assets/index-39637d43.js +2 -0
  66. package/dist/assets/index-39637d43.js.map +1 -0
  67. package/dist/assets/index-3f82ab7a.css +1 -0
  68. package/dist/assets/index-4c81cf78.css +1 -0
  69. package/dist/assets/index-5099f123.js +2 -0
  70. package/dist/assets/index-5099f123.js.map +1 -0
  71. package/dist/assets/index-57513f17.css +1 -0
  72. package/dist/assets/index-76f31e30.css +1 -0
  73. package/dist/assets/index-76ff9b9b.css +1 -0
  74. package/dist/assets/index-8557974a.js +2 -0
  75. package/dist/assets/index-8557974a.js.map +1 -0
  76. package/dist/assets/index-85fcd87a.css +1 -0
  77. package/dist/assets/index-867d07e4.js +2 -0
  78. package/dist/assets/index-867d07e4.js.map +1 -0
  79. package/dist/assets/index-8f353d3b.js +2 -0
  80. package/dist/assets/index-8f353d3b.js.map +1 -0
  81. package/dist/assets/index-8f7abc30.js +2 -0
  82. package/dist/assets/index-8f7abc30.js.map +1 -0
  83. package/dist/assets/index-8fbd06a5.js +2 -0
  84. package/dist/assets/index-8fbd06a5.js.map +1 -0
  85. package/dist/assets/index-93c733b3.css +1 -0
  86. package/dist/assets/index-98b55468.css +1 -0
  87. package/dist/assets/index-9e6bd406.js +2 -0
  88. package/dist/assets/index-9e6bd406.js.map +1 -0
  89. package/dist/assets/index-a880597c.css +1 -0
  90. package/dist/assets/index-acdbf3b6.js +2 -0
  91. package/dist/assets/index-acdbf3b6.js.map +1 -0
  92. package/dist/assets/index-b3e58b02.js +2 -0
  93. package/dist/assets/index-b3e58b02.js.map +1 -0
  94. package/dist/assets/index-c13133c5.js +2 -0
  95. package/dist/assets/index-c13133c5.js.map +1 -0
  96. package/dist/assets/index-c1d6836c.js +2 -0
  97. package/dist/assets/index-c1d6836c.js.map +1 -0
  98. package/dist/assets/index-d26aeed5.css +1 -0
  99. package/dist/assets/index-d98be3e4.js +19 -0
  100. package/dist/assets/index-d98be3e4.js.map +1 -0
  101. package/dist/assets/index-d9db6cc1.js +2 -0
  102. package/dist/assets/index-d9db6cc1.js.map +1 -0
  103. package/dist/assets/index-da51da36.css +1 -0
  104. package/dist/assets/index-e0ef7135.js +2 -0
  105. package/dist/assets/index-e0ef7135.js.map +1 -0
  106. package/dist/assets/index-e7d8a83e.css +1 -0
  107. package/dist/assets/index-ebf625c9.js +2 -0
  108. package/dist/assets/index-ebf625c9.js.map +1 -0
  109. package/dist/assets/index-eda7d85a.js +2 -0
  110. package/dist/assets/index-eda7d85a.js.map +1 -0
  111. package/dist/assets/index-fdc557f8.js +2 -0
  112. package/dist/assets/index-fdc557f8.js.map +1 -0
  113. package/dist/assets/index-legacy.0c570346.js +2 -0
  114. package/dist/assets/index-legacy.24edddf9.js +2 -0
  115. package/dist/assets/index-legacy.31681402.js +2 -0
  116. package/dist/assets/index-legacy.3e6b32cf.js +2 -0
  117. package/dist/assets/index-legacy.4edc099d.js +2 -0
  118. package/dist/assets/index-legacy.614df679.js +2 -0
  119. package/dist/assets/index-legacy.6420d0ab.js +2 -0
  120. package/dist/assets/index-legacy.679e5ce1.js +2 -0
  121. package/dist/assets/index-legacy.7b42e0cb.js +2 -0
  122. package/dist/assets/index-legacy.7bafa2e6.js +2 -0
  123. package/dist/assets/index-legacy.7ff3d773.js +2 -0
  124. package/dist/assets/index-legacy.84e0eca9.js +2 -0
  125. package/dist/assets/index-legacy.9ca64f8c.js +2 -0
  126. package/dist/assets/index-legacy.a4371211.js +2 -0
  127. package/dist/assets/index-legacy.acb8b137.js +23 -0
  128. package/dist/assets/index-legacy.bc3790f6.js +2 -0
  129. package/dist/assets/index-legacy.d0e21cb1.js +2 -0
  130. package/dist/assets/index-legacy.daf56c8f.js +2 -0
  131. package/dist/assets/index-legacy.e12feae0.js +2 -0
  132. package/dist/assets/index-legacy.e7f8790c.js +2 -0
  133. package/dist/assets/index-legacy.f84efe08.js +2 -0
  134. package/dist/assets/isEqual-82bb65ad.js +2 -0
  135. package/dist/assets/isEqual-82bb65ad.js.map +1 -0
  136. package/dist/assets/isEqual-legacy.dbaa2a6e.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-f2c4c532.js +2 -0
  142. package/dist/assets/refresh-f2c4c532.js.map +1 -0
  143. package/dist/assets/refresh-legacy.0ee83ca1.js +2 -0
  144. package/dist/assets/tip-3d272885.js +2 -0
  145. package/dist/assets/tip-3d272885.js.map +1 -0
  146. package/dist/assets/tip-9cb18ee8.css +1 -0
  147. package/dist/assets/tip-legacy.dee89e85.js +2 -0
  148. package/dist/assets/validator-d4ea1237.js +2 -0
  149. package/dist/assets/validator-d4ea1237.js.map +1 -0
  150. package/dist/assets/validator-legacy.ecd1e5dd.js +2 -0
  151. package/{index.html → dist/index.html} +8 -1
  152. package/package.json +30 -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>