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 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 styles$9 = require('./modal/standard/customer-search/customer-search.module.scss');
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({ name, control, disabled, defaultValue });
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
- }, [defaultValue]);
106
- React.useEffect(() => {
107
- if (selected && field.value.startDate.getTime() === selected.startDate?.getTime() && field.value.endDate.getTime() === selected.endDate?.getTime()) {
108
- return;
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$d = classNames.bind(styles);
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$d("popular-jobs"), children: [
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$d("job-radio-root"), children: filteredJobs.map((job, index) => /* @__PURE__ */ jsxRuntime.jsxs(
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$d("accordion-item"),
357
+ className: cx$f("accordion-item"),
363
358
  children: [
364
- /* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Accordion.HeaderDiv, { className: cx$d("accordion-header-item"), children: /* @__PURE__ */ jsxRuntime.jsxs(
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$d("radio-item"),
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$c = classNames.bind(styles);
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$c("popular-jobs"), children: [
396
- /* @__PURE__ */ jsxRuntime.jsxs("p", { className: cx$c("result-title"), children: [
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$c("job-radio-root"), children: filteredJobs.map((job) => /* @__PURE__ */ jsxRuntime.jsxs(
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$2 } = salesFrontendDesignSystem.FormField;
438
- const cx$b = classNames.bind(styles);
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$b("favorite-jobs-section"), children: [
471
+ activeTab === "jobName" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$d("favorite-jobs-section"), children: [
476
472
  /* @__PURE__ */ jsxRuntime.jsx(
477
- TextField$2,
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$b("select-jobs-section"), children: [
498
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$b("category-section"), children: [
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.useSearchOccupationQuery({
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
- setSearchTerm("");
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(salesFrontendDesignSystem.Button, { variant: "primary", size: "medium", appearance: "filled", width: "full", onClick: closeModal, children: "\uD655\uC778" }) })
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: openModal,
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$a = classNames.bind(styles$1);
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$a("stepper-layout", { loading: isLoading }), children: [
916
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$a("stepper"), children: steps.map((item, idx) => /* @__PURE__ */ jsxRuntime.jsxs(React.Fragment, { children: [
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$a(
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$a("completed-icon") }) : idx + 1
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$a("dot") }, `dot-${idx}-${dotIdx}`))
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$a("step-labels"), children: steps.map((item, idx) => /* @__PURE__ */ jsxRuntime.jsx(
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$a(
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$9 = classNames.bind(styles$2);
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$9("single-photo-item", "add-photo-item"), children: /* @__PURE__ */ jsxRuntime.jsxs("button", { className: cx$9("add-photo-button-single"), onClick: handleAddPhoto, children: [
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$9("single-photo-item"), children: [
969
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$9("photo-placeholder"), children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: photo.src, alt: photo.name, className: cx$9("photo-image") }) }),
970
- /* @__PURE__ */ jsxRuntime.jsx("button", { className: cx$9("remove-button"), onClick: () => handleRemovePhoto(photo.id), "aria-label": "\uC0AC\uC9C4 \uC0AD\uC81C", children: "\xD7" })
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$9("photo-item", "add-photo-item"), children: /* @__PURE__ */ jsxRuntime.jsxs("button", { className: cx$9("add-photo-button"), onClick: handleAddPhoto, children: [
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$9("photo-count"), children: [
1017
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cx$b("photo-count"), children: [
982
1018
  "(",
983
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: cx$9("photo-count-number"), children: photos.length }),
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$9("photo-item"), children: [
994
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$9("photo-placeholder"), children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: photo.src, alt: photo.name, className: cx$9("photo-image") }) }),
995
- /* @__PURE__ */ jsxRuntime.jsx("button", { className: cx$9("remove-button"), onClick: () => handleRemovePhoto(photo.id), "aria-label": "\uC0AC\uC9C4 \uC0AD\uC81C", children: "\xD7" })
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$9("photo-single"), children: renderPhotoSingle() });
1042
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$b("photo-single"), children: renderPhotoSingle() });
1007
1043
  }
1008
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$9("photo-grid", { linear: type === "linear" }), children: renderPhotoGrid() });
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$8 = classNames.bind(styles$3);
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$8("search-result-list"), children: [
1459
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: cx$8("guide-title"), children: "\uC774\uB807\uAC8C \uAC80\uC0C9\uD574 \uBCF4\uC138\uC694." }),
1460
- /* @__PURE__ */ jsxRuntime.jsxs("ul", { className: cx$8("guide"), children: [
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$8("search-result-list"), children: [
1477
- /* @__PURE__ */ jsxRuntime.jsxs("p", { className: cx$8("guide-title"), children: [
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$8("search-result"), children: [
1490
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$8("zipcode"), children: highlightOnSearchKeyword$1(`${item.firstPostalCode}${item.secondPostalCode}`, searchKeyword) }),
1491
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$8("divider") }),
1492
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$8("address-info"), children: [
1493
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: cx$8("address"), children: highlightOnSearchKeyword$1(
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$8("old-address"), children: highlightOnSearchKeyword$1(
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$8("radio-group"),
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
- addressStandardizationList,
1557
+ selectedStandardizationAddress,
1522
1558
  onDetailChange,
1523
- onStandardizationChange,
1524
1559
  step,
1560
+ onStandardizationChange,
1525
1561
  detailAddressInput
1526
1562
  }) => {
1527
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$8("search-result-list"), children: [
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.RadioGroup,
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
- onChange: onStandardizationChange
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
- addressStandardizationList
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
- addressStandardizationList,
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$7 = classNames.bind(styles$5);
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$7("result-section"), children: [
1923
- /* @__PURE__ */ jsxRuntime.jsxs("p", { className: cx$7("result-title"), children: [
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$7("th-padding"), children: "\uC120\uD0DD" }),
1931
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$7("th-padding"), children: "\uAE30\uAD00\uCF54\uB4DC" }),
1932
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$7("th-padding"), children: "\uAE30\uAD00\uBA85" })
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$7("th-padding"), children: "\uC120\uD0DD" }),
1952
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$7("th-padding"), children: "\uAE30\uAD00\uCF54\uB4DC" }),
1953
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$7("th-padding"), children: "\uAE30\uAD00\uBA85" })
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$7("no-result"), children: [
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$1 } = salesFrontendDesignSystem.FormField;
1965
- const cx$6 = classNames.bind(styles$5);
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$6("search-section"), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$6("search-filters"), children: [
1983
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$6("search-filter-section"), children: [
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$1,
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$6("search-input"),
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$6("search-buttons"), children: [
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$6("divider") }),
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$5 = classNames.bind(styles$6);
2131
+ const cx$7 = classNames.bind(styles$6);
2079
2132
  function EmployeeSearchResult({ filteredEmployees, onEmployeeSelect }) {
2080
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$5("result-section"), children: [
2081
- /* @__PURE__ */ jsxRuntime.jsxs("p", { className: cx$5("result-title"), children: [
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$5("th-padding"), children: "\uC120\uD0DD" }),
2089
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$5("th-padding"), children: "\uC0AC\uC6D0\uBC88\uD638" }),
2090
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$5("th-padding"), children: "\uC0AC\uC6D0\uBA85" }),
2091
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$5("th-padding"), children: "\uC18C\uC18D\uAE30\uAD00\uBA85" }),
2092
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$5("th-padding"), children: "\uC0AC\uC6D0\uAD6C\uBD84" })
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$5("th-padding"), children: "\uC120\uD0DD" }),
2116
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$5("th-padding"), children: "\uC0AC\uC6D0\uBC88\uD638" }),
2117
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$5("th-padding"), children: "\uC0AC\uC6D0\uBA85" }),
2118
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$5("th-padding"), children: "\uC18C\uC18D\uAE30\uAD00\uBA85" }),
2119
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: cx$5("th-padding"), children: "\uC0AC\uC6D0\uAD6C\uBD84" })
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$5("no-result"), children: [
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$4 = classNames.bind(styles$6);
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$4("search-section"), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$4("search-filters"), children: [
2151
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$4("search-filter-section"), children: [
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$4("search-filter-section"), children: [
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$4("search-buttons"), children: [
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$4("divider") }),
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$3 = classNames.bind(styles$7);
2315
+ const cx$5 = classNames.bind(styles$7);
2263
2316
  const JobVehicleSearchGrade = ({ riskGrade, hospitalizationGrade }) => {
2264
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$3("grade-section"), children: [
2265
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$3("icon-title"), children: [
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$3("grade-list"), children: [
2271
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$3("grade"), children: [
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$3("grade"), children: [
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$2 = classNames.bind(styles$8);
2284
- function VehicleSearch({ vehicles, onVehicleSelect }) {
2285
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$2("vehicle-search-section"), children: [
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(salesFrontendDesignSystem.Radio.Root, { name: "vehicle-selection", size: "small", className: cx$2("vehicle-radio-root"), children: vehicles.map((vehicle, index) => /* @__PURE__ */ jsxRuntime.jsxs(
2288
- salesFrontendDesignSystem.Radio.Item,
2340
+ /* @__PURE__ */ jsxRuntime.jsx(
2341
+ salesFrontendDesignSystem.Radio.Root,
2289
2342
  {
2290
- id: `item-${vehicle.integrationCodeValue}`,
2343
+ name: "vehicle-selection",
2291
2344
  size: "small",
2292
- value: vehicle.integrationCodeValue || "",
2293
- onChange: (e) => {
2294
- const { value } = e.target;
2295
- console.log(e.target.value);
2296
- const selected = vehicles.find((v) => v.integrationCodeValue === value);
2297
- if (selected) {
2298
- onVehicleSelect(selected);
2299
- }
2300
- },
2301
- className: cx$2("item"),
2302
- children: [
2303
- vehicle.integrationCodeValueName,
2304
- "(",
2305
- vehicle.integrationCodeValue,
2306
- ")"
2307
- ]
2308
- },
2309
- `item-${vehicle.integrationCodeValue}-${index}`
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(VehicleSearch, { vehicles: data?.data?.vehicleTypeList || [], onVehicleSelect: setSelectedVehicle }),
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
- setRiskGrade("\uC77C\uBC18(\uBE44\uC704\uD5D8\uC9C1)(0)");
2334
- setHospitalizationGrade("\uC77C\uBC18\uC785\uC6D0(\uBE44\uC704\uD5D8\uC9C1)(0)");
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$1 = classNames.bind(styles$7);
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: openModal,
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$1("job-vehicle-search-modal"), raw: true, children: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2396
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$1("left-panel"), children: [
2397
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$1("card-section"), children: [
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$1("card-menu", { "card-selected": rightPanelView === "jobSearch" }),
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$1("card-title"), children: [
2405
- /* @__PURE__ */ jsxRuntime.jsx(salesFrontendAssets.IconIllustJob, { className: cx$1("card-icon") }),
2406
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: cx$1("card-text", "typo-title5", "text-body"), children: "\uC9C1\uC885" }),
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$1("card-menu", { "card-selected": rightPanelView === "vehicleSelection" }),
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$1("card-title"), children: [
2420
- /* @__PURE__ */ jsxRuntime.jsx(salesFrontendAssets.IconIllustVehicle, { className: cx$1("card-icon") }),
2421
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: cx$1("card-text", "typo-title5", "text-body"), children: "\uC6B4\uC804 \uC5EC\uBD80\xB7\uCC28\uC885" }),
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$1("right-panel"), children: rightPanelView === "jobSearch" ? JobSearch : VehicleSearch })
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 JobSearchModal = ({ onClose }) => {
2443
- const { JobSearchComponent } = useJobSearchModal();
2444
- return /* @__PURE__ */ jsxRuntime.jsxs(salesFrontendDesignSystem.Modal.Root, { isOpen: true, onClose, modalSize: "xlarge", children: [
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: "\uC9C1\uC885 \uAC80\uC0C9", showCloseButton: true }),
2448
- /* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Modal.Body, { raw: true, children: JobSearchComponent }),
2449
- /* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Modal.Footer, { children: /* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Button, { variant: "primary", size: "medium", appearance: "filled", width: "full", onClick: onClose, children: "\uD655\uC778" }) })
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$9);
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;