cnhis-design-vue 3.1.14-beta.12 → 3.1.14-beta.15

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