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