sales-frontend-components 0.0.87 → 0.0.89
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/index.cjs.js +538 -262
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +30 -7
- package/dist/index.esm.js +539 -264
- package/dist/index.esm.js.map +1 -1
- package/dist/modal/pre-standard/dea-customer-search-modal/dea-customer-search-modal.module.scss +100 -0
- package/package.json +7 -7
package/dist/index.cjs.js
CHANGED
|
@@ -15,7 +15,9 @@ var styles$5 = require('./modal/pre-standard/organization-search-modal/organizat
|
|
|
15
15
|
var styles$6 = require('./modal/pre-standard/employee-search-modal/employee-search-modal.module.scss');
|
|
16
16
|
var styles$7 = require('./modal/pre-standard/job-vehicle-search-modal/job-vehicle-search-modal.module.scss');
|
|
17
17
|
var styles$8 = require('./modal/pre-standard/vehicle-search-modal/vehicle-search-modal.module.scss');
|
|
18
|
-
var
|
|
18
|
+
var reactQuery = require('@tanstack/react-query');
|
|
19
|
+
var styles$9 = require('./modal/pre-standard/dea-customer-search-modal/dea-customer-search-modal.module.scss');
|
|
20
|
+
var styles$a = require('./modal/standard/customer-search/customer-search.module.scss');
|
|
19
21
|
var salesFrontendUtils = require('sales-frontend-utils');
|
|
20
22
|
|
|
21
23
|
const FormCheckboxButton = ({
|
|
@@ -63,11 +65,6 @@ const FormDatePicker = ({
|
|
|
63
65
|
}) => {
|
|
64
66
|
const { field, fieldState } = reactHookForm.useController({ name, control, disabled, defaultValue });
|
|
65
67
|
const [selected, setSelected] = React.useState();
|
|
66
|
-
React.useEffect(() => {
|
|
67
|
-
if (field.value) {
|
|
68
|
-
setSelected(field.value);
|
|
69
|
-
}
|
|
70
|
-
}, [defaultValue]);
|
|
71
68
|
React.useEffect(() => {
|
|
72
69
|
if (field.value !== selected) {
|
|
73
70
|
setSelected(field.value);
|
|
@@ -96,18 +93,25 @@ const FormDateRangePicker = ({
|
|
|
96
93
|
defaultValue,
|
|
97
94
|
...props
|
|
98
95
|
}) => {
|
|
99
|
-
const { field, fieldState } = reactHookForm.useController({
|
|
96
|
+
const { field, fieldState } = reactHookForm.useController({
|
|
97
|
+
name,
|
|
98
|
+
control,
|
|
99
|
+
disabled,
|
|
100
|
+
defaultValue
|
|
101
|
+
});
|
|
100
102
|
const [selected, setSelected] = React.useState();
|
|
101
103
|
React.useEffect(() => {
|
|
102
|
-
if (field.value) {
|
|
104
|
+
if (field.value && !selected) {
|
|
103
105
|
setSelected(field.value);
|
|
104
106
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
107
|
+
try {
|
|
108
|
+
if (field.value && selected && (field.value.startDate.getTime() !== selected.startDate?.getTime() || field.value.endDate.getTime() !== selected.endDate?.getTime())) {
|
|
109
|
+
setSelected(field.value);
|
|
110
|
+
console.warn(field.value, selected);
|
|
111
|
+
}
|
|
112
|
+
} catch (e) {
|
|
113
|
+
console.log(e);
|
|
109
114
|
}
|
|
110
|
-
setSelected(field.value);
|
|
111
115
|
}, [field.value]);
|
|
112
116
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
113
117
|
salesFrontendDesignSystem.DateRangePicker,
|
|
@@ -236,58 +240,10 @@ const highlightOnSearchKeyword$1 = (originalText, targetString) => {
|
|
|
236
240
|
return originalText;
|
|
237
241
|
};
|
|
238
242
|
|
|
239
|
-
const cx$e = classNames.bind(styles);
|
|
240
|
-
function JobSearchCategory({ filteredJobs, onJobSelect, searchTerm }) {
|
|
241
|
-
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$e("category-section"), children: [
|
|
242
|
-
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: cx$e("result-title"), children: [
|
|
243
|
-
"\uCD1D ",
|
|
244
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary", children: filteredJobs.length }),
|
|
245
|
-
"\uAC74\uC758 \uAC80\uC0C9\uACB0\uACFC"
|
|
246
|
-
] }),
|
|
247
|
-
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Accordion.Root, { children: /* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Radio.Root, { name: "job-selection", size: "small", className: cx$e("job-radio-root"), onToggle: () => {
|
|
248
|
-
}, children: filteredJobs.map((job, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
249
|
-
salesFrontendDesignSystem.Accordion.Item,
|
|
250
|
-
{
|
|
251
|
-
id: `item-${job.occupationIndustryCode}-${index}-accordion`,
|
|
252
|
-
children: [
|
|
253
|
-
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Accordion.HeaderDiv, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { style: { flex: 1 }, children: /* @__PURE__ */ jsxRuntime.jsxs(salesFrontendDesignSystem.Radio.Item, { size: "small", value: job.occupationIndustryCode, onChange: () => onJobSelect(job), children: [
|
|
254
|
-
highlightOnSearchKeyword$1(job.occupationIndustryName, searchTerm),
|
|
255
|
-
"(",
|
|
256
|
-
job.occupationIndustryCode,
|
|
257
|
-
")"
|
|
258
|
-
] }) }) }),
|
|
259
|
-
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Accordion.Content, { variant: "text", children: /* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Table, { variant: "horizontal", children: /* @__PURE__ */ jsxRuntime.jsxs("tbody", { children: [
|
|
260
|
-
/* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
261
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { children: "\uD5E4\uB354 1" }),
|
|
262
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-24", children: "1\uD589 1\uBC88\uC9F8" }),
|
|
263
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { children: "\uD5E4\uB354 1-2" }),
|
|
264
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-24 ", children: "1\uD589 2\uBC88\uC9F8" })
|
|
265
|
-
] }),
|
|
266
|
-
/* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
267
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { children: "\uD5E4\uB354 2" }),
|
|
268
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "pl-24 pr-16", colSpan: 3, children: /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "d-flex-center-center", children: [
|
|
269
|
-
"2\uD589 1\uBC88\uC9F8 ",
|
|
270
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 pipe-left", children: "\uC11C\uBE0C\uD14D\uC2A4\uD2B8" }),
|
|
271
|
-
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Button, { variant: "neutral", size: "xsmall", appearance: "outline", children: "\uBC84\uD2BC\uBA85" })
|
|
272
|
-
] }) })
|
|
273
|
-
] })
|
|
274
|
-
] }) }) })
|
|
275
|
-
]
|
|
276
|
-
},
|
|
277
|
-
`item-${job.occupationIndustryCode}-${index}`
|
|
278
|
-
)) }) }),
|
|
279
|
-
filteredJobs.length === 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
280
|
-
"`",
|
|
281
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary", children: searchTerm }),
|
|
282
|
-
"`\uC5D0 \uB300\uD55C \uAC80\uC0C9\uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."
|
|
283
|
-
] })
|
|
284
|
-
] }) });
|
|
285
|
-
}
|
|
286
|
-
|
|
287
243
|
function JobSearchDetail({ occupationTypeCode, occupationIndustryCode }) {
|
|
288
244
|
const { data: detail } = method.useSearchOccupationDetailQuery({
|
|
289
245
|
occupationIndustryCode,
|
|
290
|
-
occupationIndustryTypeCode: occupationTypeCode
|
|
246
|
+
occupationIndustryTypeCode: occupationTypeCode || "1"
|
|
291
247
|
});
|
|
292
248
|
if (!detail || !detail.data) {
|
|
293
249
|
return null;
|
|
@@ -351,23 +307,62 @@ function JobSearchDetail({ occupationTypeCode, occupationIndustryCode }) {
|
|
|
351
307
|
] }) }) });
|
|
352
308
|
}
|
|
353
309
|
|
|
354
|
-
const cx$
|
|
310
|
+
const cx$g = classNames.bind(styles);
|
|
311
|
+
function JobSearchCategory({ filteredJobs, onJobSelect, searchTerm }) {
|
|
312
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$g("category-section"), children: [
|
|
313
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: cx$g("result-title"), children: [
|
|
314
|
+
"\uCD1D ",
|
|
315
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary", children: filteredJobs.length }),
|
|
316
|
+
"\uAC74\uC758 \uAC80\uC0C9\uACB0\uACFC"
|
|
317
|
+
] }),
|
|
318
|
+
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Accordion.Root, { children: /* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Radio.Root, { name: "job-selection", size: "small", className: cx$g("job-radio-root"), onToggle: () => {
|
|
319
|
+
}, children: filteredJobs.map((job, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
320
|
+
salesFrontendDesignSystem.Accordion.Item,
|
|
321
|
+
{
|
|
322
|
+
id: `item-${job.occupationIndustryCode}-${index}-accordion`,
|
|
323
|
+
children: [
|
|
324
|
+
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Accordion.HeaderDiv, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { style: { flex: 1 }, children: /* @__PURE__ */ jsxRuntime.jsxs(salesFrontendDesignSystem.Radio.Item, { size: "small", value: job.occupationIndustryCode, onChange: () => onJobSelect(job), children: [
|
|
325
|
+
highlightOnSearchKeyword$1(job.occupationIndustryName, searchTerm),
|
|
326
|
+
"(",
|
|
327
|
+
job.occupationIndustryCode,
|
|
328
|
+
")"
|
|
329
|
+
] }) }) }),
|
|
330
|
+
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Accordion.Content, { variant: "text", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
331
|
+
JobSearchDetail,
|
|
332
|
+
{
|
|
333
|
+
occupationTypeCode: job.occupationTypeCode || "",
|
|
334
|
+
occupationIndustryCode: job.occupationIndustryCode
|
|
335
|
+
}
|
|
336
|
+
) })
|
|
337
|
+
]
|
|
338
|
+
},
|
|
339
|
+
`item-${job.occupationIndustryCode}-${index}`
|
|
340
|
+
)) }) }),
|
|
341
|
+
filteredJobs.length === 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
342
|
+
"`",
|
|
343
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary", children: searchTerm }),
|
|
344
|
+
"`\uC5D0 \uB300\uD55C \uAC80\uC0C9\uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."
|
|
345
|
+
] })
|
|
346
|
+
] }) });
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
const cx$f = classNames.bind(styles);
|
|
355
350
|
function JobSearchFavorite({ filteredJobs, onJobSelect }) {
|
|
356
|
-
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
351
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$f("popular-jobs"), children: [
|
|
357
352
|
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "\uB9CE\uC774 \uCC3E\uB294 \uC9C1\uC885" }),
|
|
358
|
-
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Accordion.Root, { children: /* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Radio.Root, { name: "job-selection", size: "small", className: cx$
|
|
353
|
+
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Accordion.Root, { children: /* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Radio.Root, { name: "job-selection", size: "small", className: cx$f("job-radio-root"), children: filteredJobs.map((job, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
359
354
|
salesFrontendDesignSystem.Accordion.Item,
|
|
360
355
|
{
|
|
361
356
|
id: `item-${job.occupationIndustryCode}-${index}`,
|
|
362
|
-
className: cx$
|
|
357
|
+
className: cx$f("accordion-item"),
|
|
363
358
|
children: [
|
|
364
|
-
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Accordion.HeaderDiv, { className: cx$
|
|
359
|
+
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Accordion.HeaderDiv, { className: cx$f("accordion-header-item"), children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
365
360
|
salesFrontendDesignSystem.Radio.Item,
|
|
366
361
|
{
|
|
367
362
|
size: "small",
|
|
368
363
|
value: job.occupationIndustryCode,
|
|
369
364
|
onChange: () => onJobSelect(job),
|
|
370
|
-
className: cx$
|
|
365
|
+
className: cx$f("radio-item"),
|
|
371
366
|
children: [
|
|
372
367
|
job.occupationIndustryName,
|
|
373
368
|
"(",
|
|
@@ -390,15 +385,15 @@ function JobSearchFavorite({ filteredJobs, onJobSelect }) {
|
|
|
390
385
|
] }) });
|
|
391
386
|
}
|
|
392
387
|
|
|
393
|
-
const cx$
|
|
388
|
+
const cx$e = classNames.bind(styles);
|
|
394
389
|
function JobSearchResult({ filteredJobs, onJobSelect, searchTerm }) {
|
|
395
|
-
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
396
|
-
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: cx$
|
|
390
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$e("popular-jobs"), children: [
|
|
391
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: cx$e("result-title"), children: [
|
|
397
392
|
"\uCD1D ",
|
|
398
393
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary", children: filteredJobs.length }),
|
|
399
394
|
"\uAC74\uC758 \uAC80\uC0C9\uACB0\uACFC"
|
|
400
395
|
] }),
|
|
401
|
-
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Accordion.Root, { children: /* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Radio.Root, { name: "job-selection", size: "small", className: cx$
|
|
396
|
+
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Accordion.Root, { children: /* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Radio.Root, { name: "job-selection", size: "small", className: cx$e("job-radio-root"), children: filteredJobs.map((job) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
402
397
|
salesFrontendDesignSystem.Accordion.Item,
|
|
403
398
|
{
|
|
404
399
|
id: `item-${job.occupationIndustryCode}`,
|
|
@@ -434,8 +429,8 @@ function JobSearchResult({ filteredJobs, onJobSelect, searchTerm }) {
|
|
|
434
429
|
] }) });
|
|
435
430
|
}
|
|
436
431
|
|
|
437
|
-
const { TextField: TextField$
|
|
438
|
-
const cx$
|
|
432
|
+
const { TextField: TextField$3 } = salesFrontendDesignSystem.FormField;
|
|
433
|
+
const cx$d = classNames.bind(styles);
|
|
439
434
|
const { Option } = salesFrontendDesignSystem.Select;
|
|
440
435
|
function JobSearch({
|
|
441
436
|
activeTab,
|
|
@@ -451,7 +446,8 @@ function JobSearch({
|
|
|
451
446
|
secondCategory,
|
|
452
447
|
setSecondCategory,
|
|
453
448
|
firstCategoryList,
|
|
454
|
-
secondCategoryList
|
|
449
|
+
secondCategoryList,
|
|
450
|
+
isLoading
|
|
455
451
|
}) {
|
|
456
452
|
const onKeyUp = (e) => {
|
|
457
453
|
if (e.key === "Enter") {
|
|
@@ -472,9 +468,9 @@ function JobSearch({
|
|
|
472
468
|
}
|
|
473
469
|
),
|
|
474
470
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
475
|
-
activeTab === "jobName" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
471
|
+
activeTab === "jobName" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$d("favorite-jobs-section"), children: [
|
|
476
472
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
477
|
-
TextField$
|
|
473
|
+
TextField$3,
|
|
478
474
|
{
|
|
479
475
|
placeholder: "\uC9C1\uC885\uBA85 \uAC80\uC0C9",
|
|
480
476
|
value: searchInput,
|
|
@@ -492,10 +488,10 @@ function JobSearch({
|
|
|
492
488
|
}
|
|
493
489
|
),
|
|
494
490
|
!searchTerm && /* @__PURE__ */ jsxRuntime.jsx(JobSearchFavorite, { filteredJobs, onJobSelect }),
|
|
495
|
-
searchTerm && /* @__PURE__ */ jsxRuntime.jsx(JobSearchResult, { filteredJobs, onJobSelect, searchTerm })
|
|
491
|
+
searchTerm && !isLoading && /* @__PURE__ */ jsxRuntime.jsx(JobSearchResult, { filteredJobs, onJobSelect, searchTerm })
|
|
496
492
|
] }),
|
|
497
|
-
activeTab === "jobCode" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
498
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
493
|
+
activeTab === "jobCode" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$d("select-jobs-section"), children: [
|
|
494
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$d("category-section"), children: [
|
|
499
495
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
500
496
|
salesFrontendDesignSystem.Select,
|
|
501
497
|
{
|
|
@@ -533,7 +529,7 @@ function JobSearch({
|
|
|
533
529
|
}
|
|
534
530
|
)
|
|
535
531
|
] }),
|
|
536
|
-
firstCategory && secondCategory && /* @__PURE__ */ jsxRuntime.jsx(JobSearchCategory, { filteredJobs, onJobSelect, searchTerm })
|
|
532
|
+
firstCategory && secondCategory && !isLoading && /* @__PURE__ */ jsxRuntime.jsx(JobSearchCategory, { filteredJobs, onJobSelect, searchTerm })
|
|
537
533
|
] })
|
|
538
534
|
] })
|
|
539
535
|
] });
|
|
@@ -584,7 +580,12 @@ const useJobSearch = () => {
|
|
|
584
580
|
const [jobList, setJobList] = React.useState(initData);
|
|
585
581
|
const [firstCategoryList, setFirstCategoryList] = React.useState([]);
|
|
586
582
|
const [secondCategoryList, setSecondCategoryList] = React.useState([]);
|
|
587
|
-
const { data } = method.
|
|
583
|
+
const { data: detail } = method.useSearchOccupationDetailQuery({
|
|
584
|
+
occupationIndustryCode: selectedJob?.occupationIndustryCode || "",
|
|
585
|
+
occupationIndustryTypeCode: "1"
|
|
586
|
+
});
|
|
587
|
+
const selectedJobDetail = detail?.data;
|
|
588
|
+
const { data, isLoading } = method.useSearchOccupationQuery({
|
|
588
589
|
occupationMajorCategoryCode: firstCategory,
|
|
589
590
|
occupationSearchTypeCode: searchTerm ? "4" : "3",
|
|
590
591
|
occupationSubCategoryCode: secondCategory,
|
|
@@ -602,7 +603,17 @@ const useJobSearch = () => {
|
|
|
602
603
|
occupationSubCategoryCode: "",
|
|
603
604
|
searchOccupationIndustryName: ""
|
|
604
605
|
});
|
|
606
|
+
const reset = () => {
|
|
607
|
+
setSearchInput("");
|
|
608
|
+
setSearchTerm("");
|
|
609
|
+
setFirstCategory("");
|
|
610
|
+
setSecondCategory("");
|
|
611
|
+
};
|
|
605
612
|
React.useEffect(() => {
|
|
613
|
+
reset();
|
|
614
|
+
}, [activeTab]);
|
|
615
|
+
React.useEffect(() => {
|
|
616
|
+
setSelectedJob(null);
|
|
606
617
|
if (data && searchTerm && activeTab === "jobName") {
|
|
607
618
|
const filteredJobs = data.data.occupationList.filter((job) => job.occupationIndustryName.includes(searchTerm));
|
|
608
619
|
setJobList(filteredJobs);
|
|
@@ -614,9 +625,6 @@ const useJobSearch = () => {
|
|
|
614
625
|
setJobList(data?.data.occupationList || []);
|
|
615
626
|
}
|
|
616
627
|
}, [searchTerm, data, firstCategory, secondCategory, secondCategoryData, activeTab]);
|
|
617
|
-
React.useEffect(() => {
|
|
618
|
-
console.log("jobList", jobList);
|
|
619
|
-
}, [jobList]);
|
|
620
628
|
React.useEffect(() => {
|
|
621
629
|
if (firstCategoryData) {
|
|
622
630
|
setFirstCategoryList(firstCategoryData.data.occupationList);
|
|
@@ -631,6 +639,7 @@ const useJobSearch = () => {
|
|
|
631
639
|
activeTab,
|
|
632
640
|
setActiveTab,
|
|
633
641
|
selectedJob,
|
|
642
|
+
setSelectedJob,
|
|
634
643
|
searchTerm,
|
|
635
644
|
setSearchTerm,
|
|
636
645
|
handleJobSelect,
|
|
@@ -642,7 +651,10 @@ const useJobSearch = () => {
|
|
|
642
651
|
secondCategory,
|
|
643
652
|
setSecondCategory,
|
|
644
653
|
secondCategoryList,
|
|
645
|
-
firstCategoryList
|
|
654
|
+
firstCategoryList,
|
|
655
|
+
reset,
|
|
656
|
+
isLoading,
|
|
657
|
+
selectedJobDetail
|
|
646
658
|
};
|
|
647
659
|
};
|
|
648
660
|
function useJobSearchModal() {
|
|
@@ -661,15 +673,23 @@ function useJobSearchModal() {
|
|
|
661
673
|
secondCategory,
|
|
662
674
|
setSecondCategory,
|
|
663
675
|
firstCategoryList,
|
|
664
|
-
secondCategoryList
|
|
676
|
+
secondCategoryList,
|
|
677
|
+
setSelectedJob,
|
|
678
|
+
selectedJobDetail,
|
|
679
|
+
reset,
|
|
680
|
+
isLoading
|
|
665
681
|
} = useJobSearch();
|
|
666
682
|
const { isOpen, openModal, closeModal } = salesFrontendDesignSystem.useModalState();
|
|
667
683
|
const onTabChange = (value) => {
|
|
668
|
-
|
|
669
|
-
setFirstCategory("");
|
|
670
|
-
setSecondCategory("");
|
|
684
|
+
reset();
|
|
671
685
|
setActiveTab(value);
|
|
672
686
|
};
|
|
687
|
+
const openInitModal = () => {
|
|
688
|
+
reset();
|
|
689
|
+
setSelectedJob(null);
|
|
690
|
+
setActiveTab("jobName");
|
|
691
|
+
openModal();
|
|
692
|
+
};
|
|
673
693
|
return {
|
|
674
694
|
JobSearchModal: /* @__PURE__ */ jsxRuntime.jsxs(salesFrontendDesignSystem.Modal.Root, { isOpen, onClose: closeModal, modalSize: "xlarge", children: [
|
|
675
695
|
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Modal.Overlay, {}),
|
|
@@ -691,10 +711,22 @@ function useJobSearchModal() {
|
|
|
691
711
|
onJobSelect: handleJobSelect,
|
|
692
712
|
searchInput,
|
|
693
713
|
setSearchTerm,
|
|
694
|
-
setSecondCategory
|
|
714
|
+
setSecondCategory,
|
|
715
|
+
isLoading
|
|
695
716
|
}
|
|
696
717
|
) }),
|
|
697
|
-
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Modal.Footer, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
718
|
+
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Modal.Footer, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
719
|
+
salesFrontendDesignSystem.Button,
|
|
720
|
+
{
|
|
721
|
+
variant: "primary",
|
|
722
|
+
size: "medium",
|
|
723
|
+
appearance: "filled",
|
|
724
|
+
width: "full",
|
|
725
|
+
onClick: closeModal,
|
|
726
|
+
disabled: !selectedJob,
|
|
727
|
+
children: "\uD655\uC778"
|
|
728
|
+
}
|
|
729
|
+
) })
|
|
698
730
|
] })
|
|
699
731
|
] }),
|
|
700
732
|
JobSearchComponent: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -713,13 +745,17 @@ function useJobSearchModal() {
|
|
|
713
745
|
filteredJobs: filteredJobs || [],
|
|
714
746
|
onJobSelect: handleJobSelect,
|
|
715
747
|
searchInput,
|
|
716
|
-
setSearchTerm
|
|
748
|
+
setSearchTerm,
|
|
749
|
+
isLoading
|
|
717
750
|
}
|
|
718
751
|
),
|
|
719
752
|
isJobSearchOpen: isOpen,
|
|
720
|
-
openJobSearchModal:
|
|
753
|
+
openJobSearchModal: openInitModal,
|
|
721
754
|
closeJobSearchModal: closeModal,
|
|
722
|
-
selectedJob
|
|
755
|
+
selectedJob,
|
|
756
|
+
selectedJobDetail,
|
|
757
|
+
resetJobSearch: reset,
|
|
758
|
+
setSelectedJob
|
|
723
759
|
};
|
|
724
760
|
}
|
|
725
761
|
|
|
@@ -877,7 +913,7 @@ const FormTextField = ({
|
|
|
877
913
|
);
|
|
878
914
|
};
|
|
879
915
|
|
|
880
|
-
const cx$
|
|
916
|
+
const cx$c = classNames.bind(styles$1);
|
|
881
917
|
const StepIndicator = ({
|
|
882
918
|
items,
|
|
883
919
|
onClickItem,
|
|
@@ -912,26 +948,26 @@ const StepIndicator = ({
|
|
|
912
948
|
salesFrontendDesignSystem.ModalUtils.alert("\uC774\uC804 \uB2E8\uACC4\uB97C \uBAA8\uB450 \uC644\uB8CC\uD574\uC57C \uC120\uD0DD\uD55C \uB2E8\uACC4\uB85C\n\uC774\uB3D9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", "\uC774\uC804 \uB2E8\uACC4\uB97C \uBA3C\uC800 \uC9C4\uD589\uD574\uC8FC\uC138\uC694");
|
|
913
949
|
}
|
|
914
950
|
};
|
|
915
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
916
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$
|
|
951
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$c("stepper-layout", { loading: isLoading }), children: [
|
|
952
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$c("stepper"), children: steps.map((item, idx) => /* @__PURE__ */ jsxRuntime.jsxs(React.Fragment, { children: [
|
|
917
953
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
918
954
|
"div",
|
|
919
955
|
{
|
|
920
|
-
className: cx$
|
|
956
|
+
className: cx$c(
|
|
921
957
|
"circle",
|
|
922
958
|
{ completed: item.isCompleted ?? false },
|
|
923
959
|
{ active: defaultValue === item.value || current === idx }
|
|
924
960
|
),
|
|
925
961
|
onClick: () => handleClickStep?.(item),
|
|
926
|
-
children: item.isCompleted ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cx$
|
|
962
|
+
children: item.isCompleted ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cx$c("completed-icon") }) : idx + 1
|
|
927
963
|
}
|
|
928
964
|
),
|
|
929
|
-
idx < steps.length - 1 && Array.from({ length: dotCount }).map((_, dotIdx) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: cx$
|
|
965
|
+
idx < steps.length - 1 && Array.from({ length: dotCount }).map((_, dotIdx) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: cx$c("dot") }, `dot-${idx}-${dotIdx}`))
|
|
930
966
|
] }, `num-${idx}`)) }),
|
|
931
|
-
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: cx$
|
|
967
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: cx$c("step-labels"), children: steps.map((item, idx) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
932
968
|
"li",
|
|
933
969
|
{
|
|
934
|
-
className: cx$
|
|
970
|
+
className: cx$c(
|
|
935
971
|
{ completed: steps[idx < 1 ? idx : idx - 1]?.isCompleted ?? false },
|
|
936
972
|
{ active: defaultValue === item.value || current === idx }
|
|
937
973
|
),
|
|
@@ -943,7 +979,7 @@ const StepIndicator = ({
|
|
|
943
979
|
] });
|
|
944
980
|
};
|
|
945
981
|
|
|
946
|
-
const cx$
|
|
982
|
+
const cx$b = classNames.bind(styles$2);
|
|
947
983
|
function Attachment({
|
|
948
984
|
photos,
|
|
949
985
|
onAddPhoto,
|
|
@@ -960,14 +996,14 @@ function Attachment({
|
|
|
960
996
|
};
|
|
961
997
|
const renderPhotoSingle = () => {
|
|
962
998
|
if (photos.length === 0) {
|
|
963
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$
|
|
999
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$b("single-photo-item", "add-photo-item"), children: /* @__PURE__ */ jsxRuntime.jsxs("button", { className: cx$b("add-photo-button-single"), onClick: handleAddPhoto, children: [
|
|
964
1000
|
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendAssets.IconIllustCamera, {}),
|
|
965
1001
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: buttonText || "\uC0AC\uC9C4 \uCCA8\uBD80\uD558\uAE30" })
|
|
966
1002
|
] }) });
|
|
967
1003
|
}
|
|
968
|
-
return photos.map((photo) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
969
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$
|
|
970
|
-
/* @__PURE__ */ jsxRuntime.jsx("button", { className: cx$
|
|
1004
|
+
return photos.map((photo) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$b("single-photo-item"), children: [
|
|
1005
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$b("photo-placeholder"), children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: photo.src, alt: photo.name, className: cx$b("photo-image") }) }),
|
|
1006
|
+
/* @__PURE__ */ jsxRuntime.jsx("button", { className: cx$b("remove-button"), onClick: () => handleRemovePhoto(photo.id), "aria-label": "\uC0AC\uC9C4 \uC0AD\uC81C", children: "\xD7" })
|
|
971
1007
|
] }, photo.id));
|
|
972
1008
|
};
|
|
973
1009
|
const renderPhotoGrid = () => {
|
|
@@ -975,12 +1011,12 @@ function Attachment({
|
|
|
975
1011
|
const gridItems = [];
|
|
976
1012
|
if (photos.length < maxPhotos) {
|
|
977
1013
|
gridItems.push(
|
|
978
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$
|
|
1014
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$b("photo-item", "add-photo-item"), children: /* @__PURE__ */ jsxRuntime.jsxs("button", { className: cx$b("add-photo-button"), onClick: handleAddPhoto, children: [
|
|
979
1015
|
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendAssets.IconIllustCamera, {}),
|
|
980
1016
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: buttonText || "\uCCA8\uBD80\uD558\uAE30" }),
|
|
981
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: cx$
|
|
1017
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: cx$b("photo-count"), children: [
|
|
982
1018
|
"(",
|
|
983
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: cx$
|
|
1019
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: cx$b("photo-count-number"), children: photos.length }),
|
|
984
1020
|
"/",
|
|
985
1021
|
maxPhotos,
|
|
986
1022
|
")"
|
|
@@ -990,9 +1026,9 @@ function Attachment({
|
|
|
990
1026
|
}
|
|
991
1027
|
photos.forEach((photo) => {
|
|
992
1028
|
gridItems.push(
|
|
993
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
994
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$
|
|
995
|
-
/* @__PURE__ */ jsxRuntime.jsx("button", { className: cx$
|
|
1029
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$b("photo-item"), children: [
|
|
1030
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$b("photo-placeholder"), children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: photo.src, alt: photo.name, className: cx$b("photo-image") }) }),
|
|
1031
|
+
/* @__PURE__ */ jsxRuntime.jsx("button", { className: cx$b("remove-button"), onClick: () => handleRemovePhoto(photo.id), "aria-label": "\uC0AC\uC9C4 \uC0AD\uC81C", children: "\xD7" })
|
|
996
1032
|
] }, photo.id)
|
|
997
1033
|
);
|
|
998
1034
|
});
|
|
@@ -1003,9 +1039,9 @@ function Attachment({
|
|
|
1003
1039
|
return null;
|
|
1004
1040
|
}
|
|
1005
1041
|
if (type === "single") {
|
|
1006
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$
|
|
1042
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$b("photo-single"), children: renderPhotoSingle() });
|
|
1007
1043
|
}
|
|
1008
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$
|
|
1044
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$b("photo-grid", { linear: type === "linear" }), children: renderPhotoGrid() });
|
|
1009
1045
|
}
|
|
1010
1046
|
|
|
1011
1047
|
const maxImageSize = 3 * 1024 * 1024;
|
|
@@ -1452,12 +1488,12 @@ function useCanvasPaint(paintProps = {}) {
|
|
|
1452
1488
|
|
|
1453
1489
|
const testSignatureBase64Data = "data:image/png;base64,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";
|
|
1454
1490
|
|
|
1455
|
-
const cx$
|
|
1491
|
+
const cx$a = classNames.bind(styles$3);
|
|
1456
1492
|
const { InputBox: InputBox$1, Input: Input$1 } = salesFrontendDesignSystem.FormCore;
|
|
1457
1493
|
const AddressSearchInitialText = () => {
|
|
1458
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
1459
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: cx$
|
|
1460
|
-
/* @__PURE__ */ jsxRuntime.jsxs("ul", { className: cx$
|
|
1494
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$a("search-result-list"), children: [
|
|
1495
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: cx$a("guide-title"), children: "\uC774\uB807\uAC8C \uAC80\uC0C9\uD574 \uBCF4\uC138\uC694." }),
|
|
1496
|
+
/* @__PURE__ */ jsxRuntime.jsxs("ul", { className: cx$a("guide"), children: [
|
|
1461
1497
|
/* @__PURE__ */ jsxRuntime.jsx("li", { children: "\uB3C4\uB85C\uBA85/\uC9C0\uBA85\uACFC \uAC74\uBB3C\uBC88\uD638\uB97C \uD568\uAED8 \uC785\uB825\uD574\uC8FC\uC138\uC694" }),
|
|
1462
1498
|
/* @__PURE__ */ jsxRuntime.jsx("li", { children: "\uC608) 63\uB85C 50, \uC5EC\uC758\uB3C4\uB3D9 60" }),
|
|
1463
1499
|
/* @__PURE__ */ jsxRuntime.jsx("li", { children: "\uC9C0\uBA85\uC740 \uB3D9/\uC74D/\uBA74/\uB9AC\uB85C \uC785\uB825\uD574\uC8FC\uC138\uC694" }),
|
|
@@ -1473,8 +1509,8 @@ const AddressSearchResult = ({
|
|
|
1473
1509
|
searchKeyword,
|
|
1474
1510
|
selectedAddress
|
|
1475
1511
|
}) => {
|
|
1476
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
1477
|
-
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: cx$
|
|
1512
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$a("search-result-list"), children: [
|
|
1513
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: cx$a("guide-title"), children: [
|
|
1478
1514
|
"\uCD1D ",
|
|
1479
1515
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary", children: addressSearchList.length }),
|
|
1480
1516
|
"\uAC74\uC758 \uAC80\uC0C9\uACB0\uACFC"
|
|
@@ -1486,15 +1522,15 @@ const AddressSearchResult = ({
|
|
|
1486
1522
|
return {
|
|
1487
1523
|
value: JSON.stringify(item),
|
|
1488
1524
|
select: item.roadNameBaseAddress === selectedAddress?.roadNameBaseAddress && item.roadNameDetailAddress === selectedAddress?.roadNameDetailAddress && item.mainBuildingName === selectedAddress?.mainBuildingName,
|
|
1489
|
-
label: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
1490
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$
|
|
1491
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$
|
|
1492
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
1493
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: cx$
|
|
1525
|
+
label: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$a("search-result"), children: [
|
|
1526
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$a("zipcode"), children: highlightOnSearchKeyword$1(`${item.firstPostalCode}${item.secondPostalCode}`, searchKeyword) }),
|
|
1527
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$a("divider") }),
|
|
1528
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$a("address-info"), children: [
|
|
1529
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: cx$a("address"), children: highlightOnSearchKeyword$1(
|
|
1494
1530
|
`${item.roadNameBaseAddress} ${item.roadNameDetailAddress} ${item.mainBuildingName}`,
|
|
1495
1531
|
searchKeyword
|
|
1496
1532
|
) }),
|
|
1497
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: cx$
|
|
1533
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: cx$a("old-address"), children: highlightOnSearchKeyword$1(
|
|
1498
1534
|
`${item.landNumberBaseAddress} ${item.landNumberDetailAddress}`,
|
|
1499
1535
|
searchKeyword
|
|
1500
1536
|
) })
|
|
@@ -1503,7 +1539,7 @@ const AddressSearchResult = ({
|
|
|
1503
1539
|
id: JSON.stringify(item)
|
|
1504
1540
|
};
|
|
1505
1541
|
}),
|
|
1506
|
-
className: cx$
|
|
1542
|
+
className: cx$a("radio-group"),
|
|
1507
1543
|
name: "address-search",
|
|
1508
1544
|
size: "medium",
|
|
1509
1545
|
defaultValue: "",
|
|
@@ -1518,36 +1554,42 @@ const AddressSearchResult = ({
|
|
|
1518
1554
|
] });
|
|
1519
1555
|
};
|
|
1520
1556
|
const AddressSearchDetailInput = ({
|
|
1521
|
-
|
|
1557
|
+
selectedStandardizationAddress,
|
|
1522
1558
|
onDetailChange,
|
|
1523
|
-
onStandardizationChange,
|
|
1524
1559
|
step,
|
|
1560
|
+
onStandardizationChange,
|
|
1525
1561
|
detailAddressInput
|
|
1526
1562
|
}) => {
|
|
1527
|
-
|
|
1563
|
+
const { land, road } = selectedStandardizationAddress;
|
|
1564
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$a("search-result-list"), children: [
|
|
1528
1565
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1529
|
-
salesFrontendDesignSystem.
|
|
1566
|
+
salesFrontendDesignSystem.Radio.Root,
|
|
1530
1567
|
{
|
|
1531
|
-
items: addressStandardizationList.map((item) => {
|
|
1532
|
-
return {
|
|
1533
|
-
value: JSON.stringify(item),
|
|
1534
|
-
select: true,
|
|
1535
|
-
label: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$8("search-result"), children: [
|
|
1536
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$8("zipcode"), children: `${item.firstPostalCode}${item.secondPostalCode}` }),
|
|
1537
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$8("divider") }),
|
|
1538
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$8("address-info"), children: [
|
|
1539
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: cx$8("address"), children: `${item.baseAddress} ${item.detailAddress}` }),
|
|
1540
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: cx$8("old-address"), children: `${item.baseAddress} ${item.detailAddress}` })
|
|
1541
|
-
] })
|
|
1542
|
-
] }),
|
|
1543
|
-
id: JSON.stringify(item)
|
|
1544
|
-
};
|
|
1545
|
-
}),
|
|
1546
|
-
className: cx$8("radio-group"),
|
|
1547
1568
|
name: "address-search-standardization",
|
|
1548
1569
|
size: "medium",
|
|
1549
|
-
defaultValue:
|
|
1550
|
-
|
|
1570
|
+
defaultValue: JSON.stringify(selectedStandardizationAddress),
|
|
1571
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1572
|
+
salesFrontendDesignSystem.Radio.Item,
|
|
1573
|
+
{
|
|
1574
|
+
className: cx$a("radio-group"),
|
|
1575
|
+
value: JSON.stringify(selectedStandardizationAddress),
|
|
1576
|
+
onChange: onStandardizationChange,
|
|
1577
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$a("search-result"), children: [
|
|
1578
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1579
|
+
"div",
|
|
1580
|
+
{
|
|
1581
|
+
className: cx$a("zipcode"),
|
|
1582
|
+
children: `${selectedStandardizationAddress.land?.firstPostalCode}${land?.secondPostalCode}`
|
|
1583
|
+
}
|
|
1584
|
+
),
|
|
1585
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$a("divider") }),
|
|
1586
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$a("address-info"), children: [
|
|
1587
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: cx$a("address"), children: `${road?.baseAddress} ${road?.detailAddress}` }),
|
|
1588
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: cx$a("old-address"), children: `${land?.baseAddress} ${land?.detailAddress}` })
|
|
1589
|
+
] })
|
|
1590
|
+
] })
|
|
1591
|
+
}
|
|
1592
|
+
)
|
|
1551
1593
|
}
|
|
1552
1594
|
),
|
|
1553
1595
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "d-flex gap-medium items-center", children: [
|
|
@@ -1588,7 +1630,8 @@ function AddressComponent({ isOpen, onClose, setValue }) {
|
|
|
1588
1630
|
searchInput,
|
|
1589
1631
|
selectedAddress,
|
|
1590
1632
|
onStandardizationChange,
|
|
1591
|
-
|
|
1633
|
+
selectedStandardizationAddress,
|
|
1634
|
+
isLoading
|
|
1592
1635
|
} = useSearchAddress({
|
|
1593
1636
|
setValue,
|
|
1594
1637
|
onClose,
|
|
@@ -1611,7 +1654,7 @@ function AddressComponent({ isOpen, onClose, setValue }) {
|
|
|
1611
1654
|
}
|
|
1612
1655
|
) }),
|
|
1613
1656
|
addressSearchStep === "initial" && /* @__PURE__ */ jsxRuntime.jsx(AddressSearchInitialText, {}),
|
|
1614
|
-
addressSearchStep === "search-result" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1657
|
+
!isLoading && addressSearchStep === "search-result" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1615
1658
|
AddressSearchResult,
|
|
1616
1659
|
{
|
|
1617
1660
|
onChange: onSelectChange,
|
|
@@ -1620,10 +1663,10 @@ function AddressComponent({ isOpen, onClose, setValue }) {
|
|
|
1620
1663
|
selectedAddress
|
|
1621
1664
|
}
|
|
1622
1665
|
),
|
|
1623
|
-
addressSearchStep === "detail-input" && selectedAddress && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1666
|
+
!isLoading && addressSearchStep === "detail-input" && selectedAddress && selectedStandardizationAddress && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1624
1667
|
AddressSearchDetailInput,
|
|
1625
1668
|
{
|
|
1626
|
-
|
|
1669
|
+
selectedStandardizationAddress,
|
|
1627
1670
|
onStandardizationChange,
|
|
1628
1671
|
onDetailChange: setDetail,
|
|
1629
1672
|
step: addressSearchStep,
|
|
@@ -1666,11 +1709,11 @@ function useSearchAddress({ setValue, onClose, isOpen }) {
|
|
|
1666
1709
|
detailAddress: "",
|
|
1667
1710
|
roadNameYn: "Y"
|
|
1668
1711
|
});
|
|
1669
|
-
const { data: addressData } = method.useSearchAddressQuery(
|
|
1712
|
+
const { data: addressData, isLoading: isLoadingAddress } = method.useSearchAddressQuery(
|
|
1670
1713
|
{ searchKeyWord: searchKeyword },
|
|
1671
1714
|
{ enabled: !!searchKeyword && searchType === "address" }
|
|
1672
1715
|
);
|
|
1673
|
-
const { data: postalData } = method.useSearchPostalCodeQuery(
|
|
1716
|
+
const { data: postalData, isLoading: isLoadingPostalCode } = method.useSearchPostalCodeQuery(
|
|
1674
1717
|
{ searchWordName: searchKeyword },
|
|
1675
1718
|
{ enabled: !!searchKeyword && searchType === "postalcode" }
|
|
1676
1719
|
);
|
|
@@ -1778,8 +1821,17 @@ function useSearchAddress({ setValue, onClose, isOpen }) {
|
|
|
1778
1821
|
setSearchKeyword("");
|
|
1779
1822
|
}
|
|
1780
1823
|
}, [isOpen]);
|
|
1824
|
+
React.useEffect(() => {
|
|
1825
|
+
const road = standardizedData?.data?.addressStandardizationList[1];
|
|
1826
|
+
const land = standardizedData?.data?.addressStandardizationList[2];
|
|
1827
|
+
if (road && land) {
|
|
1828
|
+
setSelectedStandardizationAddress({
|
|
1829
|
+
land,
|
|
1830
|
+
road
|
|
1831
|
+
});
|
|
1832
|
+
}
|
|
1833
|
+
}, [standardizedData]);
|
|
1781
1834
|
return {
|
|
1782
|
-
addressStandardizationList: standardizedData?.data?.addressStandardizationList || [],
|
|
1783
1835
|
selectedStandardizationAddress,
|
|
1784
1836
|
onStandardizationChange,
|
|
1785
1837
|
onAddressSearchClear: onClear,
|
|
@@ -1796,7 +1848,8 @@ function useSearchAddress({ setValue, onClose, isOpen }) {
|
|
|
1796
1848
|
onSelectChange,
|
|
1797
1849
|
setDetail,
|
|
1798
1850
|
search,
|
|
1799
|
-
searchInput
|
|
1851
|
+
searchInput,
|
|
1852
|
+
isLoading: isLoadingAddress || isLoadingPostalCode
|
|
1800
1853
|
};
|
|
1801
1854
|
}
|
|
1802
1855
|
const useAddressComponent = () => {
|
|
@@ -1914,22 +1967,22 @@ function BankStockSearchModal({ open, onClose, onSelect }) {
|
|
|
1914
1967
|
] });
|
|
1915
1968
|
}
|
|
1916
1969
|
|
|
1917
|
-
const cx$
|
|
1970
|
+
const cx$9 = classNames.bind(styles$5);
|
|
1918
1971
|
function OrganizationSearchResult({
|
|
1919
1972
|
filteredOrganizations,
|
|
1920
1973
|
onOrganizationSelect
|
|
1921
1974
|
}) {
|
|
1922
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
1923
|
-
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: cx$
|
|
1975
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$9("result-section"), children: [
|
|
1976
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: cx$9("result-title"), children: [
|
|
1924
1977
|
"\uCD1D ",
|
|
1925
1978
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary", children: filteredOrganizations.length }),
|
|
1926
1979
|
"\uAC74\uC758 \uAC80\uC0C9\uACB0\uACFC"
|
|
1927
1980
|
] }),
|
|
1928
1981
|
filteredOrganizations.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(salesFrontendDesignSystem.Table, { variant: "horizontal", children: [
|
|
1929
1982
|
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
1930
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$
|
|
1931
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$
|
|
1932
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$
|
|
1983
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$9("th-padding"), children: "\uC120\uD0DD" }),
|
|
1984
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$9("th-padding"), children: "\uAE30\uAD00\uCF54\uB4DC" }),
|
|
1985
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$9("th-padding"), children: "\uAE30\uAD00\uBA85" })
|
|
1933
1986
|
] }) }),
|
|
1934
1987
|
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: filteredOrganizations.map((organization) => {
|
|
1935
1988
|
return /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
@@ -1948,11 +2001,11 @@ function OrganizationSearchResult({
|
|
|
1948
2001
|
}) })
|
|
1949
2002
|
] }) : /* @__PURE__ */ jsxRuntime.jsxs(salesFrontendDesignSystem.Table, { variant: "horizontal", children: [
|
|
1950
2003
|
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
1951
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$
|
|
1952
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$
|
|
1953
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$
|
|
2004
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$9("th-padding"), children: "\uC120\uD0DD" }),
|
|
2005
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$9("th-padding"), children: "\uAE30\uAD00\uCF54\uB4DC" }),
|
|
2006
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$9("th-padding"), children: "\uAE30\uAD00\uBA85" })
|
|
1954
2007
|
] }) }),
|
|
1955
|
-
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx("td", { colSpan: 3, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
2008
|
+
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx("td", { colSpan: 3, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$9("no-result"), children: [
|
|
1956
2009
|
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendAssets.IconGraphicsFeedbackEmpty, {}),
|
|
1957
2010
|
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "\uC870\uD68C \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4." }),
|
|
1958
2011
|
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "\uC785\uB825\uD55C \uC815\uBCF4\uB97C \uB2E4\uC2DC \uD655\uC778\uD574\uC8FC\uC138\uC694." })
|
|
@@ -1961,8 +2014,8 @@ function OrganizationSearchResult({
|
|
|
1961
2014
|
] });
|
|
1962
2015
|
}
|
|
1963
2016
|
|
|
1964
|
-
const { TextField: TextField$
|
|
1965
|
-
const cx$
|
|
2017
|
+
const { TextField: TextField$2 } = salesFrontendDesignSystem.FormField;
|
|
2018
|
+
const cx$8 = classNames.bind(styles$5);
|
|
1966
2019
|
function OrganizationSearch({
|
|
1967
2020
|
searchTerm,
|
|
1968
2021
|
setSearchTerm,
|
|
@@ -1979,30 +2032,30 @@ function OrganizationSearch({
|
|
|
1979
2032
|
setSearchInput("");
|
|
1980
2033
|
};
|
|
1981
2034
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1982
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$
|
|
1983
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
2035
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$8("search-section"), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$8("search-filters"), children: [
|
|
2036
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$8("search-filter-section"), children: [
|
|
1984
2037
|
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.FormField.Label, { className: "subtitle3 text-body-1", children: "\uAE30\uAD00\uBA85/\uCF54\uB4DC" }),
|
|
1985
2038
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1986
|
-
TextField$
|
|
2039
|
+
TextField$2,
|
|
1987
2040
|
{
|
|
1988
2041
|
value: searchInput,
|
|
1989
2042
|
onChange: (e) => setSearchInput(e.target.value),
|
|
1990
2043
|
size: "medium",
|
|
1991
2044
|
onKeyUp: (e) => e.key === "Enter" && handleSearch(),
|
|
1992
2045
|
rootProps: {
|
|
1993
|
-
className: cx$
|
|
2046
|
+
className: cx$8("search-input"),
|
|
1994
2047
|
clearable: true,
|
|
1995
2048
|
onClear: handleReset
|
|
1996
2049
|
}
|
|
1997
2050
|
}
|
|
1998
2051
|
)
|
|
1999
2052
|
] }),
|
|
2000
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
2053
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$8("search-buttons"), children: [
|
|
2001
2054
|
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Button, { appearance: "outline", size: "medium", variant: "secondary", onClick: handleReset, children: "\uCD08\uAE30\uD654" }),
|
|
2002
2055
|
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Button, { appearance: "filled", size: "medium", variant: "primary", onClick: handleSearch, children: "\uC870\uD68C" })
|
|
2003
2056
|
] })
|
|
2004
2057
|
] }) }),
|
|
2005
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$
|
|
2058
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$8("divider") }),
|
|
2006
2059
|
searchTerm && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2007
2060
|
OrganizationSearchResult,
|
|
2008
2061
|
{
|
|
@@ -2075,21 +2128,21 @@ const EMPLOYEE_SEARCH_TABS = [
|
|
|
2075
2128
|
{ value: "WKIS", label: "\uB0B4\uADFC" }
|
|
2076
2129
|
];
|
|
2077
2130
|
|
|
2078
|
-
const cx$
|
|
2131
|
+
const cx$7 = classNames.bind(styles$6);
|
|
2079
2132
|
function EmployeeSearchResult({ filteredEmployees, onEmployeeSelect }) {
|
|
2080
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
2081
|
-
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: cx$
|
|
2133
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$7("result-section"), children: [
|
|
2134
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: cx$7("result-title"), children: [
|
|
2082
2135
|
"\uCD1D ",
|
|
2083
2136
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary", children: filteredEmployees.length }),
|
|
2084
2137
|
"\uAC74\uC758 \uAC80\uC0C9\uACB0\uACFC"
|
|
2085
2138
|
] }),
|
|
2086
2139
|
filteredEmployees.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(salesFrontendDesignSystem.Table, { variant: "horizontal", children: [
|
|
2087
2140
|
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
2088
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$
|
|
2089
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$
|
|
2090
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$
|
|
2091
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$
|
|
2092
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$
|
|
2141
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$7("th-padding"), children: "\uC120\uD0DD" }),
|
|
2142
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$7("th-padding"), children: "\uC0AC\uC6D0\uBC88\uD638" }),
|
|
2143
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$7("th-padding"), children: "\uC0AC\uC6D0\uBA85" }),
|
|
2144
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$7("th-padding"), children: "\uC18C\uC18D\uAE30\uAD00\uBA85" }),
|
|
2145
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$7("th-padding"), children: "\uC0AC\uC6D0\uAD6C\uBD84" })
|
|
2093
2146
|
] }) }),
|
|
2094
2147
|
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: filteredEmployees.map((employee) => {
|
|
2095
2148
|
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
@@ -2112,13 +2165,13 @@ function EmployeeSearchResult({ filteredEmployees, onEmployeeSelect }) {
|
|
|
2112
2165
|
}) })
|
|
2113
2166
|
] }) : /* @__PURE__ */ jsxRuntime.jsxs(salesFrontendDesignSystem.Table, { variant: "horizontal", children: [
|
|
2114
2167
|
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
2115
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$
|
|
2116
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$
|
|
2117
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$
|
|
2118
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$
|
|
2119
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$
|
|
2168
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$7("th-padding"), children: "\uC120\uD0DD" }),
|
|
2169
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$7("th-padding"), children: "\uC0AC\uC6D0\uBC88\uD638" }),
|
|
2170
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$7("th-padding"), children: "\uC0AC\uC6D0\uBA85" }),
|
|
2171
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$7("th-padding"), children: "\uC18C\uC18D\uAE30\uAD00\uBA85" }),
|
|
2172
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$7("th-padding"), children: "\uC0AC\uC6D0\uAD6C\uBD84" })
|
|
2120
2173
|
] }) }),
|
|
2121
|
-
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx("td", { colSpan: 5, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
2174
|
+
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx("td", { colSpan: 5, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$7("no-result"), children: [
|
|
2122
2175
|
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendAssets.IconGraphicsFeedbackEmpty, {}),
|
|
2123
2176
|
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "\uC870\uD68C \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4." }),
|
|
2124
2177
|
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "\uC785\uB825\uD55C \uC815\uBCF4\uB97C \uB2E4\uC2DC \uD655\uC778\uD574\uC8FC\uC138\uC694." })
|
|
@@ -2127,8 +2180,8 @@ function EmployeeSearchResult({ filteredEmployees, onEmployeeSelect }) {
|
|
|
2127
2180
|
] });
|
|
2128
2181
|
}
|
|
2129
2182
|
|
|
2130
|
-
const { TextField } = salesFrontendDesignSystem.FormField;
|
|
2131
|
-
const cx$
|
|
2183
|
+
const { TextField: TextField$1 } = salesFrontendDesignSystem.FormField;
|
|
2184
|
+
const cx$6 = classNames.bind(styles$6);
|
|
2132
2185
|
function EmployeeSearch({
|
|
2133
2186
|
activeTab,
|
|
2134
2187
|
onTabChange,
|
|
@@ -2147,11 +2200,11 @@ function EmployeeSearch({
|
|
|
2147
2200
|
setSearchInput("");
|
|
2148
2201
|
};
|
|
2149
2202
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2150
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$
|
|
2151
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
2203
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$6("search-section"), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$6("search-filters"), children: [
|
|
2204
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$6("search-filter-section"), children: [
|
|
2152
2205
|
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.FormField.Label, { className: "subtitle3 text-body-1", children: "\uC131\uBA85/\uC0AC\uBC88" }),
|
|
2153
2206
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2154
|
-
TextField,
|
|
2207
|
+
TextField$1,
|
|
2155
2208
|
{
|
|
2156
2209
|
value: searchInput,
|
|
2157
2210
|
onChange: (e) => setSearchInput(e.target.value),
|
|
@@ -2165,7 +2218,7 @@ function EmployeeSearch({
|
|
|
2165
2218
|
}
|
|
2166
2219
|
)
|
|
2167
2220
|
] }),
|
|
2168
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
2221
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$6("search-filter-section"), children: [
|
|
2169
2222
|
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.FormField.Label, { className: "subtitle3 text-body-1", children: "\uC0AC\uC6D0 \uAD6C\uBD84" }),
|
|
2170
2223
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2171
2224
|
salesFrontendDesignSystem.Select,
|
|
@@ -2178,12 +2231,12 @@ function EmployeeSearch({
|
|
|
2178
2231
|
}
|
|
2179
2232
|
)
|
|
2180
2233
|
] }),
|
|
2181
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
2234
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$6("search-buttons"), children: [
|
|
2182
2235
|
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Button, { appearance: "outline", size: "medium", variant: "secondary", onClick: handleReset, children: "\uCD08\uAE30\uD654" }),
|
|
2183
2236
|
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Button, { appearance: "filled", size: "medium", variant: "primary", onClick: handleSearch, children: "\uC870\uD68C" })
|
|
2184
2237
|
] })
|
|
2185
2238
|
] }) }),
|
|
2186
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$
|
|
2239
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$6("divider") }),
|
|
2187
2240
|
searchTerm && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2188
2241
|
EmployeeSearchResult,
|
|
2189
2242
|
{
|
|
@@ -2259,20 +2312,20 @@ const EmployeeSearchModal = ({ isOpen, onClose, onSelect }) => {
|
|
|
2259
2312
|
] });
|
|
2260
2313
|
};
|
|
2261
2314
|
|
|
2262
|
-
const cx$
|
|
2315
|
+
const cx$5 = classNames.bind(styles$7);
|
|
2263
2316
|
const JobVehicleSearchGrade = ({ riskGrade, hospitalizationGrade }) => {
|
|
2264
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
2265
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
2317
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$5("grade-section"), children: [
|
|
2318
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$5("icon-title"), children: [
|
|
2266
2319
|
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendAssets.IconIllustGrade, {}),
|
|
2267
2320
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "typo-title5 text-body", children: "\uB4F1\uAE09" })
|
|
2268
2321
|
] }),
|
|
2269
2322
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "typo-body2 text-body_3", children: "\uC9C1\uC885, \uC6B4\uC804 \uC5EC\uBD80 \uC120\uD0DD\uC2DC \uC790\uB3D9\uC73C\uB85C \uC0B0\uC815\uB429\uB2C8\uB2E4." }),
|
|
2270
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
2271
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
2323
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$5("grade-list"), children: [
|
|
2324
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$5("grade"), children: [
|
|
2272
2325
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "\uC704\uD5D8\uB4F1\uAE09" }),
|
|
2273
2326
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary typo-subtitle3", children: riskGrade || "-" })
|
|
2274
2327
|
] }),
|
|
2275
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
2328
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$5("grade"), children: [
|
|
2276
2329
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "\uC785\uC6D0\uB4F1\uAE09" }),
|
|
2277
2330
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary typo-subtitle3", children: hospitalizationGrade || "-" })
|
|
2278
2331
|
] })
|
|
@@ -2280,34 +2333,42 @@ const JobVehicleSearchGrade = ({ riskGrade, hospitalizationGrade }) => {
|
|
|
2280
2333
|
] });
|
|
2281
2334
|
};
|
|
2282
2335
|
|
|
2283
|
-
const cx$
|
|
2284
|
-
function VehicleSearch({ vehicles, onVehicleSelect }) {
|
|
2285
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
2336
|
+
const cx$4 = classNames.bind(styles$8);
|
|
2337
|
+
function VehicleSearch({ vehicles, onVehicleSelect, selectedVehicle }) {
|
|
2338
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$4("vehicle-search-section"), children: [
|
|
2286
2339
|
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "\uC6B4\uC804 \uCC28\uC885" }),
|
|
2287
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2288
|
-
salesFrontendDesignSystem.Radio.
|
|
2340
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2341
|
+
salesFrontendDesignSystem.Radio.Root,
|
|
2289
2342
|
{
|
|
2290
|
-
|
|
2343
|
+
name: "vehicle-selection",
|
|
2291
2344
|
size: "small",
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
|
|
2300
|
-
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
|
|
2306
|
-
|
|
2307
|
-
|
|
2308
|
-
|
|
2309
|
-
|
|
2310
|
-
|
|
2345
|
+
className: cx$4("vehicle-radio-root"),
|
|
2346
|
+
defaultValue: selectedVehicle?.integrationCodeValue || "",
|
|
2347
|
+
children: vehicles.map((vehicle, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2348
|
+
salesFrontendDesignSystem.Radio.Item,
|
|
2349
|
+
{
|
|
2350
|
+
id: `item-${vehicle.integrationCodeValue}`,
|
|
2351
|
+
size: "small",
|
|
2352
|
+
value: vehicle.integrationCodeValue || "",
|
|
2353
|
+
onChange: (e) => {
|
|
2354
|
+
const { value } = e.target;
|
|
2355
|
+
const selected = vehicles.find((v) => v.integrationCodeValue === value);
|
|
2356
|
+
if (selected) {
|
|
2357
|
+
onVehicleSelect(selected);
|
|
2358
|
+
}
|
|
2359
|
+
},
|
|
2360
|
+
className: cx$4("item"),
|
|
2361
|
+
children: [
|
|
2362
|
+
vehicle.integrationCodeValueName,
|
|
2363
|
+
"(",
|
|
2364
|
+
vehicle.integrationCodeValue,
|
|
2365
|
+
")"
|
|
2366
|
+
]
|
|
2367
|
+
},
|
|
2368
|
+
`item-${vehicle.integrationCodeValue}-${index}`
|
|
2369
|
+
))
|
|
2370
|
+
}
|
|
2371
|
+
)
|
|
2311
2372
|
] });
|
|
2312
2373
|
}
|
|
2313
2374
|
|
|
@@ -2315,7 +2376,14 @@ const useVehicleSearch = () => {
|
|
|
2315
2376
|
const [selectedVehicle, setSelectedVehicle] = React.useState();
|
|
2316
2377
|
const { data } = method.useSearchVehicleQuery();
|
|
2317
2378
|
return {
|
|
2318
|
-
VehicleSearchComponent: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2379
|
+
VehicleSearchComponent: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2380
|
+
VehicleSearch,
|
|
2381
|
+
{
|
|
2382
|
+
vehicles: data?.data?.vehicleTypeList || [],
|
|
2383
|
+
onVehicleSelect: setSelectedVehicle,
|
|
2384
|
+
selectedVehicle
|
|
2385
|
+
}
|
|
2386
|
+
),
|
|
2319
2387
|
selectedVehicle,
|
|
2320
2388
|
setSelectedVehicle,
|
|
2321
2389
|
vehicleList: data
|
|
@@ -2326,14 +2394,33 @@ const useJobVehicleSearch = () => {
|
|
|
2326
2394
|
const [rightPanelView, setRightPanelView] = React.useState("jobSearch");
|
|
2327
2395
|
const [riskGrade, setRiskGrade] = React.useState("");
|
|
2328
2396
|
const [hospitalizationGrade, setHospitalizationGrade] = React.useState("");
|
|
2329
|
-
const { selectedJob, JobSearchComponent } = useJobSearchModal();
|
|
2330
|
-
const { selectedVehicle, VehicleSearchComponent } = useVehicleSearch();
|
|
2397
|
+
const { selectedJob, JobSearchComponent, selectedJobDetail, resetJobSearch, setSelectedJob } = useJobSearchModal();
|
|
2398
|
+
const { selectedVehicle, VehicleSearchComponent, setSelectedVehicle } = useVehicleSearch();
|
|
2399
|
+
const { data: riskGradeData } = method.useSearchRiskGradeQuery(
|
|
2400
|
+
{
|
|
2401
|
+
occupationIndustryCode: selectedJob?.occupationIndustryCode || "",
|
|
2402
|
+
vehicleTypeCode: selectedVehicle?.integrationCodeValue || ""
|
|
2403
|
+
},
|
|
2404
|
+
{
|
|
2405
|
+
enabled: !!selectedJob && !!selectedVehicle
|
|
2406
|
+
}
|
|
2407
|
+
);
|
|
2408
|
+
const reset = () => {
|
|
2409
|
+
setSelectedJob(null);
|
|
2410
|
+
resetJobSearch();
|
|
2411
|
+
setSelectedVehicle(void 0);
|
|
2412
|
+
setRiskGrade("");
|
|
2413
|
+
setHospitalizationGrade("");
|
|
2414
|
+
};
|
|
2331
2415
|
React.useEffect(() => {
|
|
2332
|
-
if (selectedJob && selectedVehicle) {
|
|
2333
|
-
|
|
2334
|
-
|
|
2416
|
+
if (selectedJob && selectedVehicle && riskGradeData) {
|
|
2417
|
+
const { riskGradeCode, riskGradeName } = riskGradeData.data;
|
|
2418
|
+
setRiskGrade(`${riskGradeName}(${riskGradeCode})`);
|
|
2419
|
+
setHospitalizationGrade(
|
|
2420
|
+
`${selectedJobDetail?.hospitalizationGradeCodeName}(${selectedJobDetail?.hospitalizationGradeCode})`
|
|
2421
|
+
);
|
|
2335
2422
|
}
|
|
2336
|
-
}, [selectedJob, selectedVehicle]);
|
|
2423
|
+
}, [selectedJob, selectedVehicle, riskGradeData, selectedJobDetail]);
|
|
2337
2424
|
return {
|
|
2338
2425
|
selectedVehicle,
|
|
2339
2426
|
rightPanelView,
|
|
@@ -2342,11 +2429,12 @@ const useJobVehicleSearch = () => {
|
|
|
2342
2429
|
JobSearch: JobSearchComponent,
|
|
2343
2430
|
VehicleSearch: VehicleSearchComponent,
|
|
2344
2431
|
riskGrade,
|
|
2345
|
-
hospitalizationGrade
|
|
2432
|
+
hospitalizationGrade,
|
|
2433
|
+
resetJobVehicleSearch: reset
|
|
2346
2434
|
};
|
|
2347
2435
|
};
|
|
2348
2436
|
|
|
2349
|
-
const cx$
|
|
2437
|
+
const cx$3 = classNames.bind(styles$7);
|
|
2350
2438
|
function useJobVehicleSearchModal() {
|
|
2351
2439
|
const {
|
|
2352
2440
|
selectedVehicle,
|
|
@@ -2356,11 +2444,11 @@ function useJobVehicleSearchModal() {
|
|
|
2356
2444
|
JobSearch,
|
|
2357
2445
|
VehicleSearch,
|
|
2358
2446
|
riskGrade,
|
|
2359
|
-
hospitalizationGrade
|
|
2447
|
+
hospitalizationGrade,
|
|
2448
|
+
resetJobVehicleSearch
|
|
2360
2449
|
} = useJobVehicleSearch();
|
|
2361
2450
|
const { isOpen, openModal, closeModal } = salesFrontendDesignSystem.useModalState({ initialValue: true });
|
|
2362
2451
|
const validate = () => {
|
|
2363
|
-
console.log({ selectedJob, selectedVehicle });
|
|
2364
2452
|
if (!selectedJob && !selectedVehicle) {
|
|
2365
2453
|
return salesFrontendDesignSystem.ModalUtils.alert(
|
|
2366
2454
|
"\uC9C1\uC885\uACFC \uC6B4\uC804 \uC5EC\uBD80\xB7\uCC28\uC885\uC744 \uBAA8\uB450 \uC120\uD0DD\uD574\uC57C \uB4F1\uAE09 \uC0B0\uC815\uC774 \uAC00\uB2A5\uD569\uB2C8\uB2E4.",
|
|
@@ -2382,28 +2470,32 @@ function useJobVehicleSearchModal() {
|
|
|
2382
2470
|
}
|
|
2383
2471
|
closeModal();
|
|
2384
2472
|
};
|
|
2473
|
+
const openInitModal = () => {
|
|
2474
|
+
resetJobVehicleSearch();
|
|
2475
|
+
openModal();
|
|
2476
|
+
};
|
|
2385
2477
|
return {
|
|
2386
2478
|
selectedJob,
|
|
2387
2479
|
selectedVehicle,
|
|
2388
2480
|
riskGrade,
|
|
2389
2481
|
hospitalizationGrade,
|
|
2390
|
-
openJobVehicleModal:
|
|
2482
|
+
openJobVehicleModal: openInitModal,
|
|
2391
2483
|
JobVehicleSearchModalComponent: /* @__PURE__ */ jsxRuntime.jsxs(salesFrontendDesignSystem.Modal.Root, { isOpen, onClose: closeModal, modalSize: "xlarge", children: [
|
|
2392
2484
|
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Modal.Overlay, {}),
|
|
2393
2485
|
/* @__PURE__ */ jsxRuntime.jsxs(salesFrontendDesignSystem.Modal.Content, { style: { height: "697px" }, children: [
|
|
2394
2486
|
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Modal.Header, { headerTitle: "\uC9C1\uC885\xB7\uC6B4\uC804\uCC28\uC885 \uAC80\uC0C9", showCloseButton: true }),
|
|
2395
|
-
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Modal.Body, { className: cx$
|
|
2396
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
2397
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
2487
|
+
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Modal.Body, { className: cx$3("job-vehicle-search-modal"), raw: true, children: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2488
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$3("left-panel"), children: [
|
|
2489
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$3("card-section"), children: [
|
|
2398
2490
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2399
2491
|
"div",
|
|
2400
2492
|
{
|
|
2401
|
-
className: cx$
|
|
2493
|
+
className: cx$3("card-menu", { "card-selected": rightPanelView === "jobSearch" }),
|
|
2402
2494
|
onClick: () => setRightPanelView("jobSearch"),
|
|
2403
2495
|
children: [
|
|
2404
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
2405
|
-
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendAssets.IconIllustJob, { className: cx$
|
|
2406
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: cx$
|
|
2496
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$3("card-title"), children: [
|
|
2497
|
+
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendAssets.IconIllustJob, { className: cx$3("card-icon") }),
|
|
2498
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: cx$3("card-text", "typo-title5", "text-body"), children: "\uC9C1\uC885" }),
|
|
2407
2499
|
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendAssets.IconSubUiArrowRight, {})
|
|
2408
2500
|
] }),
|
|
2409
2501
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "typo-body2 text-body_2", children: selectedJob ? selectedJob.occupationIndustryName : "\uBBF8\uC120\uD0DD" })
|
|
@@ -2413,12 +2505,12 @@ function useJobVehicleSearchModal() {
|
|
|
2413
2505
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2414
2506
|
"div",
|
|
2415
2507
|
{
|
|
2416
|
-
className: cx$
|
|
2508
|
+
className: cx$3("card-menu", { "card-selected": rightPanelView === "vehicleSelection" }),
|
|
2417
2509
|
onClick: () => setRightPanelView("vehicleSelection"),
|
|
2418
2510
|
children: [
|
|
2419
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$
|
|
2420
|
-
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendAssets.IconIllustVehicle, { className: cx$
|
|
2421
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: cx$
|
|
2511
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$3("card-title"), children: [
|
|
2512
|
+
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendAssets.IconIllustVehicle, { className: cx$3("card-icon") }),
|
|
2513
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: cx$3("card-text", "typo-title5", "text-body"), children: "\uC6B4\uC804 \uC5EC\uBD80\xB7\uCC28\uC885" }),
|
|
2422
2514
|
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendAssets.IconSubUiArrowRight, {})
|
|
2423
2515
|
] }),
|
|
2424
2516
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "typo-body2 text-body_2", children: [
|
|
@@ -2431,7 +2523,7 @@ function useJobVehicleSearchModal() {
|
|
|
2431
2523
|
] }),
|
|
2432
2524
|
/* @__PURE__ */ jsxRuntime.jsx(JobVehicleSearchGrade, { riskGrade, hospitalizationGrade })
|
|
2433
2525
|
] }),
|
|
2434
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$
|
|
2526
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$3("right-panel"), children: rightPanelView === "jobSearch" ? JobSearch : VehicleSearch })
|
|
2435
2527
|
] }) }),
|
|
2436
2528
|
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Modal.Footer, { style: { marginTop: 0 }, children: /* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Button, { variant: "primary", size: "medium", appearance: "filled", width: "full", onClick: validate, children: "\uD655\uC778" }) })
|
|
2437
2529
|
] })
|
|
@@ -2439,14 +2531,197 @@ function useJobVehicleSearchModal() {
|
|
|
2439
2531
|
};
|
|
2440
2532
|
}
|
|
2441
2533
|
|
|
2442
|
-
const
|
|
2443
|
-
|
|
2444
|
-
|
|
2534
|
+
const cx$2 = classNames.bind(styles$9);
|
|
2535
|
+
function DeaCustomerSearchResult({
|
|
2536
|
+
customerList,
|
|
2537
|
+
onCustomerSelect,
|
|
2538
|
+
selectedCustomer
|
|
2539
|
+
}) {
|
|
2540
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$2("result-section"), children: [
|
|
2541
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: cx$2("result-title"), children: [
|
|
2542
|
+
"\uCD1D ",
|
|
2543
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary", children: customerList.length }),
|
|
2544
|
+
"\uAC74\uC758 \uAC80\uC0C9\uACB0\uACFC"
|
|
2545
|
+
] }),
|
|
2546
|
+
/* @__PURE__ */ jsxRuntime.jsxs(salesFrontendDesignSystem.Table, { variant: "horizontal", children: [
|
|
2547
|
+
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
2548
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$2("th-padding"), children: "\uC120\uD0DD" }),
|
|
2549
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$2("th-padding"), children: "\uACE0\uAC1DID" }),
|
|
2550
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$2("th-padding"), children: "\uACE0\uAC1D\uBA85" }),
|
|
2551
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$2("th-padding"), children: "\uC8FC\uBBFC\uB4F1\uB85D\uBC88\uD638" }),
|
|
2552
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$2("th-padding"), children: "\uC9C1\uC885\uC5C5\uC885\uBA85" }),
|
|
2553
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$2("th-padding"), children: "\uC804\uD654\uBC88\uD638" }),
|
|
2554
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$2("th-padding"), children: "\uC8FC\uC18C" })
|
|
2555
|
+
] }) }),
|
|
2556
|
+
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: customerList.length > 0 ? customerList.map((customer) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
2557
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2558
|
+
"input",
|
|
2559
|
+
{
|
|
2560
|
+
type: "radio",
|
|
2561
|
+
name: "customer",
|
|
2562
|
+
value: customer.customerId || "",
|
|
2563
|
+
checked: selectedCustomer?.customerId === customer.customerId,
|
|
2564
|
+
onChange: () => onCustomerSelect(customer)
|
|
2565
|
+
}
|
|
2566
|
+
) }),
|
|
2567
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { children: customer.customerId }),
|
|
2568
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { children: customer.customerName }),
|
|
2569
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { children: customer.residentNumber }),
|
|
2570
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { children: customer.occupationKindName }),
|
|
2571
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { children: customer.mobilePhoneNumber }),
|
|
2572
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { children: customer.address })
|
|
2573
|
+
] }, customer.customerId)) : /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx("td", { colSpan: 7, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$2("no-result"), children: [
|
|
2574
|
+
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendAssets.IconGraphicsFeedbackEmpty, {}),
|
|
2575
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "\uC870\uD68C \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4." }),
|
|
2576
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "\uC785\uB825\uD55C \uC815\uBCF4\uB97C \uB2E4\uC2DC \uD655\uC778\uD574\uC8FC\uC138\uC694." })
|
|
2577
|
+
] }) }) }) })
|
|
2578
|
+
] })
|
|
2579
|
+
] });
|
|
2580
|
+
}
|
|
2581
|
+
|
|
2582
|
+
const { TextField } = salesFrontendDesignSystem.FormField;
|
|
2583
|
+
const cx$1 = classNames.bind(styles$9);
|
|
2584
|
+
function DeaCustomerSearch({
|
|
2585
|
+
setSearchParams,
|
|
2586
|
+
customerList,
|
|
2587
|
+
onCustomerSelect,
|
|
2588
|
+
selectedCustomer
|
|
2589
|
+
}) {
|
|
2590
|
+
const [residentNumber1, setResidentNumber1] = React.useState("");
|
|
2591
|
+
const [residentNumber2, setResidentNumber2] = React.useState("");
|
|
2592
|
+
const handleSearch = () => {
|
|
2593
|
+
setSearchParams({ residentNumber: `${residentNumber1}${residentNumber2}` });
|
|
2594
|
+
};
|
|
2595
|
+
const handleReset = () => {
|
|
2596
|
+
setResidentNumber1("");
|
|
2597
|
+
setResidentNumber2("");
|
|
2598
|
+
setSearchParams({});
|
|
2599
|
+
};
|
|
2600
|
+
const onKeyUp = (e) => {
|
|
2601
|
+
e.key === "Enter" && handleSearch();
|
|
2602
|
+
};
|
|
2603
|
+
const onKeyDown = (e) => {
|
|
2604
|
+
if (!(e.key === "Backspace" || !isNaN(parseInt(e.key)))) {
|
|
2605
|
+
e.preventDefault();
|
|
2606
|
+
}
|
|
2607
|
+
};
|
|
2608
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2609
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$1("search-section"), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$1("search-filters"), children: [
|
|
2610
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$1("search-filter-section"), children: [
|
|
2611
|
+
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.FormField.Label, { className: "subtitle3 text-body-1", children: "\uACE0\uAC1D \uAD6C\uBD84" }),
|
|
2612
|
+
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Select, { value: "personal", placeholder: "\uAC1C\uC778", disabled: true, style: { width: "100px" }, children: /* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Select.Option, { value: "personal", children: "\uAC1C\uC778" }) }),
|
|
2613
|
+
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.FormField.Label, { className: "subtitle3 text-body-1", children: "\uC8FC\uBBFC\uB4F1\uB85D\uBC88\uD638" }),
|
|
2614
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2615
|
+
TextField,
|
|
2616
|
+
{
|
|
2617
|
+
value: residentNumber1,
|
|
2618
|
+
maxLength: 6,
|
|
2619
|
+
placeholder: "\uC55E 6\uC790\uB9AC \uC785\uB825",
|
|
2620
|
+
onChange: (e) => setResidentNumber1(e.target.value),
|
|
2621
|
+
size: "medium",
|
|
2622
|
+
onKeyUp,
|
|
2623
|
+
onKeyDown,
|
|
2624
|
+
rootProps: {
|
|
2625
|
+
className: cx$1("search-input"),
|
|
2626
|
+
onClear: () => {
|
|
2627
|
+
setResidentNumber1("");
|
|
2628
|
+
}
|
|
2629
|
+
}
|
|
2630
|
+
}
|
|
2631
|
+
),
|
|
2632
|
+
"-",
|
|
2633
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2634
|
+
TextField,
|
|
2635
|
+
{
|
|
2636
|
+
value: residentNumber2,
|
|
2637
|
+
maxLength: 7,
|
|
2638
|
+
placeholder: "\uB4A4 7\uC790\uB9AC \uC785\uB825",
|
|
2639
|
+
onChange: (e) => setResidentNumber2(e.target.value),
|
|
2640
|
+
size: "medium",
|
|
2641
|
+
onKeyDown,
|
|
2642
|
+
onKeyUp,
|
|
2643
|
+
rootProps: {
|
|
2644
|
+
className: cx$1("search-input"),
|
|
2645
|
+
onClear: () => {
|
|
2646
|
+
setResidentNumber2("");
|
|
2647
|
+
}
|
|
2648
|
+
}
|
|
2649
|
+
}
|
|
2650
|
+
)
|
|
2651
|
+
] }),
|
|
2652
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$1("search-buttons"), children: [
|
|
2653
|
+
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Button, { appearance: "outline", size: "medium", variant: "secondary", onClick: handleReset, children: "\uCD08\uAE30\uD654" }),
|
|
2654
|
+
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Button, { appearance: "filled", size: "medium", variant: "primary", onClick: handleSearch, children: "\uC870\uD68C" })
|
|
2655
|
+
] })
|
|
2656
|
+
] }) }),
|
|
2657
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$1("divider") }),
|
|
2658
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2659
|
+
DeaCustomerSearchResult,
|
|
2660
|
+
{
|
|
2661
|
+
customerList,
|
|
2662
|
+
onCustomerSelect,
|
|
2663
|
+
selectedCustomer
|
|
2664
|
+
}
|
|
2665
|
+
)
|
|
2666
|
+
] });
|
|
2667
|
+
}
|
|
2668
|
+
|
|
2669
|
+
const DeaCustomerSearchModal = ({ isOpen, onClose, onSave }) => {
|
|
2670
|
+
const [selectedCustomer, setSelectedCustomer] = React.useState(null);
|
|
2671
|
+
const [searchParams, setSearchParams] = React.useState({});
|
|
2672
|
+
const canSearch = React.useMemo(() => !!(searchParams.customerName || searchParams.residentNumber), [searchParams]);
|
|
2673
|
+
const { data, isFetching } = reactQuery.useQuery({
|
|
2674
|
+
queryKey: ["deaCustomerSearch", searchParams],
|
|
2675
|
+
queryFn: () => method.getDspCustomerListMethod(searchParams),
|
|
2676
|
+
enabled: canSearch,
|
|
2677
|
+
retry: false
|
|
2678
|
+
});
|
|
2679
|
+
const [customerList, setCustomerList] = React.useState([]);
|
|
2680
|
+
React.useEffect(() => {
|
|
2681
|
+
if (data?.data) {
|
|
2682
|
+
setCustomerList(data.data);
|
|
2683
|
+
} else {
|
|
2684
|
+
setCustomerList([]);
|
|
2685
|
+
}
|
|
2686
|
+
}, [data]);
|
|
2687
|
+
React.useEffect(() => {
|
|
2688
|
+
setSelectedCustomer(null);
|
|
2689
|
+
}, [customerList]);
|
|
2690
|
+
const handleCustomerSelect = (customer) => {
|
|
2691
|
+
setSelectedCustomer(customer);
|
|
2692
|
+
};
|
|
2693
|
+
const handleSave = () => {
|
|
2694
|
+
if (selectedCustomer) {
|
|
2695
|
+
onSave(selectedCustomer);
|
|
2696
|
+
onClose();
|
|
2697
|
+
}
|
|
2698
|
+
};
|
|
2699
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(salesFrontendDesignSystem.Modal.Root, { isOpen, onClose, modalSize: "xlarge", children: [
|
|
2445
2700
|
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Modal.Overlay, {}),
|
|
2446
2701
|
/* @__PURE__ */ jsxRuntime.jsxs(salesFrontendDesignSystem.Modal.Content, { style: { height: "697px" }, children: [
|
|
2447
|
-
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Modal.Header, { headerTitle: "\
|
|
2448
|
-
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Modal.Body, {
|
|
2449
|
-
|
|
2702
|
+
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Modal.Header, { headerTitle: "\uACE0\uAC1D \uAC80\uC0C9", showCloseButton: true }),
|
|
2703
|
+
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Modal.Body, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2704
|
+
DeaCustomerSearch,
|
|
2705
|
+
{
|
|
2706
|
+
setSearchParams,
|
|
2707
|
+
customerList,
|
|
2708
|
+
onCustomerSelect: handleCustomerSelect,
|
|
2709
|
+
selectedCustomer,
|
|
2710
|
+
isLoading: isFetching
|
|
2711
|
+
}
|
|
2712
|
+
) }),
|
|
2713
|
+
/* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Modal.Footer, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2714
|
+
salesFrontendDesignSystem.Button,
|
|
2715
|
+
{
|
|
2716
|
+
variant: "primary",
|
|
2717
|
+
size: "medium",
|
|
2718
|
+
appearance: "filled",
|
|
2719
|
+
width: "full",
|
|
2720
|
+
onClick: handleSave,
|
|
2721
|
+
disabled: !selectedCustomer,
|
|
2722
|
+
children: "\uC800\uC7A5\uD558\uAE30"
|
|
2723
|
+
}
|
|
2724
|
+
) })
|
|
2450
2725
|
] })
|
|
2451
2726
|
] });
|
|
2452
2727
|
};
|
|
@@ -2521,7 +2796,7 @@ const useCustomerSearch = (onSelect) => {
|
|
|
2521
2796
|
};
|
|
2522
2797
|
};
|
|
2523
2798
|
|
|
2524
|
-
const cx = classNames.bind(styles$
|
|
2799
|
+
const cx = classNames.bind(styles$a);
|
|
2525
2800
|
const highlightOnSearchKeyword = (originalText, targetString) => {
|
|
2526
2801
|
if (!targetString || !originalText?.includes(targetString)) {
|
|
2527
2802
|
return originalText;
|
|
@@ -2793,6 +3068,7 @@ const useRemoteIdentityVerificationPopup = (config) => {
|
|
|
2793
3068
|
exports.Attachment = Attachment;
|
|
2794
3069
|
exports.BankStockSearchModal = BankStockSearchModal;
|
|
2795
3070
|
exports.CustomerSearch = CustomerSearch;
|
|
3071
|
+
exports.DeaCustomerSearchModal = DeaCustomerSearchModal;
|
|
2796
3072
|
exports.EmployeeSearchModal = EmployeeSearchModal;
|
|
2797
3073
|
exports.FormCheckbox = FormCheckbox;
|
|
2798
3074
|
exports.FormCheckboxButton = FormCheckboxButton;
|
|
@@ -2802,7 +3078,6 @@ exports.FormSearchJobField = FormSearchJobField;
|
|
|
2802
3078
|
exports.FormSegmentGroup = FormSegmentGroup;
|
|
2803
3079
|
exports.FormSelect = FormSelect;
|
|
2804
3080
|
exports.FormTextField = FormTextField;
|
|
2805
|
-
exports.JobSearchModal = JobSearchModal;
|
|
2806
3081
|
exports.OrganizationSearchModal = OrganizationSearchModal;
|
|
2807
3082
|
exports.StepIndicator = StepIndicator;
|
|
2808
3083
|
exports.resize = resize;
|
|
@@ -2811,6 +3086,7 @@ exports.useAddressComponent = useAddressComponent;
|
|
|
2811
3086
|
exports.useBankStockSearch = useBankStockSearch;
|
|
2812
3087
|
exports.useCamera = useCamera;
|
|
2813
3088
|
exports.useCanvasPaint = useCanvasPaint;
|
|
3089
|
+
exports.useJobSearchModal = useJobSearchModal;
|
|
2814
3090
|
exports.useJobVehicleSearchModal = useJobVehicleSearchModal;
|
|
2815
3091
|
exports.useRemoteIdentityVerification = useRemoteIdentityVerification;
|
|
2816
3092
|
exports.useRemoteIdentityVerificationIframe = useRemoteIdentityVerificationIframe;
|