sales-frontend-components 0.0.79 → 0.0.81

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.d.ts CHANGED
@@ -2,7 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { FieldValues, UseControllerProps } from 'react-hook-form';
3
3
  import { CheckboxButtonProps, CheckboxProps, DatePickerSingleHtmlProps, DatePickerRangeHtmlProps, FormField, SegmentGroupHtmlProps, SelectProps, OptionProps } from 'sales-frontend-design-system';
4
4
  import * as sales_frontend_api_method from 'sales-frontend-api/method';
5
- import { OccupationResponseDto, Address, OrganizationProfileResponse, EmployeeProfileResponseDto, Pagination } from 'sales-frontend-api/method';
5
+ import { OccupationResponseDto, AddressStandardizationResponseDto, AddressResponseDto, OrganizationProfileResponse, EmployeeProfileResponseDto, CustomerSearchProps } from 'sales-frontend-api/method';
6
6
  import * as React$1 from 'react';
7
7
  import React__default from 'react';
8
8
 
@@ -176,23 +176,26 @@ declare function useCanvasPaint(paintProps?: PaintProps): {
176
176
  */
177
177
  declare const testSignatureBase64Data = "data:image/png;base64,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";
178
178
 
179
- interface FullAddress extends Address {
180
- detail: string;
181
- }
182
179
  type Step = 'initial' | 'search-result' | 'detail-input';
180
+ interface AddressComponentProps extends AddressStandardizationResponseDto {
181
+ detailAddressInput: string;
182
+ }
183
183
 
184
184
  interface Props {
185
- setValue: (address: FullAddress) => void;
185
+ setValue: (address: AddressComponentProps) => void;
186
186
  onClose: () => void;
187
187
  isOpen: boolean;
188
188
  }
189
189
  declare function useSearchAddress({ setValue, onClose, isOpen }: Props): {
190
+ addressStandardizationList: any;
191
+ selectedStandardizationAddress: AddressStandardizationResponseDto | undefined;
192
+ onStandardizationChange: (e: React__default.ChangeEvent<HTMLInputElement>) => void;
190
193
  onAddressSearchClear: () => void;
191
194
  onAddressSearchNext: () => void;
192
195
  addressSearchKeyword: string;
193
- addressSearchList: QueryObserverResult<TData, TError>;
196
+ addressSearchList: AddressResponseDto[];
194
197
  addressSearchStep: Step;
195
- selectedAddress: Address | null;
198
+ selectedAddress: AddressResponseDto | undefined;
196
199
  addressSearchOnValueChange: (e: React__default.ChangeEvent<HTMLInputElement>) => void;
197
200
  nextButtonDisabled: boolean;
198
201
  detailAddressInput: string;
@@ -204,7 +207,7 @@ declare function useSearchAddress({ setValue, onClose, isOpen }: Props): {
204
207
  searchInput: string;
205
208
  };
206
209
  declare const useAddressComponent: () => {
207
- fullAddress: FullAddress | null;
210
+ fullAddress: AddressComponentProps | undefined;
208
211
  openModal: () => void;
209
212
  AddressSearchComponent: () => react_jsx_runtime.JSX.Element;
210
213
  };
@@ -261,42 +264,7 @@ interface JobSearchModalProps {
261
264
  }
262
265
  declare const JobSearchModal: React__default.FC<JobSearchModalProps>;
263
266
 
264
- interface DspResponseCustomerListResponseDto {
265
- /** @description 성공여부 */
266
- isSuccess?: boolean;
267
- /** @description 코드 */
268
- code?: string;
269
- /** @description 메시지 */
270
- message?: string;
271
- data?: CustomerListResponseDto;
272
- pagination?: Pagination;
273
- }
274
- interface CustomerListResponseDto {
275
- /** @description 고객목록 */
276
- custList?: CustomerDto[];
277
- /** @description 총 건수 */
278
- totalCount?: string;
279
- }
280
- /** @description 고객정보 */
281
- interface CustomerDto {
282
- /** @description 고객ID */
283
- customerId?: string;
284
- /** @description 고객명 */
285
- customerName?: string;
286
- /** @description 기본주소 */
287
- baseAddress?: string;
288
- /** @description 상세주소 */
289
- detailAddress?: string;
290
- /** @description 생년월일(YYYYMMDD) */
291
- birthDate?: string;
292
- /** @description 성별코드 */
293
- genderCode?: string;
294
- }
295
- interface CustomerSearchProps {
296
- onSelect?: (customer: CustomerDto) => void;
297
- }
298
-
299
267
  declare const CustomerSearch: ({ onSelect }: CustomerSearchProps) => react_jsx_runtime.JSX.Element;
300
268
 
301
269
  export { Attachment, BankStockSearchModal, CustomerSearch, EmployeeSearchModal, FormCheckbox, FormCheckboxButton, FormDatePicker, FormDateRangePicker, FormSearchJobField, FormSegmentGroup, FormSelect, FormTextField, JobSearchModal, OrganizationSearchModal, StepIndicator, resize, testSignatureBase64Data, useAddressComponent, useBankStockSearch, useCamera, useCanvasPaint, useJobVehicleSearchModal, useSearchAddress };
302
- export type { AttachedPhoto, AttachmentProps, BankStockItem, BankStockSearchModalProps, CustomerDto, CustomerListResponseDto, CustomerSearchProps, DownloadProps, DspResponseCustomerListResponseDto, PaintProps, Pen, StepIndicatorProps, StepItem, cameraItemType, cameraOptions };
270
+ export type { AttachedPhoto, AttachmentProps, BankStockItem, BankStockSearchModalProps, DownloadProps, PaintProps, Pen, StepIndicatorProps, StepItem, cameraItemType, cameraOptions };
package/dist/index.esm.js CHANGED
@@ -2,7 +2,7 @@ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
2
  import { useController } from 'react-hook-form';
3
3
  import { CheckboxButton, Checkbox, DatePicker, DateRangePicker, Accordion, Radio, Table, Button, FormField, Select, Tab, useModalState, Modal, SegmentGroup, ModalUtils, FormCore, RadioGroup, useDropDown, List, ListItem } from 'sales-frontend-design-system';
4
4
  import React, { useState, useEffect, useRef, useCallback, useMemo } from 'react';
5
- import { useSearchOccupationQuery, useSearchModalAddressQuery, useSearchOrganizationQuery, useSearchEmployeeProfileQuery, useSearchVehicleQuery } from 'sales-frontend-api/method';
5
+ import { useSearchOccupationDetailQuery, useSearchOccupationQuery, useSearchAddressQuery, useSearchPostalCodeQuery, useSearchAddressStandardizationQuery, useSearchOrganizationQuery, useSearchEmployeeProfileQuery, useSearchVehicleQuery, useSearchCustomerListQuery } 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';
@@ -281,6 +281,73 @@ function JobSearchCategory({ filteredJobs, onJobSelect, searchTerm }) {
281
281
  ] }) });
282
282
  }
283
283
 
284
+ function JobSearchDetail({ occupationTypeCode, occupationIndustryCode }) {
285
+ const { data: detail } = useSearchOccupationDetailQuery({
286
+ occupationIndustryCode,
287
+ occupationIndustryTypeCode: occupationTypeCode
288
+ });
289
+ if (!detail || !detail.data) {
290
+ return null;
291
+ }
292
+ const {
293
+ /** @description 직종해설내용 */
294
+ occupationExplanationContent,
295
+ /** @description 직업예시명 */
296
+ occupationExampleName,
297
+ /** @description 위험등급명 */
298
+ riskGradeName,
299
+ /** @description 위험등급코드 */
300
+ riskGradeCode,
301
+ /** @description 상해위험등급코드명 */
302
+ injuryRiskGradeCodeName,
303
+ /** @description 상해위험등급코드 */
304
+ injuryRiskGradeCode,
305
+ /** @description 입원등급코드명 */
306
+ hospitalizationGradeCodeName,
307
+ /** @description 입원등급코드 */
308
+ hospitalizationGradeCode,
309
+ /** @description 상해직종코드 */
310
+ injuryOccupationCode
311
+ } = detail.data;
312
+ return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(Table, { variant: "horizontal", children: /* @__PURE__ */ jsxs("tbody", { children: [
313
+ /* @__PURE__ */ jsxs("tr", { children: [
314
+ /* @__PURE__ */ jsx("th", { className: "px-small", children: "\uC9C1\uC885 \uD574\uC124" }),
315
+ /* @__PURE__ */ jsx("td", { className: "px-small", children: occupationExplanationContent })
316
+ ] }),
317
+ /* @__PURE__ */ jsxs("tr", { children: [
318
+ /* @__PURE__ */ jsx("th", { className: "px-small", children: "\uC9C1\uC885 \uC608\uC2DC" }),
319
+ /* @__PURE__ */ jsx("td", { className: "px-small", children: occupationExampleName })
320
+ ] }),
321
+ /* @__PURE__ */ jsxs("tr", { children: [
322
+ /* @__PURE__ */ jsx("th", { className: "px-small", children: "\uC704\uD5D8 \uB4F1\uAE09" }),
323
+ /* @__PURE__ */ jsxs("td", { className: "px-small", children: [
324
+ riskGradeName,
325
+ "(",
326
+ riskGradeCode,
327
+ ")"
328
+ ] })
329
+ ] }),
330
+ /* @__PURE__ */ jsxs("tr", { children: [
331
+ /* @__PURE__ */ jsx("th", { className: "px-small", children: "\uC785\uC6D0 \uB4F1\uAE09" }),
332
+ /* @__PURE__ */ jsxs("td", { className: "px-small", children: [
333
+ hospitalizationGradeCodeName,
334
+ "(",
335
+ hospitalizationGradeCode,
336
+ ")"
337
+ ] })
338
+ ] }),
339
+ /* @__PURE__ */ jsxs("tr", { children: [
340
+ /* @__PURE__ */ jsx("th", { className: "px-small", children: "\uC0C1\uD574 \uB4F1\uAE09" }),
341
+ /* @__PURE__ */ jsxs("td", { className: "px-small", children: [
342
+ injuryRiskGradeCodeName,
343
+ "(",
344
+ injuryRiskGradeCode,
345
+ ")"
346
+ ] })
347
+ ] })
348
+ ] }) }) });
349
+ }
350
+
284
351
  const cx$d = classNames.bind(styles);
285
352
  function JobSearchFavorite({ filteredJobs, onJobSelect }) {
286
353
  return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs("div", { className: cx$d("popular-jobs"), children: [
@@ -306,7 +373,13 @@ function JobSearchFavorite({ filteredJobs, onJobSelect }) {
306
373
  ]
307
374
  }
308
375
  ) }),
309
- /* @__PURE__ */ jsx(Accordion.Content, { variant: "text", children: "\uD56D\uBAA9 1 \uB0B4\uC6A9" })
376
+ /* @__PURE__ */ jsx(Accordion.Content, { variant: "text", children: /* @__PURE__ */ jsx(
377
+ JobSearchDetail,
378
+ {
379
+ occupationTypeCode: job.occupationTypeCode || "",
380
+ occupationIndustryCode: job.occupationIndustryCode
381
+ }
382
+ ) })
310
383
  ]
311
384
  },
312
385
  `item-${job.occupationIndustryCode}-${index}`
@@ -339,22 +412,13 @@ function JobSearchResult({ filteredJobs, onJobSelect, searchTerm }) {
339
412
  children: highlightOnSearchKeyword$1(job.occupationIndustryName, searchTerm)
340
413
  }
341
414
  ) }) }),
342
- /* @__PURE__ */ jsx(Accordion.Content, { variant: "text", children: /* @__PURE__ */ jsx(Table, { variant: "horizontal", children: /* @__PURE__ */ jsxs("tbody", { children: [
343
- /* @__PURE__ */ jsxs("tr", { children: [
344
- /* @__PURE__ */ jsx("th", { children: "\uD5E4\uB354 1" }),
345
- /* @__PURE__ */ jsx("td", { className: "px-24", children: "1\uD589 1\uBC88\uC9F8" }),
346
- /* @__PURE__ */ jsx("th", { children: "\uD5E4\uB354 1-2" }),
347
- /* @__PURE__ */ jsx("td", { className: "px-24 ", children: "1\uD589 2\uBC88\uC9F8" })
348
- ] }),
349
- /* @__PURE__ */ jsxs("tr", { children: [
350
- /* @__PURE__ */ jsx("th", { children: "\uD5E4\uB354 2" }),
351
- /* @__PURE__ */ jsx("td", { className: "pl-24 pr-16", colSpan: 3, children: /* @__PURE__ */ jsxs("p", { className: "d-flex-center-center", children: [
352
- "2\uD589 1\uBC88\uC9F8 ",
353
- /* @__PURE__ */ jsx("span", { className: "flex-1 pipe-left", children: "\uC11C\uBE0C\uD14D\uC2A4\uD2B8" }),
354
- /* @__PURE__ */ jsx(Button, { variant: "neutral", size: "xsmall", appearance: "outline", children: "\uBC84\uD2BC\uBA85" })
355
- ] }) })
356
- ] })
357
- ] }) }) })
415
+ /* @__PURE__ */ jsx(Accordion.Content, { variant: "text", children: /* @__PURE__ */ jsx(
416
+ JobSearchDetail,
417
+ {
418
+ occupationTypeCode: job.occupationTypeCode || "",
419
+ occupationIndustryCode: job.occupationIndustryCode
420
+ }
421
+ ) })
358
422
  ]
359
423
  },
360
424
  job.occupationIndustryCode
@@ -1388,7 +1452,7 @@ const testSignatureBase64Data = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA
1388
1452
  const cx$8 = classNames.bind(styles$3);
1389
1453
  const { InputBox: InputBox$1, Input: Input$1 } = FormCore;
1390
1454
  const AddressSearchInitialText = () => {
1391
- return /* @__PURE__ */ jsxs("div", { children: [
1455
+ return /* @__PURE__ */ jsxs("div", { className: cx$8("search-result-list"), children: [
1392
1456
  /* @__PURE__ */ jsx("p", { className: cx$8("guide-title"), children: "\uC774\uB807\uAC8C \uAC80\uC0C9\uD574 \uBCF4\uC138\uC694." }),
1393
1457
  /* @__PURE__ */ jsxs("ul", { className: cx$8("guide"), children: [
1394
1458
  /* @__PURE__ */ jsx("li", { children: "\uB3C4\uB85C\uBA85/\uC9C0\uBA85\uACFC \uAC74\uBB3C\uBC88\uD638\uB97C \uD568\uAED8 \uC785\uB825\uD574\uC8FC\uC138\uC694" }),
@@ -1406,38 +1470,36 @@ const AddressSearchResult = ({
1406
1470
  searchKeyword,
1407
1471
  selectedAddress
1408
1472
  }) => {
1409
- const [filterList, setFilterList] = useState([]);
1410
- useEffect(() => {
1411
- const filterList2 = addressSearchList.filter(
1412
- (item) => item.address.includes(searchKeyword) || item.oldAddress.includes(searchKeyword)
1413
- ) || [];
1414
- setFilterList(filterList2);
1415
- }, [addressSearchList, searchKeyword]);
1416
- return /* @__PURE__ */ jsxs("div", { children: [
1473
+ return /* @__PURE__ */ jsxs("div", { className: cx$8("search-result-list"), children: [
1417
1474
  /* @__PURE__ */ jsxs("p", { className: cx$8("guide-title"), children: [
1418
1475
  "\uCD1D ",
1419
- /* @__PURE__ */ jsx("span", { className: "text-primary", children: filterList.length }),
1476
+ /* @__PURE__ */ jsx("span", { className: "text-primary", children: addressSearchList.length }),
1420
1477
  "\uAC74\uC758 \uAC80\uC0C9\uACB0\uACFC"
1421
1478
  ] }),
1422
- filterList.length > 0 && /* @__PURE__ */ jsx(
1479
+ addressSearchList.length > 0 && /* @__PURE__ */ jsx(
1423
1480
  RadioGroup,
1424
1481
  {
1425
- items: filterList.map((item) => ({
1426
- value: item.address,
1427
- select: item.address === selectedAddress?.address && item.zipCode === selectedAddress?.zipCode,
1428
- label: /* @__PURE__ */ jsxs("div", { className: cx$8("search-result"), children: [
1429
- /* @__PURE__ */ jsxs("div", { className: cx$8("zipcode"), children: [
1430
- " ",
1431
- highlightOnSearchKeyword$1(item.zipCode, searchKeyword)
1482
+ items: addressSearchList.map((item) => {
1483
+ return {
1484
+ value: JSON.stringify(item),
1485
+ select: item.roadNameBaseAddress === selectedAddress?.roadNameBaseAddress && item.roadNameDetailAddress === selectedAddress?.roadNameDetailAddress && item.mainBuildingName === selectedAddress?.mainBuildingName,
1486
+ label: /* @__PURE__ */ jsxs("div", { className: cx$8("search-result"), children: [
1487
+ /* @__PURE__ */ jsx("div", { className: cx$8("zipcode"), children: highlightOnSearchKeyword$1(`${item.firstPostalCode}${item.secondPostalCode}`, searchKeyword) }),
1488
+ /* @__PURE__ */ jsx("div", { className: cx$8("divider") }),
1489
+ /* @__PURE__ */ jsxs("div", { className: cx$8("address-info"), children: [
1490
+ /* @__PURE__ */ jsx("span", { className: cx$8("address"), children: highlightOnSearchKeyword$1(
1491
+ `${item.roadNameBaseAddress} ${item.roadNameDetailAddress} ${item.mainBuildingName}`,
1492
+ searchKeyword
1493
+ ) }),
1494
+ /* @__PURE__ */ jsx("span", { className: cx$8("old-address"), children: highlightOnSearchKeyword$1(
1495
+ `${item.landNumberBaseAddress} ${item.landNumberDetailAddress}`,
1496
+ searchKeyword
1497
+ ) })
1498
+ ] })
1432
1499
  ] }),
1433
- /* @__PURE__ */ jsx("div", { className: cx$8("divider") }),
1434
- /* @__PURE__ */ jsxs("div", { className: cx$8("address-info"), children: [
1435
- /* @__PURE__ */ jsx("span", { className: cx$8("address"), children: highlightOnSearchKeyword$1(item.address, searchKeyword) }),
1436
- /* @__PURE__ */ jsx("span", { className: cx$8("old-address"), children: highlightOnSearchKeyword$1(item.oldAddress, searchKeyword) })
1437
- ] })
1438
- ] }),
1439
- id: item.address
1440
- })),
1500
+ id: JSON.stringify(item)
1501
+ };
1502
+ }),
1441
1503
  className: cx$8("radio-group"),
1442
1504
  name: "address-search",
1443
1505
  size: "medium",
@@ -1445,7 +1507,7 @@ const AddressSearchResult = ({
1445
1507
  onChange
1446
1508
  }
1447
1509
  ),
1448
- filterList.length === 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
1510
+ addressSearchList.length === 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
1449
1511
  "`",
1450
1512
  /* @__PURE__ */ jsx("span", { className: "text-primary", children: searchKeyword }),
1451
1513
  "`\uC5D0 \uB300\uD55C \uAC80\uC0C9\uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."
@@ -1453,30 +1515,52 @@ const AddressSearchResult = ({
1453
1515
  ] });
1454
1516
  };
1455
1517
  const AddressSearchDetailInput = ({
1456
- selectedAddress,
1518
+ addressStandardizationList,
1457
1519
  onDetailChange,
1520
+ onStandardizationChange,
1458
1521
  step,
1459
1522
  detailAddressInput
1460
1523
  }) => {
1461
- return /* @__PURE__ */ jsxs("div", { children: [
1462
- /* @__PURE__ */ jsxs("div", { children: [
1463
- /* @__PURE__ */ jsxs("div", { children: [
1464
- " ",
1465
- selectedAddress.zipCode
1466
- ] }),
1467
- /* @__PURE__ */ jsxs("div", { children: [
1468
- "|",
1469
- /* @__PURE__ */ jsx("span", { children: `${selectedAddress.address}` })
1470
- ] })
1471
- ] }),
1472
- /* @__PURE__ */ jsxs("div", { children: [
1524
+ return /* @__PURE__ */ jsxs("div", { className: cx$8("search-result-list"), children: [
1525
+ /* @__PURE__ */ jsx(
1526
+ RadioGroup,
1527
+ {
1528
+ items: addressStandardizationList.map((item) => {
1529
+ return {
1530
+ value: JSON.stringify(item),
1531
+ select: true,
1532
+ label: /* @__PURE__ */ jsxs("div", { className: cx$8("search-result"), children: [
1533
+ /* @__PURE__ */ jsx("div", { className: cx$8("zipcode"), children: `${item.firstPostalCode}${item.secondPostalCode}` }),
1534
+ /* @__PURE__ */ jsx("div", { className: cx$8("divider") }),
1535
+ /* @__PURE__ */ jsxs("div", { className: cx$8("address-info"), children: [
1536
+ /* @__PURE__ */ jsx("span", { className: cx$8("address"), children: `${item.baseAddress} ${item.detailAddress}` }),
1537
+ /* @__PURE__ */ jsx("span", { className: cx$8("old-address"), children: `${item.baseAddress} ${item.detailAddress}` })
1538
+ ] })
1539
+ ] }),
1540
+ id: JSON.stringify(item)
1541
+ };
1542
+ }),
1543
+ className: cx$8("radio-group"),
1544
+ name: "address-search-standardization",
1545
+ size: "medium",
1546
+ defaultValue: "",
1547
+ onChange: onStandardizationChange
1548
+ }
1549
+ ),
1550
+ /* @__PURE__ */ jsxs("div", { className: "d-flex gap-medium items-center", children: [
1473
1551
  /* @__PURE__ */ jsx(FormField.Label, { id: "detail", style: { width: "90px" }, children: "\uC0C1\uC138\uC8FC\uC18C" }),
1474
1552
  /* @__PURE__ */ jsx(
1475
- Input$1,
1553
+ FormField.TextField,
1476
1554
  {
1555
+ rootProps: {
1556
+ style: {
1557
+ display: "flex",
1558
+ flex: 1
1559
+ }
1560
+ },
1477
1561
  placeholder: "\uC0C1\uC138\uC8FC\uC18C \uC785\uB825",
1478
1562
  onChange: onDetailChange,
1479
- size: "large",
1563
+ size: "small",
1480
1564
  value: detailAddressInput,
1481
1565
  ...step === "detail-input" && { autoFocus: true }
1482
1566
  }
@@ -1499,7 +1583,9 @@ function AddressComponent({ isOpen, onClose, setValue }) {
1499
1583
  setDetail,
1500
1584
  search,
1501
1585
  searchInput,
1502
- selectedAddress
1586
+ selectedAddress,
1587
+ onStandardizationChange,
1588
+ addressStandardizationList
1503
1589
  } = useSearchAddress({
1504
1590
  setValue,
1505
1591
  onClose,
@@ -1526,7 +1612,7 @@ function AddressComponent({ isOpen, onClose, setValue }) {
1526
1612
  AddressSearchResult,
1527
1613
  {
1528
1614
  onChange: onSelectChange,
1529
- addressSearchList: addressSearchList || [],
1615
+ addressSearchList,
1530
1616
  searchKeyword: addressSearchKeyword,
1531
1617
  selectedAddress
1532
1618
  }
@@ -1534,7 +1620,8 @@ function AddressComponent({ isOpen, onClose, setValue }) {
1534
1620
  addressSearchStep === "detail-input" && selectedAddress && /* @__PURE__ */ jsx(
1535
1621
  AddressSearchDetailInput,
1536
1622
  {
1537
- selectedAddress,
1623
+ addressStandardizationList,
1624
+ onStandardizationChange,
1538
1625
  onDetailChange: setDetail,
1539
1626
  step: addressSearchStep,
1540
1627
  detailAddressInput
@@ -1563,21 +1650,48 @@ function AddressComponent({ isOpen, onClose, setValue }) {
1563
1650
  function useSearchAddress({ setValue, onClose, isOpen }) {
1564
1651
  const [searchKeyword, setSearchKeyword] = useState("");
1565
1652
  const [step, setStep] = useState("initial");
1566
- const [selectedAddress, setSelectedAddress] = useState(null);
1653
+ const [selectedAddress, setSelectedAddress] = useState();
1654
+ const [selectedStandardizationAddress, setSelectedStandardizationAddress] = useState();
1567
1655
  const [searchInput, setSearchInput] = useState("");
1568
1656
  const [detailAddressInput, setDetailAddressInput] = useState("");
1569
- const { data: addressList } = useSearchModalAddressQuery({ searchKeyword });
1657
+ const [displayList, setDisplayList] = useState([]);
1658
+ const [searchType, setSearchType] = useState("address");
1659
+ const [standardizationParams, setStandardizationParams] = useState({
1660
+ firstPostalCode: "",
1661
+ secondPostalCode: "",
1662
+ baseAddress: "",
1663
+ detailAddress: "",
1664
+ roadNameYn: "Y"
1665
+ });
1666
+ const { data: addressData } = useSearchAddressQuery(
1667
+ { searchKeyWord: searchKeyword },
1668
+ { enabled: !!searchKeyword && searchType === "address" }
1669
+ );
1670
+ const { data: postalData } = useSearchPostalCodeQuery(
1671
+ { searchWordName: searchKeyword },
1672
+ { enabled: !!searchKeyword && searchType === "postalcode" }
1673
+ );
1674
+ const { data: standardizedData } = useSearchAddressStandardizationQuery(standardizationParams, {
1675
+ enabled: !!standardizationParams?.baseAddress
1676
+ });
1570
1677
  const [nextButtonDisabled, setNextButtonDisabled] = useState(false);
1571
1678
  const onNext = () => {
1572
1679
  if (step === "search-result") {
1573
1680
  setStep("detail-input");
1574
1681
  setNextButtonDisabled(true);
1682
+ if (selectedAddress) {
1683
+ setStandardizationParams({
1684
+ firstPostalCode: selectedAddress.firstPostalCode,
1685
+ secondPostalCode: selectedAddress.secondPostalCode,
1686
+ baseAddress: selectedAddress.roadNameBaseAddress,
1687
+ detailAddress: selectedAddress.roadNameDetailAddress,
1688
+ roadNameYn: "Y"
1689
+ });
1690
+ }
1575
1691
  } else {
1576
- setValue({
1577
- address: selectedAddress?.address || "",
1578
- oldAddress: selectedAddress?.oldAddress || "",
1579
- zipCode: selectedAddress?.zipCode || "",
1580
- detail: detailAddressInput || ""
1692
+ selectedStandardizationAddress && setValue({
1693
+ ...selectedStandardizationAddress,
1694
+ detailAddressInput
1581
1695
  });
1582
1696
  onClose();
1583
1697
  }
@@ -1592,9 +1706,11 @@ function useSearchAddress({ setValue, onClose, isOpen }) {
1592
1706
  return;
1593
1707
  }
1594
1708
  if (searchInput && searchInput.length > 1) {
1709
+ const isNumeric = /^[0-9]+$/.test(searchInput);
1710
+ setSearchType(isNumeric ? "postalcode" : "address");
1595
1711
  setSearchKeyword(searchInput);
1596
1712
  setStep("search-result");
1597
- setSelectedAddress(null);
1713
+ setSelectedAddress(void 0);
1598
1714
  setDetailAddressInput("");
1599
1715
  setNextButtonDisabled(true);
1600
1716
  }
@@ -1605,19 +1721,23 @@ function useSearchAddress({ setValue, onClose, isOpen }) {
1605
1721
  }
1606
1722
  };
1607
1723
  const onSelectChange = (e) => {
1608
- const selectedAddress2 = e.target.value;
1609
- if (selectedAddress2) {
1610
- const adr = addressList?.find((addr) => {
1611
- return addr.address === selectedAddress2;
1612
- });
1613
- setSelectedAddress(adr || null);
1724
+ const selected = e.target.value;
1725
+ if (selected) {
1726
+ setSelectedAddress(JSON.parse(selected));
1727
+ setNextButtonDisabled(false);
1728
+ }
1729
+ };
1730
+ const onStandardizationChange = (e) => {
1731
+ const selected = e.target.value;
1732
+ if (selected) {
1733
+ setSelectedStandardizationAddress(JSON.parse(selected));
1614
1734
  setNextButtonDisabled(false);
1615
1735
  }
1616
1736
  };
1617
1737
  const onClear = useCallback(() => {
1618
1738
  setSearchKeyword("");
1619
1739
  setSearchInput("");
1620
- setSelectedAddress(null);
1740
+ setSelectedAddress(void 0);
1621
1741
  setDetailAddressInput("");
1622
1742
  setStep("initial");
1623
1743
  }, []);
@@ -1630,19 +1750,39 @@ function useSearchAddress({ setValue, onClose, isOpen }) {
1630
1750
  setNextButtonDisabled(true);
1631
1751
  }
1632
1752
  };
1753
+ useEffect(() => {
1754
+ if (searchType === "address" && addressData?.data?.addressList) {
1755
+ setDisplayList(addressData.data.addressList);
1756
+ } else if (searchType === "postalcode" && postalData?.data?.postalCodeList) {
1757
+ console.log("transformedList", postalData.data.postalCodeList);
1758
+ const transformedList = postalData.data.postalCodeList.map((p) => ({
1759
+ firstPostalCode: p.originalNumber1PostalCode,
1760
+ secondPostalCode: p.originalNumber2PostalCode,
1761
+ roadNameBaseAddress: p.roadNameBaseAddress,
1762
+ roadNameDetailAddress: p.roadNameDetailAddress,
1763
+ landNumberBaseAddress: p.landNumberBaseAddress,
1764
+ landNumberDetailAddress: p.landNumberDetailAddress,
1765
+ mainBuildingName: p.mainBuildingName
1766
+ }));
1767
+ setDisplayList(transformedList);
1768
+ }
1769
+ }, [addressData, postalData, searchType]);
1633
1770
  useEffect(() => {
1634
1771
  if (isOpen) {
1635
- setSelectedAddress(null);
1772
+ setSelectedAddress(void 0);
1636
1773
  setDetailAddressInput("");
1637
1774
  setStep("initial");
1638
1775
  setSearchKeyword("");
1639
1776
  }
1640
1777
  }, [isOpen]);
1641
1778
  return {
1779
+ addressStandardizationList: standardizedData?.data?.addressStandardizationList || [],
1780
+ selectedStandardizationAddress,
1781
+ onStandardizationChange,
1642
1782
  onAddressSearchClear: onClear,
1643
1783
  onAddressSearchNext: onNext,
1644
1784
  addressSearchKeyword: searchKeyword,
1645
- addressSearchList: addressList,
1785
+ addressSearchList: displayList,
1646
1786
  addressSearchStep: step,
1647
1787
  selectedAddress,
1648
1788
  addressSearchOnValueChange: onSelectChange,
@@ -1657,7 +1797,7 @@ function useSearchAddress({ setValue, onClose, isOpen }) {
1657
1797
  };
1658
1798
  }
1659
1799
  const useAddressComponent = () => {
1660
- const [fullAddress, setFullAddress] = useState(null);
1800
+ const [fullAddress, setFullAddress] = useState();
1661
1801
  const { isOpen, closeModal, openModal } = useModalState();
1662
1802
  const AddressSearchComponent = () => /* @__PURE__ */ jsx(AddressComponent, { isOpen, onClose: closeModal, setValue: setFullAddress });
1663
1803
  return {
@@ -2308,34 +2448,20 @@ const JobSearchModal = ({ onClose }) => {
2308
2448
  ] });
2309
2449
  };
2310
2450
 
2311
- const mockCustomers = [
2312
- { customerId: "1", customerName: "\uAE40\uD55C\uD654", birthDate: "1999.01.01", genderCode: "\uB0A8\uC131" },
2313
- {
2314
- customerId: "2",
2315
- customerName: "\uAE40\uD55C\uD654\uC0DD\uBA85",
2316
- birthDate: "1989.01.01",
2317
- genderCode: "\uC5EC\uC131",
2318
- baseAddress: "\uC11C\uC6B8\uC2DC \uB9C8\uD3EC\uAD6C"
2319
- },
2320
- {
2321
- customerId: "3",
2322
- customerName: "\uAE40\uD55C\uD654\uC190\uD574\uBCF4\uD5D8",
2323
- birthDate: "1999.01.01",
2324
- genderCode: "\uB0A8\uC131",
2325
- baseAddress: "\uC11C\uC6B8\uC2DC \uB9C8\uD3EC\uAD6C"
2326
- }
2327
- ];
2328
2451
  const useCustomerSearch = (onSelect) => {
2329
2452
  const { triggerRef, isOpen, setIsOpen, DropDown } = useDropDown();
2330
2453
  const [searchKeyword, setSearchKeyword] = useState("");
2331
2454
  const [searchInput, setSearchInput] = useState("");
2332
2455
  const [customerList, setCustomerList] = useState([]);
2333
2456
  const [selectedCustomer, setSelectedCustomer] = useState(null);
2457
+ const { data } = useSearchCustomerListQuery({ customerName: searchKeyword });
2334
2458
  const search = () => {
2335
2459
  if (searchInput.length >= 2) {
2336
2460
  setSearchKeyword(searchInput);
2337
- const filtered = mockCustomers.filter((c) => c.customerName?.toLowerCase().includes(searchInput.toLowerCase()));
2338
- setCustomerList(filtered);
2461
+ const filtered = data?.data?.custList?.filter(
2462
+ (c) => c.customerName?.toLowerCase().includes(searchInput.toLowerCase())
2463
+ );
2464
+ setCustomerList(filtered || []);
2339
2465
  setIsOpen(true);
2340
2466
  } else {
2341
2467
  setCustomerList([]);