@bwg-ui/core 1.3.7 → 1.3.9

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.
Files changed (183) hide show
  1. package/dist/chunks/CMPrgrMstrP02-CIPnCdt3.cjs +1 -0
  2. package/dist/chunks/CMPrgrMstrP02-jC3zDeFU.js +154 -0
  3. package/dist/chunks/CMSearchIntfGwP01-D4qj6J2N.cjs +1 -0
  4. package/dist/chunks/{CMSearchIntfGwP01-DCHZJn2H.js → CMSearchIntfGwP01-DzTHXQi3.js} +31 -31
  5. package/dist/chunks/MenuReport-BtP1uAmq.cjs +1 -0
  6. package/dist/chunks/{MenuReport-IBdoU2S3.js → MenuReport-DgMjx5Hs.js} +5 -5
  7. package/dist/chunks/SearchAddressP01-B25Exa9E.cjs +1 -0
  8. package/dist/chunks/SearchAddressP01-B_D3nrkn.js +605 -0
  9. package/dist/chunks/SearchDepartmentP01-D5ihO3l8.cjs +1 -0
  10. package/dist/chunks/SearchDepartmentP01-pUAav3Xp.js +352 -0
  11. package/dist/chunks/SearchDepartmentP02-B3oL1B-h.js +518 -0
  12. package/dist/chunks/SearchDepartmentP02-CWs8sLuu.cjs +1 -0
  13. package/dist/chunks/SearchHolidayP01-SuuyAk9T.js +188 -0
  14. package/dist/chunks/SearchHolidayP01-cJ8Wlkwr.cjs +1 -0
  15. package/dist/chunks/SearchOrganizationP01-3nDwrB08.cjs +1 -0
  16. package/dist/chunks/SearchOrganizationP01-ChwLBfVt.js +420 -0
  17. package/dist/chunks/SearchOrganizationP02-0Suj4DLH.cjs +1 -0
  18. package/dist/chunks/SearchOrganizationP02-DI0V4Bdz.js +516 -0
  19. package/dist/chunks/UploadMultiFileP01-CffgcIXm.cjs +1 -0
  20. package/dist/chunks/UploadMultiFileP01-Cy2LeYfy.js +38 -0
  21. package/dist/chunks/{layout-components-DnuV2Psp.js → layout-components-Cpzy8mH1.js} +1053 -951
  22. package/dist/chunks/layout-components-y9YpQQbx.cjs +38 -0
  23. package/dist/chunks/provider-DrmM0H4o.cjs +1 -0
  24. package/dist/chunks/provider-ff4RVDYo.js +711 -0
  25. package/dist/components/common/ButtonAccessController.d.ts +2 -3
  26. package/dist/components/common/ButtonAccessController.d.ts.map +1 -1
  27. package/dist/components/common/BwgButtonGroup.d.ts +1 -1
  28. package/dist/components/common/BwgButtonGroup.d.ts.map +1 -1
  29. package/dist/components/common/BwgCol.d.ts +1 -1
  30. package/dist/components/common/BwgCol.d.ts.map +1 -1
  31. package/dist/components/common/BwgGrid.d.ts.map +1 -1
  32. package/dist/components/common/BwgModal.d.ts +10 -0
  33. package/dist/components/common/BwgModal.d.ts.map +1 -0
  34. package/dist/components/common/BwgView.d.ts.map +1 -1
  35. package/dist/components/common/index.cjs +1 -1
  36. package/dist/components/common/index.d.ts +2 -1
  37. package/dist/components/common/index.d.ts.map +1 -1
  38. package/dist/components/common/index.js +4887 -28
  39. package/dist/components/core/BwgCmnFileItems.d.ts +47 -0
  40. package/dist/components/core/BwgCmnFileItems.d.ts.map +1 -0
  41. package/dist/components/core/BwgDeptSearch.d.ts +38 -0
  42. package/dist/components/core/BwgDeptSearch.d.ts.map +1 -0
  43. package/dist/components/core/BwgDraggerUploader.d.ts +13 -0
  44. package/dist/components/core/BwgDraggerUploader.d.ts.map +1 -0
  45. package/dist/components/core/BwgEmpSearch.d.ts +12 -4
  46. package/dist/components/core/BwgEmpSearch.d.ts.map +1 -1
  47. package/dist/components/core/BwgUploader.d.ts +6 -92
  48. package/dist/components/core/BwgUploader.d.ts.map +1 -1
  49. package/dist/components/core/BwgUploader_bak.d.ts +98 -0
  50. package/dist/components/core/BwgUploader_bak.d.ts.map +1 -0
  51. package/dist/components/core/BwgXlsxUploader.d.ts +25 -0
  52. package/dist/components/core/BwgXlsxUploader.d.ts.map +1 -0
  53. package/dist/components/core/index.cjs +1 -1
  54. package/dist/components/core/index.d.ts +11 -2
  55. package/dist/components/core/index.d.ts.map +1 -1
  56. package/dist/components/core/index.js +1318 -1164
  57. package/dist/components/guide/index.cjs +1 -1
  58. package/dist/components/guide/index.js +17 -17
  59. package/dist/components/layout/BwgCoreLogin.d.ts.map +1 -1
  60. package/dist/components/layout/BwgPortal01.d.ts.map +1 -1
  61. package/dist/components/layout/custom/ConfigurableSidebar.d.ts.map +1 -1
  62. package/dist/components/layout/index.cjs +1 -1
  63. package/dist/components/layout/index.js +1 -1
  64. package/dist/components/pages/auth/AuthManagement.d.ts +8 -0
  65. package/dist/components/pages/auth/AuthManagement.d.ts.map +1 -0
  66. package/dist/components/pages/auth/AuthSelector.d.ts +28 -0
  67. package/dist/components/pages/auth/AuthSelector.d.ts.map +1 -0
  68. package/dist/components/pages/auth/RoleAuthMapper.d.ts +8 -0
  69. package/dist/components/pages/auth/RoleAuthMapper.d.ts.map +1 -0
  70. package/dist/components/pages/auth/RoleDashBoard.d.ts +13 -0
  71. package/dist/components/pages/auth/RoleDashBoard.d.ts.map +1 -0
  72. package/dist/components/pages/auth/RoleView.d.ts +17 -0
  73. package/dist/components/pages/auth/RoleView.d.ts.map +1 -0
  74. package/dist/components/pages/board/AdminBoard.d.ts +6 -0
  75. package/dist/components/pages/board/AdminBoard.d.ts.map +1 -0
  76. package/dist/components/pages/board/BoardComment.d.ts +8 -0
  77. package/dist/components/pages/board/BoardComment.d.ts.map +1 -0
  78. package/dist/components/pages/board/MyBoard.d.ts +6 -0
  79. package/dist/components/pages/board/MyBoard.d.ts.map +1 -0
  80. package/dist/components/pages/index.d.ts +10 -10
  81. package/dist/components/pages/index.d.ts.map +1 -1
  82. package/dist/components/pages/rsrc/MenuManagement.d.ts +4 -0
  83. package/dist/components/pages/rsrc/MenuManagement.d.ts.map +1 -0
  84. package/dist/components/pages/rsrc/{CMMenuPrntSelectModal.d.ts → MenuSelector.d.ts} +5 -4
  85. package/dist/components/pages/rsrc/MenuSelector.d.ts.map +1 -0
  86. package/dist/components/pages/rsrc/ProgramManagement.d.ts +4 -0
  87. package/dist/components/pages/rsrc/ProgramManagement.d.ts.map +1 -0
  88. package/dist/components/pages/rsrc/{CMMenuPrgrSelectModal.d.ts → ProgramSelector.d.ts} +5 -4
  89. package/dist/components/pages/rsrc/ProgramSelector.d.ts.map +1 -0
  90. package/dist/components/pages/syst/CommonCodeManagement.d.ts +4 -0
  91. package/dist/components/pages/syst/CommonCodeManagement.d.ts.map +1 -0
  92. package/dist/components/pages/syst/CommonCodeTester.d.ts +7 -0
  93. package/dist/components/pages/syst/CommonCodeTester.d.ts.map +1 -0
  94. package/dist/components/pages/types.d.ts +5 -1
  95. package/dist/components/pages/types.d.ts.map +1 -1
  96. package/dist/components/popup/SearchDepartmentP01.d.ts +1 -1
  97. package/dist/components/popup/SearchDepartmentP01.d.ts.map +1 -1
  98. package/dist/components/popup/SearchOrganizationP02.d.ts.map +1 -1
  99. package/dist/components/popup/UploadMultiFileP01.d.ts +14 -0
  100. package/dist/components/popup/UploadMultiFileP01.d.ts.map +1 -0
  101. package/dist/components/popup/config/localPopupRegistry.d.ts.map +1 -1
  102. package/dist/components/popup/index.cjs +1 -1
  103. package/dist/components/popup/index.d.ts +1 -0
  104. package/dist/components/popup/index.d.ts.map +1 -1
  105. package/dist/components/popup/index.js +16 -8
  106. package/dist/index.cjs +186 -1
  107. package/dist/index.js +32378 -290
  108. package/dist/provider/contexts/BwgViewContext.d.ts +8 -1
  109. package/dist/provider/contexts/BwgViewContext.d.ts.map +1 -1
  110. package/dist/provider/contexts/CommonCodeContext.d.ts +15 -28
  111. package/dist/provider/contexts/CommonCodeContext.d.ts.map +1 -1
  112. package/dist/provider/contexts/MenuButtonContentx.d.ts +1 -0
  113. package/dist/provider/contexts/MenuButtonContentx.d.ts.map +1 -0
  114. package/dist/provider/contexts/MenuButtonContext.d.ts +42 -0
  115. package/dist/provider/contexts/MenuButtonContext.d.ts.map +1 -0
  116. package/dist/provider/hooks/index.d.ts +1 -0
  117. package/dist/provider/hooks/index.d.ts.map +1 -1
  118. package/dist/provider/hooks/useFileUploader.d.ts +74 -0
  119. package/dist/provider/hooks/useFileUploader.d.ts.map +1 -0
  120. package/dist/provider/hooks/useSizeConfig.d.ts +2 -2
  121. package/dist/provider/index.cjs +1 -1
  122. package/dist/provider/index.d.ts +1 -0
  123. package/dist/provider/index.d.ts.map +1 -1
  124. package/dist/provider/index.js +8 -7
  125. package/dist/stores/codeStore.d.ts +65 -128
  126. package/dist/stores/codeStore.d.ts.map +1 -1
  127. package/dist/stores/index.cjs +2 -2
  128. package/dist/stores/index.d.ts +3 -3
  129. package/dist/stores/index.d.ts.map +1 -1
  130. package/dist/stores/index.js +815 -1625
  131. package/dist/stores/menuModelStore.d.ts +22 -7
  132. package/dist/stores/menuModelStore.d.ts.map +1 -1
  133. package/dist/stores/menuViewStore.d.ts +3 -3
  134. package/dist/stores/menuViewStore.d.ts.map +1 -1
  135. package/dist/stores/systemStore.d.ts +50 -17
  136. package/dist/stores/systemStore.d.ts.map +1 -1
  137. package/dist/styles/assets/images/header/icon/ico-bell.svg +3 -3
  138. package/dist/styles/assets/images/header/icon/ico-logout.svg +10 -10
  139. package/dist/styles/assets/images/header/icon/ico-setting.svg +4 -4
  140. package/dist/styles/assets/images/header/icon/ico-sidebar-arrow.svg +3 -3
  141. package/dist/styles/assets/images/menus/ico1-completed.png +0 -0
  142. package/dist/styles/assets/images/menus/ico1-design.png +0 -0
  143. package/dist/styles/assets/images/menus/ico1-dev.png +0 -0
  144. package/dist/styles/assets/images/menus/ico2-completed.png +0 -0
  145. package/dist/styles/assets/images/menus/ico2-design.png +0 -0
  146. package/dist/styles/assets/images/menus/ico2-dev.png +0 -0
  147. package/dist/styles/assets/images/menus/ico3-completed.png +0 -0
  148. package/dist/styles/assets/images/menus/ico3-design.png +0 -0
  149. package/dist/styles/assets/images/menus/ico3-dev.png +0 -0
  150. package/dist/utils/apiUtils.d.ts.map +1 -1
  151. package/dist/utils/colorFormat.d.ts.map +1 -1
  152. package/dist/utils/commonUtils.d.ts +1 -2
  153. package/dist/utils/commonUtils.d.ts.map +1 -1
  154. package/dist/utils/index.cjs +1 -1
  155. package/dist/utils/index.d.ts +9 -3
  156. package/dist/utils/index.d.ts.map +1 -1
  157. package/dist/utils/index.js +1118 -1962
  158. package/dist/utils/serviceConfig.d.ts +9 -3
  159. package/dist/utils/serviceConfig.d.ts.map +1 -1
  160. package/package.json +4 -4
  161. package/dist/chunks/CMSearchIntfGwP01-0t3umcc_.cjs +0 -1
  162. package/dist/chunks/MenuReport-C70mGz2g.cjs +0 -1
  163. package/dist/chunks/common-components-DNgQR-Ge.cjs +0 -1109
  164. package/dist/chunks/common-components-DeYL3J6X.js +0 -52604
  165. package/dist/chunks/layout-components-Bf9IsLUS.cjs +0 -38
  166. package/dist/chunks/provider-Bi5OYngn.cjs +0 -1
  167. package/dist/chunks/provider-Bx4VpaFf.js +0 -465
  168. package/dist/components/pages/board/CMAdminBoardM01.d.ts +0 -6
  169. package/dist/components/pages/board/CMAdminBoardM01.d.ts.map +0 -1
  170. package/dist/components/pages/board/CMBoardS01.d.ts +0 -8
  171. package/dist/components/pages/board/CMBoardS01.d.ts.map +0 -1
  172. package/dist/components/pages/board/CMMyBoardM01.d.ts +0 -6
  173. package/dist/components/pages/board/CMMyBoardM01.d.ts.map +0 -1
  174. package/dist/components/pages/guide/BwgComponentGuideM01.d.ts +0 -3
  175. package/dist/components/pages/guide/BwgComponentGuideM01.d.ts.map +0 -1
  176. package/dist/components/pages/guide/BwgDeveloperGuideM01.d.ts +0 -3
  177. package/dist/components/pages/guide/BwgDeveloperGuideM01.d.ts.map +0 -1
  178. package/dist/components/pages/guide/BwgReactGuideM01.d.ts +0 -3
  179. package/dist/components/pages/guide/BwgReactGuideM01.d.ts.map +0 -1
  180. package/dist/components/pages/rsrc/CMMenuPrgrSelectModal.d.ts.map +0 -1
  181. package/dist/components/pages/rsrc/CMMenuPrntSelectModal.d.ts.map +0 -1
  182. package/dist/components/pages/syst/CMSystCodeM01.d.ts +0 -4
  183. package/dist/components/pages/syst/CMSystCodeM01.d.ts.map +0 -1
@@ -0,0 +1,605 @@
1
+ import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
+ import { QuestionCircleOutlined as A, SearchOutlined as V, CheckCircleFilled as J, CheckCircleOutlined as Z } from "@ant-design/icons";
3
+ import { Typography as i, Space as N, message as s, Flex as E, Radio as B, Popover as P, Input as _, Spin as ee } from "antd";
4
+ import { useRef as k, useState as p, useMemo as T, useEffect as te, useCallback as v } from "react";
5
+ import { callService as D } from "../utils/index.js";
6
+ import { BwgPopup as ne, ContentLayOut as re, ContentBox as ie, BwgPagination as le } from "../components/common/index.js";
7
+ const oe = [
8
+ { label: "정확도 우선", value: "none" },
9
+ { label: "도로명 포함", value: "road" },
10
+ { label: "지번 포함", value: "location" }
11
+ ], se = [
12
+ "SELECT",
13
+ "INSERT",
14
+ "UPDATE",
15
+ "DELETE",
16
+ "DROP",
17
+ "CREATE",
18
+ "ALTER",
19
+ "TRUNCATE",
20
+ "EXEC",
21
+ "EXECUTE",
22
+ "UNION",
23
+ "OR",
24
+ "AND",
25
+ "WHERE",
26
+ "FROM",
27
+ "JOIN",
28
+ "INNER",
29
+ "OUTER",
30
+ "LEFT",
31
+ "RIGHT",
32
+ "FULL",
33
+ "ON",
34
+ "AS",
35
+ "IS",
36
+ "NULL",
37
+ "NOT",
38
+ "IN",
39
+ "LIKE",
40
+ "BETWEEN",
41
+ "EXISTS",
42
+ "HAVING",
43
+ "GROUP",
44
+ "BY",
45
+ "ORDER",
46
+ "ASC",
47
+ "DESC",
48
+ "DISTINCT",
49
+ "TOP",
50
+ "LIMIT",
51
+ "OFFSET",
52
+ "CASE",
53
+ "WHEN",
54
+ "THEN",
55
+ "ELSE",
56
+ "END",
57
+ "IF",
58
+ "WHILE",
59
+ "FOR",
60
+ "DECLARE",
61
+ "SET",
62
+ "BEGIN",
63
+ "COMMIT",
64
+ "ROLLBACK",
65
+ "TRANSACTION",
66
+ "GRANT",
67
+ "REVOKE",
68
+ "DENY",
69
+ "TABLE",
70
+ "VIEW",
71
+ "INDEX",
72
+ "PROCEDURE",
73
+ "FUNCTION",
74
+ "TRIGGER",
75
+ "DATABASE",
76
+ "SCHEMA",
77
+ "USER",
78
+ "ROLE",
79
+ "BACKUP",
80
+ "RESTORE"
81
+ ], me = ({ popup: o, onClose: M }) => {
82
+ const c = k(null), x = k(null), [h, U] = p(""), [m, C] = p([]), [a, R] = p(null), [W, b] = p(!1), [F, z] = p(0), [y, H] = p("none"), [G, L] = p(!1), K = T(
83
+ () => /* @__PURE__ */ t("div", { style: { maxWidth: "400px" }, children: [
84
+ /* @__PURE__ */ e(i.Title, { level: 5, style: { marginTop: 0, marginBottom: 12 }, children: "검색 가이드" }),
85
+ /* @__PURE__ */ t(N, { direction: "vertical", size: "small", style: { width: "100%" }, children: [
86
+ /* @__PURE__ */ t("div", { children: [
87
+ /* @__PURE__ */ e(i.Text, { strong: !0, children: "• 검색 방법" }),
88
+ /* @__PURE__ */ e("div", { style: { marginTop: 4, fontSize: "12px", color: "#666" }, children: "도로명, 지번, 건물명, 우편번호로 검색할 수 있습니다." })
89
+ ] }),
90
+ /* @__PURE__ */ t("div", { children: [
91
+ /* @__PURE__ */ e(i.Text, { strong: !0, children: "• 검색 예시" }),
92
+ /* @__PURE__ */ t("div", { style: { marginTop: 4, fontSize: "12px", color: "#666" }, children: [
93
+ '- 도로명: "논현로", "강남대로"',
94
+ /* @__PURE__ */ e("br", {}),
95
+ '- 지번: "논현동 234", "역삼동 123"',
96
+ /* @__PURE__ */ e("br", {}),
97
+ '- 건물명: "태성빌딩", "강남역"',
98
+ /* @__PURE__ */ e("br", {}),
99
+ '- 우편번호: "06234", "12345"'
100
+ ] })
101
+ ] }),
102
+ /* @__PURE__ */ t("div", { children: [
103
+ /* @__PURE__ */ e(i.Text, { strong: !0, children: "• 정렬 옵션" }),
104
+ /* @__PURE__ */ t("div", { style: { marginTop: 4, fontSize: "12px", color: "#666" }, children: [
105
+ "- 정확도 우선: 검색어와 가장 유사한 결과 우선",
106
+ /* @__PURE__ */ e("br", {}),
107
+ "- 도로명 포함: 도로명 주소를 포함한 결과 우선",
108
+ /* @__PURE__ */ e("br", {}),
109
+ "- 지번 포함: 지번 주소를 포함한 결과 우선"
110
+ ] })
111
+ ] }),
112
+ /* @__PURE__ */ t("div", { children: [
113
+ /* @__PURE__ */ e(i.Text, { strong: !0, children: "• 검색 팁" }),
114
+ /* @__PURE__ */ t("div", { style: { marginTop: 4, fontSize: "12px", color: "#666" }, children: [
115
+ "- 검색어는 최소 2글자 이상 입력해주세요.",
116
+ /* @__PURE__ */ e("br", {}),
117
+ "- 공백은 자동으로 제거됩니다.",
118
+ /* @__PURE__ */ e("br", {}),
119
+ "- 검색 결과를 클릭하여 주소를 선택하세요.",
120
+ /* @__PURE__ */ e("br", {}),
121
+ "- 검색하기 위해 검색 버튼이나 엔터키를 눌러주세요."
122
+ ] })
123
+ ] })
124
+ ] })
125
+ ] }),
126
+ []
127
+ ), $ = T(
128
+ () => /* @__PURE__ */ t("div", { style: { maxWidth: "420px", maxHeight: "600px", overflowY: "auto" }, children: [
129
+ /* @__PURE__ */ e(i.Title, { level: 5, style: { marginTop: 0, marginBottom: 12 }, children: "에러 메시지 안내" }),
130
+ /* @__PURE__ */ t(N, { direction: "vertical", size: "small", style: { width: "100%" }, children: [
131
+ /* @__PURE__ */ t("div", { style: { fontSize: "12px", color: "#666" }, children: [
132
+ /* @__PURE__ */ t("div", { style: { marginBottom: 6 }, children: [
133
+ /* @__PURE__ */ e(i.Text, { type: "danger", style: { fontSize: "12px" }, children: "E0005" }),
134
+ ": 검색어가 입력되지 않았습니다."
135
+ ] }),
136
+ /* @__PURE__ */ t("div", { style: { marginBottom: 6 }, children: [
137
+ /* @__PURE__ */ e(i.Text, { type: "danger", style: { fontSize: "12px" }, children: "E0006" }),
138
+ ": 주소를 상세히 입력해 주시기 바랍니다.",
139
+ /* @__PURE__ */ e("div", { style: { marginLeft: 40, fontSize: "11px", color: "#999" }, children: "(예시: 여의나루로 76, 문현금융로 40)" })
140
+ ] }),
141
+ /* @__PURE__ */ t("div", { style: { marginBottom: 6 }, children: [
142
+ /* @__PURE__ */ e(i.Text, { type: "danger", style: { fontSize: "12px" }, children: "E0008" }),
143
+ ": 검색어는 한글자 이상 입력되어야 합니다."
144
+ ] }),
145
+ /* @__PURE__ */ t("div", { style: { marginBottom: 6 }, children: [
146
+ /* @__PURE__ */ e(i.Text, { type: "danger", style: { fontSize: "12px" }, children: "E0009" }),
147
+ ": 검색어는 문자와 숫자 같이 입력되어야 합니다. (숫자만 검색 불가)"
148
+ ] }),
149
+ /* @__PURE__ */ t("div", { style: { marginBottom: 6 }, children: [
150
+ /* @__PURE__ */ e(i.Text, { type: "danger", style: { fontSize: "12px" }, children: "E0010" }),
151
+ ": 검색어가 너무 깁니다. (한글40자, 영문,숫자 80자 이하)"
152
+ ] }),
153
+ /* @__PURE__ */ t("div", { style: { marginBottom: 6 }, children: [
154
+ /* @__PURE__ */ e(i.Text, { type: "danger", style: { fontSize: "12px" }, children: "E0011" }),
155
+ ": 검색어에 너무 긴 숫자가 포함되어 있습니다. (숫자10자 이하)"
156
+ ] }),
157
+ /* @__PURE__ */ t("div", { style: { marginBottom: 6 }, children: [
158
+ /* @__PURE__ */ e(i.Text, { type: "danger", style: { fontSize: "12px" }, children: "E0012" }),
159
+ ": 특수문자+숫자만으로는 검색이 불가능 합니다."
160
+ ] }),
161
+ /* @__PURE__ */ t("div", { style: { marginBottom: 6 }, children: [
162
+ /* @__PURE__ */ e(i.Text, { type: "danger", style: { fontSize: "12px" }, children: "E0013" }),
163
+ ": SQL 예약어 또는 특수문자( %,=,",
164
+ ">",
165
+ ",",
166
+ "<",
167
+ ",[,] )는 검색이 불가능 합니다."
168
+ ] })
169
+ ] }),
170
+ /* @__PURE__ */ t(
171
+ "div",
172
+ {
173
+ style: {
174
+ marginTop: 12,
175
+ paddingTop: 8,
176
+ borderTop: "1px solid #f0f0f0"
177
+ },
178
+ children: [
179
+ /* @__PURE__ */ e(
180
+ i.Text,
181
+ {
182
+ type: "warning",
183
+ style: { fontSize: "12px", fontWeight: "bold" },
184
+ children: "관리자 문의 바랍니다"
185
+ }
186
+ ),
187
+ /* @__PURE__ */ t("div", { style: { marginTop: 6, fontSize: "11px", color: "#999" }, children: [
188
+ "-999: 시스템에러",
189
+ /* @__PURE__ */ e("br", {}),
190
+ "E0001: 승인되지 않은 KEY 입니다.",
191
+ /* @__PURE__ */ e("br", {}),
192
+ "E0002: 승인되지 않은 사이트 입니다.",
193
+ /* @__PURE__ */ e("br", {}),
194
+ "E0003: 정상적인 경로로 접속하시기 바랍니다.",
195
+ /* @__PURE__ */ e("br", {}),
196
+ "E0014: 개발승인키 기간이 만료되어 서비스를 이용하실 수 없습니다."
197
+ ] })
198
+ ]
199
+ }
200
+ )
201
+ ] })
202
+ ] }),
203
+ []
204
+ );
205
+ te(() => {
206
+ (async () => {
207
+ try {
208
+ const l = await D(
209
+ "SCMUTIL00202",
210
+ {},
211
+ { showLoading: !1 }
212
+ );
213
+ L(l?.result === 1);
214
+ } catch {
215
+ L(!1);
216
+ }
217
+ })();
218
+ }, []);
219
+ const S = v(
220
+ async (n, l) => {
221
+ if (h.trim().length < 2) {
222
+ s.warning("검색어는 2글자 이상 입력해주세요.");
223
+ return;
224
+ }
225
+ const r = h.replace(/(시|도|구|군)(?=[가-힣0-9])/g, "$1 ").replace(/\s+/g, " ").trim(), f = r.split(/\s+/).filter((d) => d.length > 0);
226
+ if (f.length === 1 && /[시도구군]$/.test(f[0])) {
227
+ s.warning("주소를 상세히 입력해 주시기 바랍니다.");
228
+ return;
229
+ }
230
+ const X = /[가-힣]/.test(r) ? 40 : 80, I = /^\d+$/.test(r);
231
+ if (r.length > X) {
232
+ s.warning(
233
+ "검색어가 너무 깁니다. (한글 40자, 영문/숫자 80자 이하)"
234
+ );
235
+ return;
236
+ }
237
+ if (/\d{11,}/.test(r)) {
238
+ s.warning(
239
+ "검색어에 너무 긴 숫자가 포함되어 있습니다. (숫자 10자 이하)"
240
+ );
241
+ return;
242
+ }
243
+ if (I && r.length !== 5 || /^[0-9\W_]+$/.test(r) && /\d/.test(r) && !/[A-Za-z가-힣]/.test(r) && !I) {
244
+ s.warning("특수문자+숫자만으로는 검색이 불가능 합니다.");
245
+ return;
246
+ }
247
+ if (se.some(
248
+ (d) => new RegExp(`\\b${d}\\b`, "i").test(r)
249
+ ) || /[[\]%=><]/.test(r)) {
250
+ s.warning(
251
+ "SQL 예약어 또는 특수문자( %,=,>,<,[,] )는 검색이 불가능 합니다."
252
+ );
253
+ return;
254
+ }
255
+ b(!0);
256
+ try {
257
+ const d = n || c.current?.currentPage || 1, q = l || c.current?.pageSize || 10, Q = {
258
+ keyword: r,
259
+ currentPage: d,
260
+ countPerPage: q,
261
+ firstSort: y,
262
+ ...o?.popupParams
263
+ }, g = await D("SCMUTIL00201", Q, {
264
+ showLoading: !1
265
+ });
266
+ if (g.errorCode !== "0") {
267
+ s.error(g.errorCode + " : " + g.errorMessage);
268
+ return;
269
+ }
270
+ const O = g?.pageList && Array.isArray(g.pageList) && g.pageList || [], u = g?.pageCnt || 0;
271
+ C(O), z(u), c.current?.setTotalData(u), setTimeout(() => {
272
+ x.current && (x.current.scrollTop = 0);
273
+ }, 0), (O.length === 0 || u === 0) && s.info("검색 결과가 없습니다.");
274
+ } catch (d) {
275
+ console.error("주소 검색 실패:", d), s.error("주소 검색 중 오류가 발생했습니다."), C([]), z(0), c.current?.setTotalData(0);
276
+ } finally {
277
+ b(!1);
278
+ }
279
+ },
280
+ [h, y, o?.popupParams]
281
+ ), j = v(() => {
282
+ c.current ? c.current.setPage(1) : S(1, 10);
283
+ }, [S]), w = v(
284
+ (n) => {
285
+ a && a.bdMgtSn === n.bdMgtSn ? R(null) : R(n);
286
+ },
287
+ [a]
288
+ ), Y = T(
289
+ () => ({
290
+ confirm: () => {
291
+ if (!a) {
292
+ s.error("주소를 선택해주세요.");
293
+ return;
294
+ }
295
+ const n = {
296
+ ...a
297
+ }, l = o?.config;
298
+ l?.onSelect ? l.onSelect(n) : o?.popupParams?.onSelect ? o.popupParams.onSelect(n) : o?.config?.callback && o.config.callback(n), l?.onClose && l.onClose(), o?.close?.();
299
+ }
300
+ }),
301
+ [a, o]
302
+ );
303
+ return /* @__PURE__ */ e(
304
+ ne,
305
+ {
306
+ popup: o,
307
+ buttons: [
308
+ {
309
+ id: "confirm",
310
+ label: "확인",
311
+ onClick: () => {
312
+ Y.confirm();
313
+ }
314
+ }
315
+ ],
316
+ onClose: () => {
317
+ o?.close?.(), M?.();
318
+ },
319
+ children: /* @__PURE__ */ e(re, { children: /* @__PURE__ */ t(ie, { border: !1, style: { paddingBottom: 10 }, children: [
320
+ /* @__PURE__ */ e(
321
+ "div",
322
+ {
323
+ style: {
324
+ paddingInline: "16px"
325
+ },
326
+ children: /* @__PURE__ */ t(E, { gap: 12, vertical: !0, style: { marginBottom: "6px" }, children: [
327
+ /* @__PURE__ */ t(
328
+ E,
329
+ {
330
+ gap: 16,
331
+ align: "center",
332
+ justify: "space-between",
333
+ wrap: !0,
334
+ style: { width: "100%" },
335
+ children: [
336
+ G && /* @__PURE__ */ e(
337
+ B.Group,
338
+ {
339
+ value: y,
340
+ onChange: (n) => {
341
+ H(n.target.value);
342
+ },
343
+ children: oe.map((n) => /* @__PURE__ */ e(B, { value: n.value, children: n.label }, n.value))
344
+ }
345
+ ),
346
+ /* @__PURE__ */ t(E, { gap: 16, wrap: !0, align: "center", justify: "flex-end", children: [
347
+ /* @__PURE__ */ e(
348
+ P,
349
+ {
350
+ content: K,
351
+ title: null,
352
+ trigger: "click",
353
+ placement: "right",
354
+ children: /* @__PURE__ */ t(
355
+ "span",
356
+ {
357
+ style: {
358
+ display: "inline-flex",
359
+ gap: 4,
360
+ alignItems: "center",
361
+ color: "#1890ff",
362
+ cursor: "pointer",
363
+ fontSize: "13px"
364
+ },
365
+ children: [
366
+ /* @__PURE__ */ e(A, { style: { fontSize: "18px" } }),
367
+ "검색 가이드"
368
+ ]
369
+ }
370
+ )
371
+ }
372
+ ),
373
+ /* @__PURE__ */ e(
374
+ P,
375
+ {
376
+ content: $,
377
+ title: null,
378
+ trigger: "click",
379
+ placement: "right",
380
+ children: /* @__PURE__ */ t(
381
+ "span",
382
+ {
383
+ style: {
384
+ display: "inline-flex",
385
+ gap: 4,
386
+ alignItems: "center",
387
+ color: "#fa8c16",
388
+ cursor: "pointer",
389
+ fontSize: "13px"
390
+ },
391
+ children: [
392
+ /* @__PURE__ */ e(A, { style: { fontSize: "18px" } }),
393
+ "에러 메시지 안내"
394
+ ]
395
+ }
396
+ )
397
+ }
398
+ )
399
+ ] })
400
+ ]
401
+ }
402
+ ),
403
+ /* @__PURE__ */ e(
404
+ _.Search,
405
+ {
406
+ placeholder: "도로명, 지번, 건물명, 우편번호로 검색",
407
+ prefix: /* @__PURE__ */ e(V, {}),
408
+ value: h,
409
+ allowClear: !0,
410
+ enterButton: "검색",
411
+ onChange: (n) => {
412
+ U(n.target.value);
413
+ },
414
+ onSearch: j,
415
+ style: { flex: 1 }
416
+ }
417
+ )
418
+ ] })
419
+ }
420
+ ),
421
+ /* @__PURE__ */ t(
422
+ "div",
423
+ {
424
+ style: {
425
+ display: "flex",
426
+ flexDirection: "column",
427
+ flex: 1,
428
+ minHeight: 0
429
+ },
430
+ children: [
431
+ m.length > 0 && /* @__PURE__ */ e(
432
+ "div",
433
+ {
434
+ style: {
435
+ padding: "16px 16px 12px 16px"
436
+ },
437
+ children: /* @__PURE__ */ t(
438
+ "h3",
439
+ {
440
+ style: {
441
+ fontSize: "16px",
442
+ fontWeight: "bold"
443
+ },
444
+ children: [
445
+ "검색 결과 (",
446
+ F,
447
+ "개)"
448
+ ]
449
+ }
450
+ )
451
+ }
452
+ ),
453
+ /* @__PURE__ */ e(
454
+ "div",
455
+ {
456
+ ref: x,
457
+ style: {
458
+ paddingInline: "15px",
459
+ overflowY: "auto",
460
+ flex: 1
461
+ },
462
+ children: /* @__PURE__ */ e(ee, { spinning: W, children: m.length > 0 ? /* @__PURE__ */ e("div", { children: m.map((n, l) => {
463
+ const r = a?.bdMgtSn === n.bdMgtSn;
464
+ return /* @__PURE__ */ t(
465
+ "div",
466
+ {
467
+ style: {
468
+ display: "flex",
469
+ alignItems: "flex-start",
470
+ padding: "12px",
471
+ border: r ? "2px solid #6449fc" : "1px solid #e0e0e0",
472
+ borderRadius: "8px",
473
+ marginBottom: "8px",
474
+ cursor: "pointer",
475
+ backgroundColor: r ? "#efebff" : "white",
476
+ transition: "all 0.2s ease"
477
+ },
478
+ onClick: () => w(n),
479
+ children: [
480
+ /* @__PURE__ */ e(
481
+ "div",
482
+ {
483
+ style: {
484
+ marginRight: "12px",
485
+ cursor: "pointer",
486
+ display: "flex",
487
+ alignItems: "center",
488
+ justifyContent: "center",
489
+ width: "20px",
490
+ height: "20px",
491
+ marginTop: "2px"
492
+ },
493
+ onClick: (f) => {
494
+ f.stopPropagation(), w(n);
495
+ },
496
+ children: r ? /* @__PURE__ */ e(
497
+ J,
498
+ {
499
+ style: {
500
+ fontSize: "20px",
501
+ color: "#6449fc"
502
+ }
503
+ }
504
+ ) : /* @__PURE__ */ e(
505
+ Z,
506
+ {
507
+ style: {
508
+ fontSize: "20px",
509
+ color: "#d9d9d9"
510
+ }
511
+ }
512
+ )
513
+ }
514
+ ),
515
+ /* @__PURE__ */ t("div", { style: { flex: 1 }, children: [
516
+ /* @__PURE__ */ t(
517
+ "div",
518
+ {
519
+ style: {
520
+ fontSize: "12px",
521
+ color: "#666",
522
+ marginBottom: "4px"
523
+ },
524
+ children: [
525
+ "[",
526
+ n.zipNo,
527
+ "]"
528
+ ]
529
+ }
530
+ ),
531
+ /* @__PURE__ */ e(
532
+ "div",
533
+ {
534
+ style: {
535
+ fontSize: "14px",
536
+ fontWeight: "bold",
537
+ marginBottom: "4px",
538
+ lineHeight: "1.4",
539
+ color: "#333"
540
+ },
541
+ children: n.roadAddr
542
+ }
543
+ ),
544
+ n.detBdNmList && /* @__PURE__ */ e(
545
+ "div",
546
+ {
547
+ style: {
548
+ fontSize: "12px",
549
+ color: "#666",
550
+ marginBottom: "4px"
551
+ },
552
+ children: n.detBdNmList
553
+ }
554
+ ),
555
+ /* @__PURE__ */ e(
556
+ "div",
557
+ {
558
+ style: {
559
+ fontSize: "12px",
560
+ color: "#999",
561
+ lineHeight: "1.3"
562
+ },
563
+ children: n.jibunAddr
564
+ }
565
+ )
566
+ ] })
567
+ ]
568
+ },
569
+ `addr-${n.bdMgtSn}-${l}`
570
+ );
571
+ }) }) : /* @__PURE__ */ e(
572
+ "div",
573
+ {
574
+ style: {
575
+ textAlign: "center",
576
+ padding: "40px",
577
+ color: "#999",
578
+ fontSize: "14px"
579
+ },
580
+ children: h ? "검색 버튼이나 엔터키를 눌러 검색해주세요." : "주소를 검색해주세요."
581
+ }
582
+ ) })
583
+ }
584
+ ),
585
+ /* @__PURE__ */ e(
586
+ le,
587
+ {
588
+ ref: c,
589
+ mode: "server",
590
+ onServerPageChange: (n, l) => {
591
+ S(n, l);
592
+ },
593
+ pageSizeOptions: [10, 20, 50]
594
+ }
595
+ )
596
+ ]
597
+ }
598
+ )
599
+ ] }) })
600
+ }
601
+ );
602
+ };
603
+ export {
604
+ me as default
605
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),D=require("@ant-design/icons"),u=require("antd"),c=require("react"),P=require("../utils/index.cjs"),j=require("../components/common/index.cjs"),R=e=>{if(e==null)return"";const a=String(e).trim();return!a||a.toUpperCase()==="NULL"?"":a.toUpperCase()},L=(e,a=0)=>{const p=Number(e);return Number.isFinite(p)?p:a};function S(e){return{crprCd:e.crprCd||void 0,wkplCd:e.wkplCd||void 0,deptCd:R(e.deptCd),deptNm:(e.deptNm??"").toString().trim(),hrnkDeptCd:e.hrnkDeptCd||null,hrnkDeptNm:e.hrnkDeptNm||null,deptGbCd:e.deptGbCd||null,deptLvl:L(e.deptLvl,e.hrnkDeptCd?2:1),orgSortOrd:L(e.orgSortOrd,0),orgOtptOrd:L(e.orgOtptOrd,0),deptAbrv:e.deptAbrv||null,deptFullNm:e.deptFullNm||null,deptEnglNm:e.deptEnglNm||null,isLeaf:e.isLeaf||null}}function q(e){const a=new Set,p=e.map(S).filter(t=>t.deptCd).filter(t=>(t.deptCd===t.hrnkDeptCd&&(t.hrnkDeptCd=""),!0)).filter(t=>a.has(t.deptCd)?!1:(a.add(t.deptCd),!0));p.sort((t,d)=>(t.deptLvl||0)-(d.deptLvl||0)||(t.orgSortOrd||0)-(d.orgSortOrd||0)||t.deptCd.localeCompare(d.deptCd));const o=new Map;for(const t of p)o.set(t.deptCd,{...t,children:[]});const h=[];for(const t of p){const d=o.get(t.deptCd),C=t.hrnkDeptCd;C&&o.has(C)?o.get(C).children.push(d):h.push(d)}const g=t=>{!t||t.length===0||(t.sort((d,C)=>d.deptCd.localeCompare(C.deptCd)),t.forEach(d=>g(d.children)))};g(h);const m=t=>{if(!t.children||t.children.length===0){delete t.children;return}t.children.forEach(m)};if(h.forEach(m),h.length>1){const t=h.find(d=>d.deptCd==="D00");if(t)return[t]}return h}function F(e){const a=e.map(S),p=a.filter(o=>o.isLeaf!=="Y").map(o=>o.deptCd);return p.length>200?a.filter(o=>(o.deptLvl||0)<=2).map(o=>o.deptCd):p}const M=({popup:e,onClose:a})=>{const[p,o]=c.useState(""),[h,g]=c.useState([]),[m,t]=c.useState([]),[d,C]=c.useState([]),[w,N]=c.useState(!1),O=c.useCallback(async r=>{try{N(!0);const l=await P.callService("SCMUTIL00103",{...r});e?.popupParams?.keyword&&o(e?.popupParams?.keyword);const i=Array.isArray(l?.deptList)&&l.deptList||[],s=q(i);C(s);const x=F(i);g(x);const k=s[0]?.deptCd||S(i.find(y=>S(y).deptLvl===1)||{}).deptCd||S(i[0]||{}).deptCd||"";t(k?[k]:[])}catch{u.message.error("조직 데이터를 불러오는 중 오류가 발생했습니다.")}finally{N(!1)}},[e?.popupParams]);c.useEffect(()=>{O()},[O]);const b=c.useCallback((r,l)=>{for(const i of r){if(i.deptCd===l)return i;if(i.children){const s=b(i.children,l);if(s)return s}}return null},[]),f=c.useMemo(()=>{const r=m[0];return r?b(d,r):null},[m,d,b]),v=c.useMemo(()=>{const r=i=>i.map(s=>({title:s.deptNm,key:s.deptCd,meta:s,children:s.children?r(s.children):void 0}));return r(d)},[d]),T=c.useMemo(()=>{const r=p.trim().toLowerCase();if(!r)return v;const l=i=>i.map(s=>{const x=s.meta,k=(x?.deptNm||"").toLowerCase().includes(r)||(x?.deptCd||"").toLowerCase().includes(r),y=s.children?l(s.children):void 0;return k||y&&y.length?{...s,children:y}:null}).filter(Boolean);return l(v)},[v,p]),B=c.useCallback(r=>{t(r.slice(0,1).map(String))},[]),z=c.useCallback(r=>g(r.map(String)),[]),E=c.useCallback((r,l)=>{if(r.stopPropagation(),!l.children||l.children.length===0)return;const i=h.includes(l.key);g(s=>i?s.filter(x=>x!==l.key):[...s,l.key])},[h]),I=c.useCallback(()=>t([]),[]),K={confirm:()=>{if(!f){u.message.error("부서를 선택해주세요.");return}const r={deptCd:f.deptCd,deptNm:f.deptNm,hrnkDeptCd:f.hrnkDeptCd,hrnkDeptNm:f.hrnkDeptNm,deptLvl:f.deptLvl,orgSortOrd:f.orgSortOrd},l=e?.config;l?.onSelect?l.onSelect(r):e?.config?.callback&&e.config.callback(JSON.stringify(r)),l?.onClose&&l.onClose(),e?.close?.()},cancel:()=>{const r=e?.config;r?.onCancel&&r.onCancel(),e?.close?.()}};return n.jsx(j.BwgPopup,{popup:e,buttons:[{id:"confirm",label:"확인",onClick:()=>{K.confirm()}}],onClose:()=>{e?.close?.(),a?.()},children:n.jsx(j.ContentLayOut,{children:n.jsx(j.ContentBox,{border:!1,style:{paddingBottom:20},children:n.jsxs(u.Splitter,{layout:"vertical",style:{height:"100%"},children:[n.jsxs(u.Splitter.Panel,{defaultSize:"70%",min:"70%",max:"75%",children:[n.jsx("div",{style:{position:"sticky",top:0,zIndex:10,backgroundColor:"white",borderBottom:"1px solid #e0e0e0",padding:8},children:n.jsxs(u.Flex,{gap:8,vertical:!0,style:{marginBottom:6},children:[n.jsx(j.BwgTitleBox,{title:"조직도"}),n.jsx(u.Row,{gutter:[16,16],children:n.jsx(u.Col,{span:24,children:n.jsx(u.Input,{placeholder:"부서명, 부서코드 검색",prefix:n.jsx(D.SearchOutlined,{}),value:p,allowClear:!0,onChange:r=>o(r.target.value)})})})]})}),n.jsx("div",{style:{padding:16,overflowY:"hidden"},children:n.jsx(u.Spin,{spinning:w,children:n.jsx(u.Tree,{treeData:T,expandedKeys:h,selectedKeys:m,onSelect:B,onExpand:z,onDoubleClick:E,showLine:!0,showIcon:!1,selectable:!0,style:{overflow:"hidden"},titleRender:r=>{const l=r.meta;return n.jsxs("span",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"2px 4px",width:"100%",fontWeight:m.includes(r.key)?"bold":"normal"},children:[n.jsx("span",{children:l.deptNm}),n.jsx("span",{style:{fontSize:11,color:"#999",marginLeft:8},children:l.deptCd})]})}})})})]}),n.jsx(u.Splitter.Panel,{collapsible:!0,children:n.jsxs("div",{style:{padding:16,overflowY:"hidden",height:"100%"},children:[n.jsx("h3",{style:{margin:"0 0 12px 0",fontSize:16,fontWeight:700},children:"선택된 부서"}),f?n.jsxs("div",{style:{display:"flex",alignItems:"center",padding:14,border:"1px solid #e0e0e0",borderRadius:12,background:"#fafafa"},children:[n.jsx("div",{style:{width:42,height:42,borderRadius:"50%",border:"1px solid #e6e6e6",display:"flex",alignItems:"center",justifyContent:"center",marginRight:12,fontSize:18,color:"#8c8c8c",background:"#fff",flex:"0 0 auto"},children:n.jsx(D.TeamOutlined,{})}),n.jsxs("div",{style:{flex:1,minWidth:0},children:[n.jsxs("div",{style:{fontSize:15,fontWeight:700,marginBottom:4},children:[f.deptNm," ",n.jsxs("span",{style:{color:"#8c8c8c",fontSize:12},children:["(",f.deptCd,")"]})]}),n.jsxs("div",{style:{fontSize:12,color:"#666",marginBottom:2},children:["상위부서: ",f.hrnkDeptNm||"-"]})]}),n.jsx(u.Button,{type:"text",onClick:I,icon:n.jsx(D.RestOutlined,{style:{fontSize:24,color:"#FF6363"}})})]}):n.jsx("div",{style:{color:"#999",fontSize:14},children:"부서를 선택해주세요."})]})})]})})})})};exports.default=M;