@bwg-ui/core 1.2.29 → 1.2.31
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.
- package/dist/chunks/CMSearchIntfGwP01-C4Kg1iWo.cjs +1 -0
- package/dist/chunks/CMSearchIntfGwP01-CIf-fHXy.js +280 -0
- package/dist/chunks/MenuReport-DQS5SAmi.cjs +1 -0
- package/dist/chunks/{MenuReport-BOTGoNCO.js → MenuReport-GeXRkcDD.js} +26 -26
- package/dist/chunks/common-components-CyqUT5Vj.cjs +1109 -0
- package/dist/chunks/{common-components-DAW4iyA6.js → common-components-DNos8aEG.js} +14462 -14840
- package/dist/chunks/{layout-components-BtcSZhtL.js → layout-components-C4ehuALr.js} +537 -453
- package/dist/chunks/layout-components-USIA9TVn.cjs +35 -0
- package/dist/components/common/ButtonAccessController.d.ts.map +1 -1
- package/dist/components/common/BwgGrid.d.ts.map +1 -1
- package/dist/components/common/BwgTitleBox.d.ts.map +1 -1
- package/dist/components/common/BwgView.d.ts.map +1 -1
- package/dist/components/common/SearchBox.d.ts.map +1 -1
- package/dist/components/common/index.cjs +1 -1
- package/dist/components/common/index.js +1 -1
- package/dist/components/core/BwgButton.d.ts +2 -2
- package/dist/components/core/BwgButton.d.ts.map +1 -1
- package/dist/components/core/index.cjs +1 -1
- package/dist/components/core/index.js +299 -276
- package/dist/components/guide/index.cjs +1 -1
- package/dist/components/guide/index.js +1 -1
- package/dist/components/layout/custom/ConfigurableHeader.d.ts.map +1 -1
- package/dist/components/layout/index.cjs +1 -1
- package/dist/components/layout/index.js +1 -1
- package/dist/components/layout/types.d.ts +7 -0
- package/dist/components/layout/types.d.ts.map +1 -1
- package/dist/components/pages/rsrc/CMFileMstrM01.d.ts.map +1 -1
- package/dist/components/popup/CMSearchIntfGwP01.d.ts +8 -0
- package/dist/components/popup/CMSearchIntfGwP01.d.ts.map +1 -0
- package/dist/components/popup/SearchOrganizationP01.d.ts +2 -1
- package/dist/components/popup/SearchOrganizationP01.d.ts.map +1 -1
- package/dist/components/popup/config/localPopupRegistry.d.ts.map +1 -1
- package/dist/components/popup/index.cjs +1 -1
- package/dist/components/popup/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +248 -246
- package/dist/provider/contexts/ServiceCodeContext.d.ts.map +1 -1
- package/dist/provider/index.cjs +1 -1
- package/dist/provider/index.js +90 -90
- package/dist/public/realgrid/css/realgrid-style-custom.css +3 -3
- package/dist/stores/index.cjs +2 -2
- package/dist/stores/index.js +27 -6
- package/dist/stores/userStore.d.ts +15 -0
- package/dist/stores/userStore.d.ts.map +1 -1
- package/dist/styles/assets/images/header/icon/ico-bell.svg +3 -3
- package/dist/styles/assets/images/header/icon/ico-logout.svg +10 -10
- package/dist/styles/assets/images/header/icon/ico-setting.svg +4 -4
- package/dist/styles/assets/images/header/icon/ico-sidebar-arrow.svg +3 -3
- package/dist/styles/layout.css +1 -1
- package/dist/utils/{fileUtils.d.ts → FileUtils.d.ts} +1 -1
- package/dist/utils/FileUtils.d.ts.map +1 -0
- package/dist/utils/colorFormat.d.ts +169 -0
- package/dist/utils/colorFormat.d.ts.map +1 -0
- package/dist/utils/index.cjs +1 -1
- package/dist/utils/index.d.ts +179 -9
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1152 -954
- package/package.json +1 -1
- package/dist/chunks/MenuReport-YSnbFhL_.cjs +0 -1
- package/dist/chunks/common-components-BOFr4JmN.cjs +0 -1109
- package/dist/chunks/layout-components-CthY7deC.cjs +0 -35
- package/dist/utils/fileUtils.d.ts.map +0 -1
|
@@ -1,16 +1,39 @@
|
|
|
1
1
|
import { jsx as r, jsxs as q } from "react/jsx-runtime";
|
|
2
|
-
import { Button as
|
|
3
|
-
import { memo as
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import
|
|
2
|
+
import { Button as X, Form as B, Checkbox as ie, ConfigProvider as pe, DatePicker as le, message as L, Card as ye, List as ee, Input as te, Spin as Le, Upload as G, Typography as Fe, Flex as de, Progress as be, notification as we, Tooltip as _e, Select as se, Space as ae, InputNumber as Ie, Radio as Ne, Switch as Me } from "antd";
|
|
3
|
+
import { useMemo as W, memo as De, useState as T, useEffect as j, forwardRef as ke, useRef as Z, cloneElement as xe } from "react";
|
|
4
|
+
import { useUserStore as ve, usePopupStore as Be } from "../../stores/index.js";
|
|
5
|
+
import A from "dayjs";
|
|
6
|
+
import { PaperClipOutlined as Ee, DownloadOutlined as Oe, DeleteOutlined as ze, InboxOutlined as Ve, UploadOutlined as Ye, CloudUploadOutlined as Ue, CheckCircleOutlined as Ae, CloseCircleOutlined as Te, FileTextOutlined as Re, SearchOutlined as $e } from "@ant-design/icons";
|
|
7
|
+
import { isEmpty as je, debounce as He, findIndex as ne } from "lodash";
|
|
8
|
+
import { callServiceBySysCd as Ke, getUserInfo as K, callService as J } from "../../utils/index.js";
|
|
9
|
+
import Ge from "jszip";
|
|
9
10
|
import Ce from "imask";
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
|
|
13
|
-
const
|
|
11
|
+
import { DndProvider as qe, useDrop as We, useDrag as Je } from "react-dnd";
|
|
12
|
+
import { HTML5Backend as Xe } from "react-dnd-html5-backend";
|
|
13
|
+
const Yt = (t) => {
|
|
14
|
+
const { componentSize: e } = ve(), l = W(() => t.size ? t.size : {
|
|
15
|
+
0: "small",
|
|
16
|
+
1: "middle",
|
|
17
|
+
2: "large"
|
|
18
|
+
}[e], [e, t.size]), i = W(() => ({
|
|
19
|
+
0: 12,
|
|
20
|
+
// 작게
|
|
21
|
+
1: 14,
|
|
22
|
+
// 보통
|
|
23
|
+
2: 16
|
|
24
|
+
// 크게
|
|
25
|
+
})[e], [e]);
|
|
26
|
+
return /* @__PURE__ */ r(
|
|
27
|
+
X,
|
|
28
|
+
{
|
|
29
|
+
...t,
|
|
30
|
+
size: l,
|
|
31
|
+
className: "bwg-btn",
|
|
32
|
+
style: { fontSize: `${i}px`, ...t.style },
|
|
33
|
+
children: t.children
|
|
34
|
+
}
|
|
35
|
+
);
|
|
36
|
+
}, D = De(
|
|
14
37
|
({
|
|
15
38
|
children: t,
|
|
16
39
|
label: e,
|
|
@@ -50,7 +73,7 @@ const Ft = (t) => /* @__PURE__ */ r(J, { ...t, className: "bwg-btn" }), M = Me(
|
|
|
50
73
|
}
|
|
51
74
|
);
|
|
52
75
|
}
|
|
53
|
-
),
|
|
76
|
+
), Ct = ({
|
|
54
77
|
itemProps: t,
|
|
55
78
|
inputProps: e = {
|
|
56
79
|
format: "YN"
|
|
@@ -58,7 +81,7 @@ const Ft = (t) => /* @__PURE__ */ r(J, { ...t, className: "bwg-btn" }), M = Me(
|
|
|
58
81
|
}) => {
|
|
59
82
|
const l = B.useFormInstance();
|
|
60
83
|
return /* @__PURE__ */ r(
|
|
61
|
-
|
|
84
|
+
D,
|
|
62
85
|
{
|
|
63
86
|
...t,
|
|
64
87
|
getValueProps: (n) => ({ checked: e.format === "boolean" ? !!n : n === "Y" }),
|
|
@@ -68,7 +91,7 @@ const Ft = (t) => /* @__PURE__ */ r(J, { ...t, className: "bwg-btn" }), M = Me(
|
|
|
68
91
|
}, children: e?.title })
|
|
69
92
|
}
|
|
70
93
|
);
|
|
71
|
-
},
|
|
94
|
+
}, St = ({ itemProps: t, inputProps: e }) => {
|
|
72
95
|
const l = B.useFormInstance(), [i, n] = T(
|
|
73
96
|
t?.initialValue ?? []
|
|
74
97
|
), [o, u] = T([]), a = o.length > 0 && o.length == i?.length, d = i?.length > 0 && i.length < o.length;
|
|
@@ -78,16 +101,16 @@ const Ft = (t) => /* @__PURE__ */ r(J, { ...t, className: "bwg-btn" }), M = Me(
|
|
|
78
101
|
n(i);
|
|
79
102
|
}, [i]);
|
|
80
103
|
const s = (Y) => {
|
|
81
|
-
const
|
|
104
|
+
const S = [];
|
|
82
105
|
return (Y || []).map((k, E) => {
|
|
83
|
-
|
|
84
|
-
}),
|
|
106
|
+
S.push(k.value);
|
|
107
|
+
}), S;
|
|
85
108
|
}, C = (Y) => {
|
|
86
109
|
n(Y.target.checked ? o : []), l.setFieldValue(t?.name, Y.target.checked ? o : []);
|
|
87
110
|
}, p = (Y) => {
|
|
88
111
|
n(Y), l.setFieldValue(t?.name, Y), e?.onChange && typeof e?.onChange == "function" && e?.onChange(Y);
|
|
89
112
|
};
|
|
90
|
-
return /* @__PURE__ */ r(
|
|
113
|
+
return /* @__PURE__ */ r(D, { ...t, children: /* @__PURE__ */ q(pe, { theme: {
|
|
91
114
|
components: {
|
|
92
115
|
Checkbox: {
|
|
93
116
|
colorPrimary: "var(--check-primary)",
|
|
@@ -129,10 +152,10 @@ const Ft = (t) => /* @__PURE__ */ r(J, { ...t, className: "bwg-btn" }), M = Me(
|
|
|
129
152
|
type: l = "date",
|
|
130
153
|
returnType: i = "string"
|
|
131
154
|
}) => {
|
|
132
|
-
const { displayFormat: n, outputFormat: o } =
|
|
155
|
+
const { displayFormat: n, outputFormat: o } = W(
|
|
133
156
|
() => ue[l],
|
|
134
157
|
[l]
|
|
135
|
-
), u =
|
|
158
|
+
), u = W(
|
|
136
159
|
() => Object.values(ue).map((a) => a.outputFormat).sort((a, d) => {
|
|
137
160
|
if (a.length === d.length) {
|
|
138
161
|
if (a === o) return -1;
|
|
@@ -144,12 +167,12 @@ const Ft = (t) => /* @__PURE__ */ r(J, { ...t, className: "bwg-btn" }), M = Me(
|
|
|
144
167
|
// type(outputFormat)이 바뀔 때마다 재정렬
|
|
145
168
|
);
|
|
146
169
|
return /* @__PURE__ */ r(
|
|
147
|
-
|
|
170
|
+
D,
|
|
148
171
|
{
|
|
149
172
|
...t,
|
|
150
173
|
getValueProps: (a) => ({
|
|
151
174
|
// 폼에 저장된 값(문자열 또는 Dayjs)을 DatePicker가 요구하는 Dayjs로 변환
|
|
152
|
-
value: a ?
|
|
175
|
+
value: a ? A.isDayjs(a) ? a : A(a, u) : null
|
|
153
176
|
}),
|
|
154
177
|
normalize: (a) => a ? i === "dayjs" ? a : a.format(o) : null,
|
|
155
178
|
children: /* @__PURE__ */ r(
|
|
@@ -171,7 +194,7 @@ const Ft = (t) => /* @__PURE__ */ r(J, { ...t, className: "bwg-btn" }), M = Me(
|
|
|
171
194
|
}) => {
|
|
172
195
|
const [n, o] = T([]);
|
|
173
196
|
j(() => {
|
|
174
|
-
t && e ? i != __SYS_CD__ ?
|
|
197
|
+
t && e ? i != __SYS_CD__ ? Ke(__APP_CD__, e, {
|
|
175
198
|
crprCd: K()?.crprCd,
|
|
176
199
|
sysCd: i,
|
|
177
200
|
fileGrpKey: t
|
|
@@ -185,8 +208,8 @@ const Ft = (t) => /* @__PURE__ */ r(J, { ...t, className: "bwg-btn" }), M = Me(
|
|
|
185
208
|
o(d);
|
|
186
209
|
}
|
|
187
210
|
}).catch((a) => {
|
|
188
|
-
console.error("파일 목록 조회 서비스 호출에 실패했습니다.", a),
|
|
189
|
-
}) :
|
|
211
|
+
console.error("파일 목록 조회 서비스 호출에 실패했습니다.", a), L.error("파일 목록을 불러오는 중 오류가 발생했습니다.");
|
|
212
|
+
}) : J(e, {
|
|
190
213
|
crprCd: K()?.crprCd,
|
|
191
214
|
sysCd: i,
|
|
192
215
|
fileGrpKey: t
|
|
@@ -200,7 +223,7 @@ const Ft = (t) => /* @__PURE__ */ r(J, { ...t, className: "bwg-btn" }), M = Me(
|
|
|
200
223
|
o(d);
|
|
201
224
|
}
|
|
202
225
|
}).catch((a) => {
|
|
203
|
-
console.error("파일 목록 조회 서비스 호출에 실패했습니다.", a),
|
|
226
|
+
console.error("파일 목록 조회 서비스 호출에 실패했습니다.", a), L.error("파일 목록을 불러오는 중 오류가 발생했습니다.");
|
|
204
227
|
}) : o([]);
|
|
205
228
|
}, [t, e]);
|
|
206
229
|
const u = async (a) => {
|
|
@@ -227,35 +250,35 @@ const Ft = (t) => /* @__PURE__ */ r(J, { ...t, className: "bwg-btn" }), M = Me(
|
|
|
227
250
|
const C = await s.blob(), p = window.URL.createObjectURL(C), Y = document.createElement("a");
|
|
228
251
|
Y.href = p, Y.setAttribute("download", a.name), document.body.appendChild(Y), Y.click(), document.body.removeChild(Y), window.URL.revokeObjectURL(p);
|
|
229
252
|
} catch (d) {
|
|
230
|
-
console.error(d),
|
|
253
|
+
console.error(d), L.error(
|
|
231
254
|
d.message || "파일을 다운로드하는 중 오류가 발생했습니다."
|
|
232
255
|
);
|
|
233
256
|
}
|
|
234
257
|
};
|
|
235
|
-
return
|
|
236
|
-
|
|
258
|
+
return je(n) ? null : /* @__PURE__ */ r(ye, { title: "파일 목록", children: /* @__PURE__ */ r(
|
|
259
|
+
ee,
|
|
237
260
|
{
|
|
238
261
|
dataSource: n,
|
|
239
262
|
renderItem: (a) => /* @__PURE__ */ r(
|
|
240
|
-
|
|
263
|
+
ee.Item,
|
|
241
264
|
{
|
|
242
265
|
actions: l ? [] : [
|
|
243
266
|
/* @__PURE__ */ r(
|
|
244
|
-
|
|
267
|
+
X,
|
|
245
268
|
{
|
|
246
269
|
type: "text",
|
|
247
|
-
icon: /* @__PURE__ */ r(
|
|
270
|
+
icon: /* @__PURE__ */ r(Oe, {}),
|
|
248
271
|
onClick: () => u(a)
|
|
249
272
|
},
|
|
250
273
|
"download"
|
|
251
274
|
)
|
|
252
275
|
],
|
|
253
|
-
children: /* @__PURE__ */ r(
|
|
276
|
+
children: /* @__PURE__ */ r(ee.Item.Meta, { avatar: /* @__PURE__ */ r(Ee, {}), title: a.name })
|
|
254
277
|
}
|
|
255
278
|
)
|
|
256
279
|
}
|
|
257
280
|
) });
|
|
258
|
-
},
|
|
281
|
+
}, Ze = ke(
|
|
259
282
|
({ children: t, labelCol: e, style: l, className: i, ...n }, o) => /* @__PURE__ */ r(
|
|
260
283
|
pe,
|
|
261
284
|
{
|
|
@@ -281,8 +304,8 @@ const Ft = (t) => /* @__PURE__ */ r(J, { ...t, className: "bwg-btn" }), M = Me(
|
|
|
281
304
|
}
|
|
282
305
|
)
|
|
283
306
|
);
|
|
284
|
-
|
|
285
|
-
const
|
|
307
|
+
Ze.displayName = "BwgForm";
|
|
308
|
+
const wt = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(D, { ...t, children: /* @__PURE__ */ r(te, { ...e }) }), { Text: oe } = Fe, { Dragger: Qe } = G, Pe = [
|
|
286
309
|
".pdf",
|
|
287
310
|
".xlsx",
|
|
288
311
|
".xls",
|
|
@@ -300,41 +323,41 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
300
323
|
".gif",
|
|
301
324
|
// 압축
|
|
302
325
|
".zip"
|
|
303
|
-
],
|
|
326
|
+
], et = (t, e = 2) => {
|
|
304
327
|
if (t === 0) return "0 Bytes";
|
|
305
328
|
const l = 1024, i = e < 0 ? 0 : e, n = ["Bytes", "KB", "MB", "GB", "TB"], o = Math.floor(Math.log(t) / Math.log(l));
|
|
306
329
|
return parseFloat((t / Math.pow(l, o)).toFixed(i)) + " " + n[o];
|
|
307
|
-
},
|
|
330
|
+
}, _t = ({
|
|
308
331
|
title: t = "첨부파일",
|
|
309
332
|
fileGrpKey: e,
|
|
310
333
|
onUploadComplete: l,
|
|
311
334
|
onSuccessTrxCd: i = "SCMFILE00102",
|
|
312
335
|
// BwgUploader와 동일한 기본 trxCd 설정
|
|
313
336
|
anotherServiceTrxCd: n = "SCMFILE00105",
|
|
314
|
-
allowedExtensions: o =
|
|
337
|
+
allowedExtensions: o = Pe,
|
|
315
338
|
maxFileSize: u = 2048
|
|
316
339
|
// 기본값 2GB
|
|
317
340
|
}) => {
|
|
318
|
-
const [a, d] = T([]), [s, C] = T(!1), [p, Y] = T(!1), [
|
|
341
|
+
const [a, d] = T([]), [s, C] = T(!1), [p, Y] = T(!1), [S, k] = T(0), E = (m) => {
|
|
319
342
|
if (o && o.length > 0) {
|
|
320
343
|
const _ = ((O) => {
|
|
321
344
|
const H = O.lastIndexOf(".");
|
|
322
345
|
return H === -1 ? "" : O.substring(H).toLowerCase();
|
|
323
346
|
})(m.name);
|
|
324
347
|
if (!o.includes(_))
|
|
325
|
-
return
|
|
348
|
+
return L.error(
|
|
326
349
|
`${m.name} 파일은 허용되지 않는 확장자입니다. (${o.join(
|
|
327
350
|
", "
|
|
328
351
|
)}만 가능)`
|
|
329
352
|
), !1;
|
|
330
353
|
}
|
|
331
354
|
return !0;
|
|
332
|
-
},
|
|
333
|
-
const m = a.filter((I) => I.status !== "done"),
|
|
355
|
+
}, x = async () => {
|
|
356
|
+
const m = a.filter((I) => I.status !== "done"), g = m.reduce(
|
|
334
357
|
(I, R) => I + (R.size || 0),
|
|
335
358
|
0
|
|
336
359
|
), _ = 2 * 1024 * 1024 * 1024;
|
|
337
|
-
if (
|
|
360
|
+
if (g > _) {
|
|
338
361
|
we.error({
|
|
339
362
|
message: "업로드 용량 초과",
|
|
340
363
|
description: "한 번에 업로드할 수 있는 총 파일 용량은 2GB를 초과할 수 없습니다."
|
|
@@ -342,7 +365,7 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
342
365
|
return;
|
|
343
366
|
}
|
|
344
367
|
if (m.length === 0) {
|
|
345
|
-
|
|
368
|
+
L.warning(
|
|
346
369
|
"업로드할 파일이 없거나 모든 파일이 이미 업로드되었습니다."
|
|
347
370
|
);
|
|
348
371
|
return;
|
|
@@ -350,7 +373,7 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
350
373
|
Y(!0);
|
|
351
374
|
let O;
|
|
352
375
|
try {
|
|
353
|
-
const I = new
|
|
376
|
+
const I = new Ge();
|
|
354
377
|
m.forEach((R) => {
|
|
355
378
|
R.originFileObj && I.file(R.name, R.originFileObj);
|
|
356
379
|
}), O = await I.generateAsync({
|
|
@@ -362,53 +385,53 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
362
385
|
}
|
|
363
386
|
});
|
|
364
387
|
} catch (I) {
|
|
365
|
-
Y(!1),
|
|
388
|
+
Y(!1), L.error("파일을 압축하는 중 오류가 발생했습니다."), console.error("Zipping error:", I);
|
|
366
389
|
return;
|
|
367
390
|
}
|
|
368
391
|
Y(!1);
|
|
369
392
|
const H = new FormData();
|
|
370
393
|
H.append("file", O, "upload.zip"), C(!0), k(0);
|
|
371
394
|
try {
|
|
372
|
-
const I = await new Promise((y,
|
|
373
|
-
const
|
|
374
|
-
|
|
395
|
+
const I = await new Promise((y, b) => {
|
|
396
|
+
const v = new XMLHttpRequest();
|
|
397
|
+
v.open("POST", "/api/upload-large", !0), v.upload.onprogress = (N) => {
|
|
375
398
|
if (N.lengthComputable) {
|
|
376
399
|
const re = Math.round(
|
|
377
400
|
N.loaded / N.total * 100
|
|
378
401
|
);
|
|
379
402
|
k(re);
|
|
380
403
|
}
|
|
381
|
-
},
|
|
382
|
-
if (
|
|
404
|
+
}, v.onload = () => {
|
|
405
|
+
if (v.status >= 200 && v.status < 300)
|
|
383
406
|
try {
|
|
384
|
-
const N = JSON.parse(
|
|
385
|
-
N.success ? y(N) :
|
|
407
|
+
const N = JSON.parse(v.responseText);
|
|
408
|
+
N.success ? y(N) : b(
|
|
386
409
|
new Error(N.message || "파일 업로드에 실패했습니다.")
|
|
387
410
|
);
|
|
388
411
|
} catch {
|
|
389
|
-
|
|
412
|
+
b(new Error("잘못된 서버 응답입니다."));
|
|
390
413
|
}
|
|
391
414
|
else
|
|
392
415
|
try {
|
|
393
|
-
const N = JSON.parse(
|
|
394
|
-
|
|
416
|
+
const N = JSON.parse(v.responseText);
|
|
417
|
+
b(new Error(N.message || `서버 오류: ${v.status}`));
|
|
395
418
|
} catch {
|
|
396
|
-
|
|
419
|
+
b(new Error(`서버 오류: ${v.status}`));
|
|
397
420
|
}
|
|
398
|
-
},
|
|
399
|
-
|
|
400
|
-
},
|
|
421
|
+
}, v.onerror = () => {
|
|
422
|
+
b(new Error("네트워크 오류가 발생했습니다."));
|
|
423
|
+
}, v.send(H);
|
|
401
424
|
});
|
|
402
|
-
|
|
425
|
+
L.success(
|
|
403
426
|
I.message || "압축 파일이 성공적으로 업로드되었습니다."
|
|
404
427
|
);
|
|
405
428
|
const R = a.map(
|
|
406
|
-
(y) => m.find((
|
|
429
|
+
(y) => m.find((b) => b.uid === y.uid) ? { ...y, status: "done" } : y
|
|
407
430
|
);
|
|
408
431
|
if (d(R), i && I.uploadedFiles && Array.isArray(I.uploadedFiles)) {
|
|
409
432
|
const y = K();
|
|
410
|
-
I.uploadedFiles.forEach((
|
|
411
|
-
const
|
|
433
|
+
I.uploadedFiles.forEach((b) => {
|
|
434
|
+
const v = {
|
|
412
435
|
crprCd: y?.crprCd,
|
|
413
436
|
sysCd: __SYS_CD__,
|
|
414
437
|
fileGrpKey: e,
|
|
@@ -417,44 +440,44 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
417
440
|
crprCd: y?.crprCd,
|
|
418
441
|
sysCd: __SYS_CD__,
|
|
419
442
|
fileGrpKey: e,
|
|
420
|
-
physFileNm:
|
|
421
|
-
lgclFileNm:
|
|
422
|
-
filePath:
|
|
423
|
-
fileExtn:
|
|
424
|
-
fileSize:
|
|
443
|
+
physFileNm: b.fileNameP,
|
|
444
|
+
lgclFileNm: b.fileNameL,
|
|
445
|
+
filePath: b.filePath,
|
|
446
|
+
fileExtn: b.fileExt,
|
|
447
|
+
fileSize: b.fileSize,
|
|
425
448
|
mltpYn: "Y"
|
|
426
449
|
}
|
|
427
450
|
]
|
|
428
451
|
};
|
|
429
|
-
|
|
430
|
-
const re = a.map((
|
|
452
|
+
J(i, v).then((N) => {
|
|
453
|
+
const re = a.map((Q) => ({
|
|
431
454
|
crprCd: y?.crprCd,
|
|
432
455
|
sysCd: __SYS_CD__,
|
|
433
456
|
fileGrpKey: N.sub[0].fileGrpKey,
|
|
434
457
|
fileKey: N.sub[0].fileKey,
|
|
435
|
-
lgclFileNm:
|
|
436
|
-
fileSize:
|
|
437
|
-
fileExtn:
|
|
438
|
-
fileType:
|
|
458
|
+
lgclFileNm: Q.name,
|
|
459
|
+
fileSize: Q.size,
|
|
460
|
+
fileExtn: Q.name.split(".").pop(),
|
|
461
|
+
fileType: Q.type
|
|
439
462
|
}));
|
|
440
|
-
|
|
463
|
+
J(n, {
|
|
441
464
|
// 파일 목록에 fileKey를 추가합니다.
|
|
442
465
|
sub: re
|
|
443
466
|
});
|
|
444
467
|
}).catch((N) => {
|
|
445
|
-
console.error("후처리 서비스 호출 실패:", N),
|
|
446
|
-
`${
|
|
468
|
+
console.error("후처리 서비스 호출 실패:", N), L.error(
|
|
469
|
+
`${b.fileNameL} 파일의 후처리 작업에 실패했습니다.`
|
|
447
470
|
);
|
|
448
471
|
}), l && l({
|
|
449
|
-
fileNameP:
|
|
450
|
-
fileNameL:
|
|
472
|
+
fileNameP: b.fileNameP,
|
|
473
|
+
fileNameL: b.fileNameL
|
|
451
474
|
});
|
|
452
475
|
});
|
|
453
476
|
}
|
|
454
477
|
} catch (I) {
|
|
455
|
-
|
|
478
|
+
L.error(I.message || "파일 업로드 중 오류가 발생했습니다.");
|
|
456
479
|
const R = a.map(
|
|
457
|
-
(y) => m.find((
|
|
480
|
+
(y) => m.find((b) => b.uid === y.uid) ? {
|
|
458
481
|
...y,
|
|
459
482
|
status: "error",
|
|
460
483
|
response: I.message || "파일 업로드 중 오류가 발생했습니다."
|
|
@@ -467,38 +490,38 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
467
490
|
}, f = {
|
|
468
491
|
multiple: !0,
|
|
469
492
|
fileList: a,
|
|
470
|
-
beforeUpload: (m) => E(m) ? u && m.size >= u * 1024 * 1024 ? (
|
|
493
|
+
beforeUpload: (m) => E(m) ? u && m.size >= u * 1024 * 1024 ? (L.error(
|
|
471
494
|
`대용량 첨부 파일 최대 크기는 ${(u / 1024).toFixed(
|
|
472
495
|
1
|
|
473
496
|
)}GB입니다.`
|
|
474
497
|
), G.LIST_IGNORE) : !1 : G.LIST_IGNORE,
|
|
475
498
|
onChange: ({ fileList: m }) => {
|
|
476
|
-
const
|
|
499
|
+
const g = new Map(a.map((_) => [_.uid, _]));
|
|
477
500
|
m.forEach((_) => {
|
|
478
|
-
|
|
479
|
-
}), d(Array.from(
|
|
501
|
+
g.set(_.uid, _);
|
|
502
|
+
}), d(Array.from(g.values()));
|
|
480
503
|
},
|
|
481
504
|
onRemove: (m) => {
|
|
482
|
-
const
|
|
483
|
-
d(
|
|
505
|
+
const g = a.filter((_) => _.uid !== m.uid);
|
|
506
|
+
d(g);
|
|
484
507
|
},
|
|
485
508
|
showUploadList: !1
|
|
486
509
|
// 수동으로 목록을 렌더링하므로 antd의 기본 목록은 숨깁니다.
|
|
487
510
|
};
|
|
488
511
|
return /* @__PURE__ */ r(
|
|
489
|
-
|
|
512
|
+
Le,
|
|
490
513
|
{
|
|
491
514
|
spinning: s || p,
|
|
492
|
-
tip: p ? "파일 압축 중..." : `파일 업로드 중... ${
|
|
515
|
+
tip: p ? "파일 압축 중..." : `파일 업로드 중... ${S}%`,
|
|
493
516
|
children: /* @__PURE__ */ q("div", { className: "bwg-large-uploader-container", children: [
|
|
494
517
|
/* @__PURE__ */ r(
|
|
495
518
|
ye,
|
|
496
519
|
{
|
|
497
520
|
title: /* @__PURE__ */ r(oe, { strong: !0, children: t }),
|
|
498
|
-
extra: /* @__PURE__ */ r(G, { ...f, children: /* @__PURE__ */ r(
|
|
499
|
-
|
|
521
|
+
extra: /* @__PURE__ */ r(G, { ...f, children: /* @__PURE__ */ r(X, { icon: /* @__PURE__ */ r(Ye, {}), children: "파일 선택" }) }),
|
|
522
|
+
style: { padding: 0 },
|
|
500
523
|
children: /* @__PURE__ */ r(
|
|
501
|
-
|
|
524
|
+
Qe,
|
|
502
525
|
{
|
|
503
526
|
...f,
|
|
504
527
|
style: {
|
|
@@ -507,15 +530,15 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
507
530
|
padding: 0
|
|
508
531
|
},
|
|
509
532
|
children: /* @__PURE__ */ r("div", { className: "upload-list-container", children: a.length > 0 ? /* @__PURE__ */ r(
|
|
510
|
-
|
|
533
|
+
ee,
|
|
511
534
|
{
|
|
512
535
|
style: { textAlign: "left" },
|
|
513
536
|
dataSource: a,
|
|
514
537
|
renderItem: (m) => {
|
|
515
|
-
const
|
|
538
|
+
const g = m.status === "done", _ = m.status === "error";
|
|
516
539
|
let O;
|
|
517
|
-
return
|
|
518
|
-
|
|
540
|
+
return g ? O = /* @__PURE__ */ r(
|
|
541
|
+
Ae,
|
|
519
542
|
{
|
|
520
543
|
style: { color: "#52c41a", fontSize: 14 }
|
|
521
544
|
}
|
|
@@ -524,22 +547,22 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
524
547
|
{
|
|
525
548
|
title: typeof m.response == "string" ? m.response : "업로드 실패",
|
|
526
549
|
children: /* @__PURE__ */ r(
|
|
527
|
-
|
|
550
|
+
Te,
|
|
528
551
|
{
|
|
529
552
|
style: { color: "#ff4d4f", fontSize: 14 }
|
|
530
553
|
}
|
|
531
554
|
)
|
|
532
555
|
}
|
|
533
|
-
) : O = /* @__PURE__ */ r(
|
|
534
|
-
|
|
556
|
+
) : O = /* @__PURE__ */ r(Re, { style: { fontSize: 14 } }), /* @__PURE__ */ r(
|
|
557
|
+
ee.Item,
|
|
535
558
|
{
|
|
536
559
|
actions: [
|
|
537
|
-
/* @__PURE__ */ r(oe, { type: "secondary", children:
|
|
560
|
+
/* @__PURE__ */ r(oe, { type: "secondary", children: et(m.size || 0) }, "size"),
|
|
538
561
|
/* @__PURE__ */ r(
|
|
539
|
-
|
|
562
|
+
X,
|
|
540
563
|
{
|
|
541
564
|
type: "text",
|
|
542
|
-
icon: /* @__PURE__ */ r(
|
|
565
|
+
icon: /* @__PURE__ */ r(ze, {}),
|
|
543
566
|
onClick: (H) => {
|
|
544
567
|
H.stopPropagation(), f.onRemove?.(m);
|
|
545
568
|
},
|
|
@@ -549,7 +572,7 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
549
572
|
)
|
|
550
573
|
],
|
|
551
574
|
children: /* @__PURE__ */ r(
|
|
552
|
-
|
|
575
|
+
ee.Item.Meta,
|
|
553
576
|
{
|
|
554
577
|
avatar: O,
|
|
555
578
|
title: /* @__PURE__ */ r(oe, { type: _ ? "danger" : void 0, children: m.name })
|
|
@@ -569,7 +592,7 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
569
592
|
vertical: !0,
|
|
570
593
|
style: { padding: "20px 0", minHeight: "120px" },
|
|
571
594
|
children: [
|
|
572
|
-
/* @__PURE__ */ r(
|
|
595
|
+
/* @__PURE__ */ r(Ve, { style: { fontSize: "32px", color: "#999" } }),
|
|
573
596
|
/* @__PURE__ */ r(oe, { type: "secondary", children: "업로드할 파일을 선택하거나 이 영역으로 드래그하세요." })
|
|
574
597
|
]
|
|
575
598
|
}
|
|
@@ -586,14 +609,14 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
586
609
|
gap: "large",
|
|
587
610
|
style: { marginTop: 16 },
|
|
588
611
|
children: [
|
|
589
|
-
s && /* @__PURE__ */ r("div", { style: { width: "250px" }, children: /* @__PURE__ */ r(
|
|
612
|
+
s && /* @__PURE__ */ r("div", { style: { width: "250px" }, children: /* @__PURE__ */ r(be, { percent: S, size: "small" }) }),
|
|
590
613
|
/* @__PURE__ */ r(
|
|
591
|
-
|
|
614
|
+
X,
|
|
592
615
|
{
|
|
593
616
|
type: "primary",
|
|
594
|
-
onClick:
|
|
617
|
+
onClick: x,
|
|
595
618
|
disabled: s || p || a.filter((m) => m.status !== "done").length === 0,
|
|
596
|
-
icon: /* @__PURE__ */ r(
|
|
619
|
+
icon: /* @__PURE__ */ r(Ue, {}),
|
|
597
620
|
children: "일괄 업로드"
|
|
598
621
|
}
|
|
599
622
|
)
|
|
@@ -603,7 +626,7 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
603
626
|
] })
|
|
604
627
|
}
|
|
605
628
|
);
|
|
606
|
-
},
|
|
629
|
+
}, tt = (t) => {
|
|
607
630
|
if (typeof t == "string")
|
|
608
631
|
return t.replace(/0/g, "_");
|
|
609
632
|
if (Array.isArray(t))
|
|
@@ -616,12 +639,12 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
616
639
|
}).join(".");
|
|
617
640
|
}
|
|
618
641
|
return "";
|
|
619
|
-
},
|
|
642
|
+
}, It = ({
|
|
620
643
|
itemProps: t,
|
|
621
644
|
inputProps: e,
|
|
622
645
|
mask: l
|
|
623
646
|
}) => {
|
|
624
|
-
const i =
|
|
647
|
+
const i = Z(null), n = B.useFormInstance(), o = W(() => tt(l), [l]);
|
|
625
648
|
return j(() => {
|
|
626
649
|
if (!i.current?.input) return;
|
|
627
650
|
const u = typeof l == "string" || Array.isArray(l) ? { mask: l } : l, a = Ce(i.current.input, u);
|
|
@@ -630,8 +653,8 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
630
653
|
}), () => {
|
|
631
654
|
a.destroy();
|
|
632
655
|
};
|
|
633
|
-
}, [l, n, t?.name]), /* @__PURE__ */ r(
|
|
634
|
-
},
|
|
656
|
+
}, [l, n, t?.name]), /* @__PURE__ */ r(D, { ...t, children: /* @__PURE__ */ r(te, { ...e, ref: i, placeholder: o }) });
|
|
657
|
+
}, rt = (t) => {
|
|
635
658
|
switch (t) {
|
|
636
659
|
case "year":
|
|
637
660
|
return { format: "YYYY", mask: "0000", outputFormat: "YYYY" };
|
|
@@ -645,12 +668,12 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
645
668
|
outputFormat: "YYYYMMDD"
|
|
646
669
|
};
|
|
647
670
|
}
|
|
648
|
-
},
|
|
671
|
+
}, Nt = ({
|
|
649
672
|
type: t = "date",
|
|
650
673
|
itemProps: e = { name: "calendar" },
|
|
651
674
|
inputProps: l
|
|
652
675
|
}) => {
|
|
653
|
-
const { format: i, mask: n, outputFormat: o } =
|
|
676
|
+
const { format: i, mask: n, outputFormat: o } = rt(t), u = Z(null), a = Z(null), d = B.useFormInstance(), [s, C] = T(!1), [p, Y] = T(!1), S = e?.name, [k, E] = T(null);
|
|
654
677
|
j(() => {
|
|
655
678
|
if (!u.current?.input) return;
|
|
656
679
|
const f = Ce(u.current.input, {
|
|
@@ -659,15 +682,15 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
659
682
|
});
|
|
660
683
|
return a.current = f, f.on("accept", () => {
|
|
661
684
|
console.log("input :: ", f.value);
|
|
662
|
-
const m = f.value,
|
|
663
|
-
console.log("input :: ",
|
|
685
|
+
const m = f.value, g = A(m, i, !0);
|
|
686
|
+
console.log("input :: ", g), m.length === i.length && g.isValid() && (console.log("parsed :: ", g.format(o)), d.setFieldValue(S, g.format(o)), a.current?.updateValue(), C(!1));
|
|
664
687
|
}), () => {
|
|
665
688
|
f.destroy();
|
|
666
689
|
};
|
|
667
690
|
}, [i, n]), j(() => {
|
|
668
|
-
E(
|
|
669
|
-
}, [d.getFieldValue(
|
|
670
|
-
const
|
|
691
|
+
E(A(d.getFieldValue(S)));
|
|
692
|
+
}, [d.getFieldValue(S)]);
|
|
693
|
+
const x = (f) => {
|
|
671
694
|
if (!f) {
|
|
672
695
|
a.current?.updateValue();
|
|
673
696
|
return;
|
|
@@ -676,7 +699,7 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
676
699
|
console.log("formatted :: ", m), a.current && (a.current.value = m, a.current.updateValue()), Y(!1);
|
|
677
700
|
};
|
|
678
701
|
return /* @__PURE__ */ r(
|
|
679
|
-
|
|
702
|
+
D,
|
|
680
703
|
{
|
|
681
704
|
...e,
|
|
682
705
|
name: void 0,
|
|
@@ -686,11 +709,11 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
686
709
|
/* @__PURE__ */ r(
|
|
687
710
|
B.Item,
|
|
688
711
|
{
|
|
689
|
-
name:
|
|
712
|
+
name: S,
|
|
690
713
|
getValueProps: (f) => ({
|
|
691
|
-
value: f ?
|
|
714
|
+
value: f ? A(f).format(i) : void 0
|
|
692
715
|
}),
|
|
693
|
-
normalize: (f) => f ?
|
|
716
|
+
normalize: (f) => f ? A(f).format(o) : void 0,
|
|
694
717
|
noStyle: !0,
|
|
695
718
|
children: /* @__PURE__ */ r(
|
|
696
719
|
te,
|
|
@@ -717,7 +740,7 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
717
740
|
picker: t,
|
|
718
741
|
format: i,
|
|
719
742
|
value: k,
|
|
720
|
-
onChange:
|
|
743
|
+
onChange: x,
|
|
721
744
|
getPopupContainer: (f) => f.parentElement,
|
|
722
745
|
style: {
|
|
723
746
|
position: "absolute",
|
|
@@ -732,7 +755,7 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
732
755
|
] })
|
|
733
756
|
}
|
|
734
757
|
);
|
|
735
|
-
}, { Option: me } = se,
|
|
758
|
+
}, { Option: me } = se, Mt = ({ itemProps: t, inputProps: e }) => {
|
|
736
759
|
const [l, i] = T([]);
|
|
737
760
|
return j(() => {
|
|
738
761
|
e?.addField === "ALL" ? i([
|
|
@@ -740,7 +763,7 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
740
763
|
...e?.list || []
|
|
741
764
|
]) : e?.addField === "NULL" ? i([{ label: "", value: "" }, ...e?.list || []]) : i(e?.list || []);
|
|
742
765
|
}, [e?.list]), /* @__PURE__ */ r(
|
|
743
|
-
|
|
766
|
+
D,
|
|
744
767
|
{
|
|
745
768
|
...t,
|
|
746
769
|
getValueProps: (n) => n ? {
|
|
@@ -763,7 +786,7 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
763
786
|
let o = n.toString().split(".");
|
|
764
787
|
return e?.decimalPoint != null && o[1] != null && e?.decimalPoint > 0 ? o[1].length > e?.decimalPoint ? o[1] = "." + o[1].substring(0, e?.decimalPoint) : o[1] = "." + o[1] : o[1] = "", o[0].replace(/\$\s?|(,*)/g, "") + o[1];
|
|
765
788
|
};
|
|
766
|
-
return /* @__PURE__ */ r(
|
|
789
|
+
return /* @__PURE__ */ r(D, { ...t, children: /* @__PURE__ */ r(
|
|
767
790
|
Ie,
|
|
768
791
|
{
|
|
769
792
|
...e,
|
|
@@ -771,7 +794,7 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
771
794
|
parser: (n) => i(n)
|
|
772
795
|
}
|
|
773
796
|
) });
|
|
774
|
-
},
|
|
797
|
+
}, kt = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(D, { ...t, children: /* @__PURE__ */ r(Ne.Group, { ...e }) }), { RangePicker: nt } = le, fe = {
|
|
775
798
|
year: { displayFormat: "YYYY", outputFormat: "YYYY" },
|
|
776
799
|
month: { displayFormat: "YYYY-MM", outputFormat: "YYYYMM" },
|
|
777
800
|
date: { displayFormat: "YYYY-MM-DD", outputFormat: "YYYYMMDD" },
|
|
@@ -780,7 +803,7 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
780
803
|
displayFormat: "YYYY-MM-DD HH:mm",
|
|
781
804
|
outputFormat: "YYYYMMDDHHmm"
|
|
782
805
|
}
|
|
783
|
-
},
|
|
806
|
+
}, xt = ({
|
|
784
807
|
itemProps: t,
|
|
785
808
|
inputProps: e,
|
|
786
809
|
type: l = "date",
|
|
@@ -788,10 +811,10 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
788
811
|
maxDate: n,
|
|
789
812
|
returnType: o = "string"
|
|
790
813
|
}) => {
|
|
791
|
-
const { displayFormat: u, outputFormat: a } =
|
|
814
|
+
const { displayFormat: u, outputFormat: a } = W(
|
|
792
815
|
() => fe[l],
|
|
793
816
|
[l]
|
|
794
|
-
), d =
|
|
817
|
+
), d = W(
|
|
795
818
|
() => Object.values(fe).map((s) => s.outputFormat).sort((s, C) => {
|
|
796
819
|
if (s.length === C.length) {
|
|
797
820
|
if (s === a) return -1;
|
|
@@ -803,14 +826,14 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
803
826
|
// type(outputFormat)이 바뀔 때마다 재정렬
|
|
804
827
|
);
|
|
805
828
|
return /* @__PURE__ */ r(
|
|
806
|
-
|
|
829
|
+
D,
|
|
807
830
|
{
|
|
808
831
|
...t,
|
|
809
832
|
getValueProps: (s) => ({
|
|
810
833
|
// 폼에 저장된 값(문자열 또는 Dayjs)을 RangePicker가 요구하는 Dayjs 배열로 변환
|
|
811
834
|
value: s && s.length > 0 ? [
|
|
812
|
-
s[0] ?
|
|
813
|
-
s[1] ?
|
|
835
|
+
s[0] ? A.isDayjs(s[0]) ? s[0] : A(s[0], d) : null,
|
|
836
|
+
s[1] ? A.isDayjs(s[1]) ? s[1] : A(s[1], d) : null
|
|
814
837
|
] : null
|
|
815
838
|
}),
|
|
816
839
|
normalize: (s) => s ? o === "dayjs" ? [s[0] ?? void 0, s[1] ?? void 0] : [
|
|
@@ -818,12 +841,12 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
818
841
|
s[1] ? s[1].format(a) : void 0
|
|
819
842
|
] : [void 0, void 0],
|
|
820
843
|
children: /* @__PURE__ */ r(
|
|
821
|
-
|
|
844
|
+
nt,
|
|
822
845
|
{
|
|
823
846
|
...e,
|
|
824
847
|
order: !0,
|
|
825
|
-
minDate: i ?
|
|
826
|
-
maxDate: n ?
|
|
848
|
+
minDate: i ? A(i, d) : void 0,
|
|
849
|
+
maxDate: n ? A(n, d) : void 0,
|
|
827
850
|
picker: l === "datetime" ? "date" : l,
|
|
828
851
|
showTime: e?.showTime ?? (l === "datetime" || l === "time"),
|
|
829
852
|
format: u
|
|
@@ -831,8 +854,8 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
831
854
|
)
|
|
832
855
|
}
|
|
833
856
|
);
|
|
834
|
-
},
|
|
835
|
-
const e = B.useFormInstance(), { openPopup: l } =
|
|
857
|
+
}, he = te.Search, vt = (t) => {
|
|
858
|
+
const e = B.useFormInstance(), { openPopup: l } = Be(), i = t.itemProps?.name || [], n = t.popupConfig || {
|
|
836
859
|
callback(u) {
|
|
837
860
|
console.log("callback data :: ", u), i.length > 1 ? (e.setFieldValue(i[0], u.code), e.setFieldValue(i[1], u.name)) : e.setFieldValue(i, u.code);
|
|
838
861
|
}
|
|
@@ -846,7 +869,7 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
846
869
|
t.popuCd ? l(t.popuCd, t.popupParams, n) : t.onSearch?.(u);
|
|
847
870
|
}
|
|
848
871
|
};
|
|
849
|
-
return i.length > 1 ? /* @__PURE__ */ r(
|
|
872
|
+
return i.length > 1 ? /* @__PURE__ */ r(D, { ...t.itemProps, name: void 0, children: /* @__PURE__ */ q(ae.Compact, { block: !0, children: [
|
|
850
873
|
/* @__PURE__ */ r(
|
|
851
874
|
B.Item,
|
|
852
875
|
{
|
|
@@ -866,28 +889,28 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
866
889
|
}
|
|
867
890
|
),
|
|
868
891
|
/* @__PURE__ */ r(B.Item, { name: i[1], style: { width: "60%", marginBottom: 0 }, children: /* @__PURE__ */ r(
|
|
869
|
-
|
|
892
|
+
he,
|
|
870
893
|
{
|
|
871
894
|
readOnly: t.readOnly,
|
|
872
895
|
enterButton: /* @__PURE__ */ r(
|
|
873
|
-
|
|
896
|
+
X,
|
|
874
897
|
{
|
|
875
|
-
icon: /* @__PURE__ */ r(
|
|
898
|
+
icon: /* @__PURE__ */ r($e, {}),
|
|
876
899
|
disabled: t.readOnly
|
|
877
900
|
}
|
|
878
901
|
),
|
|
879
902
|
...o
|
|
880
903
|
}
|
|
881
904
|
) })
|
|
882
|
-
] }) }) : /* @__PURE__ */ r(
|
|
883
|
-
},
|
|
905
|
+
] }) }) : /* @__PURE__ */ r(D, { ...t.itemProps, children: /* @__PURE__ */ r(he, { ...o }) });
|
|
906
|
+
}, Bt = ({
|
|
884
907
|
itemProps: t,
|
|
885
908
|
selectProps: e = {
|
|
886
909
|
options: [],
|
|
887
910
|
allowClear: !0
|
|
888
911
|
}
|
|
889
912
|
}) => {
|
|
890
|
-
const l = B.useFormInstance(), i = !!l, n =
|
|
913
|
+
const l = B.useFormInstance(), i = !!l, n = W(() => e?.addField === "ALL" ? [{ label: "전체", value: "" }, ...e?.options || []] : e?.addField === "NULL" ? [{ label: "", value: "" }, ...e?.options || []] : e?.options || [], [e.options, e.addField]), o = (d) => {
|
|
891
914
|
e.onChange?.(d);
|
|
892
915
|
}, u = {
|
|
893
916
|
...e,
|
|
@@ -898,7 +921,7 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
898
921
|
}, a = /* @__PURE__ */ r(se, { ...u, disabled: e.disabled });
|
|
899
922
|
return e.copyable && !i && console.warn(
|
|
900
923
|
"BwgSelect: copyable 기능은 Form 컨텍스트 내에서만 사용 가능합니다."
|
|
901
|
-
), e.copyable ? /* @__PURE__ */ r(
|
|
924
|
+
), e.copyable ? /* @__PURE__ */ r(D, { ...t, name: void 0, children: /* @__PURE__ */ q(ae.Compact, { block: !0, children: [
|
|
902
925
|
/* @__PURE__ */ r(
|
|
903
926
|
B.Item,
|
|
904
927
|
{
|
|
@@ -931,8 +954,8 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
931
954
|
}
|
|
932
955
|
}
|
|
933
956
|
)
|
|
934
|
-
] }) }) : /* @__PURE__ */ r(
|
|
935
|
-
},
|
|
957
|
+
] }) }) : /* @__PURE__ */ r(D, { ...t, children: a });
|
|
958
|
+
}, Et = ({
|
|
936
959
|
itemProps: t,
|
|
937
960
|
inputProps: e = {
|
|
938
961
|
format: "YN"
|
|
@@ -942,15 +965,15 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
942
965
|
e.format === "boolean" ? l.setFieldValue(t?.name, n) : l.setFieldValue(t?.name, n ? "Y" : "N"), e.onChange && e.onChange(n, o);
|
|
943
966
|
};
|
|
944
967
|
return /* @__PURE__ */ r(
|
|
945
|
-
|
|
968
|
+
D,
|
|
946
969
|
{
|
|
947
970
|
...t,
|
|
948
971
|
getValueProps: (n) => ({ checked: e.format === "boolean" ? !!n : n === "Y" }),
|
|
949
972
|
normalize: (n) => typeof n == "boolean" ? e.format === "boolean" ? n : n ? "Y" : "N" : e.format === "boolean" ? !!n : n ? "Y" : "N",
|
|
950
|
-
children: /* @__PURE__ */ r(
|
|
973
|
+
children: /* @__PURE__ */ r(Me, { ...e, onChange: (n, o) => i(n, o) })
|
|
951
974
|
}
|
|
952
975
|
);
|
|
953
|
-
}, { TextArea:
|
|
976
|
+
}, { TextArea: ot } = te, Ot = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(D, { ...t, children: /* @__PURE__ */ r(ot, { ...e }) }), at = [
|
|
954
977
|
".pdf",
|
|
955
978
|
".xlsx",
|
|
956
979
|
".xls",
|
|
@@ -968,40 +991,40 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
968
991
|
".gif",
|
|
969
992
|
// 압축
|
|
970
993
|
".zip"
|
|
971
|
-
],
|
|
994
|
+
], ge = {
|
|
972
995
|
FILE: "file"
|
|
973
|
-
},
|
|
996
|
+
}, it = ({
|
|
974
997
|
originNode: t,
|
|
975
998
|
file: e,
|
|
976
999
|
fileList: l,
|
|
977
1000
|
moveFile: i,
|
|
978
1001
|
onDrop: n
|
|
979
1002
|
}) => {
|
|
980
|
-
const o =
|
|
981
|
-
accept:
|
|
1003
|
+
const o = Z(null), [{ handlerId: u }, a] = We({
|
|
1004
|
+
accept: ge.FILE,
|
|
982
1005
|
collect: (p) => ({
|
|
983
1006
|
handlerId: p.getHandlerId()
|
|
984
1007
|
}),
|
|
985
1008
|
hover(p, Y) {
|
|
986
1009
|
if (!o.current)
|
|
987
1010
|
return;
|
|
988
|
-
const
|
|
989
|
-
if (
|
|
1011
|
+
const S = p.uid, k = e.uid;
|
|
1012
|
+
if (S === k)
|
|
990
1013
|
return;
|
|
991
|
-
const E = ne(l, { uid: k }),
|
|
992
|
-
if (
|
|
1014
|
+
const E = ne(l, { uid: k }), x = ne(l, { uid: S });
|
|
1015
|
+
if (x === -1 || E === -1)
|
|
993
1016
|
return;
|
|
994
1017
|
const f = o.current.getBoundingClientRect(), m = Y.getClientOffset();
|
|
995
1018
|
if (!m)
|
|
996
1019
|
return;
|
|
997
|
-
const
|
|
998
|
-
|
|
1020
|
+
const g = (f.bottom - f.top) / 2, _ = m.y - f.top;
|
|
1021
|
+
x < E && _ < g || x > E && _ > g || i(S, k);
|
|
999
1022
|
},
|
|
1000
1023
|
drop() {
|
|
1001
1024
|
n();
|
|
1002
1025
|
}
|
|
1003
|
-
}), [{ isDragging: d }, s] =
|
|
1004
|
-
type:
|
|
1026
|
+
}), [{ isDragging: d }, s] = Je({
|
|
1027
|
+
type: ge.FILE,
|
|
1005
1028
|
item: () => ({
|
|
1006
1029
|
uid: e.uid,
|
|
1007
1030
|
index: ne(l, { uid: e.uid })
|
|
@@ -1011,7 +1034,7 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
1011
1034
|
})
|
|
1012
1035
|
}), C = d ? 0 : 1;
|
|
1013
1036
|
return s(a(o)), /* @__PURE__ */ r("div", { ref: o, style: { opacity: C }, "data-handler-id": u, children: t });
|
|
1014
|
-
},
|
|
1037
|
+
}, zt = ({
|
|
1015
1038
|
itemProps: t,
|
|
1016
1039
|
fileGrpKey: e,
|
|
1017
1040
|
onUploadComplete: l,
|
|
@@ -1019,19 +1042,19 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
1019
1042
|
onSuccessTrxCd: n = "SCMFILE00102",
|
|
1020
1043
|
onDeleteFileTrxCd: o = "SCMFILE00103",
|
|
1021
1044
|
onReorderFilesTrxCd: u = "SCMFILE00104",
|
|
1022
|
-
allowedExtensions: a =
|
|
1045
|
+
allowedExtensions: a = at,
|
|
1023
1046
|
maxFileSize: d = 200,
|
|
1024
1047
|
showButton: s = !0,
|
|
1025
1048
|
// 기본값으로 true 설정
|
|
1026
1049
|
multiple: C = !1,
|
|
1027
1050
|
newFileGrpKeyonModify: p = !1,
|
|
1028
1051
|
buttonText: Y = "파일 선택",
|
|
1029
|
-
localOnly:
|
|
1052
|
+
localOnly: S = !1,
|
|
1030
1053
|
onFilesChange: k
|
|
1031
1054
|
}) => {
|
|
1032
|
-
const [E,
|
|
1033
|
-
|
|
1034
|
-
if (
|
|
1055
|
+
const [E, x] = T([]), f = Z(e), m = Z([]), g = B.useFormInstance(), O = Z(
|
|
1056
|
+
He(() => {
|
|
1057
|
+
if (S || m.current.length === 0)
|
|
1035
1058
|
return;
|
|
1036
1059
|
const c = [...m.current];
|
|
1037
1060
|
if (m.current = [], n) {
|
|
@@ -1049,7 +1072,7 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
1049
1072
|
console.log("newFileGrpKeyonModify", p), console.log(
|
|
1050
1073
|
"newFileGrpKeyonModify",
|
|
1051
1074
|
p ? 0 : f.current
|
|
1052
|
-
),
|
|
1075
|
+
), J(n, {
|
|
1053
1076
|
crprCd: K()?.crprCd,
|
|
1054
1077
|
sysCd: __SYS_CD__,
|
|
1055
1078
|
fileGrpKey: p ? 0 : f.current,
|
|
@@ -1058,57 +1081,57 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
1058
1081
|
sub: w
|
|
1059
1082
|
}).then((F) => {
|
|
1060
1083
|
if (F?.sub && F.sub.length > 0) {
|
|
1061
|
-
const
|
|
1062
|
-
(!f.current || p) && (f.current =
|
|
1063
|
-
const
|
|
1064
|
-
F.sub.forEach((
|
|
1065
|
-
const
|
|
1066
|
-
($) => $.fileNameL ===
|
|
1084
|
+
const h = F.sub[0].fileGrpKey;
|
|
1085
|
+
(!f.current || p) && (f.current = h);
|
|
1086
|
+
const z = /* @__PURE__ */ new Map();
|
|
1087
|
+
F.sub.forEach((M) => {
|
|
1088
|
+
const V = c.find(
|
|
1089
|
+
($) => $.fileNameL === M.lgclFileNm
|
|
1067
1090
|
);
|
|
1068
|
-
|
|
1091
|
+
V && z.set(V.tempId, M);
|
|
1069
1092
|
});
|
|
1070
|
-
const
|
|
1071
|
-
((
|
|
1093
|
+
const P = t?.name;
|
|
1094
|
+
((M) => {
|
|
1072
1095
|
if (y) {
|
|
1073
|
-
const
|
|
1074
|
-
|
|
1096
|
+
const V = g?.getFieldValue(P) || [], $ = M(V);
|
|
1097
|
+
g?.setFieldValue(P, $);
|
|
1075
1098
|
} else
|
|
1076
|
-
|
|
1077
|
-
})((
|
|
1078
|
-
const $ =
|
|
1099
|
+
x((V) => M(V));
|
|
1100
|
+
})((M) => M.map((V) => {
|
|
1101
|
+
const $ = z.get(V.uid);
|
|
1079
1102
|
if ($) {
|
|
1080
1103
|
const ce = c.find(
|
|
1081
|
-
(
|
|
1104
|
+
(Se) => Se.tempId === V.uid
|
|
1082
1105
|
);
|
|
1083
1106
|
return l && ce && l({
|
|
1084
1107
|
...ce,
|
|
1085
|
-
fileGrpKey:
|
|
1108
|
+
fileGrpKey: h,
|
|
1086
1109
|
fileKey: $.fileKey
|
|
1087
1110
|
}), {
|
|
1088
|
-
...
|
|
1111
|
+
...V,
|
|
1089
1112
|
name: $.lgclFileNm,
|
|
1090
|
-
fileGrpKey:
|
|
1113
|
+
fileGrpKey: h,
|
|
1091
1114
|
fileKey: $.fileKey,
|
|
1092
1115
|
uid: $.fileKey,
|
|
1093
1116
|
status: "done",
|
|
1094
1117
|
url: `/api/download?filePath=${$.filePath}&logicalName=${$.lgclFileNm}`
|
|
1095
1118
|
};
|
|
1096
1119
|
}
|
|
1097
|
-
return
|
|
1120
|
+
return V;
|
|
1098
1121
|
}));
|
|
1099
1122
|
}
|
|
1100
1123
|
}).catch((F) => {
|
|
1101
|
-
console.error("업로드 후처리 서비스 호출 실패:", F),
|
|
1102
|
-
const
|
|
1103
|
-
((
|
|
1124
|
+
console.error("업로드 후처리 서비스 호출 실패:", F), L.error("파일 후처리 중 오류가 발생했습니다.");
|
|
1125
|
+
const h = new Set(c.map((U) => U.tempId)), z = t?.name;
|
|
1126
|
+
((U) => {
|
|
1104
1127
|
if (y) {
|
|
1105
|
-
const
|
|
1106
|
-
|
|
1128
|
+
const M = g?.getFieldValue(z) || [], V = U(M);
|
|
1129
|
+
g?.setFieldValue(z, V);
|
|
1107
1130
|
} else
|
|
1108
|
-
|
|
1131
|
+
x((M) => U(M));
|
|
1109
1132
|
})(
|
|
1110
|
-
(
|
|
1111
|
-
(
|
|
1133
|
+
(U) => U.map(
|
|
1134
|
+
(M) => h.has(M.uid) ? { ...M, status: "error", error: "후처리 실패" } : M
|
|
1112
1135
|
)
|
|
1113
1136
|
);
|
|
1114
1137
|
});
|
|
@@ -1120,64 +1143,64 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
1120
1143
|
}, [O]), j(() => {
|
|
1121
1144
|
f.current = e;
|
|
1122
1145
|
}, [e]), j(() => {
|
|
1123
|
-
|
|
1146
|
+
S || e && i && J(i, {
|
|
1124
1147
|
crprCd: K()?.crprCd,
|
|
1125
1148
|
sysCd: __SYS_CD__,
|
|
1126
1149
|
fileGrpKey: e
|
|
1127
1150
|
}).then((c) => {
|
|
1128
1151
|
if (c?.sub) {
|
|
1129
|
-
const w = c.sub.map((
|
|
1130
|
-
uid:
|
|
1131
|
-
name:
|
|
1152
|
+
const w = c.sub.map((h) => ({
|
|
1153
|
+
uid: h.fileKey,
|
|
1154
|
+
name: h.lgclFileNm,
|
|
1132
1155
|
status: "done",
|
|
1133
|
-
url: `/api/download?filePath=${
|
|
1156
|
+
url: `/api/download?filePath=${h.filePath}&logicalName=${h.lgclFileNm}`
|
|
1134
1157
|
})), F = t?.name;
|
|
1135
|
-
y ?
|
|
1158
|
+
y ? g?.setFieldValue(F, w) : x(w);
|
|
1136
1159
|
} else {
|
|
1137
1160
|
const w = t?.name;
|
|
1138
|
-
y ?
|
|
1161
|
+
y ? g?.setFieldValue(w, []) : x([]);
|
|
1139
1162
|
}
|
|
1140
1163
|
}).catch((c) => {
|
|
1141
|
-
console.error("파일 목록 조회 서비스 호출에 실패했습니다.", c),
|
|
1164
|
+
console.error("파일 목록 조회 서비스 호출에 실패했습니다.", c), L.error("파일 목록을 불러오는 중 오류가 발생했습니다.");
|
|
1142
1165
|
});
|
|
1143
1166
|
}, [e, i]);
|
|
1144
1167
|
const H = (c, w) => {
|
|
1145
|
-
const F = t?.name,
|
|
1146
|
-
if (
|
|
1147
|
-
const
|
|
1148
|
-
|
|
1168
|
+
const F = t?.name, h = y ? g?.getFieldValue(F) || [] : E, z = ne(h, { uid: c }), P = ne(h, { uid: w });
|
|
1169
|
+
if (z < 0 || P < 0) return;
|
|
1170
|
+
const U = [...h], [M] = U.splice(z, 1);
|
|
1171
|
+
U.splice(P, 0, M), y ? g?.setFieldValue(F, U) : x(U);
|
|
1149
1172
|
}, I = () => {
|
|
1150
|
-
if (!
|
|
1151
|
-
const c = t?.name, F = (y ?
|
|
1152
|
-
|
|
1173
|
+
if (!S && e && u) {
|
|
1174
|
+
const c = t?.name, F = (y ? g?.getFieldValue(c) || [] : E).map((h) => h.uid);
|
|
1175
|
+
J(u, {
|
|
1153
1176
|
crprCd: K()?.crprCd,
|
|
1154
1177
|
sysCd: __SYS_CD__,
|
|
1155
1178
|
fileGrpKey: e,
|
|
1156
1179
|
reorderedFileKeys: F
|
|
1157
1180
|
}).then(() => {
|
|
1158
|
-
|
|
1159
|
-
}).catch((
|
|
1160
|
-
console.error("파일 순서 저장 서비스 호출 실패:",
|
|
1181
|
+
L.success("파일 순서가 성공적으로 저장되었습니다.");
|
|
1182
|
+
}).catch((h) => {
|
|
1183
|
+
console.error("파일 순서 저장 서비스 호출 실패:", h), L.error("파일 순서 저장 중 오류가 발생했습니다.");
|
|
1161
1184
|
});
|
|
1162
1185
|
}
|
|
1163
1186
|
}, R = (c) => {
|
|
1164
|
-
const w = t?.name, F = y ?
|
|
1187
|
+
const w = t?.name, F = y ? g?.getFieldValue(w) || [] : E;
|
|
1165
1188
|
if (!C && F.length > 0)
|
|
1166
|
-
return
|
|
1189
|
+
return L.error("하나의 파일만 업로드할 수 있습니다."), G.LIST_IGNORE;
|
|
1167
1190
|
if (a && a.length > 0) {
|
|
1168
|
-
const
|
|
1169
|
-
if (!a.includes(
|
|
1170
|
-
return
|
|
1191
|
+
const h = `.${c.name.split(".").pop()?.toLowerCase()}`;
|
|
1192
|
+
if (!a.includes(h))
|
|
1193
|
+
return L.error(
|
|
1171
1194
|
`${c.name} 파일은 허용되지 않는 확장자입니다. (${a.join(
|
|
1172
1195
|
", "
|
|
1173
1196
|
)})`
|
|
1174
1197
|
), G.LIST_IGNORE;
|
|
1175
1198
|
}
|
|
1176
|
-
return d && !(c.size / 1024 / 1024 < d) ? (
|
|
1177
|
-
}, y = !!t?.name,
|
|
1199
|
+
return d && !(c.size / 1024 / 1024 < d) ? (L.error(`일반업로드의 최대용량은 ${d}MB입니다.`), G.LIST_IGNORE) : !S;
|
|
1200
|
+
}, y = !!t?.name, b = {
|
|
1178
1201
|
name: "file",
|
|
1179
1202
|
multiple: C,
|
|
1180
|
-
action:
|
|
1203
|
+
action: S ? void 0 : "/api/upload",
|
|
1181
1204
|
beforeUpload: R,
|
|
1182
1205
|
showUploadList: {
|
|
1183
1206
|
showRemoveIcon: s
|
|
@@ -1186,66 +1209,66 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
1186
1209
|
onChange(c) {
|
|
1187
1210
|
const { status: w, uid: F } = c.file;
|
|
1188
1211
|
if (w === "removed") {
|
|
1189
|
-
if (!
|
|
1190
|
-
|
|
1212
|
+
if (!S && o)
|
|
1213
|
+
J(o, {
|
|
1191
1214
|
crprCd: K()?.crprCd,
|
|
1192
1215
|
sysCd: __SYS_CD__,
|
|
1193
1216
|
fileGrpKey: p ? 0 : f.current,
|
|
1194
1217
|
fileKey: F,
|
|
1195
1218
|
oldFileGrpKey: f.current,
|
|
1196
1219
|
newFileGrpKeyonModify: p
|
|
1197
|
-
}).then((
|
|
1198
|
-
if (
|
|
1199
|
-
const
|
|
1200
|
-
|
|
1220
|
+
}).then((h) => {
|
|
1221
|
+
if (L.success("파일이 성공적으로 삭제되었습니다."), p && (f.current = h.fileGrpKey), y) {
|
|
1222
|
+
const z = t?.name;
|
|
1223
|
+
g?.setFieldValue(z, c.fileList);
|
|
1201
1224
|
} else
|
|
1202
|
-
|
|
1225
|
+
x(c.fileList);
|
|
1203
1226
|
k?.(c.fileList), l?.({
|
|
1204
|
-
fileGrpKey:
|
|
1227
|
+
fileGrpKey: h.fileGrpKey
|
|
1205
1228
|
});
|
|
1206
|
-
}).catch((
|
|
1207
|
-
console.error("파일 삭제 서비스 호출에 실패했습니다.",
|
|
1229
|
+
}).catch((h) => {
|
|
1230
|
+
console.error("파일 삭제 서비스 호출에 실패했습니다.", h), L.error("파일 삭제 중 오류가 발생했습니다.");
|
|
1208
1231
|
});
|
|
1209
1232
|
else {
|
|
1210
1233
|
if (y) {
|
|
1211
|
-
const
|
|
1212
|
-
|
|
1234
|
+
const h = t?.name;
|
|
1235
|
+
g?.setFieldValue(h, c.fileList);
|
|
1213
1236
|
} else
|
|
1214
|
-
|
|
1237
|
+
x(c.fileList);
|
|
1215
1238
|
k?.(c.fileList);
|
|
1216
1239
|
}
|
|
1217
1240
|
return;
|
|
1218
1241
|
}
|
|
1219
1242
|
if (y) {
|
|
1220
|
-
const
|
|
1221
|
-
|
|
1243
|
+
const h = t?.name;
|
|
1244
|
+
g?.setFieldValue(h, c.fileList);
|
|
1222
1245
|
} else
|
|
1223
|
-
|
|
1246
|
+
x(c.fileList);
|
|
1224
1247
|
if (k?.(c.fileList), w === "done")
|
|
1225
|
-
if (!
|
|
1226
|
-
const { uploadedFiles:
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
}), O()),
|
|
1248
|
+
if (!S && c.file.response?.success) {
|
|
1249
|
+
const { uploadedFiles: h } = c.file.response;
|
|
1250
|
+
h && Array.isArray(h) && h.length > 0 && (h.forEach((z) => {
|
|
1251
|
+
z.tempId = c.file.uid, m.current.push(z);
|
|
1252
|
+
}), O()), L.success(
|
|
1230
1253
|
c.file.response.message || `${c.file.name} 파일이 성공적으로 업로드되었습니다.`
|
|
1231
1254
|
);
|
|
1232
1255
|
} else
|
|
1233
|
-
|
|
1256
|
+
L.error(
|
|
1234
1257
|
c.file.response?.message || `${c.file.name} 파일 업로드에 실패했습니다.`
|
|
1235
1258
|
);
|
|
1236
|
-
else w === "error" &&
|
|
1259
|
+
else w === "error" && L.error(
|
|
1237
1260
|
c.file.response?.message || `${c.file.name} 파일 업로드 중 오류가 발생했습니다.`
|
|
1238
1261
|
);
|
|
1239
1262
|
},
|
|
1240
1263
|
itemRender(c, w, F) {
|
|
1241
|
-
const
|
|
1264
|
+
const h = xe(c, {
|
|
1242
1265
|
href: w.url || void 0,
|
|
1243
1266
|
title: void 0
|
|
1244
1267
|
});
|
|
1245
1268
|
return /* @__PURE__ */ r(
|
|
1246
|
-
|
|
1269
|
+
it,
|
|
1247
1270
|
{
|
|
1248
|
-
originNode:
|
|
1271
|
+
originNode: h,
|
|
1249
1272
|
file: w,
|
|
1250
1273
|
fileList: F,
|
|
1251
1274
|
moveFile: H,
|
|
@@ -1255,45 +1278,45 @@ const St = ({ itemProps: t, inputProps: e }) => /* @__PURE__ */ r(M, { ...t, chi
|
|
|
1255
1278
|
);
|
|
1256
1279
|
}
|
|
1257
1280
|
};
|
|
1258
|
-
y || (
|
|
1259
|
-
const
|
|
1260
|
-
return /* @__PURE__ */ r(
|
|
1261
|
-
|
|
1281
|
+
y || (b.fileList = E);
|
|
1282
|
+
const v = (c) => Array.isArray(c) ? c : c && c.fileList, N = t?.name, re = y ? B.useWatch?.(N, g) : void 0, Q = y ? re || [] : E;
|
|
1283
|
+
return /* @__PURE__ */ r(qe, { backend: Xe, children: /* @__PURE__ */ r(
|
|
1284
|
+
D,
|
|
1262
1285
|
{
|
|
1263
1286
|
valuePropName: "fileList",
|
|
1264
|
-
getValueFromEvent:
|
|
1287
|
+
getValueFromEvent: v,
|
|
1265
1288
|
...t,
|
|
1266
1289
|
children: /* @__PURE__ */ r(
|
|
1267
1290
|
G,
|
|
1268
1291
|
{
|
|
1269
1292
|
headers: { SYSCD: __SYS_CD__ },
|
|
1270
|
-
...
|
|
1293
|
+
...b,
|
|
1271
1294
|
listType: "picture",
|
|
1272
|
-
children: s && (C ||
|
|
1295
|
+
children: s && (C || Q.length === 0) && /* @__PURE__ */ r(X, { icon: /* @__PURE__ */ r(Ye, {}), children: Y })
|
|
1273
1296
|
}
|
|
1274
1297
|
)
|
|
1275
1298
|
}
|
|
1276
1299
|
) });
|
|
1277
1300
|
};
|
|
1278
1301
|
export {
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1302
|
+
Yt as BwgButton,
|
|
1303
|
+
Ct as BwgCheck,
|
|
1304
|
+
St as BwgCheckList,
|
|
1282
1305
|
Lt as BwgDatePicker,
|
|
1283
1306
|
bt as BwgDownload,
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1307
|
+
Ze as BwgForm,
|
|
1308
|
+
D as BwgFormItem,
|
|
1309
|
+
wt as BwgInput,
|
|
1310
|
+
_t as BwgLargeUploader,
|
|
1311
|
+
It as BwgMaskedInput,
|
|
1312
|
+
Nt as BwgMaskedPicker,
|
|
1313
|
+
Mt as BwgMultiSelect,
|
|
1291
1314
|
Dt as BwgNumber,
|
|
1292
|
-
|
|
1293
|
-
|
|
1315
|
+
kt as BwgRadio,
|
|
1316
|
+
xt as BwgRangePicker,
|
|
1294
1317
|
vt as BwgSearch,
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1318
|
+
Bt as BwgSelect,
|
|
1319
|
+
Et as BwgSwitch,
|
|
1320
|
+
Ot as BwgTextArea,
|
|
1321
|
+
zt as BwgUploader
|
|
1299
1322
|
};
|