yahee-components 0.0.113 → 0.0.114

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 (174) hide show
  1. package/es/annex-upload/annex-upload.vue.js +55 -0
  2. package/es/annex-upload/annex-upload.vue2.js +121 -0
  3. package/es/annex-upload/index.js +7 -0
  4. package/es/annex-upload/mimeType.js +822 -0
  5. package/es/annex-upload/style/index.css +7 -0
  6. package/es/border-wrap/border-wrap.vue.js +75 -0
  7. package/es/border-wrap/border-wrap.vue2.js +48 -0
  8. package/es/border-wrap/index.js +7 -0
  9. package/es/border-wrap/props.js +11 -0
  10. package/es/border-wrap/style/index.css +24 -0
  11. package/es/common-import/common-import.vue.js +394 -0
  12. package/es/common-import/common-import.vue2.js +366 -0
  13. package/es/common-import/index.js +7 -0
  14. package/es/common-import/props.js +23 -0
  15. package/es/common-import/style/index.css +32 -0
  16. package/es/complex-search/batch-search-dialog.vue.js +119 -0
  17. package/es/complex-search/batch-search-dialog.vue2.js +50 -0
  18. package/es/complex-search/complex-search.vue.js +122 -0
  19. package/es/complex-search/complex-search.vue2.js +71 -0
  20. package/es/complex-search/index.js +7 -0
  21. package/es/complex-search/props.js +19 -0
  22. package/es/complex-search/style/index.css +24 -0
  23. package/es/complex-search/useComplexSearch.js +44 -0
  24. package/es/copy/copy.vue.js +39 -0
  25. package/es/copy/copy.vue2.js +36 -0
  26. package/es/copy/index.js +7 -0
  27. package/es/copy/props.js +9 -0
  28. package/es/copy/style/index.css +12 -0
  29. package/es/country-platform-shop-condition/country-platform-shop-condition.vue.js +120 -0
  30. package/es/country-platform-shop-condition/country-platform-shop-condition.vue2.js +127 -0
  31. package/es/country-platform-shop-condition/index.js +7 -0
  32. package/es/country-platform-shop-condition/style/index.css +59 -0
  33. package/es/drop-down-condition/drop-down-condition.vue.js +125 -0
  34. package/es/drop-down-condition/drop-down-condition.vue2.js +129 -0
  35. package/es/drop-down-condition/index.js +7 -0
  36. package/es/drop-down-condition/style/index.css +64 -0
  37. package/es/echart-gauge/echart-gauge.vue.js +14 -0
  38. package/es/echart-gauge/echart-gauge.vue2.js +149 -0
  39. package/es/echart-gauge/index.js +7 -0
  40. package/es/echart-gauge/props.js +9 -0
  41. package/es/echart-gauge/style/index.css +4 -0
  42. package/es/file-download-wrapper/file-download-wrapper.vue.js +164 -0
  43. package/es/file-download-wrapper/file-download-wrapper.vue2.js +115 -0
  44. package/es/file-download-wrapper/index.js +7 -0
  45. package/es/file-download-wrapper/key.js +17 -0
  46. package/es/file-download-wrapper/props.js +12 -0
  47. package/es/file-download-wrapper/style/index.css +66 -0
  48. package/es/filter-container/filter-container.vue.js +24 -0
  49. package/es/filter-container/filter-container.vue2.js +61 -0
  50. package/es/filter-container/index.js +7 -0
  51. package/es/filter-container/key.js +4 -0
  52. package/es/filter-container/props.js +11 -0
  53. package/es/filter-container/style/index.css +16 -0
  54. package/es/filter-wrapper/filter-wrapper.vue.js +19 -0
  55. package/es/filter-wrapper/filter-wrapper.vue2.js +56 -0
  56. package/es/filter-wrapper/index.js +7 -0
  57. package/es/filter-wrapper/props.js +10 -0
  58. package/es/filter-wrapper/style/index.css +3 -0
  59. package/es/height-collapse/height-collapse.vue.js +26 -0
  60. package/es/height-collapse/height-collapse.vue2.js +44 -0
  61. package/es/height-collapse/index.js +7 -0
  62. package/es/height-collapse/props.js +11 -0
  63. package/es/height-collapse/style/index.css +32 -0
  64. package/es/help-tag/help-tag.vue.js +46 -0
  65. package/es/help-tag/help-tag.vue2.js +51 -0
  66. package/es/help-tag/index.js +7 -0
  67. package/es/help-tag/props.js +9 -0
  68. package/es/help-tag/style/index.css +8 -0
  69. package/es/image-upload/image-upload.vue.js +116 -0
  70. package/es/image-upload/image-upload.vue2.js +93 -0
  71. package/es/image-upload/index.js +7 -0
  72. package/es/image-upload/style/index.css +33 -0
  73. package/es/index.js +63 -0
  74. package/es/installs.js +41 -0
  75. package/es/left-condition/index.js +7 -0
  76. package/es/left-condition/left-condition-sub.vue.js +36 -0
  77. package/es/left-condition/left-condition-sub.vue2.js +78 -0
  78. package/es/left-condition/left-condition.vue.js +77 -0
  79. package/es/left-condition/left-condition.vue2.js +162 -0
  80. package/es/left-condition/style/index.css +10 -0
  81. package/es/left-condition-enum/index.js +7 -0
  82. package/es/left-condition-enum/left-condition-enum.vue.js +22 -0
  83. package/es/left-condition-enum/left-condition-enum.vue2.js +42 -0
  84. package/es/left-condition-enum/style/index.css +10 -0
  85. package/es/node_modules/.pnpm/@vueuse_core@11.3.0_vue@3.5.17_typescript@5.8.3_/node_modules/@vueuse/core/index.js +99 -0
  86. package/es/node_modules/.pnpm/@vueuse_shared@11.3.0_vue@3.5.17_typescript@5.8.3_/node_modules/@vueuse/shared/index.js +22 -0
  87. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/index.js +38 -0
  88. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/adapters/adapters.js +53 -0
  89. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/adapters/fetch.js +141 -0
  90. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/adapters/xhr.js +71 -0
  91. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/axios.js +46 -0
  92. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/cancel/CancelToken.js +77 -0
  93. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/cancel/CanceledError.js +11 -0
  94. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/cancel/isCancel.js +6 -0
  95. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/core/Axios.js +136 -0
  96. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/core/AxiosError.js +54 -0
  97. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/core/AxiosHeaders.js +181 -0
  98. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/core/InterceptorManager.js +58 -0
  99. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/core/buildFullPath.js +9 -0
  100. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/core/dispatchRequest.js +31 -0
  101. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/core/mergeConfig.js +70 -0
  102. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/core/settle.js +14 -0
  103. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/core/transformData.js +13 -0
  104. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/defaults/index.js +89 -0
  105. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/defaults/transitional.js +8 -0
  106. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/env/data.js +4 -0
  107. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/helpers/AxiosURLSearchParams.js +33 -0
  108. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/helpers/HttpStatusCode.js +71 -0
  109. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/helpers/bind.js +8 -0
  110. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/helpers/buildURL.js +23 -0
  111. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/helpers/combineURLs.js +6 -0
  112. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/helpers/composeSignals.js +30 -0
  113. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/helpers/cookies.js +32 -0
  114. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/helpers/formDataToJSON.js +31 -0
  115. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/helpers/isAbsoluteURL.js +6 -0
  116. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/helpers/isAxiosError.js +7 -0
  117. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/helpers/isURLSameOrigin.js +8 -0
  118. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/helpers/null.js +4 -0
  119. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/helpers/parseHeaders.js +30 -0
  120. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/helpers/parseProtocol.js +7 -0
  121. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/helpers/progressEventReducer.js +35 -0
  122. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/helpers/resolveConfig.js +33 -0
  123. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/helpers/speedometer.js +19 -0
  124. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/helpers/spread.js +8 -0
  125. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/helpers/throttle.js +15 -0
  126. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/helpers/toFormData.js +85 -0
  127. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/helpers/toURLEncodedForm.js +13 -0
  128. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/helpers/trackStream.js +63 -0
  129. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/helpers/validator.js +54 -0
  130. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/platform/browser/classes/Blob.js +4 -0
  131. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/platform/browser/classes/FormData.js +4 -0
  132. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js +5 -0
  133. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/platform/browser/index.js +15 -0
  134. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/platform/common/utils.js +9 -0
  135. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/platform/index.js +9 -0
  136. package/es/node_modules/.pnpm/axios@1.10.0/node_modules/axios/lib/utils.js +222 -0
  137. package/es/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.js +282 -0
  138. package/es/node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/index.js +97 -0
  139. package/es/node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/animation/basicTransition.js +96 -0
  140. package/es/node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/animation/customGraphicKeyframeAnimation.js +56 -0
  141. package/es/node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/animation/customGraphicTransition.js +242 -0
  142. package/es/node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/animation/morphTransitionHelper.js +106 -0
  143. package/es/node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/animation/universalTransition.js +345 -0
  144. package/es/node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/chart/bar/BarSeries.js +56 -0
  145. package/es/node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/chart/bar/BarView.js +487 -0
  146. package/es/node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/chart/bar/BaseBarSeries.js +77 -0
  147. package/es/node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/chart/bar/PictorialBarSeries.js +49 -0
  148. package/es/node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/chart/bar/PictorialBarView.js +325 -0
  149. package/es/node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/chart/bar/install.js +23 -0
  150. package/es/node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/chart/bar/installPictorialBar.js +10 -0
  151. package/lib/annex-upload/style/index.css +7 -0
  152. package/lib/border-wrap/style/index.css +24 -0
  153. package/lib/common-import/style/index.css +32 -0
  154. package/lib/complex-search/style/index.css +24 -0
  155. package/lib/copy/style/index.css +12 -0
  156. package/lib/country-platform-shop-condition/style/index.css +59 -0
  157. package/lib/drop-down-condition/style/index.css +64 -0
  158. package/lib/echart-gauge/style/index.css +4 -0
  159. package/lib/file-download-wrapper/style/index.css +66 -0
  160. package/lib/filter-container/style/index.css +16 -0
  161. package/lib/filter-wrapper/style/index.css +3 -0
  162. package/lib/height-collapse/style/index.css +32 -0
  163. package/lib/help-tag/style/index.css +8 -0
  164. package/lib/image-upload/style/index.css +33 -0
  165. package/lib/left-condition/style/index.css +10 -0
  166. package/lib/left-condition-enum/style/index.css +10 -0
  167. package/lib/operation-log/style/index.css +234 -0
  168. package/lib/scale-screen/style/index.css +0 -0
  169. package/lib/style.css +1405 -0
  170. package/lib/styles/custom.css +82 -0
  171. package/lib/styles/globals.css +699 -0
  172. package/lib/styles/index.css +753 -0
  173. package/lib/styles/variables.css +34 -0
  174. package/package.json +1 -1
@@ -0,0 +1,164 @@
1
+ import F from "./file-download-wrapper.vue2.js";
2
+ import { resolveComponent as c, createElementBlock as t, openBlock as o, createCommentVNode as h, createElementVNode as i, createVNode as s, withCtx as d, createTextVNode as f, toDisplayString as n, Fragment as w, renderList as p, createBlock as N, withModifiers as b } from "vue";
3
+ import y from "../_virtual/_plugin-vue_export-helper.js";
4
+ const u = { class: "yahee-file-download-wrapper" }, x = {
5
+ key: 0,
6
+ class: "batch-toolbar"
7
+ }, C = { class: "file-list" }, U = { class: "file-item" }, V = {
8
+ key: 0,
9
+ class: "image-item"
10
+ }, D = {
11
+ key: 1,
12
+ class: "document-item"
13
+ }, P = ["src"], I = ["href"], M = {
14
+ key: 2,
15
+ class: "document-item"
16
+ }, B = ["src"], E = ["href"], z = {
17
+ key: 3,
18
+ class: "document-item"
19
+ }, A = ["src"], S = ["href"], T = {
20
+ key: 4,
21
+ class: "document-item"
22
+ }, L = ["src"], W = ["href"], j = {
23
+ key: 5,
24
+ class: "document-item"
25
+ }, q = ["onClick"], G = {
26
+ key: 6,
27
+ class: "document-item"
28
+ }, H = ["href"], J = {
29
+ key: 7,
30
+ class: "file-name"
31
+ };
32
+ function K(O, a, Q, e, R, X) {
33
+ const r = c("el-checkbox"), g = c("el-button"), k = c("el-image"), _ = c("el-icon");
34
+ return o(), t("div", u, [
35
+ e.isMultiMode ? (o(), t("div", x, [
36
+ s(r, {
37
+ modelValue: e.isAllChecked,
38
+ "onUpdate:modelValue": a[0] || (a[0] = (l) => e.isAllChecked = l),
39
+ onChange: e.handleAllCheck
40
+ }, {
41
+ default: d(() => a[1] || (a[1] = [
42
+ f("全选")
43
+ ])),
44
+ _: 1,
45
+ __: [1]
46
+ }, 8, ["modelValue"]),
47
+ s(g, {
48
+ type: "primary",
49
+ size: "small",
50
+ disabled: e.selectedFiles.length === 0,
51
+ onClick: e.handleBatchDownload
52
+ }, {
53
+ default: d(() => [
54
+ f(" 下载选中文件(" + n(e.selectedFiles.length) + ") ", 1)
55
+ ]),
56
+ _: 1
57
+ }, 8, ["disabled"])
58
+ ])) : h("", !0),
59
+ i("div", C, [
60
+ (o(!0), t(w, null, p(e.fileList, (l, v) => (o(), t("div", {
61
+ key: `file-${v}`,
62
+ class: "file-row"
63
+ }, [
64
+ e.isMultiMode ? (o(), N(r, {
65
+ key: 0,
66
+ modelValue: l.checked,
67
+ "onUpdate:modelValue": (m) => l.checked = m,
68
+ class: "file-checkbox",
69
+ onChange: e.handleSingleCheck
70
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])) : h("", !0),
71
+ i("div", U, [
72
+ e.isImageFile(e.getFileUrl(l)) ? (o(), t("div", V, [
73
+ s(k, {
74
+ class: "file-image",
75
+ src: e.getFileUrl(l),
76
+ "preview-src-list": [e.getFileUrl(l)],
77
+ fit: "contain",
78
+ "preview-teleported": !0
79
+ }, null, 8, ["src", "preview-src-list"])
80
+ ])) : e.isWordFile(l.fileName) ? (o(), t("div", D, [
81
+ i("img", {
82
+ src: e.useImagePath("file-word.png"),
83
+ class: "file-icon",
84
+ alt: "word"
85
+ }, null, 8, P),
86
+ i("a", {
87
+ href: e.getFileUrl(l),
88
+ target: "_blank",
89
+ class: "file-link"
90
+ }, n(l.fileName), 9, I)
91
+ ])) : e.isPdfFile(l.fileName) ? (o(), t("div", M, [
92
+ i("img", {
93
+ src: e.useImagePath("pdf.png"),
94
+ class: "file-icon",
95
+ alt: "pdf"
96
+ }, null, 8, B),
97
+ i("a", {
98
+ href: e.getFileUrl(l),
99
+ target: "_blank",
100
+ class: "file-link"
101
+ }, n(l.fileName), 9, E)
102
+ ])) : e.isPptFile(l.fileName) ? (o(), t("div", z, [
103
+ i("img", {
104
+ src: e.useImagePath("ppt.png"),
105
+ class: "file-icon",
106
+ alt: "ppt"
107
+ }, null, 8, A),
108
+ i("a", {
109
+ href: e.getFileUrl(l),
110
+ target: "_blank",
111
+ class: "file-link"
112
+ }, n(l.fileName), 9, S)
113
+ ])) : e.isExcelFile(l.fileName) ? (o(), t("div", T, [
114
+ i("img", {
115
+ src: e.useImagePath("excel.png"),
116
+ class: "file-icon",
117
+ alt: "excel"
118
+ }, null, 8, L),
119
+ i("a", {
120
+ href: e.getFileUrl(l),
121
+ target: "_blank",
122
+ class: "file-link"
123
+ }, n(l.fileName), 9, W)
124
+ ])) : e.isTxtFile(l.fileName) ? (o(), t("div", j, [
125
+ s(_, {
126
+ size: "24",
127
+ class: "file-icon"
128
+ }, {
129
+ default: d(() => [
130
+ s(e.Document)
131
+ ]),
132
+ _: 1
133
+ }),
134
+ i("a", {
135
+ class: "file-link",
136
+ onClick: b((m) => e.handleTxtSingleDownload(l), ["prevent"])
137
+ }, n(l.fileName), 9, q)
138
+ ])) : e.getFileUrl(l) ? (o(), t("div", G, [
139
+ s(_, {
140
+ size: "24",
141
+ class: "file-icon"
142
+ }, {
143
+ default: d(() => [
144
+ s(e.Document)
145
+ ]),
146
+ _: 1
147
+ }),
148
+ i("a", {
149
+ href: e.getFileUrl(l),
150
+ target: "_blank",
151
+ class: "file-link"
152
+ }, n(l.fileName), 9, H)
153
+ ])) : (o(), t("div", J, [
154
+ i("span", null, n(l.fileName), 1)
155
+ ]))
156
+ ])
157
+ ]))), 128))
158
+ ])
159
+ ]);
160
+ }
161
+ const ee = /* @__PURE__ */ y(F, [["render", K], ["__file", "E:/工作/项目代码/common_componentsweb/packages/components/src/file-download-wrapper/file-download-wrapper.vue"]]);
162
+ export {
163
+ ee as default
164
+ };
@@ -0,0 +1,115 @@
1
+ import { defineComponent as q, ref as L, watch as A, onMounted as O, computed as E } from "vue";
2
+ import { ElMessage as f } from "element-plus";
3
+ import "element-plus/theme-chalk/src/base.scss";
4
+ import "element-plus/theme-chalk/src/badge.scss";
5
+ import "element-plus/theme-chalk/src/message.scss";
6
+ import j from "../_virtual/jszip.min.js";
7
+ import { Document as M } from "@element-plus/icons-vue";
8
+ import { FILE_TYPE_REGEX as u } from "./key.js";
9
+ import z from "../packages/components/hooks/useImgPath.js";
10
+ const m = "[文件批量下载调试]", re = /* @__PURE__ */ q({
11
+ __name: "file-download-wrapper",
12
+ props: {
13
+ fileId: { type: String, required: !0 },
14
+ fileName: { type: String, required: !0 },
15
+ fileUrl: { type: String, required: !0 },
16
+ files: { type: Array, required: !0 },
17
+ showBatchDownload: { type: Boolean, required: !0 }
18
+ },
19
+ setup(_, { expose: I }) {
20
+ I();
21
+ const l = _, o = (e, t) => {
22
+ t ? console.log(`${m} ${e}`, t) : console.log(`${m} ${e}`);
23
+ }, r = L([]), $ = L(!1), g = () => {
24
+ var e;
25
+ if ((e = l.files) != null && e.length) {
26
+ r.value = l.files.map((t) => ({
27
+ ...t,
28
+ checked: !1
29
+ })), o("初始化多文件列表:", r.value);
30
+ return;
31
+ }
32
+ l.fileName && (r.value = [
33
+ {
34
+ fileId: l.fileId,
35
+ fileName: l.fileName,
36
+ fileUrl: l.fileUrl,
37
+ checked: !1
38
+ }
39
+ ], o("初始化单文件列表:", r.value));
40
+ };
41
+ A(
42
+ () => [l.files, l.fileId, l.fileName, l.fileUrl],
43
+ () => g(),
44
+ { deep: !0, immediate: !0 }
45
+ ), O(() => g());
46
+ const b = E(() => {
47
+ const e = r.value.filter((t) => t.checked);
48
+ return o("当前选中的文件:", e), e;
49
+ }), T = E(() => r.value.length > 1 && l.showBatchDownload), U = (e) => e.fileUrl ? e.fileUrl : e.fileId ? `http://qas-service.yahee.com.cn:8088/FMSService/Latest/${e.fileId}` : "", k = {
50
+ isImageFile: (e) => u.image.test(e),
51
+ isWordFile: (e) => u.word.test(e),
52
+ isPdfFile: (e) => u.pdf.test(e),
53
+ isPptFile: (e) => u.ppt.test(e),
54
+ isExcelFile: (e) => u.excel.test(e),
55
+ isTxtFile: (e) => u.txt.test(e)
56
+ }, { isImageFile: N, isWordFile: S, isPdfFile: R, isPptFile: C, isExcelFile: D, isTxtFile: x } = k, y = { props: l, DEBUG_TAG: m, debugLog: o, fileList: r, isAllChecked: $, initFileList: g, selectedFiles: b, isMultiMode: T, getFileUrl: U, fileTypeJudge: k, isImageFile: N, isWordFile: S, isPdfFile: R, isPptFile: C, isExcelFile: D, isTxtFile: x, handleSingleCheck: () => {
57
+ $.value = r.value.every((e) => e.checked);
58
+ }, handleAllCheck: (e) => {
59
+ r.value.forEach((t) => {
60
+ t.checked = e;
61
+ });
62
+ }, handleTxtSingleDownload: async (e) => {
63
+ try {
64
+ const t = U(e);
65
+ o("开始单个TXT文件下载,URL:", t), o("使用的文件名:", e.fileName);
66
+ const a = await fetch(t);
67
+ if (!a.ok) throw new Error("文件请求失败");
68
+ const p = await a.blob(), i = window.URL.createObjectURL(p), n = document.createElement("a");
69
+ n.href = i, n.download = e.fileName, document.body.appendChild(n), n.click(), document.body.removeChild(n), window.URL.revokeObjectURL(i), f.success("下载成功");
70
+ } catch (t) {
71
+ console.error(`${m} TXT文件下载失败:`, t), f.error("文件下载失败,请重试");
72
+ }
73
+ }, handleBatchDownload: async () => {
74
+ if (b.value.length === 0) {
75
+ f.warning("请先选择要下载的文件");
76
+ return;
77
+ }
78
+ o("========== 开始批量下载流程 ==========");
79
+ const e = new j(), t = [];
80
+ f.info("正在加载文件并打包,请稍候...");
81
+ try {
82
+ b.value.forEach((n, d) => {
83
+ const v = U(n), c = n.fileName;
84
+ o(`[文件 ${d + 1}] 开始处理`), o(`[文件 ${d + 1}] 请求URL:`, v), o(`[文件 ${d + 1}] 使用的文件名:`, c);
85
+ const P = fetch(v).then((s) => {
86
+ if (!s.ok) throw new Error(`【${c}】加载失败,状态码:${s.status}`);
87
+ return s.blob();
88
+ }).then((s) => {
89
+ let h = c, F = 1;
90
+ for (; e.files[h]; ) {
91
+ const w = c.lastIndexOf("."), B = w > -1 ? c.slice(w) : "";
92
+ h = `${w > -1 ? c.slice(0, w) : c}(${F})${B}`, F++;
93
+ }
94
+ h !== c && o(`[文件 ${d + 1}] 检测到重名,重命名为:`, h), e.file(h, s), o(`[文件 ${d + 1}] 已加入压缩包`);
95
+ }).catch((s) => {
96
+ throw console.error(`${m} [文件 ${d + 1}] 处理失败:`, s), s;
97
+ });
98
+ t.push(P);
99
+ }), o("等待所有文件加载完成..."), await Promise.all(t), o("所有文件加载完成,开始生成压缩包...");
100
+ const a = await e.generateAsync({ type: "blob" }), p = window.URL.createObjectURL(a), i = document.createElement("a");
101
+ i.href = p, i.download = `批量文件下载_${Date.now()}.zip`, document.body.appendChild(i), i.click(), document.body.removeChild(i), window.URL.revokeObjectURL(p), o("========== 批量下载流程完成 =========="), f.success("批量打包下载完成");
102
+ } catch (a) {
103
+ console.error(`${m} 批量下载失败:`, a), f.error("打包下载失败,请检查控制台日志");
104
+ }
105
+ }, get Document() {
106
+ return M;
107
+ }, get useImagePath() {
108
+ return z;
109
+ } };
110
+ return Object.defineProperty(y, "__isScriptSetup", { enumerable: !1, value: !0 }), y;
111
+ }
112
+ });
113
+ export {
114
+ re as default
115
+ };
@@ -0,0 +1,7 @@
1
+ import { withInstall as o } from "../utils/install.js";
2
+ import r from "./file-download-wrapper.vue.js";
3
+ const l = o(r);
4
+ export {
5
+ l as YaheeFileDownloadWrapper,
6
+ l as default
7
+ };
@@ -0,0 +1,17 @@
1
+ const p = {
2
+ /** 图片文件 */
3
+ image: /\.(png|jpg|jpeg|gif|webp|svg|bmp)$/i,
4
+ /** Word文档 */
5
+ word: /\.(doc|docx|docm|dot|dotx)$/i,
6
+ /** PDF文档 */
7
+ pdf: /\.pdf$/i,
8
+ /** PPT演示文档 */
9
+ ppt: /\.(ppt|pptx|pptm|pot|potx)$/i,
10
+ /** Excel表格 */
11
+ excel: /\.(xls|xlsx|xlsm|csv|xlt|xltx)$/i,
12
+ /** TXT文本文件 */
13
+ txt: /\.txt$/i
14
+ };
15
+ export {
16
+ p as FILE_TYPE_REGEX
17
+ };
@@ -0,0 +1,12 @@
1
+ function e() {
2
+ return {
3
+ fileId: "",
4
+ fileName: "",
5
+ fileUrl: "",
6
+ files: () => [],
7
+ showBatchDownload: !0
8
+ };
9
+ }
10
+ export {
11
+ e as defaultFileDownloadWrapperProps
12
+ };
@@ -0,0 +1,66 @@
1
+ .yahee-file-download-wrapper {
2
+ width: 100%;
3
+ padding: 8px 0;
4
+ box-sizing: border-box;
5
+ }
6
+ .yahee-file-download-wrapper .batch-toolbar {
7
+ display: flex;
8
+ align-items: center;
9
+ gap: 12px;
10
+ margin-bottom: 12px;
11
+ padding-bottom: 8px;
12
+ }
13
+ .yahee-file-download-wrapper .file-list {
14
+ display: flex;
15
+ flex-direction: column;
16
+ gap: 10px;
17
+ }
18
+ .yahee-file-download-wrapper .file-row {
19
+ display: flex;
20
+ align-items: flex-start;
21
+ gap: 8px;
22
+ width: 100%;
23
+ }
24
+ .yahee-file-download-wrapper .file-row .file-checkbox {
25
+ margin-top: 2px;
26
+ flex-shrink: 0;
27
+ }
28
+ .yahee-file-download-wrapper .file-item {
29
+ display: flex;
30
+ align-items: center;
31
+ gap: 8px;
32
+ flex: 1;
33
+ min-width: 0;
34
+ }
35
+ .yahee-file-download-wrapper .file-item .image-item .file-image {
36
+ max-width: 200px;
37
+ max-height: 200px;
38
+ border: 1px solid #dcdfe6;
39
+ border-radius: 4px;
40
+ cursor: pointer;
41
+ }
42
+ .yahee-file-download-wrapper .file-item .document-item {
43
+ display: flex;
44
+ align-items: center;
45
+ gap: 8px;
46
+ }
47
+ .yahee-file-download-wrapper .file-item .document-item .file-icon {
48
+ width: 24px;
49
+ height: 24px;
50
+ flex-shrink: 0;
51
+ }
52
+ .yahee-file-download-wrapper .file-item .document-item .file-link {
53
+ color: #409eff;
54
+ text-decoration: none;
55
+ word-break: break-all;
56
+ flex: 1;
57
+ min-width: 0;
58
+ font-size: 12px;
59
+ }
60
+ .yahee-file-download-wrapper .file-item .document-item .file-link:hover {
61
+ text-decoration: underline;
62
+ }
63
+ .yahee-file-download-wrapper .file-item .file-name {
64
+ color: #606266;
65
+ word-break: break-all;
66
+ }
@@ -0,0 +1,24 @@
1
+ import c from "./filter-container.vue2.js";
2
+ import { createElementBlock as e, openBlock as o, createCommentVNode as s, renderSlot as n } from "vue";
3
+ import i from "../_virtual/_plugin-vue_export-helper.js";
4
+ const a = { class: "yahee-filter-container" }, l = {
5
+ key: 0,
6
+ class: "filter-section"
7
+ }, _ = {
8
+ key: 1,
9
+ class: "search-section"
10
+ };
11
+ function f(t, m, d, r, p, h) {
12
+ return o(), e("div", a, [
13
+ r.hasFilters ? (o(), e("div", l, [
14
+ n(t.$slots, "filters")
15
+ ])) : s("", !0),
16
+ r.hasSearch ? (o(), e("div", _, [
17
+ n(t.$slots, "search")
18
+ ])) : s("", !0)
19
+ ]);
20
+ }
21
+ const $ = /* @__PURE__ */ i(c, [["render", f], ["__file", "E:/工作/项目代码/common_componentsweb/packages/components/src/filter-container/filter-container.vue"]]);
22
+ export {
23
+ $ as default
24
+ };
@@ -0,0 +1,61 @@
1
+ import { defineComponent as F, mergeDefaults as O, ref as g, computed as I, useSlots as b, provide as k, onMounted as x, onUnmounted as B } from "vue";
2
+ import { defaultFilterContainerProps as K } from "./props.js";
3
+ import { filterContainerKey as M } from "./key.js";
4
+ import _ from "../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/debounce.js";
5
+ const U = /* @__PURE__ */ F({
6
+ name: "YaheeFilterContainer",
7
+ __name: "filter-container",
8
+ props: /* @__PURE__ */ O({
9
+ debounceInterval: { type: Number, required: !1 },
10
+ immediate: { type: Boolean, required: !1 },
11
+ initialSearchItem: { type: Object, required: !1 },
12
+ showSearchSection: { type: Boolean, required: !1 }
13
+ }, K()),
14
+ emits: ["change", "search"],
15
+ setup(C, { expose: A, emit: w }) {
16
+ const r = C, c = w, t = g({});
17
+ r.initialSearchItem && Object.keys(r.initialSearchItem).length > 0 && (t.value = { ...r.initialSearchItem });
18
+ const o = g(/* @__PURE__ */ new Map()), j = I(() => o.value.size > 0 || !!b().filters), q = I(() => r.showSearchSection || Array.from(o.value.values()).some((e) => e.type === "search") || !!b().search), i = _((e) => {
19
+ c("change", e);
20
+ }, r.debounceInterval), l = _((e) => {
21
+ c("search", e);
22
+ }, r.debounceInterval), d = (e, s, n = "filter") => {
23
+ o.value.set(e, { methods: s, type: n });
24
+ }, f = (e) => {
25
+ o.value.delete(e);
26
+ }, u = (e) => {
27
+ const s = Array.isArray(e) ? e : [e], n = { ...t.value };
28
+ s.forEach((E) => {
29
+ const { filterKey: h, checkedValues: a } = E;
30
+ a.length === 0 || a[0] === "" || a[0] === null || a[0] === void 0 ? delete n[h] : a.length === 1 ? n[h] = a[0] : n[h] = a;
31
+ }), t.value = n, i({ ...n });
32
+ }, p = (e) => {
33
+ const s = { ...t.value, ...e };
34
+ t.value = s, l({ ...s });
35
+ }, v = () => {
36
+ t.value = { ...r.initialSearchItem }, o.value.forEach((e) => {
37
+ e.methods.reset && e.methods.reset();
38
+ }), c("change", { ...t.value });
39
+ }, m = () => ({ ...t.value }), S = {
40
+ registerComponent: d,
41
+ unregisterComponent: f,
42
+ updateSearchItem: u,
43
+ handleSearch: p,
44
+ getCurrentSearchItem: m
45
+ };
46
+ k(M, S), A({
47
+ resetAllFilters: v,
48
+ getCurrentSearchItem: m,
49
+ updateSearchItem: u
50
+ }), x(() => {
51
+ r.immediate && Object.keys(t.value).length > 0 && c("change", { ...t.value });
52
+ }), B(() => {
53
+ i.cancel(), l.cancel();
54
+ });
55
+ const y = { props: r, emit: c, searchItem: t, registeredComponents: o, hasFilters: j, hasSearch: q, debouncedEmitChange: i, debouncedEmitSearch: l, registerComponent: d, unregisterComponent: f, updateSearchItem: u, handleSearch: p, resetAllFilters: v, getCurrentSearchItem: m, containerApi: S };
56
+ return Object.defineProperty(y, "__isScriptSetup", { enumerable: !1, value: !0 }), y;
57
+ }
58
+ });
59
+ export {
60
+ U as default
61
+ };
@@ -0,0 +1,7 @@
1
+ import { withInstall as t } from "../utils/install.js";
2
+ import r from "./filter-container.vue.js";
3
+ const i = t(r);
4
+ export {
5
+ i as YaheeFilterContainer,
6
+ i as default
7
+ };
@@ -0,0 +1,4 @@
1
+ const e = Symbol("filterContainer");
2
+ export {
3
+ e as filterContainerKey
4
+ };
@@ -0,0 +1,11 @@
1
+ function e() {
2
+ return {
3
+ debounceInterval: 300,
4
+ immediate: !1,
5
+ initialSearchItem: {},
6
+ showSearchSection: !1
7
+ };
8
+ }
9
+ export {
10
+ e as defaultFilterContainerProps
11
+ };
@@ -0,0 +1,16 @@
1
+ .yahee-filter-container {
2
+ display: flex;
3
+ width: 100%;
4
+ justify-content: space-between;
5
+ }
6
+ .yahee-filter-container .filter-section {
7
+ min-width: 200px;
8
+ }
9
+ .yahee-filter-container .search-section {
10
+ min-height: 60px;
11
+ }
12
+ .yahee-filter-container .content-section {
13
+ flex: 1;
14
+ padding: 16px;
15
+ overflow: auto;
16
+ }
@@ -0,0 +1,19 @@
1
+ import t from "./filter-wrapper.vue2.js";
2
+ import { createElementBlock as o, openBlock as a, renderSlot as p } from "vue";
3
+ /* empty css */
4
+ import c from "../_virtual/_plugin-vue_export-helper.js";
5
+ const n = { class: "filter-wrapper yahee-filter-wrapper" };
6
+ function i(r, l, s, e, d, m) {
7
+ return a(), o("div", n, [
8
+ p(r.$slots, "default", {
9
+ register: e.register,
10
+ update: e.updateFilter,
11
+ getCurrentSearchItem: e.getCurrentSearchItem,
12
+ handleSearch: e.handleSearch
13
+ }, void 0, !0)
14
+ ]);
15
+ }
16
+ const g = /* @__PURE__ */ c(t, [["render", i], ["__scopeId", "data-v-d9497b3a"], ["__file", "E:/工作/项目代码/common_componentsweb/packages/components/src/filter-wrapper/filter-wrapper.vue"]]);
17
+ export {
18
+ g as default
19
+ };
@@ -0,0 +1,56 @@
1
+ import { defineComponent as f, mergeDefaults as d, inject as l, onMounted as y, onUnmounted as S } from "vue";
2
+ import { defaultFilterWrapperProps as g } from "./props.js";
3
+ import { filterContainerKey as h } from "../filter-container/key.js";
4
+ const q = /* @__PURE__ */ f({
5
+ name: "YaheeFilterWrapper",
6
+ __name: "filter-wrapper",
7
+ props: /* @__PURE__ */ d({
8
+ id: { type: String, required: !0 },
9
+ filterKey: { type: String, required: !0 },
10
+ type: { type: String, required: !1 },
11
+ reset: { type: Function, required: !1 },
12
+ immediate: { type: Boolean, required: !1 }
13
+ }, g()),
14
+ setup(o, { expose: m }) {
15
+ const r = o, e = l(h), n = (t = {}) => {
16
+ e && e.registerComponent(
17
+ r.id,
18
+ {
19
+ reset: r.reset || t.reset,
20
+ ...t
21
+ },
22
+ r.type
23
+ );
24
+ }, i = (t) => {
25
+ if (!e) return;
26
+ const c = Array.isArray(t) ? t : [t];
27
+ e.updateSearchItem({
28
+ filterKey: r.filterKey,
29
+ checkedValues: c
30
+ });
31
+ }, a = () => e != null && e.getCurrentSearchItem ? e.getCurrentSearchItem() : {}, u = (t) => {
32
+ e != null && e.handleSearch && e.handleSearch(t);
33
+ }, s = () => {
34
+ r.reset && r.reset();
35
+ };
36
+ m({
37
+ register: n,
38
+ updateFilter: i,
39
+ getCurrentSearchItem: a,
40
+ handleSearch: u,
41
+ reset: s
42
+ }), y(() => {
43
+ if (n({ reset: s }), r.immediate && (e != null && e.getCurrentSearchItem)) {
44
+ const t = e.getCurrentSearchItem();
45
+ t[r.filterKey] && i(t[r.filterKey]);
46
+ }
47
+ }), S(() => {
48
+ e && e.unregisterComponent(r.id);
49
+ });
50
+ const p = { props: r, filterContainer: e, register: n, updateFilter: i, getCurrentSearchItem: a, handleSearch: u, reset: s };
51
+ return Object.defineProperty(p, "__isScriptSetup", { enumerable: !1, value: !0 }), p;
52
+ }
53
+ });
54
+ export {
55
+ q as default
56
+ };
@@ -0,0 +1,7 @@
1
+ import { withInstall as r } from "../utils/install.js";
2
+ import t from "./filter-wrapper.vue.js";
3
+ const a = r(t);
4
+ export {
5
+ a as YaheeFilterWrapper,
6
+ a as default
7
+ };
@@ -0,0 +1,10 @@
1
+ function e() {
2
+ return {
3
+ type: "filter",
4
+ immediate: !1,
5
+ reset: void 0
6
+ };
7
+ }
8
+ export {
9
+ e as defaultFilterWrapperProps
10
+ };
@@ -0,0 +1,3 @@
1
+ .yahee-filter-wrapper {
2
+ font-size: 20px;
3
+ }
@@ -0,0 +1,26 @@
1
+ import a from "./height-collapse.vue2.js";
2
+ import { createElementBlock as t, openBlock as l, createElementVNode as c, createCommentVNode as s, normalizeStyle as i, renderSlot as r, normalizeClass as d, toDisplayString as m } from "vue";
3
+ import p from "../_virtual/_plugin-vue_export-helper.js";
4
+ const h = { class: "yahee-height-collapse-wrapper" }, f = ["title"];
5
+ function _(n, g, o, e, x, E) {
6
+ return l(), t("div", h, [
7
+ c("div", {
8
+ ref: "contentRef",
9
+ class: "height-collapse-content",
10
+ style: i(e.isExpand ? {} : { maxHeight: `${o.maxHeight}px`, overflow: "hidden" })
11
+ }, [
12
+ r(n.$slots, "default")
13
+ ], 4),
14
+ e.isOverflow ? (l(), t("div", {
15
+ key: 0,
16
+ title: e.isExpand ? o.expandTitle : o.collapseTitle,
17
+ class: d(["show-filters", { more: !e.isExpand }]),
18
+ style: i({ top: `${e.buttonTop}px` }),
19
+ onClick: e.clickToggleFilter
20
+ }, m(e.isExpand ? "∧" : "∨"), 15, f)) : s("", !0)
21
+ ]);
22
+ }
23
+ const w = /* @__PURE__ */ p(a, [["render", _], ["__file", "E:/工作/项目代码/common_componentsweb/packages/components/src/height-collapse/height-collapse.vue"]]);
24
+ export {
25
+ w as default
26
+ };