cnhis-design-vue 3.1.14-beta.8 → 3.1.15-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 (229) hide show
  1. package/README.md +23 -23
  2. package/es/_virtual/plugin-vue_export-helper.js +9 -0
  3. package/es/node_modules/@formily/path/esm/contexts.js +22 -0
  4. package/es/node_modules/@formily/path/esm/destructor.js +124 -0
  5. package/es/node_modules/@formily/path/esm/index.js +579 -0
  6. package/es/node_modules/@formily/path/esm/matcher.js +199 -0
  7. package/es/node_modules/@formily/path/esm/parser.js +402 -0
  8. package/es/node_modules/@formily/path/esm/shared.js +73 -0
  9. package/es/node_modules/@formily/path/esm/tokenizer.js +287 -0
  10. package/es/node_modules/@formily/path/esm/tokens.js +240 -0
  11. package/es/node_modules/@formily/path/esm/types.js +17 -0
  12. package/es/packages/big-table/index.d.ts +14 -0
  13. package/es/packages/big-table/index.js +1 -2
  14. package/es/packages/big-table/src/BigTable.js +5 -3
  15. package/es/packages/big-table/src/BigTable.vue.d.ts +36 -13
  16. package/es/packages/big-table/src/BigTable.vue_vue_type_script_setup_true_lang.js +44 -31
  17. package/es/packages/big-table/src/bigTableProps.d.ts +4 -0
  18. package/es/packages/big-table/src/bigTableProps.js +1 -0
  19. package/es/packages/big-table/src/components/NoData.js +73 -3
  20. package/es/packages/big-table/src/components/edit-form/edit-date.js +11 -3
  21. package/es/packages/big-table/src/components/edit-form/edit-input.js +15 -4
  22. package/es/packages/big-table/src/components/edit-form/edit-separate.js +89 -3
  23. package/es/packages/big-table/src/components/edit-form/edit-separate.vue.d.ts +9 -14
  24. package/es/packages/big-table/src/components/edit-form/edit-time.d.ts +43 -0
  25. package/es/packages/big-table/src/components/edit-form/edit-time.js +52 -0
  26. package/es/packages/big-table/src/components/input-button.js +34 -3
  27. package/es/packages/big-table/src/components/separate.js +29 -3
  28. package/es/packages/big-table/src/components/separate.vue.d.ts +3 -4
  29. package/es/packages/big-table/src/hooks/useColumnConfigAdaptor.js +51 -12
  30. package/es/packages/big-table/src/hooks/useEdit.d.ts +51 -13
  31. package/es/packages/big-table/src/hooks/useEdit.js +4 -3
  32. package/es/packages/big-table/src/hooks/useFormat.js +8 -1
  33. package/es/packages/big-table/src/hooks/useSeparateRow.js +4 -4
  34. package/es/packages/big-table/src/utils.js +2 -1
  35. package/es/packages/big-table/style/index.css +156 -2
  36. package/es/packages/bpmn-workflow/index.js +1 -2
  37. package/es/packages/bpmn-workflow/src/BpmnWorkflow.js +253 -3
  38. package/es/packages/button-print/index.js +1 -2
  39. package/es/packages/button-print/src/ButtonPrint.js +5 -3
  40. package/es/packages/button-print/src/ButtonPrint.vue_vue_type_script_setup_true_lang.js +6 -7
  41. package/es/packages/button-print/src/components/IdentityVerification.js +129 -3
  42. package/es/packages/button-print/src/utils/print.d.ts +1 -1
  43. package/es/packages/button-print/src/utils/print.js +4 -4
  44. package/es/packages/chunk-upload/index.js +1 -1
  45. package/es/packages/chunk-upload/src/chunk-upload-new.js +474 -3
  46. package/es/packages/chunk-upload/src/vod-chunk-upload/index.js +2 -3
  47. package/es/packages/chunk-upload/src/vod-chunk-upload/vod-chunk-upload.js +328 -3
  48. package/es/packages/chunk-upload/src/vod-upload-modal.js +3 -4
  49. package/es/packages/drag-layout/index.js +1 -2
  50. package/es/packages/drag-layout/src/DragFormLeftItem.js +123 -3
  51. package/es/packages/drag-layout/src/DragFormRightItem.js +268 -3
  52. package/es/packages/drag-layout/src/DragLayout.js +658 -3
  53. package/es/packages/fabric-chart/index.d.ts +2 -0
  54. package/es/packages/fabric-chart/index.js +1 -2
  55. package/es/packages/fabric-chart/src/FabricChart.js +315 -3
  56. package/es/packages/fabric-chart/src/FabricChart.vue.d.ts +2 -0
  57. package/es/packages/fabric-chart/src/components/PopupTip.js +33 -3
  58. package/es/packages/fabric-chart/src/hooks/useCenter.js +41 -25
  59. package/es/packages/fabric-chart/src/hooks/useDraw.js +1 -0
  60. package/es/packages/fabric-chart/src/hooks/useEvent.js +9 -7
  61. package/es/packages/fabric-chart/src/hooks/useLeft.js +28 -17
  62. package/es/packages/fabric-chart/src/hooks/useRight.js +2 -13
  63. package/es/packages/fabric-chart/src/hooks/useTop.js +9 -10
  64. package/es/packages/fabric-chart/src/interface.d.ts +4 -0
  65. package/es/packages/field-set/index.d.ts +2509 -5166
  66. package/es/packages/field-set/index.js +1 -2
  67. package/es/packages/field-set/src/FieldSet.js +346 -3
  68. package/es/packages/field-set/src/FieldSet.vue.d.ts +2492 -5169
  69. package/es/packages/form-render/index.d.ts +0 -2
  70. package/es/packages/form-render/index.js +2 -3
  71. package/es/packages/form-render/src/FormRender.js +203 -3
  72. package/es/packages/form-render/src/FormRender.vue.d.ts +0 -2
  73. package/es/packages/form-render/src/components/renderer/cascader.d.ts +6 -6
  74. package/es/packages/form-render/src/components/renderer/cascader.js +73 -85
  75. package/es/packages/form-render/src/components/renderer/combination.d.ts +6 -0
  76. package/es/packages/form-render/src/components/renderer/combination.js +76 -20
  77. package/es/packages/form-render/src/components/renderer/formItem.js +1 -1
  78. package/es/packages/form-render/src/components/renderer/input.js +5 -16
  79. package/es/packages/form-render/src/components/renderer/inputNumber.d.ts +12 -0
  80. package/es/packages/form-render/src/components/renderer/inputNumber.js +11 -4
  81. package/es/packages/form-render/src/components/renderer/radio.d.ts +12 -4
  82. package/es/packages/form-render/src/components/renderer/radio.js +23 -5
  83. package/es/packages/form-render/src/components/renderer/select.js +56 -56
  84. package/es/packages/form-render/src/components/renderer/simpleComponent.d.ts +17 -2
  85. package/es/packages/form-render/src/components/renderer/simpleComponent.js +16 -14
  86. package/es/packages/form-render/src/hooks/useAsyncQueue.d.ts +1 -1
  87. package/es/packages/form-render/src/hooks/useAsyncQueue.js +1 -1
  88. package/es/packages/form-render/src/hooks/useChangeContext.d.ts +1 -1
  89. package/es/packages/form-render/src/hooks/useChangeContext.js +1 -1
  90. package/es/packages/form-render/src/hooks/useFieldListAdaptor.js +16 -10
  91. package/es/packages/form-render/src/hooks/useFormItemDeps.d.ts +3 -2
  92. package/es/packages/form-render/src/hooks/useFormItemDeps.js +5 -6
  93. package/es/packages/form-render/src/hooks/useFormRequest.d.ts +2 -2
  94. package/es/packages/form-render/src/types/fieldItem.d.ts +123 -35
  95. package/es/packages/form-render/src/types/index.d.ts +4 -2
  96. package/es/packages/form-render/src/utils/index.d.ts +8 -4
  97. package/es/packages/form-render/src/utils/index.js +45 -16
  98. package/es/packages/form-table/index.js +1 -2
  99. package/es/packages/form-table/src/FormTable.js +475 -3
  100. package/es/packages/form-table/src/components/index.js +28 -42
  101. package/es/packages/form-table/src/components/table-age.js +232 -3
  102. package/es/packages/form-table/src/components/table-date-picker.js +176 -3
  103. package/es/packages/form-table/src/components/table-digital.js +138 -3
  104. package/es/packages/form-table/src/components/table-input-password.js +138 -3
  105. package/es/packages/form-table/src/components/table-input.js +124 -3
  106. package/es/packages/form-table/src/components/table-month-picker.js +100 -3
  107. package/es/packages/form-table/src/components/table-search-more.js +5 -3
  108. package/es/packages/form-table/src/components/table-search-more.vue_vue_type_script_setup_true_lang.js +2 -2
  109. package/es/packages/form-table/src/components/table-search.js +5 -3
  110. package/es/packages/form-table/src/components/table-search.vue_vue_type_script_setup_true_lang.js +2 -2
  111. package/es/packages/form-table/src/components/table-select-multiple.js +161 -3
  112. package/es/packages/form-table/src/components/table-select.js +156 -3
  113. package/es/packages/form-table/src/components/table-textarea.js +154 -3
  114. package/es/packages/form-table/src/components/table-time-picker.js +146 -3
  115. package/es/packages/form-table/src/components/table-tree-select.js +282 -3
  116. package/es/packages/form-table/src/components/text-over-tooltip.js +63 -3
  117. package/es/packages/index.css +159 -2
  118. package/es/packages/info-header/index.d.ts +1376 -361
  119. package/es/packages/info-header/index.js +1 -2
  120. package/es/packages/info-header/src/HiddenContent.js +65 -3
  121. package/es/packages/info-header/src/HiddenContent.vue.d.ts +689 -178
  122. package/es/packages/info-header/src/InfoEllipsis.js +43 -0
  123. package/es/packages/info-header/src/InfoEllipsis.vue.d.ts +833 -0
  124. package/es/packages/info-header/src/InfoHeader.js +229 -3
  125. package/es/packages/info-header/src/InfoHeader.vue.d.ts +1376 -361
  126. package/es/packages/info-header/style/index.css +3 -0
  127. package/es/packages/map/index.js +1 -2
  128. package/es/packages/map/src/Map.js +337 -3
  129. package/es/packages/scale-view/index.js +1 -2
  130. package/es/packages/scale-view/src/ScaleView.js +418 -3
  131. package/es/packages/scale-view/src/components/AnswerParse.js +79 -3
  132. package/es/packages/scale-view/src/components/EvaluateCountdown.js +108 -3
  133. package/es/packages/scale-view/src/components/EvaluatePage.js +140 -3
  134. package/es/packages/scale-view/src/components/LoadingCom.js +17 -5
  135. package/es/packages/scale-view/src/components/NoData.js +73 -3
  136. package/es/packages/scale-view/src/components/formitem/r-cascader.js +3 -3
  137. package/es/packages/scale-view/src/components/formitem/r-select.js +3 -3
  138. package/es/packages/scale-view/src/components/formitem/text-over-tooltip/TextOverTooltip.js +78 -3
  139. package/es/packages/select-label/index.js +3 -5
  140. package/es/packages/select-label/src/LabelFormContent.js +441 -3
  141. package/es/packages/select-label/src/SelectLabel.js +5 -3
  142. package/es/packages/select-label/src/SelectLabel.vue_vue_type_script_setup_true_lang.js +5 -21
  143. package/es/packages/select-label/src/components/label-classify.js +128 -3
  144. package/es/packages/select-person/index.js +1 -2
  145. package/es/packages/select-person/src/SearchTree.js +5 -3
  146. package/es/packages/select-person/src/SearchTree.vue_vue_type_script_setup_true_lang.js +2 -2
  147. package/es/packages/select-person/src/SelectPerson.js +5 -3
  148. package/es/packages/select-person/src/SelectPerson.vue_vue_type_script_setup_true_lang.js +4 -5
  149. package/es/packages/shortcut-provider/index.js +1 -2
  150. package/es/packages/shortcut-provider/src/ShortcutProvider.js +33 -3
  151. package/es/packages/shortcut-provider/src/types/index.d.ts +11 -9
  152. package/es/packages/shortcut-provider/src/utils/index.js +5 -5
  153. package/es/packages/shortcut-setter/index.d.ts +3247 -1486
  154. package/es/packages/shortcut-setter/index.js +1 -2
  155. package/es/packages/shortcut-setter/src/ShortcutSetter.js +42 -3
  156. package/es/packages/shortcut-setter/src/ShortcutSetter.vue.d.ts +3247 -1486
  157. package/es/packages/shortcut-setter/src/ShortcutSetterItem.js +139 -3
  158. package/es/packages/shortcut-setter/src/ShortcutSetterItem.vue.d.ts +1700 -1661
  159. package/es/packages/steps-wheel/index.js +1 -2
  160. package/es/packages/steps-wheel/src/StepsWheel.js +264 -3
  161. package/es/packages/time-line/index.js +1 -2
  162. package/es/packages/time-line/src/TimeLine.js +69 -3
  163. package/es/src/components/SelectPage/SelectPage.js +62 -3
  164. package/es/src/components/SelectPage/index.js +2 -3
  165. package/es/src/components/SlotRender/SlotRender.d.ts +4 -8
  166. package/es/src/components/SlotRender/SlotRender.js +4 -5
  167. package/es/src/components/SvgIcon/SvgIcon.js +35 -3
  168. package/es/src/components/SvgIcon/index.js +2 -3
  169. package/es/src/components/TextOverTooltip/TextOverTooltip.js +75 -3
  170. package/es/src/components/TextOverTooltip/index.js +2 -3
  171. package/es/src/components/player-vod/index.js +13 -3
  172. package/es/src/utils/anime.d.ts +1 -1
  173. package/global.d.ts +8 -8
  174. package/package.json +2 -2
  175. package/es/packages/big-table/src/components/NoData.vue_vue_type_script_setup_true_lang.js +0 -72
  176. package/es/packages/big-table/src/components/edit-form/edit-separate.vue_vue_type_script_setup_true_lang.js +0 -90
  177. package/es/packages/big-table/src/components/input-button.vue_vue_type_script_setup_true_lang.js +0 -33
  178. package/es/packages/big-table/src/components/separate.vue_vue_type_script_setup_true_lang.js +0 -24
  179. package/es/packages/bpmn-workflow/src/BpmnWorkflow.vue_vue_type_script_setup_true_lang.js +0 -252
  180. package/es/packages/button-print/src/components/IdentityVerification.vue_vue_type_script_setup_true_lang.js +0 -128
  181. package/es/packages/chunk-upload/src/chunk-upload-new.vue_vue_type_script_setup_true_lang.js +0 -473
  182. package/es/packages/chunk-upload/src/vod-chunk-upload/vod-chunk-upload.vue_vue_type_script_setup_true_lang.js +0 -327
  183. package/es/packages/drag-layout/src/DragFormLeftItem.vue_vue_type_script_setup_true_lang.js +0 -122
  184. package/es/packages/drag-layout/src/DragFormRightItem.vue_vue_type_script_setup_true_lang.js +0 -267
  185. package/es/packages/drag-layout/src/DragLayout.vue_vue_type_script_setup_true_lang.js +0 -659
  186. package/es/packages/fabric-chart/src/FabricChart.vue_vue_type_script_setup_true_lang.js +0 -305
  187. package/es/packages/fabric-chart/src/components/PopupTip.vue_vue_type_script_setup_true_lang.js +0 -32
  188. package/es/packages/field-set/src/FieldSet.vue_vue_type_script_setup_true_lang.js +0 -22
  189. package/es/packages/field-set/src/NewFieldSet.js +0 -4
  190. package/es/packages/field-set/src/NewFieldSet.vue.d.ts +0 -2607
  191. package/es/packages/field-set/src/NewFieldSet.vue_vue_type_script_setup_true_lang.js +0 -299
  192. package/es/packages/field-set/src/OldFieldSet.js +0 -4
  193. package/es/packages/field-set/src/OldFieldSet.vue.d.ts +0 -2610
  194. package/es/packages/field-set/src/OldFieldSet.vue_vue_type_script_setup_true_lang.js +0 -330
  195. package/es/packages/form-render/src/FormRender.vue_vue_type_script_setup_true_lang.js +0 -187
  196. package/es/packages/form-table/src/FormTable.vue_vue_type_script_setup_true_lang.js +0 -474
  197. package/es/packages/form-table/src/components/table-age.vue_vue_type_script_setup_true_lang.js +0 -232
  198. package/es/packages/form-table/src/components/table-date-picker.vue_vue_type_script_setup_true_lang.js +0 -175
  199. package/es/packages/form-table/src/components/table-digital.vue_vue_type_script_setup_true_lang.js +0 -138
  200. package/es/packages/form-table/src/components/table-input-password.vue_vue_type_script_setup_true_lang.js +0 -138
  201. package/es/packages/form-table/src/components/table-input.vue_vue_type_script_setup_true_lang.js +0 -124
  202. package/es/packages/form-table/src/components/table-month-picker.vue_vue_type_script_setup_true_lang.js +0 -99
  203. package/es/packages/form-table/src/components/table-select-multiple.vue_vue_type_script_setup_true_lang.js +0 -160
  204. package/es/packages/form-table/src/components/table-select.vue_vue_type_script_setup_true_lang.js +0 -155
  205. package/es/packages/form-table/src/components/table-textarea.vue_vue_type_script_setup_true_lang.js +0 -153
  206. package/es/packages/form-table/src/components/table-time-picker.vue_vue_type_script_setup_true_lang.js +0 -145
  207. package/es/packages/form-table/src/components/table-tree-select.vue_vue_type_script_setup_true_lang.js +0 -281
  208. package/es/packages/form-table/src/components/text-over-tooltip.vue_vue_type_script_setup_true_lang.js +0 -62
  209. package/es/packages/info-header/src/HiddenContent.vue_vue_type_script_setup_true_lang.js +0 -66
  210. package/es/packages/info-header/src/InfoHeader.vue_vue_type_script_setup_true_lang.js +0 -233
  211. package/es/packages/map/src/Map.vue_vue_type_script_setup_true_lang.js +0 -336
  212. package/es/packages/scale-view/src/ScaleView.vue_vue_type_script_setup_true_lang.js +0 -422
  213. package/es/packages/scale-view/src/components/AnswerParse.vue_vue_type_script_setup_true_lang.js +0 -78
  214. package/es/packages/scale-view/src/components/EvaluateCountdown.vue_vue_type_script_setup_true_lang.js +0 -107
  215. package/es/packages/scale-view/src/components/EvaluatePage.vue_vue_type_script_setup_true_lang.js +0 -139
  216. package/es/packages/scale-view/src/components/LoadingCom.vue_vue_type_template_id_413329b0_lang.js +0 -16
  217. package/es/packages/scale-view/src/components/NoData.vue_vue_type_script_setup_true_lang.js +0 -72
  218. package/es/packages/scale-view/src/components/formitem/text-over-tooltip/TextOverTooltip.vue_vue_type_script_setup_true_lang.js +0 -77
  219. package/es/packages/select-label/src/LabelFormContent.vue_vue_type_script_setup_true_lang.js +0 -441
  220. package/es/packages/select-label/src/components/label-classify.vue_vue_type_script_setup_true_lang.js +0 -127
  221. package/es/packages/shortcut-provider/src/ShortcutProvider.vue_vue_type_script_setup_true_lang.js +0 -32
  222. package/es/packages/shortcut-setter/src/ShortcutSetter.vue_vue_type_script_setup_true_lang.js +0 -38
  223. package/es/packages/shortcut-setter/src/ShortcutSetterItem.vue_vue_type_script_setup_true_lang.js +0 -125
  224. package/es/packages/steps-wheel/src/StepsWheel.vue_vue_type_script_setup_true_lang.js +0 -263
  225. package/es/packages/time-line/src/TimeLine.vue_vue_type_script_setup_true_lang.js +0 -68
  226. package/es/src/components/SelectPage/SelectPage.vue_vue_type_script_setup_true_lang.js +0 -61
  227. package/es/src/components/SvgIcon/SvgIcon.vue_vue_type_script_setup_true_lang.js +0 -34
  228. package/es/src/components/TextOverTooltip/TextOverTooltip.vue_vue_type_script_setup_true_lang.js +0 -74
  229. package/es/src/components/player-vod/index.vue_vue_type_script_setup_true_lang.js +0 -12
@@ -1,473 +0,0 @@
1
- import { defineComponent, ref, reactive, onMounted, nextTick, onUnmounted, resolveComponent, openBlock, createElementBlock, createCommentVNode, createVNode, unref, withCtx, createElementVNode, Fragment, renderList, withDirectives, normalizeClass, toDisplayString, vShow, createTextVNode } from 'vue';
2
- import SparkMD5 from 'spark-md5';
3
- import axios from 'axios';
4
- import { useMessage, NIcon, NProgress, NButton } from 'naive-ui';
5
- import { UploadProps, getUploadData, statusSet } from './hooks/upload-data.js';
6
- import { UploadComputed } from './hooks/upload-computed.js';
7
- import { FolderOutline, DocumentAttachOutline, Close } from '@vicons/ionicons5';
8
-
9
- const _hoisted_1 = { class: "c-chunk-upload-container" };
10
- const _hoisted_2 = /* @__PURE__ */ createElementVNode("p", null, "\u70B9\u51FB\u6216\u5C06\u6587\u4EF6\u62D6\u62FD\u5230\u8FD9\u91CC\u4E0A\u4F20", -1);
11
- const _hoisted_3 = { class: "c-file-list-conatiner" };
12
- const _hoisted_4 = { class: "file-list" };
13
- const _hoisted_5 = { class: "c-f-item" };
14
- const _hoisted_6 = { class: "c-f-item-icon" };
15
- const _hoisted_7 = { class: "c-f-item-info" };
16
- const _hoisted_8 = { class: "c-f-item-info-title" };
17
- const _hoisted_9 = { class: "title" };
18
- const _hoisted_10 = { class: "size" };
19
- const _hoisted_11 = { class: "c-f-item-info-time" };
20
- const _hoisted_12 = { class: "c-f-item-btn" };
21
- const _hoisted_13 = { class: "upload-btn" };
22
- const _hoisted_14 = /* @__PURE__ */ createElementVNode("span", null, "\u4E0A\u4F20\u65B0\u6587\u4EF6", -1);
23
- const _hoisted_15 = /* @__PURE__ */ createTextVNode("\u5F00\u59CB\u4E0A\u4F20");
24
- var script = /* @__PURE__ */ defineComponent({
25
- __name: "chunk-upload-new",
26
- props: { ...UploadProps },
27
- emits: ["getSumbitList", "closeUpload"],
28
- setup(__props, { expose, emit }) {
29
- const props = __props;
30
- const { UploadState } = getUploadData();
31
- var instance = axios.create({});
32
- const uploaderDom = ref(null);
33
- const uploadBtnDom = ref(null);
34
- const state = reactive(UploadState);
35
- const message = useMessage();
36
- const { initState, uploadArguments, autoStart, btnAttrs } = UploadComputed(props, state);
37
- initState();
38
- const setAxios = () => {
39
- for (const i in state.headers) {
40
- instance.defaults.headers.common[i] = state.headers[i];
41
- }
42
- instance.defaults.withCredentials = state.withCredentials;
43
- };
44
- const init = () => {
45
- try {
46
- console.log(props.getChunkUploadConfig);
47
- props.getChunkUploadConfig().then((res) => {
48
- console.log(res);
49
- state.uploadConfig = { ...res };
50
- state.headers = {
51
- Authorization: "bearer " + state.uploadConfig.token
52
- };
53
- setAxios();
54
- });
55
- } catch (error) {
56
- console.log(error);
57
- }
58
- };
59
- const curMaxSize = (curMax) => {
60
- let useMax;
61
- if (curMax) {
62
- useMax = +(+curMax).toFixed(2);
63
- } else {
64
- return useMax;
65
- }
66
- if (useMax < 1024) {
67
- return useMax + "KB";
68
- } else if (useMax < 1024 * 1024) {
69
- return (useMax / 1024).toFixed(2) + "MB";
70
- } else if (useMax < 1024 * 1024 * 1024) {
71
- return (useMax / (1024 * 1024)).toFixed(2) + "GB";
72
- }
73
- };
74
- const checkSize = (file) => {
75
- const max_size = (props == null ? void 0 : props.max_size) || "";
76
- if (!max_size)
77
- return false;
78
- let isLt = file.size / 1024 < +max_size;
79
- if (!isLt) {
80
- message.error(`\u9644\u4EF6\u5927\u5C0F\u8D85\u8FC7\u4E86${curMaxSize(max_size)}`);
81
- }
82
- return !isLt;
83
- };
84
- const handleCheckExt = (map, file) => {
85
- let flag = false;
86
- if (map) {
87
- if (map.includes("*")) {
88
- return false;
89
- }
90
- let ext = file.getExtension();
91
- if (!map.includes(ext)) {
92
- message.error(`\u4E0D\u652F\u6301${ext}\u683C\u5F0F`);
93
- flag = true;
94
- }
95
- }
96
- return flag;
97
- };
98
- const checkMaxLength = () => {
99
- var _a, _b;
100
- if (props.maxLength > 0) {
101
- let defLen = ((_a = props.defaultList) == null ? void 0 : _a.length) || 0;
102
- let len = ((_b = state.configList) == null ? void 0 : _b.length) || 0;
103
- if (props.maxLength <= defLen + len) {
104
- message.error(`\u6700\u591A\u53EA\u80FD\u4E0A\u4F20${props.maxLength}\u4E2A`);
105
- return true;
106
- }
107
- }
108
- return false;
109
- };
110
- const computeMD5 = (file) => {
111
- let fileReader = new FileReader();
112
- new Date().getTime();
113
- let blobSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice;
114
- let currentChunk = 0;
115
- const chunkSize = 10 * 1024 * 1e3;
116
- let chunks = Math.ceil(file.size / chunkSize);
117
- let spark = new SparkMD5.ArrayBuffer();
118
- statusSet(file, "md5");
119
- file.pause();
120
- loadNext();
121
- fileReader.onload = (e) => {
122
- spark.append(e.target.result);
123
- if (currentChunk < chunks) {
124
- currentChunk++;
125
- loadNext();
126
- } else {
127
- let md5 = spark.end();
128
- computeMD5Success(md5, file);
129
- }
130
- };
131
- fileReader.onerror = function() {
132
- console.warn(`\u6587\u4EF6${file.name}\u8BFB\u53D6\u51FA\u9519\uFF0C\u8BF7\u68C0\u67E5\u8BE5\u6587\u4EF6`);
133
- file.cancel();
134
- };
135
- function loadNext() {
136
- let start = currentChunk * chunkSize;
137
- let end = start + chunkSize >= file.size ? file.size : start + chunkSize;
138
- fileReader.readAsArrayBuffer(blobSlice.call(file.file, start, end));
139
- }
140
- };
141
- const onFileAdded = (file) => {
142
- let sizeFlag = checkSize(file);
143
- if (handleCheckExt(props.propsCategoryMap, file) || checkMaxLength() || sizeFlag) {
144
- file.ignored = true;
145
- return;
146
- }
147
- file.file_upload_status = "";
148
- statusSet(file, "init");
149
- file.crm_upload_config = { ...file };
150
- state.configList.push(file);
151
- statusSet(file, "ready");
152
- if (autoStart.value) {
153
- file.pause();
154
- computeMD5(file);
155
- }
156
- };
157
- const verifyUpload = (fileName, fileHash, file) => {
158
- let url = state.uploadConfig.checkFileMd5Exist;
159
- return new Promise((resolve, reject) => {
160
- const obj = {
161
- md5: fileHash,
162
- fileName,
163
- ...uploadArguments.value
164
- };
165
- instance.get(url, { params: obj }).then((res) => {
166
- resolve(res.data);
167
- }).catch((err) => {
168
- statusSet(file, "failed");
169
- console.log("verifyUpload -> err", err);
170
- });
171
- });
172
- };
173
- const computeMD5Success = async (md5, file) => {
174
- try {
175
- const verifyData = await verifyUpload(file.name, md5, file);
176
- if (verifyData.code == "00000") {
177
- const { data } = verifyData || {};
178
- if (data.presence) {
179
- statusSet(file, "complete");
180
- file.crm_chkuns_complete_status = "complete";
181
- file.crm_uploade_resInfo = { url: data.path, name: file.name, size: file.size };
182
- return;
183
- }
184
- }
185
- file.uniqueIdentifier = md5;
186
- statusSet(file, "uploading");
187
- file.resume();
188
- } catch (error) {
189
- console.log(error, "chunk-upload-computeMD5Success");
190
- }
191
- };
192
- const onFileProgress = () => {
193
- };
194
- const mergeRequest = (data, file) => {
195
- return new Promise((resolve, reject) => {
196
- const obj = {
197
- ...data,
198
- ...uploadArguments.value
199
- };
200
- instance.post(state.uploadConfig.partFileMerge, obj, {
201
- timeout: 0
202
- }).then(({ data: data2 }) => {
203
- if (data2.code === "00000") {
204
- statusSet(file, "complete");
205
- if (uploaderDom) {
206
- let resData = (data2 == null ? void 0 : data2.data) || {};
207
- let fileList = uploaderDom.value.fileList;
208
- fileList.forEach((v) => {
209
- if (v.uniqueIdentifier == file.uniqueIdentifier) {
210
- v.crm_chkuns_complete_status = "complete";
211
- v.crm_uploade_resInfo = {
212
- url: resData.path || resData.url,
213
- name: file.name,
214
- size: file.size,
215
- ...resData
216
- };
217
- }
218
- });
219
- }
220
- resolve();
221
- } else {
222
- message.error("\u4E0A\u4F20\u5931\u8D25");
223
- resolve();
224
- }
225
- }).catch((err) => {
226
- console.log("mergeRequest -> err", err);
227
- reject();
228
- });
229
- });
230
- };
231
- const onFileSuccess = (rootFile, file, response) => {
232
- let res = JSON.parse(response);
233
- if (!res.success) {
234
- statusSet(file, "failed");
235
- return;
236
- }
237
- statusSet(file, "merging");
238
- mergeRequest({
239
- md5: file.uniqueIdentifier,
240
- fileName: file.name,
241
- fileChunkNum: file.chunks.length
242
- }, file);
243
- if (res.needMerge) {
244
- statusSet(file, "merging");
245
- }
246
- };
247
- const hanldeDraggerBtnClick = () => {
248
- var _a, _b;
249
- let input = ((_b = (_a = uploadBtnDom == null ? void 0 : uploadBtnDom.value) == null ? void 0 : _a.$el) == null ? void 0 : _b.querySelector("input")) || false;
250
- if (input) {
251
- input.click();
252
- }
253
- };
254
- const getUploadShowStatus = (file, key = "text") => {
255
- let status = (file == null ? void 0 : file.file_upload_status) || {};
256
- return status[key];
257
- };
258
- const fileClass = (file) => {
259
- return ["complete", "failed"].includes(getUploadShowStatus(file, "status"));
260
- };
261
- const handleRemove = (file) => {
262
- if (file.cancel) {
263
- file.cancel();
264
- } else if (file.remove) {
265
- file.remove();
266
- }
267
- let id = file.id;
268
- state.configList = state.configList.filter((c) => c.id !== id);
269
- };
270
- const onFileError = (rootFile, file) => {
271
- statusSet(file, "failed");
272
- };
273
- const formatedProgress = (v, file) => {
274
- if (file.crm_chkuns_complete_status == "complete") {
275
- return 100;
276
- }
277
- let tempV = v * 100 + "";
278
- return parseInt(tempV, 10);
279
- };
280
- const handleStartUpload = () => {
281
- var _a;
282
- let len = ((_a = state.configList) == null ? void 0 : _a.length) || 0;
283
- if (len == 0) {
284
- message.info("\u8BF7\u9009\u62E9\u6587\u4EF6");
285
- return;
286
- }
287
- nextTick(() => {
288
- state.configList.forEach((f) => {
289
- let o = f.file_upload_status || {};
290
- if (o.status) {
291
- statusSet(f, "uploading");
292
- computeMD5(f);
293
- }
294
- });
295
- });
296
- };
297
- const close = () => {
298
- var _a, _b;
299
- (_b = (_a = uploaderDom.value) == null ? void 0 : _a.uploader) == null ? void 0 : _b.cancel();
300
- };
301
- const handleGetSumbitList = () => {
302
- var _a;
303
- let len = ((_a = state == null ? void 0 : state.configList) == null ? void 0 : _a.length) || 0;
304
- let list = [];
305
- if (len > 0) {
306
- state.configList.forEach((file) => {
307
- if (file.crm_chkuns_complete_status == "complete")
308
- list.push({ size: file.size, ...file.crm_uploade_resInfo });
309
- });
310
- }
311
- emit("getSumbitList", list);
312
- };
313
- const confirm = () => {
314
- console.log("ininini");
315
- const { configList } = state;
316
- let len = (configList == null ? void 0 : configList.length) || 0;
317
- if (len === 0) {
318
- message.info("\u8BF7\u9009\u62E9\u6587\u4EF6\u4E0A\u4F20");
319
- return;
320
- }
321
- let list = configList.filter((v) => !["complete", "failed"].includes(v.file_upload_status.status));
322
- if (list.length > 0) {
323
- message.info("\u8BF7\u4E0A\u4F20\u6587\u4EF6\u6216\u8005\u7B49\u5F85\u6587\u4EF6\u4E0A\u4F20\u5B8C\u6210\uFF01");
324
- return;
325
- }
326
- handleGetSumbitList();
327
- cancel();
328
- };
329
- const cancel = () => {
330
- console.log("cancelcancelcancel");
331
- close();
332
- state.configList = [];
333
- emit("closeUpload", false);
334
- };
335
- init();
336
- onMounted(() => {
337
- nextTick(() => {
338
- });
339
- });
340
- onUnmounted(() => {
341
- });
342
- expose({
343
- cancel,
344
- confirm
345
- });
346
- return (_ctx, _cache) => {
347
- const _component_uploader_unsupport = resolveComponent("uploader-unsupport");
348
- const _component_uploader_drop = resolveComponent("uploader-drop");
349
- const _component_uploader_file = resolveComponent("uploader-file");
350
- const _component_uploader_list = resolveComponent("uploader-list");
351
- const _component_uploader_btn = resolveComponent("uploader-btn");
352
- const _component_uploader = resolveComponent("uploader");
353
- return openBlock(), createElementBlock("div", _hoisted_1, [
354
- createCommentVNode(" \u4E0A\u4F20 "),
355
- createVNode(_component_uploader, {
356
- ref_key: "uploaderDom",
357
- ref: uploaderDom,
358
- options: state.options,
359
- autoStart: unref(autoStart),
360
- onFileAdded,
361
- onFileSuccess,
362
- onFileProgress,
363
- onFileError,
364
- class: "uploader-app"
365
- }, {
366
- default: withCtx(() => [
367
- createVNode(_component_uploader_unsupport),
368
- createVNode(_component_uploader_drop, null, {
369
- default: withCtx(() => [
370
- createElementVNode("div", {
371
- class: "c-drap-container dragger-btn",
372
- onClick: hanldeDraggerBtnClick
373
- }, [
374
- createVNode(unref(NIcon), { component: unref(FolderOutline) }, null, 8, ["component"]),
375
- _hoisted_2
376
- ])
377
- ]),
378
- _: 1
379
- }),
380
- createVNode(_component_uploader_list, null, {
381
- default: withCtx((scope) => [
382
- createElementVNode("div", _hoisted_3, [
383
- createElementVNode("ul", _hoisted_4, [
384
- (openBlock(true), createElementBlock(Fragment, null, renderList(scope.fileList, (file) => {
385
- return openBlock(), createElementBlock("li", {
386
- key: file.id
387
- }, [
388
- withDirectives(createVNode(_component_uploader_file, {
389
- class: normalizeClass("file_" + file.id),
390
- ref_for: true,
391
- ref: "files",
392
- file,
393
- list: true
394
- }, {
395
- default: withCtx((scope2) => [
396
- createElementVNode("div", {
397
- class: normalizeClass(["c-file-container", { "c-file-boder-bottom": fileClass(file) }])
398
- }, [
399
- createElementVNode("div", _hoisted_5, [
400
- createElementVNode("div", _hoisted_6, [
401
- createVNode(unref(NIcon), {
402
- component: unref(DocumentAttachOutline),
403
- style: { "color": "#5585f5" }
404
- }, null, 8, ["component"])
405
- ]),
406
- createElementVNode("div", _hoisted_7, [
407
- createElementVNode("div", _hoisted_8, [
408
- createElementVNode("span", _hoisted_9, toDisplayString(file.name), 1),
409
- createElementVNode("span", _hoisted_10, "(" + toDisplayString(scope2.formatedSize) + ")", 1)
410
- ]),
411
- createElementVNode("div", _hoisted_11, [
412
- createElementVNode("span", null, toDisplayString(scope2.formatedTimeRemaining), 1),
413
- createElementVNode("span", null, toDisplayString(getUploadShowStatus(file, "text")), 1)
414
- ])
415
- ]),
416
- createElementVNode("div", _hoisted_12, [
417
- createVNode(unref(NIcon), {
418
- component: unref(Close),
419
- onClick: ($event) => handleRemove(file)
420
- }, null, 8, ["component", "onClick"])
421
- ])
422
- ]),
423
- createVNode(unref(NProgress), {
424
- percentage: formatedProgress(state.progress, file),
425
- type: "line",
426
- "show-indicator": false
427
- }, null, 8, ["percentage"])
428
- ], 2)
429
- ]),
430
- _: 2
431
- }, 1032, ["class", "file"]), [
432
- [vShow, !file.ignored]
433
- ])
434
- ]);
435
- }), 128))
436
- ])
437
- ])
438
- ]),
439
- _: 1
440
- }),
441
- createElementVNode("div", _hoisted_13, [
442
- withDirectives(createVNode(_component_uploader_btn, {
443
- attrs: unref(btnAttrs),
444
- ref_key: "uploadBtnDom",
445
- ref: uploadBtnDom
446
- }, {
447
- default: withCtx(() => [
448
- _hoisted_14
449
- ]),
450
- _: 1
451
- }, 8, ["attrs"]), [
452
- [vShow, false]
453
- ]),
454
- createVNode(unref(NButton), {
455
- type: "primary",
456
- class: "mgl-10",
457
- onClick: handleStartUpload
458
- }, {
459
- default: withCtx(() => [
460
- _hoisted_15
461
- ]),
462
- _: 1
463
- })
464
- ])
465
- ]),
466
- _: 1
467
- }, 8, ["options", "autoStart"])
468
- ]);
469
- };
470
- }
471
- });
472
-
473
- export { script as default };