@bwg-ui/core 1.2.25 → 1.2.27
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/chunks/{MenuReport-B7wOCWJH.js → MenuReport-CWRL14FP.js} +1 -1
- package/dist/chunks/{MenuReport-DWUqzoE_.cjs → MenuReport-CdDOPy5D.cjs} +1 -1
- package/dist/chunks/{common-components-DN-4Ydi7.js → common-components-BR1s1Oaw.js} +1269 -756
- package/dist/chunks/{common-components-1B6Dgw0G.cjs → common-components-DaKdhIi2.cjs} +4 -4
- package/dist/chunks/{layout-components-CQYHdg88.cjs → layout-components-EmNfHHRC.cjs} +2 -2
- package/dist/chunks/{layout-components-BO9fKUG7.js → layout-components-JbKkWhw7.js} +2 -2
- package/dist/components/common/ButtonAccessController.d.ts.map +1 -1
- package/dist/components/common/index.cjs +1 -1
- package/dist/components/common/index.js +1 -1
- package/dist/components/guide/index.cjs +1 -1
- package/dist/components/guide/index.js +1 -1
- package/dist/components/layout/index.cjs +1 -1
- package/dist/components/layout/index.js +1 -1
- package/dist/components/pages/syst/SystemCodeManage.d.ts +1 -1
- package/dist/components/pages/syst/SystemCodeManage.d.ts.map +1 -1
- package/dist/components/popup/index.cjs +1 -1
- package/dist/components/popup/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +21 -21
- package/dist/stores/index.cjs +1 -1
- package/dist/stores/index.js +1 -1
- package/dist/types/bwg-global.d.ts +1 -0
- package/dist/utils/apiUtils.d.ts +37 -2
- package/dist/utils/apiUtils.d.ts.map +1 -1
- package/dist/utils/gwUtils.d.ts.map +1 -1
- package/dist/utils/index.cjs +1 -1
- package/dist/utils/index.d.ts +2 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +706 -712
- package/package.json +1 -1
package/dist/stores/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("zustand"),y=require("../utils/index.cjs"),L=require("antd"),V=require("../chunks/layout-components-CQYHdg88.cjs"),F=require("react"),Q=require("react-router-dom");function ee(n,r){let e;try{e=n()}catch{return}return{getItem:o=>{var t;const a=d=>d===null?null:JSON.parse(d,void 0),c=(t=e.getItem(o))!=null?t:null;return c instanceof Promise?c.then(a):a(c)},setItem:(o,t)=>e.setItem(o,JSON.stringify(t,void 0)),removeItem:o=>e.removeItem(o)}}const H=n=>r=>{try{const e=n(r);return e instanceof Promise?e:{then(s){return H(s)(e)},catch(s){return this}}}catch(e){return{then(s){return this},catch(s){return H(s)(e)}}}},te=(n,r)=>(e,s,o)=>{let t={storage:ee(()=>localStorage),partialize:C=>C,version:0,merge:(C,S)=>({...S,...C}),...r},a=!1;const c=new Set,d=new Set;let i=t.storage;if(!i)return n((...C)=>{console.warn(`[zustand persist middleware] Unable to update item '${t.name}', the given storage is currently unavailable.`),e(...C)},s,o);const l=()=>{const C=t.partialize({...s()});return i.setItem(t.name,{state:C,version:t.version})},f=o.setState;o.setState=(C,S)=>(f(C,S),l());const m=n((...C)=>(e(...C),l()),s,o);o.getInitialState=()=>m;let u;const h=()=>{var C,S;if(!i)return;a=!1,c.forEach(g=>{var N;return g((N=s())!=null?N:m)});const k=((S=t.onRehydrateStorage)==null?void 0:S.call(t,(C=s())!=null?C:m))||void 0;return H(i.getItem.bind(i))(t.name).then(g=>{if(g)if(typeof g.version=="number"&&g.version!==t.version){if(t.migrate){const N=t.migrate(g.state,g.version);return N instanceof Promise?N.then(B=>[!0,B]):[!0,N]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,g.state];return[!1,void 0]}).then(g=>{var N;const[B,Z]=g;if(u=t.merge(Z,(N=s())!=null?N:m),e(u,!0),B)return l()}).then(()=>{k?.(u,void 0),u=s(),a=!0,d.forEach(g=>g(u))}).catch(g=>{k?.(void 0,g)})};return o.persist={setOptions:C=>{t={...t,...C},C.storage&&(i=C.storage)},clearStorage:()=>{i?.removeItem(t.name)},getOptions:()=>t,rehydrate:()=>h(),hasHydrated:()=>a,onHydrate:C=>(c.add(C),()=>{c.delete(C)}),onFinishHydration:C=>(d.add(C),()=>{d.delete(C)})},t.skipHydration||h(),u||m},M=te,w=b.create()(M((n,r)=>({user:null,hrInfo:null,buttonAuths:{},isLoggedIn:()=>!!r().user,setLoginUser:(e,s)=>{n({user:e,hrInfo:s??null}),console.log("사용자 로그인:",e,s)},clearLoginUser:()=>{n({user:null,hrInfo:null,buttonAuths:{}}),console.log("사용자 로그아웃")},updateUser:(e,s)=>{const o=r().user,t=r().hrInfo;o&&n({user:{...o,...e}}),t&&n({hrInfo:{...t,...s}})},getButtonAuth:(e,s)=>{const o=`${e}_${s}`;return r().buttonAuths[o]||null},setButtonAuth:(e,s,o)=>{const t=`${e}_${s}`;n(a=>({buttonAuths:{...a.buttonAuths,[t]:o}}))},clearButtonAuths:()=>{n({buttonAuths:{}})}}),{name:"user-storage",partialize:n=>({user:n.user,hrInfo:n.hrInfo,isLoggedIn:n.isLoggedIn})})),K={CACHE_SIZE_LIMIT:1e3},p={codeCache:new Map,nameCache:new Map,optionCache:new Map,colorCache:new Map,loadedGroups:new Set,cacheHits:new Map,clearCache(){this.codeCache.clear(),this.nameCache.clear(),this.optionCache.clear(),this.colorCache.clear(),this.loadedGroups.clear(),this.cacheHits.clear()},cleanupCache(){const n=Array.from(this.cacheHits.entries());n.sort((e,s)=>e[1]-s[1]),n.slice(0,Math.floor(n.length*.3)).forEach(([e])=>{this.codeCache.delete(e),this.nameCache.delete(e),this.optionCache.delete(e),this.colorCache.delete(e),this.cacheHits.delete(e)})},isGroupLoaded(n){return this.loadedGroups.has(n)},markGroupLoaded(n){this.loadedGroups.add(n)}},v=n=>{console.log("대규모 데이터 변환 시작:",n);const r={};if(n&&n.code&&Array.isArray(n.code)){const e=n.code,s=n.opt||[],o=new Map;s.forEach(t=>{t.cmmnCd&&t.enblYn==="Y"&&(o.has(t.cmmnCd)||o.set(t.cmmnCd,[]),o.get(t.cmmnCd).push(t))}),e.forEach(t=>{if(t&&t.cmmnCdGrp&&t.cmmnCd&&t.enblYn==="Y"){const a=t.cmmnCdGrp;r[a]||(r[a]={});const d=(o.get(t.cmmnCd)||[]).reduce((i,l)=>(l.optnCd&&l.optnNm&&(i[l.optnCd]=l.optnNm),i),{});r[a][t.cmmnCd]={codeValue:t.cmmnCd,codeNm:t.cmmnCdNm,groupCode:t.cmmnCdGrp,commonCode:t.cmmnCd,labelColor:t.cmmnCdClr,systemCodeYn:t.syscdYn,sortOrder:parseInt(t.sortOrd)||1,enabled:t.enblYn==="Y",options:Object.keys(d).length>0?d:null,originalData:t}}})}return console.log("대규모 데이터 변환 완료:",r),r},I=b.create()(M((n,r)=>({codeData:null,isLoading:!1,error:null,lastUpdated:null,loadedGroups:new Set,fetchSystemCodes:async()=>{n({isLoading:!0,error:null});try{console.log("시스템 공통코드 데이터 가져오기 시작: SCMSIGN00301");const e=await y.callService(y.getServiceCode("SRCH_CODE"),{crprCd:"100"});console.log("시스템 공통코드 응답:",e),console.log("시스템 공통코드목록:",e.code),console.log("시스템 공통코드옵션목록:",e.opt);const s=v(e),t={...r().codeData||{},...s};p.clearCache();const a=new Set(Object.keys(t));a.forEach(c=>{p.markGroupLoaded(c)}),n({codeData:t,isLoading:!1,error:null,lastUpdated:new Date,loadedGroups:a}),console.log("시스템 공통코드 데이터 가져오기 완료")}catch(e){console.error("시스템 공통코드 데이터 가져오기 실패:",e),n({isLoading:!1,error:e instanceof Error?e.message:"시스템 공통코드 데이터 가져오기 실패"})}},fetchBusinessCodes:async()=>{n({isLoading:!0,error:null});try{console.log("업무 공통코드 데이터 가져오기 시작: SCMSIGN00302");const e=await y.callService("SCMSIGN00302",{sysCd:__SYS_CD__});console.log("업무 공통코드 응답:",e),console.log("업무 공통코드목록:",e.code),console.log("업무 공통코드옵션목록:",e.opt);const s=v(e),t={...r().codeData||{},...s};p.clearCache();const a=new Set(Object.keys(t));a.forEach(c=>{p.markGroupLoaded(c)}),n({codeData:t,isLoading:!1,error:null,lastUpdated:new Date,loadedGroups:a}),console.log("업무 공통코드 데이터 가져오기 완료")}catch(e){console.error("업무 공통코드 데이터 가져오기 실패:",e),n({isLoading:!1,error:e instanceof Error?e.message:"업무 공통코드 데이터 가져오기 실패"})}},fetchData:async()=>{n({isLoading:!0,error:null});try{console.log("전체 공통코드 데이터 가져오기 시작 (시스템 + 업무)");const[e,s]=await Promise.all([y.callService(y.getServiceCode("SRCH_CODE"),{crprCd:"100"}),y.callService("SCMSIGN00302",{sysCd:__SYS_CD__})]);console.log("시스템 공통코드 응답:",e),console.log("업무 공통코드 응답:",s);const o=v(e),t=v(s),a={...o,...t};p.clearCache();const c=new Set(Object.keys(a));c.forEach(d=>{p.markGroupLoaded(d)}),n({codeData:a,isLoading:!1,error:null,lastUpdated:new Date,loadedGroups:c}),console.log("전체 공통코드 데이터 가져오기 완료")}catch(e){console.error("전체 공통코드 데이터 가져오기 실패:",e),n({isLoading:!1,error:e instanceof Error?e.message:"전체 공통코드 데이터 가져오기 실패"})}},loadSpecificGroup:async e=>{const{codeData:s,loadedGroups:o}=r();if(!s||o.has(e))return;const t=new Set(o).add(e);n({loadedGroups:t}),p.markGroupLoaded(e)},setData:e=>{p.clearCache();const s=new Set(Object.keys(e));s.forEach(o=>{p.markGroupLoaded(o)}),n({codeData:e,lastUpdated:new Date,loadedGroups:s})},clearData:()=>{p.clearCache(),n({codeData:null,isLoading:!1,error:null,lastUpdated:null,loadedGroups:new Set})},getLoadedGroups:()=>Array.from(r().loadedGroups)}),{name:"large-data-storage",partialize:n=>({codeData:n.codeData,lastUpdated:n.lastUpdated,loadedGroups:Array.from(n.loadedGroups)})})),_=b.create()(M((n,r)=>({get codeData(){return I.getState().codeData},get isLoading(){return I.getState().isLoading},get error(){return I.getState().error},get lastUpdated(){return I.getState().lastUpdated},fetchCommonCodes:async()=>{await I.getState().fetchData()},getCodeList:(e,s)=>{const{enabledOnly:o=!0,systemCodeOnly:t=!1,sortByOrder:a=!1,excludeParentCode:c=!1}=s||{},d=`simpleCodeList_${e}_${o}_${t}_${a}_${c}`;if(p.optionCache.has(d)){const h=p.cacheHits.get(d)||0;return p.cacheHits.set(d,h+1),p.optionCache.get(d)}const i=I.getState().codeData;if(!i)return[];if(!p.isGroupLoaded(e)&&!i[e])return console.warn(`그룹 ${e}가 아직 로드되지 않았습니다.`),[];const l=[],f=i[e];f&&Object.values(f).forEach(h=>{if(!(o&&!h.enabled)&&!(t&&h.systemCodeYn!=="Y"))if(c){const C=e.length,S=h.codeValue.substring(C);S.length>0&&l.push({...h,codeValue:S})}else l.push(h)});let m;a?m=l.sort((h,C)=>h.sortOrder!==C.sortOrder?h.sortOrder-C.sortOrder:h.codeValue.localeCompare(C.codeValue)):m=l.sort((h,C)=>h.codeValue.localeCompare(C.codeValue));const u=m.map(h=>({label:h.codeNm,value:h.codeValue,tagColor:h.labelColor}));return p.optionCache.size>=K.CACHE_SIZE_LIMIT&&p.cleanupCache(),p.optionCache.set(d,u),p.cacheHits.set(d,1),u},getCodeName:e=>{if(p.nameCache.has(e)){const o=p.cacheHits.get(`name_${e}`)||0;return p.cacheHits.set(`name_${e}`,o+1),p.nameCache.get(e)}const s=I.getState().codeData;if(!s)return null;for(const o of Object.values(s))for(const t of Object.values(o))if(t.codeValue===e)return p.nameCache.set(e,t.codeNm),p.cacheHits.set(`name_${e}`,1),t.codeNm;return null},getCodeColor:e=>{if(p.colorCache.has(e)){const o=p.cacheHits.get(`color_${e}`)||0;return p.cacheHits.set(`color_${e}`,o+1),p.colorCache.get(e)}const s=I.getState().codeData;if(!s)return null;for(const o of Object.values(s))for(const t of Object.values(o))if(t.codeValue===e)return p.colorCache.set(e,t.labelColor||""),p.cacheHits.set(`color_${e}`,1),t.labelColor;return null},getGridLookup:e=>{const s=`gridLookup_${e}`;if(p.optionCache.has(s)){const i=p.cacheHits.get(s)||0;return p.cacheHits.set(s,i+1),p.optionCache.get(s)}const o=I.getState().codeData;if(!o)return{labels:[],values:[],lookupDisplay:!0};const t=o[e];if(!t)return{labels:[],values:[],lookupDisplay:!0};const a=[],c=[];Object.values(t).filter(i=>i.enabled).sort((i,l)=>i.sortOrder-l.sortOrder).forEach(i=>{a.push(i.codeNm),c.push(i.codeValue)});const d={labels:a,values:c,lookupDisplay:!0};return p.optionCache.set(s,d),p.cacheHits.set(s,1),d},getCodeByOption:(e,s,o)=>{const t=`codeByOption_${e}_${s}_${o}`;if(p.codeCache.has(t)){const l=p.cacheHits.get(t)||0;return p.cacheHits.set(t,l+1),p.codeCache.get(t)}const a=I.getState().codeData;if(!a)return[];const c=[],d=a[e];d&&Object.values(d).forEach(l=>{l.enabled&&l.options&&l.options[s]===o&&c.push({...l,codeNm:l.options[s]||l.codeNm})});const i=c.sort((l,f)=>l.codeValue.localeCompare(f.codeValue));return p.codeCache.size>=K.CACHE_SIZE_LIMIT&&p.cleanupCache(),p.codeCache.set(t,i),p.cacheHits.set(t,1),i},getCodeListByOption:(e,s,o)=>{const{enabledOnly:t=!0,systemCodeOnly:a=!1,sortByOrder:c=!1}=o||{},d=`codeListByOption_${e}_${s}_${t}_${a}_${c}`;if(p.codeCache.has(d)){const u=p.cacheHits.get(d)||0;return p.cacheHits.set(d,u+1),p.codeCache.get(d)}const i=I.getState().codeData;if(!i)return[];if(!p.isGroupLoaded(e)&&!i[e])return console.warn(`그룹 ${e}가 아직 로드되지 않았습니다.`),[];const l=[],f=i[e];f&&Object.values(f).forEach(u=>{t&&!u.enabled||a&&u.systemCodeYn!=="Y"||u.options&&u.options[s]&&l.push({label:u.options[s],value:u.commonCode,tagColor:u.labelColor})});let m;return c?m=l.sort((u,h)=>u.value.localeCompare(h.value)):m=l.sort((u,h)=>u.value.localeCompare(h.value)),p.codeCache.size>=K.CACHE_SIZE_LIMIT&&p.cleanupCache(),p.codeCache.set(d,m),p.cacheHits.set(d,1),m},getAvailableGroupCodes:()=>{const e="available_group_codes";if(p.nameCache.has(e)){const t=p.cacheHits.get(e)||0;return p.cacheHits.set(e,t+1),JSON.parse(p.nameCache.get(e))}const s=I.getState().codeData;if(!s)return[];const o=Object.keys(s).sort();return p.nameCache.set(e,JSON.stringify(o)),p.cacheHits.set(e,1),o},clearCodes:()=>{I.getState().clearData()}}),{name:"code-storage",partialize:n=>({})})),oe=b.create()(M((n,r)=>({get codeData(){return I.getState().codeData},get isLoading(){return I.getState().isLoading},get error(){return I.getState().error},get lastUpdated(){return I.getState().lastUpdated},fetchCommonCodes:async()=>{await I.getState().fetchData()},getOptionValue:(e,s)=>{const o=`option_${e}_${s}`;if(p.optionCache.has(o)){const c=p.cacheHits.get(o)||0;return p.cacheHits.set(o,c+1),p.optionCache.get(o)}const t=I.getState().codeData;if(!t)return null;const a=t[e];if(a&&a[s]){const c=a[s].options;return p.optionCache.set(o,c),p.cacheHits.set(o,1),c}return null},getOptionByKey:(e,s,o)=>{const t=`option_${e}_${s}_${o}`;if(p.optionCache.has(t)){const d=p.cacheHits.get(t)||0;return p.cacheHits.set(t,d+1),p.optionCache.get(t)}const a=r().getOptionValue(e,s),c=a?a[o]:null;return p.optionCache.set(t,c),p.cacheHits.set(t,1),c},clearCodes:()=>{I.getState().clearData()}}),{name:"option-storage",partialize:n=>({})})),se=b.create()(M((n,r)=>({get codeData(){return I.getState().codeData},get isLoading(){return I.getState().isLoading},get error(){return I.getState().error},get lastUpdated(){return I.getState().lastUpdated},fetchCommonCodes:async()=>{await I.getState().fetchData()},getColorCode:e=>{if(p.colorCache.has(e)){const o=p.cacheHits.get(`color_${e}`)||0;return p.cacheHits.set(`color_${e}`,o+1),p.colorCache.get(e)}const s=I.getState().codeData;if(!s)return null;for(const o of Object.values(s))for(const t of Object.values(o))if(t.codeValue===e)return p.colorCache.set(e,t.labelColor||""),p.cacheHits.set(`color_${e}`,1),t.labelColor;return null},getColorMapping:()=>{const e="color_mapping";if(p.optionCache.has(e)){const t=p.cacheHits.get(e)||0;return p.cacheHits.set(e,t+1),p.optionCache.get(e)}const s=I.getState().codeData;if(!s)return[];const o=[];return Object.values(s).forEach(t=>{Object.values(t).forEach(a=>{a.labelColor&&o.push({code:a.codeValue,color:a.labelColor})})}),p.optionCache.set(e,o),p.cacheHits.set(e,1),o},clearCodes:()=>{I.getState().clearData()}}),{name:"color-storage",partialize:n=>({})})),ne=(n,r)=>({nodes:{},rootIds:[],loadedFor:void 0,loading:!1,error:void 0,treeNodes:[],isMenuBookmarked:e=>Object.values(r().nodes).some(s=>s.type==="M"&&s.menuId===e),getPrntBkmkIdByMenuId:e=>{const s=D(r().nodes,e);return s?r().nodes[s]?.prntBkmkId??"-":"-"},getNodeByMenuId:e=>{const s=D(r().nodes,e);if(!s)return null;const o=r().nodes[s];return o?.type==="M"?o:null},getFolderTree:e=>{const{nodes:s,rootIds:o}=r(),t=c=>e?c.toLowerCase().includes(e.toLowerCase()):!0,a=c=>{const d=s[c];if(!d||d.type!=="F")return null;const i=d,l=(i.children||[]).map(m=>s[m]).filter(m=>!!m&&m.type==="F").map(m=>a(m.bkmkId)).filter(Boolean);return t(i.bkmkNm)||l.length>0?{key:i.bkmkId,title:`📁 ${i.bkmkNm}`,children:l.length?l:void 0}:null};return o.map(c=>a(c)).filter(Boolean)},loadFavorites:async(e,s=!1)=>{console.log("loadFavorites ::::: ",e,s);const o=r();if(!(!s&&o.loadedFor===e&&Object.keys(o.nodes).length)){n({loading:!0,error:void 0});try{const t=await y.callService("SCMBKMK00101",{userId:e}),a=Array.isArray(t?.sub)?t.sub:[],c=re(a),d=P(c.nodes,c.rootIds);n({...c,treeNodes:d,loadedFor:e,loading:!1})}catch(t){throw n({loading:!1,error:t?.message||"즐겨찾기 로드 실패"}),t}}},loadFavoritesIfNeeded:async e=>{const s=r();(s.loadedFor!==e||Object.keys(s.nodes).length===0)&&await r().loadFavorites(e)},clearFavorites:()=>{n({nodes:{},rootIds:[],treeNodes:[],loadedFor:void 0,loading:!1,error:void 0}),console.log("📚 북마크 스토어 초기화 완료")},addNode:async e=>{const s=E(r()),o=ae();n(t=>{const a=e.sortOrdr??x(t,e.prntBkmkId),c={...t,nodes:{...t.nodes,[o]:e.type==="F"?{bkmkId:o,type:"F",prntBkmkId:e.prntBkmkId||"-",sortOrdr:a,bkmkNm:e.bkmkNm??"새 폴더",children:[],sysCd:e.sysCd,userId:e.userId}:{bkmkId:o,type:"M",prntBkmkId:e.prntBkmkId,sortOrdr:a,menuId:e.menuId??"",menuNm:e.menuNm,sysCd:e.sysCd,userId:e.userId}},rootIds:t.rootIds.slice(),treeNodes:t.treeNodes};return ce(c,o,e.prntBkmkId),c.treeNodes=P(c.nodes,c.rootIds),c});try{let t=o;const a=x(r(),e.prntBkmkId),c=await y.callService("SCMBKMK00102",{iudFlag:"I",type:e.type,sysCd:e.sysCd,userId:e.userId,bkmkId:o,bkmkNm:e.bkmkNm,prntBkmkId:e.prntBkmkId,menuId:e.menuId,sortOrdr:a,chngId:y.getUserId()});return t=String(c?.bkmkId??c?.itemId??o),n(d=>{const i=pe(d,o,t);return{...i,treeNodes:P(i.nodes,i.rootIds)}}),t}catch(t){throw n(s),t}},moveNode:async({bkmkId:e,newPrntBkmkId:s,sortOrdr:o,userId:t})=>{const a=r(),c=structuredClone(a.nodes),d=[...a.rootIds],i=c[e];if(!i)return;if(s!=="-"){const u=c[s];if(!u||u.type!=="F")throw new Error("부모는 폴더만 가능합니다.")}const l=i.prntBkmkId??"-",f=l==="-"?d:c[l].children||=[];{const u=f.indexOf(e);u>=0&&f.splice(u,1)}const m=s==="-"?d:c[s].children||=[];m.splice(Math.max(0,Math.min(o,m.length)),0,e),i.prntBkmkId=s,n({nodes:c,rootIds:d}),z(c,d,s),z(c,d,l);try{await y.callService("SCMBKMK00104",{bkmkId:e,prntBkmkId:s,sortOrdr:o,chngId:t})}catch(u){throw n(a),u}},removeNode:async e=>{const s=E(r());n(o=>{if(!o.nodes[e])return o;const t={...o,nodes:{...o.nodes},rootIds:o.rootIds.slice(),treeNodes:o.treeNodes};return X(t,e),t.treeNodes=P(t.nodes,t.rootIds),t});try{await y.callService("SCMBKMK00103",{bkmkId:e})}catch(o){throw n(s),o}},editNode:async({bkmkId:e,userId:s,bkmkNm:o,prntBkmkId:t,sortOrdr:a})=>{const c=E(r());n(d=>{const i={...d,nodes:{...d.nodes}},l=i.nodes[e];return l?.type==="F"&&typeof o=="string"&&(i.nodes[e]={...l,bkmkNm:o}),i});try{await y.callService("SCMBKMK00102",{iudFlag:"U",userId:s,bkmkId:e,bkmkNm:o,prntBkmkId:t,sortOrdr:a,chngId:y.getUserId()})}catch(d){throw n(c),d}},addFolder:async(e,s,o,t)=>await r().addNode({type:"F",bkmkNm:e,prntBkmkId:s,sysCd:o,userId:t}),addMenuToFolder:async(e,s)=>D(r().nodes,s.menuId)?"이미 북마크에 저장된 메뉴입니다.":await r().addNode({type:"M",prntBkmkId:e,sysCd:"KH",userId:y.getUserId(),menuId:s.menuId,menuNm:s.menuNm}),toggleMenuFavorite:async(e,s)=>{if(!e)return;const o=r(),t=Object.values(o.nodes).find(c=>c.type==="M"&&c.menuId===s.menuId);if(t){await r().removeNode(t.bkmkId);return}let a=j(o);a||(await r().loadFavorites(e,!0),a=j(r())),a&&await r().addNode({type:"M",prntBkmkId:a,sysCd:"KH",userId:y.getUserId(),menuId:s.menuId,menuNm:s.menuNm})},removeMenuByMenuId:async e=>{const s=r(),o=D(s.nodes,e);o&&await r().removeNode(o)},removeMenu:async e=>{await r().removeNode(e)},removeFolder:async e=>{await r().removeNode(e)},editFolder:async(e,s,o,t,a)=>{await r().editNode({bkmkId:e,userId:s,bkmkNm:o,prntBkmkId:t,sortOrdr:a})},convertToAntTreeData:(e,s,o,t=!1)=>{const a=d=>o?d.toLowerCase().includes(o.toLowerCase()):!0,c=d=>{const i=e[d];if(!i||t&&i.type!=="F")return null;if(i.type==="F"){const l=i,f=(l.children||[]).map(u=>c(u)).filter(Boolean);return a(l.bkmkNm)||f.length>0?{key:l.bkmkId,type:"F",title:`📁 ${l.bkmkNm}`,bkmkNm:l.bkmkNm,prntBkmkId:l.prntBkmkId,sortOrdr:l.sortOrdr,fullPath:l.fullPath,children:f.length?f:void 0}:null}else{const l=i,f=l.menuNm?`${l.menuNm} (${l.menuId})`:l.menuId;return a(f)?{key:l.bkmkId,type:"M",title:`📄 ${f}`,prntBkmkId:l.prntBkmkId,sortOrdr:l.sortOrdr,fullPath:l.fullPath,isLeaf:!0}:null}};return s.map(c).filter(Boolean)}}),G=b.create(ne);function re(n){const r={},e=[],s=o=>{o.forEach(t=>{const a={type:t.type,bkmkId:t.bkmkId??t.BKMK_ID??t.id,prntBkmkId:t.prntBkmkId??t.PRNT_BKMK_ID??"-",sortOrdr:Number(t.sortOrdr??t.SORT_ORDR??0),sysCd:t.sysCd??t.SYS_CD,userId:t.userId??t.USER_ID,fullPath:t.fullPath??t.FULL_PATH};if(t.type==="F"){r[a.bkmkId]={...a,bkmkNm:t.bkmkNm??t.BKMK_NM??t.name??a.bkmkId,children:[]};const c=Array.isArray(t.children)?t.children:[];s(c)}else r[a.bkmkId]={...a,menuId:t.menuId??t.MENU_ID??"",menuNm:t.menuNm??t.MENU_NM}})};return s(n),Object.values(r).forEach(o=>{if(o.prntBkmkId&&o.prntBkmkId!=="-"){const t=r[o.prntBkmkId];t?.type==="F"&&t.children.push(o.bkmkId)}else o.type==="F"&&e.push(o.bkmkId)}),e.sort((o,t)=>(r[o].sortOrdr??0)-(r[t].sortOrdr??0)),Object.values(r).forEach(o=>{o.type==="F"&&o.children.sort((a,c)=>(r[a].sortOrdr??0)-(r[c].sortOrdr??0))}),{nodes:r,rootIds:e}}function E(n){return{...n,nodes:JSON.parse(JSON.stringify(n.nodes)),rootIds:n.rootIds.slice()}}function ae(){return`tmp_${Math.random().toString(36).slice(2,10)}`}function x(n,r){if(!r||r==="-")return n.rootIds.length;const e=n.nodes[r];return e?e.children.length:0}function ce(n,r,e){const s=n.nodes[r];if(s)if(e&&e!=="-"){const o=n.nodes[e];if(!o||o.type!=="F")return;s.prntBkmkId=e,o.children=[...o.children,r]}else s.prntBkmkId="-",n.rootIds=[...n.rootIds,r]}function de(n,r){const e=n.nodes[r];if(!e)return;const s=e.prntBkmkId;if(s&&s!=="-"){const o=n.nodes[s];o?.type==="F"&&(o.children=o.children.filter(t=>t!==r))}else n.rootIds=n.rootIds.filter(o=>o!==r)}function X(n,r){const e=n.nodes[r];if(!e)return;e.type==="F"&&e.children.slice().forEach(a=>X(n,a)),de(n,r);const{[r]:s,...o}=n.nodes;n.nodes=o}function pe(n,r,e){if(r===e)return n;const s=n.nodes[r];if(!s)return n;const o=JSON.parse(JSON.stringify(s));o.bkmkId=e;const t={...n.nodes,[e]:o};delete t[r];let a=n.rootIds;if(o.prntBkmkId&&o.prntBkmkId!=="-"){const c=t[o.prntBkmkId];c?.type==="F"&&(t[o.prntBkmkId]={...c,children:c.children.map(d=>d===r?e:d)})}else a=n.rootIds.map(c=>c===r?e:c);return{...n,nodes:t,rootIds:a}}function j(n){return n.rootIds.find(r=>n.nodes[r]?.type==="F")??null}function P(n,r){const e={};Object.values(n).forEach(d=>{const i=d.bkmkId,l=d.prntBkmkId;!i||!l||l==="-"||l===i||(e[l]??=[]).push(i)});const s=new Set,o=d=>{if(s.has(d))return null;const i=n[d];if(!i)return null;s.add(d);try{if(i.type==="F"){const f=i,m=e[d]??[];return{type:"F",bkmkId:d,bkmkNm:f.bkmkNm,prntBkmkId:f.prntBkmkId,children:m.map(o).filter(Boolean)}}const l=i;return{type:"M",bkmkId:d,bkmkNm:l.menuNm,menuId:l.menuId,menuNm:l.menuNm,prntBkmkId:l.prntBkmkId}}finally{s.delete(d)}},t=Object.values(n).filter(d=>d.prntBkmkId==="-"&&d.type==="M").map(d=>d.bkmkId),a=Object.values(n).filter(d=>d.prntBkmkId==="-"&&d.type==="F").map(d=>d.bkmkId);return Array.from(new Set([...r,...t,...a])).map(o).filter(Boolean)}function D(n,r){for(const e of Object.values(n))if(e.type==="M"&&e.menuId===r)return e.bkmkId;return null}function z(n,r,e){(!e||e==="-"?r:n[e].children||[]).forEach((o,t)=>{const a=n[o];a&&(a.sortOrdr=t)})}const R={DEFAULT_PRNT_GBCD:1},le=n=>n&&typeof n=="object"&&typeof n.menuId=="string"&&typeof n.menuNm=="string",Y=n=>Array.isArray(n)&&n.every(le);let T=[],q=[];const ie=n=>{if(n&&typeof n=="object"){const r=n;if(r.menus&&Y(r.menus))return r.menus;if(Y(n))return n}return console.warn("⚠️ 메뉴 응답이 비어있거나 예상과 다릅니다."),[]},ue=(n,r)=>!!r&&n.crprCd===r.crprCd&&n.userId===r.userId&&(n.prntGbcd??R.DEFAULT_PRNT_GBCD)===(r.prntGbcd??R.DEFAULT_PRNT_GBCD),me=n=>{if(T.length===n.length&&T.every((t,a)=>t.menuId===n[a]?.menuId&&t.menuPrntId===n[a]?.menuPrntId))return q;if(!n.length)return[];const r=new Map,e=[];n.forEach(t=>t?.menuId&&r.set(t.menuId,{...t,children:[]})),n.forEach(t=>{const a=r.get(t.menuId);a&&(t.menuPrntId&&t.menuPrntId!==""&&t.menuPrntId!=="-"?r.get(t.menuPrntId)?.children?.push(a):e.push(a))});const s=t=>t.sort((a,c)=>(a?.menuNo??0)-(c?.menuNo??0)).map(a=>({...a,children:a.children&&a.children.length?s(a.children):void 0})),o=s(e);return T=[...n],q=o,o},A=b.create((n,r)=>({menuList:[],flatMenuList:[],isLoading:!1,error:null,_lastFetchParams:null,fetchMenu:async({crprCd:e,userId:s,prntGbcd:o})=>{const t={crprCd:e,userId:s,prntGbcd:o??R.DEFAULT_PRNT_GBCD};if(ue(t,r()._lastFetchParams)){console.log("✅ 중복 fetch 차단",t);return}n({isLoading:!0,error:null,_lastFetchParams:t});try{const a=await y.callService(y.getServiceCode("AUTH_MENU"),t),c=ie(a),d=me(c);n({flatMenuList:c,menuList:d,isLoading:!1,error:null})}catch(a){n({isLoading:!1,error:a?.message??"메뉴 로드 실패"})}},clearMenu:()=>{n({menuList:[],flatMenuList:[],error:null,_lastFetchParams:null})},findMenuById:e=>{const{flatMenuList:s}=r();return s.find(o=>o.menuId===e)??null}})),O={MAX_TABS:15},U=b.create((n,r)=>({activeMenuId:null,activeMenuItem:null,activeDetailItem:null,tabs:[],sidebarCollapsed:!1,maxTabs:O.MAX_TABS,tabProtectFlag:{},tabParams:{},componentLabelMap:{},clearMenuViewStore:()=>{n({activeMenuId:null,activeMenuItem:null,activeDetailItem:null,tabs:[],sidebarCollapsed:!1,maxTabs:O.MAX_TABS,tabProtectFlag:{},tabParams:{},componentLabelMap:{}})},openTabFromMenu:(e,s)=>{const{tabs:o}=r(),t=o.find(c=>c.key===e.menuId),a=o.find(c=>c.key===e.menuId);if(t)a!=null?(n({activeMenuId:e.menuId,activeMenuItem:e}),r().setTabParams(e.menuId,s||{}),e?.prsnInfoYn==="Y"&&r().setProtectFlagForKey(e.menuId)):L.message.warning("유효하지 않은 메뉴정보입니다.");else{if(o.length>O.MAX_TABS){console.warn("❌ 최대 탭 개수를 초과했습니다."),L.message.warning(`최대 ${O.MAX_TABS}개의 탭만 열 수 있습니다.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("zustand"),y=require("../utils/index.cjs"),L=require("antd"),V=require("../chunks/layout-components-EmNfHHRC.cjs"),F=require("react"),Q=require("react-router-dom");function ee(n,r){let e;try{e=n()}catch{return}return{getItem:o=>{var t;const a=d=>d===null?null:JSON.parse(d,void 0),c=(t=e.getItem(o))!=null?t:null;return c instanceof Promise?c.then(a):a(c)},setItem:(o,t)=>e.setItem(o,JSON.stringify(t,void 0)),removeItem:o=>e.removeItem(o)}}const H=n=>r=>{try{const e=n(r);return e instanceof Promise?e:{then(s){return H(s)(e)},catch(s){return this}}}catch(e){return{then(s){return this},catch(s){return H(s)(e)}}}},te=(n,r)=>(e,s,o)=>{let t={storage:ee(()=>localStorage),partialize:C=>C,version:0,merge:(C,S)=>({...S,...C}),...r},a=!1;const c=new Set,d=new Set;let i=t.storage;if(!i)return n((...C)=>{console.warn(`[zustand persist middleware] Unable to update item '${t.name}', the given storage is currently unavailable.`),e(...C)},s,o);const l=()=>{const C=t.partialize({...s()});return i.setItem(t.name,{state:C,version:t.version})},f=o.setState;o.setState=(C,S)=>(f(C,S),l());const m=n((...C)=>(e(...C),l()),s,o);o.getInitialState=()=>m;let u;const h=()=>{var C,S;if(!i)return;a=!1,c.forEach(g=>{var N;return g((N=s())!=null?N:m)});const k=((S=t.onRehydrateStorage)==null?void 0:S.call(t,(C=s())!=null?C:m))||void 0;return H(i.getItem.bind(i))(t.name).then(g=>{if(g)if(typeof g.version=="number"&&g.version!==t.version){if(t.migrate){const N=t.migrate(g.state,g.version);return N instanceof Promise?N.then(B=>[!0,B]):[!0,N]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,g.state];return[!1,void 0]}).then(g=>{var N;const[B,Z]=g;if(u=t.merge(Z,(N=s())!=null?N:m),e(u,!0),B)return l()}).then(()=>{k?.(u,void 0),u=s(),a=!0,d.forEach(g=>g(u))}).catch(g=>{k?.(void 0,g)})};return o.persist={setOptions:C=>{t={...t,...C},C.storage&&(i=C.storage)},clearStorage:()=>{i?.removeItem(t.name)},getOptions:()=>t,rehydrate:()=>h(),hasHydrated:()=>a,onHydrate:C=>(c.add(C),()=>{c.delete(C)}),onFinishHydration:C=>(d.add(C),()=>{d.delete(C)})},t.skipHydration||h(),u||m},M=te,w=b.create()(M((n,r)=>({user:null,hrInfo:null,buttonAuths:{},isLoggedIn:()=>!!r().user,setLoginUser:(e,s)=>{n({user:e,hrInfo:s??null}),console.log("사용자 로그인:",e,s)},clearLoginUser:()=>{n({user:null,hrInfo:null,buttonAuths:{}}),console.log("사용자 로그아웃")},updateUser:(e,s)=>{const o=r().user,t=r().hrInfo;o&&n({user:{...o,...e}}),t&&n({hrInfo:{...t,...s}})},getButtonAuth:(e,s)=>{const o=`${e}_${s}`;return r().buttonAuths[o]||null},setButtonAuth:(e,s,o)=>{const t=`${e}_${s}`;n(a=>({buttonAuths:{...a.buttonAuths,[t]:o}}))},clearButtonAuths:()=>{n({buttonAuths:{}})}}),{name:"user-storage",partialize:n=>({user:n.user,hrInfo:n.hrInfo,isLoggedIn:n.isLoggedIn})})),K={CACHE_SIZE_LIMIT:1e3},p={codeCache:new Map,nameCache:new Map,optionCache:new Map,colorCache:new Map,loadedGroups:new Set,cacheHits:new Map,clearCache(){this.codeCache.clear(),this.nameCache.clear(),this.optionCache.clear(),this.colorCache.clear(),this.loadedGroups.clear(),this.cacheHits.clear()},cleanupCache(){const n=Array.from(this.cacheHits.entries());n.sort((e,s)=>e[1]-s[1]),n.slice(0,Math.floor(n.length*.3)).forEach(([e])=>{this.codeCache.delete(e),this.nameCache.delete(e),this.optionCache.delete(e),this.colorCache.delete(e),this.cacheHits.delete(e)})},isGroupLoaded(n){return this.loadedGroups.has(n)},markGroupLoaded(n){this.loadedGroups.add(n)}},v=n=>{console.log("대규모 데이터 변환 시작:",n);const r={};if(n&&n.code&&Array.isArray(n.code)){const e=n.code,s=n.opt||[],o=new Map;s.forEach(t=>{t.cmmnCd&&t.enblYn==="Y"&&(o.has(t.cmmnCd)||o.set(t.cmmnCd,[]),o.get(t.cmmnCd).push(t))}),e.forEach(t=>{if(t&&t.cmmnCdGrp&&t.cmmnCd&&t.enblYn==="Y"){const a=t.cmmnCdGrp;r[a]||(r[a]={});const d=(o.get(t.cmmnCd)||[]).reduce((i,l)=>(l.optnCd&&l.optnNm&&(i[l.optnCd]=l.optnNm),i),{});r[a][t.cmmnCd]={codeValue:t.cmmnCd,codeNm:t.cmmnCdNm,groupCode:t.cmmnCdGrp,commonCode:t.cmmnCd,labelColor:t.cmmnCdClr,systemCodeYn:t.syscdYn,sortOrder:parseInt(t.sortOrd)||1,enabled:t.enblYn==="Y",options:Object.keys(d).length>0?d:null,originalData:t}}})}return console.log("대규모 데이터 변환 완료:",r),r},I=b.create()(M((n,r)=>({codeData:null,isLoading:!1,error:null,lastUpdated:null,loadedGroups:new Set,fetchSystemCodes:async()=>{n({isLoading:!0,error:null});try{console.log("시스템 공통코드 데이터 가져오기 시작: SCMSIGN00301");const e=await y.callService(y.getServiceCode("SRCH_CODE"),{crprCd:"100"});console.log("시스템 공통코드 응답:",e),console.log("시스템 공통코드목록:",e.code),console.log("시스템 공통코드옵션목록:",e.opt);const s=v(e),t={...r().codeData||{},...s};p.clearCache();const a=new Set(Object.keys(t));a.forEach(c=>{p.markGroupLoaded(c)}),n({codeData:t,isLoading:!1,error:null,lastUpdated:new Date,loadedGroups:a}),console.log("시스템 공통코드 데이터 가져오기 완료")}catch(e){console.error("시스템 공통코드 데이터 가져오기 실패:",e),n({isLoading:!1,error:e instanceof Error?e.message:"시스템 공통코드 데이터 가져오기 실패"})}},fetchBusinessCodes:async()=>{n({isLoading:!0,error:null});try{console.log("업무 공통코드 데이터 가져오기 시작: SCMSIGN00302");const e=await y.callService("SCMSIGN00302",{sysCd:__SYS_CD__});console.log("업무 공통코드 응답:",e),console.log("업무 공통코드목록:",e.code),console.log("업무 공통코드옵션목록:",e.opt);const s=v(e),t={...r().codeData||{},...s};p.clearCache();const a=new Set(Object.keys(t));a.forEach(c=>{p.markGroupLoaded(c)}),n({codeData:t,isLoading:!1,error:null,lastUpdated:new Date,loadedGroups:a}),console.log("업무 공통코드 데이터 가져오기 완료")}catch(e){console.error("업무 공통코드 데이터 가져오기 실패:",e),n({isLoading:!1,error:e instanceof Error?e.message:"업무 공통코드 데이터 가져오기 실패"})}},fetchData:async()=>{n({isLoading:!0,error:null});try{console.log("전체 공통코드 데이터 가져오기 시작 (시스템 + 업무)");const[e,s]=await Promise.all([y.callService(y.getServiceCode("SRCH_CODE"),{crprCd:"100"}),y.callService("SCMSIGN00302",{sysCd:__SYS_CD__})]);console.log("시스템 공통코드 응답:",e),console.log("업무 공통코드 응답:",s);const o=v(e),t=v(s),a={...o,...t};p.clearCache();const c=new Set(Object.keys(a));c.forEach(d=>{p.markGroupLoaded(d)}),n({codeData:a,isLoading:!1,error:null,lastUpdated:new Date,loadedGroups:c}),console.log("전체 공통코드 데이터 가져오기 완료")}catch(e){console.error("전체 공통코드 데이터 가져오기 실패:",e),n({isLoading:!1,error:e instanceof Error?e.message:"전체 공통코드 데이터 가져오기 실패"})}},loadSpecificGroup:async e=>{const{codeData:s,loadedGroups:o}=r();if(!s||o.has(e))return;const t=new Set(o).add(e);n({loadedGroups:t}),p.markGroupLoaded(e)},setData:e=>{p.clearCache();const s=new Set(Object.keys(e));s.forEach(o=>{p.markGroupLoaded(o)}),n({codeData:e,lastUpdated:new Date,loadedGroups:s})},clearData:()=>{p.clearCache(),n({codeData:null,isLoading:!1,error:null,lastUpdated:null,loadedGroups:new Set})},getLoadedGroups:()=>Array.from(r().loadedGroups)}),{name:"large-data-storage",partialize:n=>({codeData:n.codeData,lastUpdated:n.lastUpdated,loadedGroups:Array.from(n.loadedGroups)})})),_=b.create()(M((n,r)=>({get codeData(){return I.getState().codeData},get isLoading(){return I.getState().isLoading},get error(){return I.getState().error},get lastUpdated(){return I.getState().lastUpdated},fetchCommonCodes:async()=>{await I.getState().fetchData()},getCodeList:(e,s)=>{const{enabledOnly:o=!0,systemCodeOnly:t=!1,sortByOrder:a=!1,excludeParentCode:c=!1}=s||{},d=`simpleCodeList_${e}_${o}_${t}_${a}_${c}`;if(p.optionCache.has(d)){const h=p.cacheHits.get(d)||0;return p.cacheHits.set(d,h+1),p.optionCache.get(d)}const i=I.getState().codeData;if(!i)return[];if(!p.isGroupLoaded(e)&&!i[e])return console.warn(`그룹 ${e}가 아직 로드되지 않았습니다.`),[];const l=[],f=i[e];f&&Object.values(f).forEach(h=>{if(!(o&&!h.enabled)&&!(t&&h.systemCodeYn!=="Y"))if(c){const C=e.length,S=h.codeValue.substring(C);S.length>0&&l.push({...h,codeValue:S})}else l.push(h)});let m;a?m=l.sort((h,C)=>h.sortOrder!==C.sortOrder?h.sortOrder-C.sortOrder:h.codeValue.localeCompare(C.codeValue)):m=l.sort((h,C)=>h.codeValue.localeCompare(C.codeValue));const u=m.map(h=>({label:h.codeNm,value:h.codeValue,tagColor:h.labelColor}));return p.optionCache.size>=K.CACHE_SIZE_LIMIT&&p.cleanupCache(),p.optionCache.set(d,u),p.cacheHits.set(d,1),u},getCodeName:e=>{if(p.nameCache.has(e)){const o=p.cacheHits.get(`name_${e}`)||0;return p.cacheHits.set(`name_${e}`,o+1),p.nameCache.get(e)}const s=I.getState().codeData;if(!s)return null;for(const o of Object.values(s))for(const t of Object.values(o))if(t.codeValue===e)return p.nameCache.set(e,t.codeNm),p.cacheHits.set(`name_${e}`,1),t.codeNm;return null},getCodeColor:e=>{if(p.colorCache.has(e)){const o=p.cacheHits.get(`color_${e}`)||0;return p.cacheHits.set(`color_${e}`,o+1),p.colorCache.get(e)}const s=I.getState().codeData;if(!s)return null;for(const o of Object.values(s))for(const t of Object.values(o))if(t.codeValue===e)return p.colorCache.set(e,t.labelColor||""),p.cacheHits.set(`color_${e}`,1),t.labelColor;return null},getGridLookup:e=>{const s=`gridLookup_${e}`;if(p.optionCache.has(s)){const i=p.cacheHits.get(s)||0;return p.cacheHits.set(s,i+1),p.optionCache.get(s)}const o=I.getState().codeData;if(!o)return{labels:[],values:[],lookupDisplay:!0};const t=o[e];if(!t)return{labels:[],values:[],lookupDisplay:!0};const a=[],c=[];Object.values(t).filter(i=>i.enabled).sort((i,l)=>i.sortOrder-l.sortOrder).forEach(i=>{a.push(i.codeNm),c.push(i.codeValue)});const d={labels:a,values:c,lookupDisplay:!0};return p.optionCache.set(s,d),p.cacheHits.set(s,1),d},getCodeByOption:(e,s,o)=>{const t=`codeByOption_${e}_${s}_${o}`;if(p.codeCache.has(t)){const l=p.cacheHits.get(t)||0;return p.cacheHits.set(t,l+1),p.codeCache.get(t)}const a=I.getState().codeData;if(!a)return[];const c=[],d=a[e];d&&Object.values(d).forEach(l=>{l.enabled&&l.options&&l.options[s]===o&&c.push({...l,codeNm:l.options[s]||l.codeNm})});const i=c.sort((l,f)=>l.codeValue.localeCompare(f.codeValue));return p.codeCache.size>=K.CACHE_SIZE_LIMIT&&p.cleanupCache(),p.codeCache.set(t,i),p.cacheHits.set(t,1),i},getCodeListByOption:(e,s,o)=>{const{enabledOnly:t=!0,systemCodeOnly:a=!1,sortByOrder:c=!1}=o||{},d=`codeListByOption_${e}_${s}_${t}_${a}_${c}`;if(p.codeCache.has(d)){const u=p.cacheHits.get(d)||0;return p.cacheHits.set(d,u+1),p.codeCache.get(d)}const i=I.getState().codeData;if(!i)return[];if(!p.isGroupLoaded(e)&&!i[e])return console.warn(`그룹 ${e}가 아직 로드되지 않았습니다.`),[];const l=[],f=i[e];f&&Object.values(f).forEach(u=>{t&&!u.enabled||a&&u.systemCodeYn!=="Y"||u.options&&u.options[s]&&l.push({label:u.options[s],value:u.commonCode,tagColor:u.labelColor})});let m;return c?m=l.sort((u,h)=>u.value.localeCompare(h.value)):m=l.sort((u,h)=>u.value.localeCompare(h.value)),p.codeCache.size>=K.CACHE_SIZE_LIMIT&&p.cleanupCache(),p.codeCache.set(d,m),p.cacheHits.set(d,1),m},getAvailableGroupCodes:()=>{const e="available_group_codes";if(p.nameCache.has(e)){const t=p.cacheHits.get(e)||0;return p.cacheHits.set(e,t+1),JSON.parse(p.nameCache.get(e))}const s=I.getState().codeData;if(!s)return[];const o=Object.keys(s).sort();return p.nameCache.set(e,JSON.stringify(o)),p.cacheHits.set(e,1),o},clearCodes:()=>{I.getState().clearData()}}),{name:"code-storage",partialize:n=>({})})),oe=b.create()(M((n,r)=>({get codeData(){return I.getState().codeData},get isLoading(){return I.getState().isLoading},get error(){return I.getState().error},get lastUpdated(){return I.getState().lastUpdated},fetchCommonCodes:async()=>{await I.getState().fetchData()},getOptionValue:(e,s)=>{const o=`option_${e}_${s}`;if(p.optionCache.has(o)){const c=p.cacheHits.get(o)||0;return p.cacheHits.set(o,c+1),p.optionCache.get(o)}const t=I.getState().codeData;if(!t)return null;const a=t[e];if(a&&a[s]){const c=a[s].options;return p.optionCache.set(o,c),p.cacheHits.set(o,1),c}return null},getOptionByKey:(e,s,o)=>{const t=`option_${e}_${s}_${o}`;if(p.optionCache.has(t)){const d=p.cacheHits.get(t)||0;return p.cacheHits.set(t,d+1),p.optionCache.get(t)}const a=r().getOptionValue(e,s),c=a?a[o]:null;return p.optionCache.set(t,c),p.cacheHits.set(t,1),c},clearCodes:()=>{I.getState().clearData()}}),{name:"option-storage",partialize:n=>({})})),se=b.create()(M((n,r)=>({get codeData(){return I.getState().codeData},get isLoading(){return I.getState().isLoading},get error(){return I.getState().error},get lastUpdated(){return I.getState().lastUpdated},fetchCommonCodes:async()=>{await I.getState().fetchData()},getColorCode:e=>{if(p.colorCache.has(e)){const o=p.cacheHits.get(`color_${e}`)||0;return p.cacheHits.set(`color_${e}`,o+1),p.colorCache.get(e)}const s=I.getState().codeData;if(!s)return null;for(const o of Object.values(s))for(const t of Object.values(o))if(t.codeValue===e)return p.colorCache.set(e,t.labelColor||""),p.cacheHits.set(`color_${e}`,1),t.labelColor;return null},getColorMapping:()=>{const e="color_mapping";if(p.optionCache.has(e)){const t=p.cacheHits.get(e)||0;return p.cacheHits.set(e,t+1),p.optionCache.get(e)}const s=I.getState().codeData;if(!s)return[];const o=[];return Object.values(s).forEach(t=>{Object.values(t).forEach(a=>{a.labelColor&&o.push({code:a.codeValue,color:a.labelColor})})}),p.optionCache.set(e,o),p.cacheHits.set(e,1),o},clearCodes:()=>{I.getState().clearData()}}),{name:"color-storage",partialize:n=>({})})),ne=(n,r)=>({nodes:{},rootIds:[],loadedFor:void 0,loading:!1,error:void 0,treeNodes:[],isMenuBookmarked:e=>Object.values(r().nodes).some(s=>s.type==="M"&&s.menuId===e),getPrntBkmkIdByMenuId:e=>{const s=D(r().nodes,e);return s?r().nodes[s]?.prntBkmkId??"-":"-"},getNodeByMenuId:e=>{const s=D(r().nodes,e);if(!s)return null;const o=r().nodes[s];return o?.type==="M"?o:null},getFolderTree:e=>{const{nodes:s,rootIds:o}=r(),t=c=>e?c.toLowerCase().includes(e.toLowerCase()):!0,a=c=>{const d=s[c];if(!d||d.type!=="F")return null;const i=d,l=(i.children||[]).map(m=>s[m]).filter(m=>!!m&&m.type==="F").map(m=>a(m.bkmkId)).filter(Boolean);return t(i.bkmkNm)||l.length>0?{key:i.bkmkId,title:`📁 ${i.bkmkNm}`,children:l.length?l:void 0}:null};return o.map(c=>a(c)).filter(Boolean)},loadFavorites:async(e,s=!1)=>{console.log("loadFavorites ::::: ",e,s);const o=r();if(!(!s&&o.loadedFor===e&&Object.keys(o.nodes).length)){n({loading:!0,error:void 0});try{const t=await y.callService("SCMBKMK00101",{userId:e}),a=Array.isArray(t?.sub)?t.sub:[],c=re(a),d=P(c.nodes,c.rootIds);n({...c,treeNodes:d,loadedFor:e,loading:!1})}catch(t){throw n({loading:!1,error:t?.message||"즐겨찾기 로드 실패"}),t}}},loadFavoritesIfNeeded:async e=>{const s=r();(s.loadedFor!==e||Object.keys(s.nodes).length===0)&&await r().loadFavorites(e)},clearFavorites:()=>{n({nodes:{},rootIds:[],treeNodes:[],loadedFor:void 0,loading:!1,error:void 0}),console.log("📚 북마크 스토어 초기화 완료")},addNode:async e=>{const s=E(r()),o=ae();n(t=>{const a=e.sortOrdr??x(t,e.prntBkmkId),c={...t,nodes:{...t.nodes,[o]:e.type==="F"?{bkmkId:o,type:"F",prntBkmkId:e.prntBkmkId||"-",sortOrdr:a,bkmkNm:e.bkmkNm??"새 폴더",children:[],sysCd:e.sysCd,userId:e.userId}:{bkmkId:o,type:"M",prntBkmkId:e.prntBkmkId,sortOrdr:a,menuId:e.menuId??"",menuNm:e.menuNm,sysCd:e.sysCd,userId:e.userId}},rootIds:t.rootIds.slice(),treeNodes:t.treeNodes};return ce(c,o,e.prntBkmkId),c.treeNodes=P(c.nodes,c.rootIds),c});try{let t=o;const a=x(r(),e.prntBkmkId),c=await y.callService("SCMBKMK00102",{iudFlag:"I",type:e.type,sysCd:e.sysCd,userId:e.userId,bkmkId:o,bkmkNm:e.bkmkNm,prntBkmkId:e.prntBkmkId,menuId:e.menuId,sortOrdr:a,chngId:y.getUserId()});return t=String(c?.bkmkId??c?.itemId??o),n(d=>{const i=pe(d,o,t);return{...i,treeNodes:P(i.nodes,i.rootIds)}}),t}catch(t){throw n(s),t}},moveNode:async({bkmkId:e,newPrntBkmkId:s,sortOrdr:o,userId:t})=>{const a=r(),c=structuredClone(a.nodes),d=[...a.rootIds],i=c[e];if(!i)return;if(s!=="-"){const u=c[s];if(!u||u.type!=="F")throw new Error("부모는 폴더만 가능합니다.")}const l=i.prntBkmkId??"-",f=l==="-"?d:c[l].children||=[];{const u=f.indexOf(e);u>=0&&f.splice(u,1)}const m=s==="-"?d:c[s].children||=[];m.splice(Math.max(0,Math.min(o,m.length)),0,e),i.prntBkmkId=s,n({nodes:c,rootIds:d}),z(c,d,s),z(c,d,l);try{await y.callService("SCMBKMK00104",{bkmkId:e,prntBkmkId:s,sortOrdr:o,chngId:t})}catch(u){throw n(a),u}},removeNode:async e=>{const s=E(r());n(o=>{if(!o.nodes[e])return o;const t={...o,nodes:{...o.nodes},rootIds:o.rootIds.slice(),treeNodes:o.treeNodes};return X(t,e),t.treeNodes=P(t.nodes,t.rootIds),t});try{await y.callService("SCMBKMK00103",{bkmkId:e})}catch(o){throw n(s),o}},editNode:async({bkmkId:e,userId:s,bkmkNm:o,prntBkmkId:t,sortOrdr:a})=>{const c=E(r());n(d=>{const i={...d,nodes:{...d.nodes}},l=i.nodes[e];return l?.type==="F"&&typeof o=="string"&&(i.nodes[e]={...l,bkmkNm:o}),i});try{await y.callService("SCMBKMK00102",{iudFlag:"U",userId:s,bkmkId:e,bkmkNm:o,prntBkmkId:t,sortOrdr:a,chngId:y.getUserId()})}catch(d){throw n(c),d}},addFolder:async(e,s,o,t)=>await r().addNode({type:"F",bkmkNm:e,prntBkmkId:s,sysCd:o,userId:t}),addMenuToFolder:async(e,s)=>D(r().nodes,s.menuId)?"이미 북마크에 저장된 메뉴입니다.":await r().addNode({type:"M",prntBkmkId:e,sysCd:"KH",userId:y.getUserId(),menuId:s.menuId,menuNm:s.menuNm}),toggleMenuFavorite:async(e,s)=>{if(!e)return;const o=r(),t=Object.values(o.nodes).find(c=>c.type==="M"&&c.menuId===s.menuId);if(t){await r().removeNode(t.bkmkId);return}let a=j(o);a||(await r().loadFavorites(e,!0),a=j(r())),a&&await r().addNode({type:"M",prntBkmkId:a,sysCd:"KH",userId:y.getUserId(),menuId:s.menuId,menuNm:s.menuNm})},removeMenuByMenuId:async e=>{const s=r(),o=D(s.nodes,e);o&&await r().removeNode(o)},removeMenu:async e=>{await r().removeNode(e)},removeFolder:async e=>{await r().removeNode(e)},editFolder:async(e,s,o,t,a)=>{await r().editNode({bkmkId:e,userId:s,bkmkNm:o,prntBkmkId:t,sortOrdr:a})},convertToAntTreeData:(e,s,o,t=!1)=>{const a=d=>o?d.toLowerCase().includes(o.toLowerCase()):!0,c=d=>{const i=e[d];if(!i||t&&i.type!=="F")return null;if(i.type==="F"){const l=i,f=(l.children||[]).map(u=>c(u)).filter(Boolean);return a(l.bkmkNm)||f.length>0?{key:l.bkmkId,type:"F",title:`📁 ${l.bkmkNm}`,bkmkNm:l.bkmkNm,prntBkmkId:l.prntBkmkId,sortOrdr:l.sortOrdr,fullPath:l.fullPath,children:f.length?f:void 0}:null}else{const l=i,f=l.menuNm?`${l.menuNm} (${l.menuId})`:l.menuId;return a(f)?{key:l.bkmkId,type:"M",title:`📄 ${f}`,prntBkmkId:l.prntBkmkId,sortOrdr:l.sortOrdr,fullPath:l.fullPath,isLeaf:!0}:null}};return s.map(c).filter(Boolean)}}),G=b.create(ne);function re(n){const r={},e=[],s=o=>{o.forEach(t=>{const a={type:t.type,bkmkId:t.bkmkId??t.BKMK_ID??t.id,prntBkmkId:t.prntBkmkId??t.PRNT_BKMK_ID??"-",sortOrdr:Number(t.sortOrdr??t.SORT_ORDR??0),sysCd:t.sysCd??t.SYS_CD,userId:t.userId??t.USER_ID,fullPath:t.fullPath??t.FULL_PATH};if(t.type==="F"){r[a.bkmkId]={...a,bkmkNm:t.bkmkNm??t.BKMK_NM??t.name??a.bkmkId,children:[]};const c=Array.isArray(t.children)?t.children:[];s(c)}else r[a.bkmkId]={...a,menuId:t.menuId??t.MENU_ID??"",menuNm:t.menuNm??t.MENU_NM}})};return s(n),Object.values(r).forEach(o=>{if(o.prntBkmkId&&o.prntBkmkId!=="-"){const t=r[o.prntBkmkId];t?.type==="F"&&t.children.push(o.bkmkId)}else o.type==="F"&&e.push(o.bkmkId)}),e.sort((o,t)=>(r[o].sortOrdr??0)-(r[t].sortOrdr??0)),Object.values(r).forEach(o=>{o.type==="F"&&o.children.sort((a,c)=>(r[a].sortOrdr??0)-(r[c].sortOrdr??0))}),{nodes:r,rootIds:e}}function E(n){return{...n,nodes:JSON.parse(JSON.stringify(n.nodes)),rootIds:n.rootIds.slice()}}function ae(){return`tmp_${Math.random().toString(36).slice(2,10)}`}function x(n,r){if(!r||r==="-")return n.rootIds.length;const e=n.nodes[r];return e?e.children.length:0}function ce(n,r,e){const s=n.nodes[r];if(s)if(e&&e!=="-"){const o=n.nodes[e];if(!o||o.type!=="F")return;s.prntBkmkId=e,o.children=[...o.children,r]}else s.prntBkmkId="-",n.rootIds=[...n.rootIds,r]}function de(n,r){const e=n.nodes[r];if(!e)return;const s=e.prntBkmkId;if(s&&s!=="-"){const o=n.nodes[s];o?.type==="F"&&(o.children=o.children.filter(t=>t!==r))}else n.rootIds=n.rootIds.filter(o=>o!==r)}function X(n,r){const e=n.nodes[r];if(!e)return;e.type==="F"&&e.children.slice().forEach(a=>X(n,a)),de(n,r);const{[r]:s,...o}=n.nodes;n.nodes=o}function pe(n,r,e){if(r===e)return n;const s=n.nodes[r];if(!s)return n;const o=JSON.parse(JSON.stringify(s));o.bkmkId=e;const t={...n.nodes,[e]:o};delete t[r];let a=n.rootIds;if(o.prntBkmkId&&o.prntBkmkId!=="-"){const c=t[o.prntBkmkId];c?.type==="F"&&(t[o.prntBkmkId]={...c,children:c.children.map(d=>d===r?e:d)})}else a=n.rootIds.map(c=>c===r?e:c);return{...n,nodes:t,rootIds:a}}function j(n){return n.rootIds.find(r=>n.nodes[r]?.type==="F")??null}function P(n,r){const e={};Object.values(n).forEach(d=>{const i=d.bkmkId,l=d.prntBkmkId;!i||!l||l==="-"||l===i||(e[l]??=[]).push(i)});const s=new Set,o=d=>{if(s.has(d))return null;const i=n[d];if(!i)return null;s.add(d);try{if(i.type==="F"){const f=i,m=e[d]??[];return{type:"F",bkmkId:d,bkmkNm:f.bkmkNm,prntBkmkId:f.prntBkmkId,children:m.map(o).filter(Boolean)}}const l=i;return{type:"M",bkmkId:d,bkmkNm:l.menuNm,menuId:l.menuId,menuNm:l.menuNm,prntBkmkId:l.prntBkmkId}}finally{s.delete(d)}},t=Object.values(n).filter(d=>d.prntBkmkId==="-"&&d.type==="M").map(d=>d.bkmkId),a=Object.values(n).filter(d=>d.prntBkmkId==="-"&&d.type==="F").map(d=>d.bkmkId);return Array.from(new Set([...r,...t,...a])).map(o).filter(Boolean)}function D(n,r){for(const e of Object.values(n))if(e.type==="M"&&e.menuId===r)return e.bkmkId;return null}function z(n,r,e){(!e||e==="-"?r:n[e].children||[]).forEach((o,t)=>{const a=n[o];a&&(a.sortOrdr=t)})}const R={DEFAULT_PRNT_GBCD:1},le=n=>n&&typeof n=="object"&&typeof n.menuId=="string"&&typeof n.menuNm=="string",Y=n=>Array.isArray(n)&&n.every(le);let T=[],q=[];const ie=n=>{if(n&&typeof n=="object"){const r=n;if(r.menus&&Y(r.menus))return r.menus;if(Y(n))return n}return console.warn("⚠️ 메뉴 응답이 비어있거나 예상과 다릅니다."),[]},ue=(n,r)=>!!r&&n.crprCd===r.crprCd&&n.userId===r.userId&&(n.prntGbcd??R.DEFAULT_PRNT_GBCD)===(r.prntGbcd??R.DEFAULT_PRNT_GBCD),me=n=>{if(T.length===n.length&&T.every((t,a)=>t.menuId===n[a]?.menuId&&t.menuPrntId===n[a]?.menuPrntId))return q;if(!n.length)return[];const r=new Map,e=[];n.forEach(t=>t?.menuId&&r.set(t.menuId,{...t,children:[]})),n.forEach(t=>{const a=r.get(t.menuId);a&&(t.menuPrntId&&t.menuPrntId!==""&&t.menuPrntId!=="-"?r.get(t.menuPrntId)?.children?.push(a):e.push(a))});const s=t=>t.sort((a,c)=>(a?.menuNo??0)-(c?.menuNo??0)).map(a=>({...a,children:a.children&&a.children.length?s(a.children):void 0})),o=s(e);return T=[...n],q=o,o},A=b.create((n,r)=>({menuList:[],flatMenuList:[],isLoading:!1,error:null,_lastFetchParams:null,fetchMenu:async({crprCd:e,userId:s,prntGbcd:o})=>{const t={crprCd:e,userId:s,prntGbcd:o??R.DEFAULT_PRNT_GBCD};if(ue(t,r()._lastFetchParams)){console.log("✅ 중복 fetch 차단",t);return}n({isLoading:!0,error:null,_lastFetchParams:t});try{const a=await y.callService(y.getServiceCode("AUTH_MENU"),t),c=ie(a),d=me(c);n({flatMenuList:c,menuList:d,isLoading:!1,error:null})}catch(a){n({isLoading:!1,error:a?.message??"메뉴 로드 실패"})}},clearMenu:()=>{n({menuList:[],flatMenuList:[],error:null,_lastFetchParams:null})},findMenuById:e=>{const{flatMenuList:s}=r();return s.find(o=>o.menuId===e)??null}})),O={MAX_TABS:15},U=b.create((n,r)=>({activeMenuId:null,activeMenuItem:null,activeDetailItem:null,tabs:[],sidebarCollapsed:!1,maxTabs:O.MAX_TABS,tabProtectFlag:{},tabParams:{},componentLabelMap:{},clearMenuViewStore:()=>{n({activeMenuId:null,activeMenuItem:null,activeDetailItem:null,tabs:[],sidebarCollapsed:!1,maxTabs:O.MAX_TABS,tabProtectFlag:{},tabParams:{},componentLabelMap:{}})},openTabFromMenu:(e,s)=>{const{tabs:o}=r(),t=o.find(c=>c.key===e.menuId),a=o.find(c=>c.key===e.menuId);if(t)a!=null?(n({activeMenuId:e.menuId,activeMenuItem:e}),r().setTabParams(e.menuId,s||{}),e?.prsnInfoYn==="Y"&&r().setProtectFlagForKey(e.menuId)):L.message.warning("유효하지 않은 메뉴정보입니다.");else{if(o.length>O.MAX_TABS){console.warn("❌ 최대 탭 개수를 초과했습니다."),L.message.warning(`최대 ${O.MAX_TABS}개의 탭만 열 수 있습니다.
|
|
2
2
|
기존 탭을 닫고 다시 시도해주세요.`);return}const c={key:e.menuId,label:e.menuNm,gubun:"M",menuItem:e,closable:!0};n({tabs:[...o,c],activeMenuId:e.menuId,activeMenuItem:e}),r().setTabParams(e.menuId,s||{}),e?.prsnInfoYn==="Y"&&r().setProtectFlagForKey(e.menuId)}},openTabByMenuId:(e,s)=>{const o=A.getState().findMenuById(e);o?r().openTabFromMenu(o,s):L.message.warning("메뉴 ID를 찾을 수 없습니다.")},openDetailView:(e,s,o)=>{const{tabs:t}=r();if(t.find(c=>c.key===e.viewId))r().focusTab(e.viewId);else{const c={key:e.viewId,label:e.viewLabel,gubun:"C",componentItem:{scrnPath:s,prsnInfoYn:o,prntInfo:e.prntInfo},closable:!0};n({tabs:[...t,c],activeMenuId:e.viewId,activeDetailItem:e}),r().setTabParams(e.viewId,e.viewParams||{})}},closeTab:e=>{const{tabs:s,activeMenuId:o}=r();s.find(c=>c.key===e);const t=s.filter(c=>c.key!==e);let a=o;if(o===e){const c=s.findIndex(d=>d.key===e);a=t.length?t[Math.min(c,t.length-1)]?.key??null:null}n({tabs:t}),a&&r().focusTab(a)},focusTab:e=>{const{tabs:s}=r(),o=s.find(t=>t.key===e);if(o){const t=o.gubun==="C"?{viewId:o.key,viewLabel:o.label,prntInfo:o.componentItem?.prntInfo}:null;o.menuItem?.prsnInfoYn==="Y"?(n({activeMenuId:e,activeMenuItem:o.menuItem,activeDetailItem:t}),console.log("✅ 탭 포커스 (개인정보) - activeMenuItem:",o.menuItem),r().setProtectFlagForKey(e)):(n({activeMenuId:e,activeMenuItem:o.menuItem,activeDetailItem:t}),r().clearProtectFlagForKey(e))}else n({activeMenuId:e,activeMenuItem:null,activeDetailItem:null}),console.warn("❌ 탭을 찾을 수 없음:",e)},closeAllTabs:()=>n({tabs:[],activeMenuId:null,activeMenuItem:null,activeDetailItem:null}),toggleSidebar:()=>n(e=>({sidebarCollapsed:!e.sidebarCollapsed})),reorderTabs:e=>n(s=>{const o=new Map(s.tabs.map(t=>[t.key,t]));return{tabs:e.map(t=>o.get(t)).filter(Boolean)}}),setProtectFlagForKey:e=>n(s=>({tabProtectFlag:{...s.tabProtectFlag,[e]:!0}})),clearProtectFlagForKey:e=>n(s=>{const o={...s.tabProtectFlag};return delete o[e],{tabProtectFlag:o}}),setTabParams:(e,s)=>n(o=>{const t=o.tabParams[e]||{},a={...s||{}};return Object.keys(t).length===Object.keys(a).length&&Object.keys(a).every(d=>t[d]===a[d])?o:{tabParams:{...o.tabParams,[e]:a}}}),setComponentLabelMap:(e,s)=>n({componentLabelMap:e})})),J=b.create((n,r)=>({popups:[],activePopupId:null,isLoading:!1,error:null,zIndexSeed:1e3,openPopup:async(e,s,o)=>{n({isLoading:!0,error:null});try{let t=null;const a=await y.callService(y.getServiceCode("SRCH_POPU"),{crprCd:y.getUserInfo()?.crprCd,popuCd:e});t=a?.mstr;const c=a?.dtls||[];if(!t||!t.popuUrl){const u=`팝업 정보를 찾을 수 없습니다: ${e}`;throw console.error(u),new Error(u)}const i=(u=>`/src/pages/views/popup/${u}`)(t.popuUrl),l=r().zIndexSeed+1,f={popupId:`popup_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,popupCode:e,popupTitle:o?.title||t.popuNm||"팝업",popupUrl:i,popupParams:s,width:t.popuWdth||800,height:t.popuHght||600,resizable:!0,draggable:!0,buttonList:c,config:o,zIndex:l},m=r().popups.find(u=>u.popupCode===e);if(m){n({activePopupId:m.popupId,popups:r().popups.map(u=>u.popupId===m.popupId?{...u,config:o}:u),isLoading:!1});return}n(u=>({popups:[...u.popups,f],activePopupId:f.popupId,isLoading:!1,zIndexSeed:l}))}catch(t){n({error:t instanceof Error?t.message:"팝업 열기 실패",isLoading:!1})}},openCorePopup:(e,s)=>{const o=`popup_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,t=r().zIndexSeed+1,c=V.localPopupRegistry[e]?.defaultConfig||{},d={...c,...s,buttons:s?.buttons!==void 0?s.buttons:c.buttons,callback:s?.callback!==void 0?s.callback:c.callback},i=s?.defaultParams||{},l=r().popups.find(m=>m.popupCode===e&&m.isLocal);if(l){const m=r().zIndexSeed+1;n({activePopupId:l.popupId,zIndexSeed:m}),n(u=>({popups:u.popups.map(h=>h.popupId===l.popupId?{...h,config:d,zIndex:m,close:()=>{r().closePopup(l.popupId)}}:h)}));return}const f={popupId:o,popupCode:e,popupTitle:d.title||e,popupUrl:"",popupParams:i,width:d.width||1e3,height:d.height||700,resizable:d.resizable!==void 0?d.resizable:!0,draggable:d.draggable!==void 0?d.draggable:!0,buttonList:[],config:d,isLocal:!0,zIndex:t,close:()=>{r().closePopup(o)}};n(m=>({popups:[...m.popups,f],activePopupId:o,zIndexSeed:t}))},closePopup:e=>{const{popups:s,activePopupId:o}=r(),t=s.filter(c=>c.popupId!==e);let a=o;o===e&&(a=t.length>0?t[t.length-1].popupId:null),n({popups:t,activePopupId:a})},closeAllPopups:()=>{n({popups:[],activePopupId:null})},setActivePopup:e=>{const s=r().zIndexSeed+1;n(o=>({activePopupId:e,zIndexSeed:s,popups:o.popups.map(t=>t.popupId===e?{...t,zIndex:s}:t)}))},updatePopupConfig:(e,s)=>{n(o=>({popups:o.popups.map(t=>t.popupId===e?{...t,config:{...t.config,...s}}:t)}))}})),$=b.create()(M((n,r)=>({systemMap:[],fetchSystemMap:async()=>{n({systemMap:[{sysCd:"KE",appItCd:"ERPS",appCd:"SAP",systemNm:"K-ERP",appNm:"SAP"},{sysCd:"KE",appItCd:"KERP",appCd:"FI",systemNm:"K-ERP",appNm:"재무회계"},{sysCd:"KE",appItCd:"KERP",appCd:"FM",systemNm:"K-ERP",appNm:"예산관리"},{sysCd:"KE",appItCd:"KERP",appCd:"MM",systemNm:"K-ERP",appNm:"구매계약"},{sysCd:"KE",appItCd:"KERP",appCd:"SD",systemNm:"K-ERP",appNm:"영업관리"},{sysCd:"CH",appItCd:"KERP",appCd:"PMN",systemNm:"K-ERP",appNm:"파트너관리"},{sysCd:"FB",appItCd:"FBK",appCd:"FBK",systemNm:"펌뱅킹",appNm:"펌뱅킹"},{sysCd:"IA",appItCd:"IAC",appCd:"IAC",systemNm:"내부회계",appNm:"내부회계"},{sysCd:"ET",appItCd:"ETAX",appCd:"ETAX",systemNm:"전자세금계산서",appNm:"전자세금계산서"},{sysCd:"HR",appItCd:"KHR",appCd:"HR",systemNm:"K-HR",appNm:"HR 솔루션"},{sysCd:"YT",appItCd:"KHYT",appCd:"YT",systemNm:"K-HR 연말정산",appNm:"연말정산"},{sysCd:"CM",appItCd:"KCM",appCd:"CM",systemNm:"K-HR 프레임워크 공통",appNm:"프레임워크 공통"},{sysCd:"PA",appItCd:"KHPE",appCd:"PE",systemNm:"K-HR 평정",appNm:"평정"},{sysCd:"OT",appItCd:"POF",appCd:"POF",systemNm:"시간외(PC-OFF)",appNm:"시간외(PC-OFF)"},{sysCd:"DC",appItCd:"CDT",appCd:"CDT",systemNm:"전자계약",appNm:"전자계약"},{sysCd:"KS",appItCd:"EAUD",appCd:"EAUD",systemNm:"K-업무지원",appNm:"e-감사"},{sysCd:"KS",appItCd:"INR",appCd:"INR",systemNm:"K-업무지원",appNm:"청렴신고"},{sysCd:"KS",appItCd:"ITSM",appCd:"ITAM",systemNm:"K-업무지원",appNm:"ITAM"},{sysCd:"KS",appItCd:"CMM",appCd:"CMM",systemNm:"K-업무지원",appNm:"차량/회의실"},{sysCd:"KS",appItCd:"OAM",appCd:"OAM",systemNm:"K-업무지원",appNm:"OA전산물품관리"},{sysCd:"KS",appItCd:"KSGA",appCd:"GAM",systemNm:"K-업무지원",appNm:"총무관리"},{sysCd:"KS",appItCd:"KSGA",appCd:"ACM",systemNm:"K-업무지원",appNm:"출입관리"},{sysCd:"KS",appItCd:"KSGA",appCd:"IVM",systemNm:"K-업무지원",appNm:"비품관리"},{sysCd:"KS",appItCd:"KSGA",appCd:"SGS",systemNm:"K-업무지원",appNm:"인장서비스"},{sysCd:"KS",appItCd:"HIS",appCd:"HIS",systemNm:"K-업무지원",appNm:"사료관리"},{sysCd:"KS",appItCd:"WFAX",appCd:"WFAX",systemNm:"K-업무지원",appNm:"웹펙스서비스"},{sysCd:"KS",appItCd:"SMS",appCd:"SMS",systemNm:"K-업무지원",appNm:"메시지서비스"},{sysCd:"KS",appItCd:"BID",appCd:"BID",systemNm:"K-업무지원",appNm:"경영공시"},{sysCd:"KS",appItCd:"PAM",appCd:"PAM",systemNm:"K-업무지원",appNm:"언론미디어"},{sysCd:"KS",appItCd:"DAC",appCd:"DAC",systemNm:"K-업무지원",appNm:"심의자문위원회"},{sysCd:"KS",appItCd:"IPR",appCd:"IPR",systemNm:"K-업무지원",appNm:"지식재산권신청"},{sysCd:"KS",appItCd:"ISB",appCd:"ISB",systemNm:"K-업무지원",appNm:"정보공유게시판"},{sysCd:"DE",appItCd:"BCOM",appCd:"BCOM",systemNm:"온통",appNm:"온통"},{sysCd:"TS",appItCd:"ITSM",appCd:"ITSM",systemNm:"ITSM",appNm:"ITSM"},{sysCd:"EP",appItCd:"EPOP",appCd:"EPOP",systemNm:"국민신문고",appNm:"국민신문고"},{sysCd:"VC",appItCd:"VOC",appCd:"VOC",systemNm:"VOC",appNm:"VOC"},{sysCd:"CC",appItCd:"CAL",appCd:"CAL",systemNm:"콜센터",appNm:"콜센터"},{sysCd:"LA",appItCd:"LEG",appCd:"LEG",systemNm:"법규포털",appNm:"법규포털"},{sysCd:"IM",appItCd:"IDXM",appCd:"IDXM",systemNm:"지수방법론",appNm:"지수방법론"},{sysCd:"PM",appItCd:"ORM",appCd:"ORM",systemNm:"운영리스크관리",appNm:"운영리스크관리"},{sysCd:"RF",appItCd:"RFID",appCd:"RFID",systemNm:"RFID(비품관리)",appNm:"RFID(비품관리)"},{sysCd:"SL",appItCd:"SGM",appCd:"SGM",systemNm:"인장관리",appNm:"인장관리"},{sysCd:"DM",appItCd:"LBS",appCd:"LBS",systemNm:"도서관리",appNm:"도서관리"},{sysCd:"HE",appItCd:"RMS",appCd:"RMS",systemNm:"원격지원",appNm:"원격지원"},{sysCd:"WF",appItCd:"WFX",appCd:"WFX",systemNm:"WebFax",appNm:"WebFax"},{sysCd:"SM",appItCd:"SMT",appCd:"SMT",systemNm:"SMS",appNm:"SMS"},{sysCd:"SO",appItCd:"SSO",appCd:"SSO",systemNm:"SSO",appNm:"SSO"},{sysCd:"SF",appItCd:"SFO",appCd:"SFO",systemNm:"생체인증(One Pass)",appNm:"생체인증 FIDO"},{sysCd:"SP",appItCd:"SPO",appCd:"SPO",systemNm:"생체인증(장정맥)",appNm:"생체인증 장정맥"},{sysCd:"AG",appItCd:"APG",appCd:"APG",systemNm:"API GW",appNm:"API Gateway"},{sysCd:"AM",appItCd:"APM",appCd:"APM",systemNm:"APM",appNm:"APM"},{sysCd:"JS",appItCd:"BXS",appCd:"BXS",systemNm:"배치스케줄러",appNm:"배치스케줄러"},{sysCd:"DT",appItCd:"PDT",appCd:"PDT",systemNm:"개인정보변환",appNm:"개인정보변환"}]})},setSystemMap:e=>{n({systemMap:e})},clearSystemMap:()=>{n({systemMap:[]})},getBySysCd:e=>r().systemMap.filter(s=>s.sysCd===e),getByAppItCd:e=>r().systemMap.filter(s=>s.appItCd===e),findByAppCd:e=>r().systemMap.find(s=>s.appCd===e),filterSystemMap:e=>{const{sysCd:s,appItCd:o,appCd:t}=e;return r().systemMap.filter(a=>(s?a.sysCd===s:!0)&&(o?a.appItCd===o:!0)&&(t?a.appCd===t:!0))}}),{name:"system-info-store"})),Ce=b.create(n=>({requestCount:0,loading:!1,showLoading:()=>n(r=>{const e=r.requestCount+1;return{requestCount:e,loading:e>0}}),hideLoading:()=>n(r=>{const e=Math.max(0,r.requestCount-1);return{requestCount:e,loading:e>0}})})),he=b.create(n=>({requestCount:0,loading:!1,showLoading:()=>n(r=>{const e=r.requestCount+1;return{requestCount:e,loading:e>0}}),hideLoading:()=>n(r=>{const e=Math.max(0,r.requestCount-1);return{requestCount:e,loading:e>0}})}));function W(){const[n,r]=F.useState(!1),e=F.useCallback(s=>{const o=s?.getModifierState?.("CapsLock");typeof o=="boolean"&&r(o)},[]);return{capsOn:n,onKeyDown:e}}function fe(n){const{loginApi:r,fetchCommonCodes:e,onAfterLogin:s,onError:o,rememberCookie:t={enabled:!0,days:30}}=n,[a,c]=F.useState(!1),{capsOn:d,onKeyDown:i}=W(),l="SCMSIGN00101",f=`${__SYS_CD__}_login_id`,m={id:t?.enabled?y.getCookie(f):void 0,pswr:void 0},u=F.useCallback(async(h,C)=>{c(!0);try{const S={crprCd:"100",id:h.id,pswr:await y.encryptSha256(h.pswr)},g=await(r??(N=>y.callService(l,N)))(S);if(g?.userInfo?.userId){if(w.getState().setLoginUser(g.userInfo,g?.hrInfo),t?.enabled){const N=t.days??30;h.remember?y.setCookie(f,h.id??"",N):y.setCookie(f,"",0)}return e?await e():await _.getState().fetchCommonCodes(),s?s(g,C):(L.message.success(`${g.userInfo.userNm}님 환영합니다.`),C("/main")),{user:g.userInfo,response:g}}else throw o?.({user:g.userInfo,response:g,navigate:C}),new Error("사용자 정보가 유효하지 않습니다.")}catch(S){throw o?.(S),S}finally{c(!1)}},[l,r,e,s,o,t?.enabled,t?.days]);return{loading:a,capsOn:d,onKeyDown:i,prefills:m,doLogin:u}}function Ie(){const n=Q.useNavigate();return()=>{w.getState().clearLoginUser(),$.getState().clearSystemMap(),_.getState().clearCodes(),A.getState().clearMenu(),U.getState().clearMenuViewStore(),G.getState().clearFavorites(),n("/login")}}const ye=()=>_.getState(),ge=()=>J.getState(),Se=()=>w.getState(),Ne=()=>G.getState(),be=()=>A.getState(),Me=()=>U.getState(),ke=()=>$.getState();exports.useCapsLock=W;exports.useCode=ye;exports.useCodeStore=_;exports.useColorStore=se;exports.useFavorite=Ne;exports.useFavoriteStore=G;exports.useLoadingStore=Ce;exports.useLogin=fe;exports.useLogout=Ie;exports.useMenuModel=be;exports.useMenuModelStore=A;exports.useMenuView=Me;exports.useMenuViewStore=U;exports.useOptionStore=oe;exports.usePopupLoadingStore=he;exports.usePopupState=ge;exports.usePopupStore=J;exports.useSystemCode=ke;exports.useSystemStore=$;exports.useUser=Se;exports.useUserStore=w;
|
package/dist/stores/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { create as b } from "zustand";
|
|
2
2
|
import { callService as N, getServiceCode as w, getUserId as v, getUserInfo as ee, getCookie as te, encryptSha256 as oe, setCookie as $ } from "../utils/index.js";
|
|
3
3
|
import { message as L } from "antd";
|
|
4
|
-
import { l as se } from "../chunks/layout-components-
|
|
4
|
+
import { l as se } from "../chunks/layout-components-JbKkWhw7.js";
|
|
5
5
|
import { useState as X, useCallback as q } from "react";
|
|
6
6
|
import { useNavigate as ne } from "react-router-dom";
|
|
7
7
|
function re(n, r) {
|
package/dist/utils/apiUtils.d.ts
CHANGED
|
@@ -58,8 +58,43 @@ export declare class ApiError extends Error {
|
|
|
58
58
|
export declare const setClientIp: (ip?: string) => Promise<void>;
|
|
59
59
|
export declare const getClientIp: () => string | null;
|
|
60
60
|
export declare const verifyClientIp: () => Promise<string>;
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
/**
|
|
62
|
+
* callEndpoint(trxInfo, data, options) 사용 권장
|
|
63
|
+
* @param {string} trxCd 거래코드
|
|
64
|
+
* @param {any} [data] 요청전문
|
|
65
|
+
* @param {ApiOptions} [options] 거래옵션
|
|
66
|
+
* @param {string} [appCd]
|
|
67
|
+
* @returns {Promise<T>}
|
|
68
|
+
*/
|
|
69
|
+
export declare const callService: <T = any>(trxCd: BxmTrxInfo["trxCd"], data?: any, options?: ApiOptions) => Promise<T>;
|
|
70
|
+
/**
|
|
71
|
+
* BXM 거래정보
|
|
72
|
+
*/
|
|
73
|
+
export type BxmTrxInfo = {
|
|
74
|
+
/** 거래코드 */
|
|
75
|
+
trxCd: string;
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* BXM 도메인 설정에 따라 trxInfo 는 BxmTrxInfo 혹은 ExtTrxInfo
|
|
79
|
+
* @param {BxmTrxInfo} [trxInfo] 거래정보
|
|
80
|
+
* @param {string} [appItCd] 앱통합코드 (자동매핑)
|
|
81
|
+
* @param {string} [appCd] 앱코드
|
|
82
|
+
* @returns {ExtTrxInfo}
|
|
83
|
+
*/
|
|
84
|
+
export type ExtTrxInfo = BxmTrxInfo & {
|
|
85
|
+
/** 앱통합코드 (자동매핑) */
|
|
86
|
+
appItCd?: string;
|
|
87
|
+
/** 앱코드 */
|
|
88
|
+
appCd: string;
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* 거래서비스 호출 함수
|
|
92
|
+
* @param {ExtTrxInfo} [trxInfo] 거래정보
|
|
93
|
+
* @param {any} [data] 요청전문
|
|
94
|
+
* @param {ApiOptions} [options] 거래옵션
|
|
95
|
+
* @returns {Promise<T>}
|
|
96
|
+
*/
|
|
97
|
+
export declare const callEndpoint: <T = any>(trxInfo: ExtTrxInfo, data?: any, options?: ApiOptions) => Promise<T>;
|
|
63
98
|
export declare const callServiceBySysCd: <T = any>(trxCd: string, data?: any, options?: ApiOptions, appCd?: string) => Promise<T>;
|
|
64
99
|
/**
|
|
65
100
|
* 권한 확인 서비스
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiUtils.d.ts","sourceRoot":"","sources":["../../src/utils/apiUtils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAsB,aAAa,EAAE,MAAM,OAAO,CAAC;AAW/D,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAGD,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,MAAM,WAAW,cAAc;IAE7B,aAAa,EAAE,KAAK,CAAC;QACnB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;QACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC,CAAC;IAEH,kBAAkB,EAAE;QAClB,CAAC,OAAO,EAAE,MAAM,GAAG;YACjB,CAAC,QAAQ,EAAE,MAAM,GAAG;gBAClB,KAAK,EAAE,MAAM,CAAC;gBACd,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;gBACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;gBACnB,OAAO,CAAC,EAAE,OAAO,CAAC;gBAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;aACpB,CAAC;SACH,CAAC;KACH,CAAC;IAEF,SAAS,EAAE,OAAO,CAAC;IAEnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,qBAAa,QAAS,SAAQ,KAAK;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;gBAGjB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,aAAa,EACxB,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM;CAcrB;AAkfD,eAAO,MAAM,WAAW,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,IAAI,CAsB3D,CAAC;AAGF,eAAO,MAAM,WAAW,QAAO,MAAM,GAAG,IAEvC,CAAC;AAGF,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,MAAM,CA+BrD,CAAC;
|
|
1
|
+
{"version":3,"file":"apiUtils.d.ts","sourceRoot":"","sources":["../../src/utils/apiUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gwUtils.d.ts","sourceRoot":"","sources":["../../src/utils/gwUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gwUtils.d.ts","sourceRoot":"","sources":["../../src/utils/gwUtils.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,kBAAkB,GAAU,MAAM,GAAG,iBAwGjD,CAAC;AAGF,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAID;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,YAAY,EACzC,aAAa,MAAM,GAAG,IAAI,EAC1B,UAAU,uBAAuB,iBAgIlC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,WAAW,2BAA2B;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,MAAM,EACf,UAAU,2BAA2B;;;;;;;;;;;;;;;EAgDtC,CAAC"}
|
package/dist/utils/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const Ie=require("axios"),O=require("../chunks/common-components-1B6Dgw0G.cjs"),I=require("dayjs"),U=require("antd"),T=require("../stores/index.cjs"),st=require("lodash"),we={AUTH_BTNS:"SCMSIGN00202",AUTH_MENU:"SCMSIGN00201",SRCH_CODE:"SCMSIGN00301",SRCH_POPU:"SCMPOPU00101",AUTH_BMRK:"SCMBMRK00101",SYST_CODE:"SCMSYST00101"};let te={};function at(e){te=e,console.log("🔧 Provider 서비스코드 오버라이드 설정:",e)}function Ee(e){return te[e]&&te[e].trim()!==""?te[e]:we[e]}function Ne(){const e={};for(const t of Object.keys(we))e[t]=Ee(t);return e}function it(){console.log("🔧 bwg-core 서비스코드 설정:"),console.log("📋 Provider 설정 > 기본값 순서로 확인");const e=Ne();for(const[t,r]of Object.entries(e)){const n=te[t]?"Provider 설정":"기본값";console.log(` ${t}: ${r} (${n})`)}}const ct=Object.freeze(Object.defineProperty({__proto__:null,DEFAULT_SERVICE_CODES:we,getAllServiceCodes:Ne,getServiceCode:Ee,logServiceCodeConfig:it,setServiceCodeOverrides:at},Symbol.toStringTag,{value:"Module"}));var le={exports:{}};function fo(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var de={exports:{}};const ho={},po=Object.freeze(Object.defineProperty({__proto__:null,default:ho},Symbol.toStringTag,{value:"Module"})),mo=O.getAugmentedNamespace(po);var go=de.exports,Je;function ut(){return Je||(Je=1,(function(e,t){(function(r,n){e.exports=n()})(go,function(){var r=r||(function(n,u){var d;if(typeof window<"u"&&window.crypto&&(d=window.crypto),typeof self<"u"&&self.crypto&&(d=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(d=globalThis.crypto),!d&&typeof window<"u"&&window.msCrypto&&(d=window.msCrypto),!d&&typeof O.commonjsGlobal<"u"&&O.commonjsGlobal.crypto&&(d=O.commonjsGlobal.crypto),!d&&typeof fo=="function")try{d=mo}catch{}var l=function(){if(d){if(typeof d.getRandomValues=="function")try{return d.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof d.randomBytes=="function")try{return d.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},C=Object.create||(function(){function o(){}return function(s){var p;return o.prototype=s,p=new o,o.prototype=null,p}})(),c={},g=c.lib={},f=g.Base=(function(){return{extend:function(o){var s=C(this);return o&&s.mixIn(o),(!s.hasOwnProperty("init")||this.init===s.init)&&(s.init=function(){s.$super.init.apply(this,arguments)}),s.init.prototype=s,s.$super=this,s},create:function(){var o=this.extend();return o.init.apply(o,arguments),o},init:function(){},mixIn:function(o){for(var s in o)o.hasOwnProperty(s)&&(this[s]=o[s]);o.hasOwnProperty("toString")&&(this.toString=o.toString)},clone:function(){return this.init.prototype.extend(this)}}})(),S=g.WordArray=f.extend({init:function(o,s){o=this.words=o||[],s!=u?this.sigBytes=s:this.sigBytes=o.length*4},toString:function(o){return(o||y).stringify(this)},concat:function(o){var s=this.words,p=o.words,m=this.sigBytes,x=o.sigBytes;if(this.clamp(),m%4)for(var b=0;b<x;b++){var $=p[b>>>2]>>>24-b%4*8&255;s[m+b>>>2]|=$<<24-(m+b)%4*8}else for(var M=0;M<x;M+=4)s[m+M>>>2]=p[M>>>2];return this.sigBytes+=x,this},clamp:function(){var o=this.words,s=this.sigBytes;o[s>>>2]&=4294967295<<32-s%4*8,o.length=n.ceil(s/4)},clone:function(){var o=f.clone.call(this);return o.words=this.words.slice(0),o},random:function(o){for(var s=[],p=0;p<o;p+=4)s.push(l());return new S.init(s,o)}}),v=c.enc={},y=v.Hex={stringify:function(o){for(var s=o.words,p=o.sigBytes,m=[],x=0;x<p;x++){var b=s[x>>>2]>>>24-x%4*8&255;m.push((b>>>4).toString(16)),m.push((b&15).toString(16))}return m.join("")},parse:function(o){for(var s=o.length,p=[],m=0;m<s;m+=2)p[m>>>3]|=parseInt(o.substr(m,2),16)<<24-m%8*4;return new S.init(p,s/2)}},w=v.Latin1={stringify:function(o){for(var s=o.words,p=o.sigBytes,m=[],x=0;x<p;x++){var b=s[x>>>2]>>>24-x%4*8&255;m.push(String.fromCharCode(b))}return m.join("")},parse:function(o){for(var s=o.length,p=[],m=0;m<s;m++)p[m>>>2]|=(o.charCodeAt(m)&255)<<24-m%4*8;return new S.init(p,s)}},i=v.Utf8={stringify:function(o){try{return decodeURIComponent(escape(w.stringify(o)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(o){return w.parse(unescape(encodeURIComponent(o)))}},a=g.BufferedBlockAlgorithm=f.extend({reset:function(){this._data=new S.init,this._nDataBytes=0},_append:function(o){typeof o=="string"&&(o=i.parse(o)),this._data.concat(o),this._nDataBytes+=o.sigBytes},_process:function(o){var s,p=this._data,m=p.words,x=p.sigBytes,b=this.blockSize,$=b*4,M=x/$;o?M=n.ceil(M):M=n.max((M|0)-this._minBufferSize,0);var _=M*b,D=n.min(_*4,x);if(_){for(var k=0;k<_;k+=b)this._doProcessBlock(m,k);s=m.splice(0,_),p.sigBytes-=D}return new S.init(s,D)},clone:function(){var o=f.clone.call(this);return o._data=this._data.clone(),o},_minBufferSize:0});g.Hasher=a.extend({cfg:f.extend(),init:function(o){this.cfg=this.cfg.extend(o),this.reset()},reset:function(){a.reset.call(this),this._doReset()},update:function(o){return this._append(o),this._process(),this},finalize:function(o){o&&this._append(o);var s=this._doFinalize();return s},blockSize:16,_createHelper:function(o){return function(s,p){return new o.init(p).finalize(s)}},_createHmacHelper:function(o){return function(s,p){return new h.HMAC.init(o,p).finalize(s)}}});var h=c.algo={};return c})(Math);return r})})(de)),de.exports}var yo=le.exports,Xe;function vo(){return Xe||(Xe=1,(function(e,t){(function(r,n){e.exports=n(ut())})(yo,function(r){return(function(n){var u=r,d=u.lib,l=d.WordArray,C=d.Hasher,c=u.algo,g=[],f=[];(function(){function y(h){for(var o=n.sqrt(h),s=2;s<=o;s++)if(!(h%s))return!1;return!0}function w(h){return(h-(h|0))*4294967296|0}for(var i=2,a=0;a<64;)y(i)&&(a<8&&(g[a]=w(n.pow(i,1/2))),f[a]=w(n.pow(i,1/3)),a++),i++})();var S=[],v=c.SHA256=C.extend({_doReset:function(){this._hash=new l.init(g.slice(0))},_doProcessBlock:function(y,w){for(var i=this._hash.words,a=i[0],h=i[1],o=i[2],s=i[3],p=i[4],m=i[5],x=i[6],b=i[7],$=0;$<64;$++){if($<16)S[$]=y[w+$]|0;else{var M=S[$-15],_=(M<<25|M>>>7)^(M<<14|M>>>18)^M>>>3,D=S[$-2],k=(D<<15|D>>>17)^(D<<13|D>>>19)^D>>>10;S[$]=_+S[$-7]+k+S[$-16]}var E=p&m^~p&x,A=a&h^a&o^h&o,Y=(a<<30|a>>>2)^(a<<19|a>>>13)^(a<<10|a>>>22),B=(p<<26|p>>>6)^(p<<21|p>>>11)^(p<<7|p>>>25),j=b+B+E+f[$]+S[$],P=Y+A;b=x,x=m,m=p,p=s+j|0,s=o,o=h,h=a,a=j+P|0}i[0]=i[0]+a|0,i[1]=i[1]+h|0,i[2]=i[2]+o|0,i[3]=i[3]+s|0,i[4]=i[4]+p|0,i[5]=i[5]+m|0,i[6]=i[6]+x|0,i[7]=i[7]+b|0},_doFinalize:function(){var y=this._data,w=y.words,i=this._nDataBytes*8,a=y.sigBytes*8;return w[a>>>5]|=128<<24-a%32,w[(a+64>>>9<<4)+14]=n.floor(i/4294967296),w[(a+64>>>9<<4)+15]=i,y.sigBytes=w.length*4,this._process(),this._hash},clone:function(){var y=C.clone.call(this);return y._hash=this._hash.clone(),y}});u.SHA256=C._createHelper(v),u.HmacSHA256=C._createHmacHelper(v)})(Math),r.SHA256})})(le)),le.exports}var wo=vo();const So=O.getDefaultExportFromCjs(wo);var fe={exports:{}},Co=fe.exports,Qe;function xo(){return Qe||(Qe=1,(function(e,t){(function(r,n){e.exports=n(ut())})(Co,function(r){return(function(){var n=r,u=n.lib,d=u.WordArray,l=n.enc;l.Base64={stringify:function(c){var g=c.words,f=c.sigBytes,S=this._map;c.clamp();for(var v=[],y=0;y<f;y+=3)for(var w=g[y>>>2]>>>24-y%4*8&255,i=g[y+1>>>2]>>>24-(y+1)%4*8&255,a=g[y+2>>>2]>>>24-(y+2)%4*8&255,h=w<<16|i<<8|a,o=0;o<4&&y+o*.75<f;o++)v.push(S.charAt(h>>>6*(3-o)&63));var s=S.charAt(64);if(s)for(;v.length%4;)v.push(s);return v.join("")},parse:function(c){var g=c.length,f=this._map,S=this._reverseMap;if(!S){S=this._reverseMap=[];for(var v=0;v<f.length;v++)S[f.charCodeAt(v)]=v}var y=f.charAt(64);if(y){var w=c.indexOf(y);w!==-1&&(g=w)}return C(c,g,S)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function C(c,g,f){for(var S=[],v=0,y=0;y<g;y++)if(y%4){var w=f[c.charCodeAt(y-1)]<<y%4*2,i=f[c.charCodeAt(y)]>>>6-y%4*2,a=w|i;S[v>>>2]|=a<<24-v%4*8,v++}return d.create(S,v)}})(),r.enc.Base64})})(fe)),fe.exports}var bo=xo();const $o=O.getDefaultExportFromCjs(bo);var he={exports:{}},Mo=he.exports,et;function _o(){return et||(et=1,(function(e,t){(function(r,n){e.exports=n()})(Mo,(function(){return function(r,n,u){r=r||{};var d=n.prototype,l={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function C(g,f,S,v){return d.fromToBase(g,f,S,v)}u.en.relativeTime=l,d.fromToBase=function(g,f,S,v,y){for(var w,i,a,h=S.$locale().relativeTime||l,o=r.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],s=o.length,p=0;p<s;p+=1){var m=o[p];m.d&&(w=v?u(g).diff(S,m.d,!0):S.diff(g,m.d,!0));var x=(r.rounding||Math.round)(Math.abs(w));if(a=w>0,x<=m.r||!m.r){x<=1&&p>0&&(m=o[p-1]);var b=h[m.l];y&&(x=y(""+x)),i=typeof b=="string"?b.replace("%d",x):b(x,f,m.l,a);break}}if(f)return i;var $=a?h.future:h.past;return typeof $=="function"?$(i):$.replace("%s",i)},d.to=function(g,f){return C(g,f,this,!0)},d.from=function(g,f){return C(g,f,this)};var c=function(g){return g.$u?u.utc():u()};d.toNow=function(g){return this.to(c(this),g)},d.fromNow=function(g){return this.from(c(this),g)}}}))})(he)),he.exports}var Do=_o();const ko=O.getDefaultExportFromCjs(Do);var pe={exports:{}},To=pe.exports,tt;function Uo(){return tt||(tt=1,(function(e,t){(function(r,n){e.exports=n()})(To,(function(){var r={year:0,month:1,day:2,hour:3,minute:4,second:5},n={};return function(u,d,l){var C,c=function(v,y,w){w===void 0&&(w={});var i=new Date(v),a=(function(h,o){o===void 0&&(o={});var s=o.timeZoneName||"short",p=h+"|"+s,m=n[p];return m||(m=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:h,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:s}),n[p]=m),m})(y,w);return a.formatToParts(i)},g=function(v,y){for(var w=c(v,y),i=[],a=0;a<w.length;a+=1){var h=w[a],o=h.type,s=h.value,p=r[o];p>=0&&(i[p]=parseInt(s,10))}var m=i[3],x=m===24?0:m,b=i[0]+"-"+i[1]+"-"+i[2]+" "+x+":"+i[4]+":"+i[5]+":000",$=+v;return(l.utc(b).valueOf()-($-=$%1e3))/6e4},f=d.prototype;f.tz=function(v,y){v===void 0&&(v=C);var w,i=this.utcOffset(),a=this.toDate(),h=a.toLocaleString("en-US",{timeZone:v}),o=Math.round((a-new Date(h))/1e3/60),s=15*-Math.round(a.getTimezoneOffset()/15)-o;if(!Number(s))w=this.utcOffset(0,y);else if(w=l(h,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(s,!0),y){var p=w.utcOffset();w=w.add(i-p,"minute")}return w.$x.$timezone=v,w},f.offsetName=function(v){var y=this.$x.$timezone||l.tz.guess(),w=c(this.valueOf(),y,{timeZoneName:v}).find((function(i){return i.type.toLowerCase()==="timezonename"}));return w&&w.value};var S=f.startOf;f.startOf=function(v,y){if(!this.$x||!this.$x.$timezone)return S.call(this,v,y);var w=l(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return S.call(w,v,y).tz(this.$x.$timezone,!0)},l.tz=function(v,y,w){var i=w&&y,a=w||y||C,h=g(+l(),a);if(typeof v!="string")return l(v).tz(a);var o=(function(x,b,$){var M=x-60*b*1e3,_=g(M,$);if(b===_)return[M,b];var D=g(M-=60*(_-b)*1e3,$);return _===D?[M,_]:[x-60*Math.min(_,D)*1e3,Math.max(_,D)]})(l.utc(v,i).valueOf(),h,a),s=o[0],p=o[1],m=l(s).utcOffset(p);return m.$x.$timezone=a,m},l.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},l.tz.setDefault=function(v){C=v}}}))})(pe)),pe.exports}var Io=Uo();const Eo=O.getDefaultExportFromCjs(Io);var me={exports:{}},No=me.exports,rt;function Oo(){return rt||(rt=1,(function(e,t){(function(r,n){e.exports=n()})(No,(function(){var r="minute",n=/[+-]\d\d(?::?\d\d)?/g,u=/([+-]|\d\d)/g;return function(d,l,C){var c=l.prototype;C.utc=function(i){var a={date:i,utc:!0,args:arguments};return new l(a)},c.utc=function(i){var a=C(this.toDate(),{locale:this.$L,utc:!0});return i?a.add(this.utcOffset(),r):a},c.local=function(){return C(this.toDate(),{locale:this.$L,utc:!1})};var g=c.parse;c.parse=function(i){i.utc&&(this.$u=!0),this.$utils().u(i.$offset)||(this.$offset=i.$offset),g.call(this,i)};var f=c.init;c.init=function(){if(this.$u){var i=this.$d;this.$y=i.getUTCFullYear(),this.$M=i.getUTCMonth(),this.$D=i.getUTCDate(),this.$W=i.getUTCDay(),this.$H=i.getUTCHours(),this.$m=i.getUTCMinutes(),this.$s=i.getUTCSeconds(),this.$ms=i.getUTCMilliseconds()}else f.call(this)};var S=c.utcOffset;c.utcOffset=function(i,a){var h=this.$utils().u;if(h(i))return this.$u?0:h(this.$offset)?S.call(this):this.$offset;if(typeof i=="string"&&(i=(function(m){m===void 0&&(m="");var x=m.match(n);if(!x)return null;var b=(""+x[0]).match(u)||["-",0,0],$=b[0],M=60*+b[1]+ +b[2];return M===0?0:$==="+"?M:-M})(i),i===null))return this;var o=Math.abs(i)<=16?60*i:i;if(o===0)return this.utc(a);var s=this.clone();if(a)return s.$offset=o,s.$u=!1,s;var p=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(s=this.local().add(o+p,r)).$offset=o,s.$x.$localOffset=p,s};var v=c.format;c.format=function(i){var a=i||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return v.call(this,a)},c.valueOf=function(){var i=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*i},c.isUTC=function(){return!!this.$u},c.toISOString=function(){return this.toDate().toISOString()},c.toString=function(){return this.toDate().toUTCString()};var y=c.toDate;c.toDate=function(i){return i==="s"&&this.$offset?C(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():y.call(this)};var w=c.diff;c.diff=function(i,a,h){if(i&&this.$u===i.$u)return w.call(this,i,a,h);var o=this.local(),s=C(i).local();return w.call(o,s,a,h)}}}))})(me)),me.exports}var Ao=Oo();const Yo=O.getDefaultExportFromCjs(Ao);var ge={exports:{}},Fo=ge.exports,ot;function Bo(){return ot||(ot=1,(function(e,t){(function(r,n){e.exports=n()})(Fo,(function(){var r={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},n=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,u=/\d/,d=/\d\d/,l=/\d\d?/,C=/\d*[^-_:/,()\s\d]+/,c={},g=function(a){return(a=+a)+(a>68?1900:2e3)},f=function(a){return function(h){this[a]=+h}},S=[/[+-]\d\d:?(\d\d)?|Z/,function(a){(this.zone||(this.zone={})).offset=(function(h){if(!h||h==="Z")return 0;var o=h.match(/([+-]|\d\d)/g),s=60*o[1]+(+o[2]||0);return s===0?0:o[0]==="+"?-s:s})(a)}],v=function(a){var h=c[a];return h&&(h.indexOf?h:h.s.concat(h.f))},y=function(a,h){var o,s=c.meridiem;if(s){for(var p=1;p<=24;p+=1)if(a.indexOf(s(p,0,h))>-1){o=p>12;break}}else o=a===(h?"pm":"PM");return o},w={A:[C,function(a){this.afternoon=y(a,!1)}],a:[C,function(a){this.afternoon=y(a,!0)}],Q:[u,function(a){this.month=3*(a-1)+1}],S:[u,function(a){this.milliseconds=100*+a}],SS:[d,function(a){this.milliseconds=10*+a}],SSS:[/\d{3}/,function(a){this.milliseconds=+a}],s:[l,f("seconds")],ss:[l,f("seconds")],m:[l,f("minutes")],mm:[l,f("minutes")],H:[l,f("hours")],h:[l,f("hours")],HH:[l,f("hours")],hh:[l,f("hours")],D:[l,f("day")],DD:[d,f("day")],Do:[C,function(a){var h=c.ordinal,o=a.match(/\d+/);if(this.day=o[0],h)for(var s=1;s<=31;s+=1)h(s).replace(/\[|\]/g,"")===a&&(this.day=s)}],w:[l,f("week")],ww:[d,f("week")],M:[l,f("month")],MM:[d,f("month")],MMM:[C,function(a){var h=v("months"),o=(v("monthsShort")||h.map((function(s){return s.slice(0,3)}))).indexOf(a)+1;if(o<1)throw new Error;this.month=o%12||o}],MMMM:[C,function(a){var h=v("months").indexOf(a)+1;if(h<1)throw new Error;this.month=h%12||h}],Y:[/[+-]?\d+/,f("year")],YY:[d,function(a){this.year=g(a)}],YYYY:[/\d{4}/,f("year")],Z:S,ZZ:S};function i(a){var h,o;h=a,o=c&&c.formats;for(var s=(a=h.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(_,D,k){var E=k&&k.toUpperCase();return D||o[k]||r[k]||o[E].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(A,Y,B){return Y||B.slice(1)}))}))).match(n),p=s.length,m=0;m<p;m+=1){var x=s[m],b=w[x],$=b&&b[0],M=b&&b[1];s[m]=M?{regex:$,parser:M}:x.replace(/^\[|\]$/g,"")}return function(_){for(var D={},k=0,E=0;k<p;k+=1){var A=s[k];if(typeof A=="string")E+=A.length;else{var Y=A.regex,B=A.parser,j=_.slice(E),P=Y.exec(j)[0];B.call(D,P),_=_.replace(P,"")}}return(function(q){var ae=q.afternoon;if(ae!==void 0){var N=q.hours;ae?N<12&&(q.hours+=12):N===12&&(q.hours=0),delete q.afternoon}})(D),D}}return function(a,h,o){o.p.customParseFormat=!0,a&&a.parseTwoDigitYear&&(g=a.parseTwoDigitYear);var s=h.prototype,p=s.parse;s.parse=function(m){var x=m.date,b=m.utc,$=m.args;this.$u=b;var M=$[1];if(typeof M=="string"){var _=$[2]===!0,D=$[3]===!0,k=_||D,E=$[2];D&&(E=$[2]),c=this.$locale(),!_&&E&&(c=o.Ls[E]),this.$d=(function(j,P,q,ae){try{if(["x","X"].indexOf(P)>-1)return new Date((P==="X"?1e3:1)*j);var N=i(P)(j),xe=N.year,ie=N.month,ao=N.day,io=N.hours,co=N.minutes,uo=N.seconds,lo=N.milliseconds,Ge=N.zone,Ze=N.week,be=new Date,$e=ao||(xe||ie?1:be.getDate()),Me=xe||be.getFullYear(),ce=0;xe&&!ie||(ce=ie>0?ie-1:be.getMonth());var ue,_e=io||0,De=co||0,ke=uo||0,Te=lo||0;return Ge?new Date(Date.UTC(Me,ce,$e,_e,De,ke,Te+60*Ge.offset*1e3)):q?new Date(Date.UTC(Me,ce,$e,_e,De,ke,Te)):(ue=new Date(Me,ce,$e,_e,De,ke,Te),Ze&&(ue=ae(ue).week(Ze).toDate()),ue)}catch{return new Date("")}})(x,M,b,o),this.init(),E&&E!==!0&&(this.$L=this.locale(E).$L),k&&x!=this.format(M)&&(this.$d=new Date("")),c={}}else if(M instanceof Array)for(var A=M.length,Y=1;Y<=A;Y+=1){$[1]=M[Y-1];var B=o.apply(this,$);if(B.isValid()){this.$d=B.$d,this.$L=B.$L,this.init();break}Y===A&&(this.$d=new Date(""))}else p.call(this,m)}}}))})(ge)),ge.exports}var Ro=Bo();const Po=O.getDefaultExportFromCjs(Ro);var ye={exports:{}},Lo=ye.exports,nt;function Ho(){return nt||(nt=1,(function(e,t){(function(r,n){e.exports=n()})(Lo,(function(){var r="month",n="quarter";return function(u,d){var l=d.prototype;l.quarter=function(g){return this.$utils().u(g)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(g-1))};var C=l.add;l.add=function(g,f){return g=Number(g),this.$utils().p(f)===n?this.add(3*g,r):C.bind(this)(g,f)};var c=l.startOf;l.startOf=function(g,f){var S=this.$utils(),v=!!S.u(f)||f;if(S.p(g)===n){var y=this.quarter()-1;return v?this.month(3*y).startOf(r).startOf("day"):this.month(3*y+2).endOf(r).endOf("day")}return c.bind(this)(g,f)}}}))})(ye)),ye.exports}var zo=Ho();const jo=O.getDefaultExportFromCjs(zo),lt="ui_theme",dt=e=>typeof e=="string",ft=e=>typeof e=="number"&&!isNaN(e),ht=e=>typeof e=="boolean",pt=e=>typeof e=="function",mt=e=>e!==null&&typeof e=="object",gt=e=>Array.isArray(e),yt=e=>e===null,vt=e=>e===void 0,wt=e=>e==null,St=(e,t)=>{let r=0;return(...n)=>{const u=Date.now();u-r>=t&&(r=u,e(...n))}},Ct=(e,t)=>{let r;return(...n)=>{clearTimeout(r),r=setTimeout(()=>e(...n),t)}},xt=async e=>{try{return await navigator.clipboard.writeText(e),!0}catch(t){return console.error("Error copying to clipboard:",t),!1}},re=()=>{const e=window.innerWidth;return e<768?"mobile":e<1024?"tablet":"desktop"},bt=()=>re()==="mobile",$t=()=>re()==="tablet",Mt=()=>re()==="desktop",_t=()=>"#"+Math.floor(Math.random()*16777215).toString(16),oe=e=>!e||e.length===0,Dt=e=>[...new Set(e)],kt=e=>{if(!oe(e))return Math.max(...e)},Tt=e=>{if(!oe(e))return Math.min(...e)},Ut=e=>{if(!oe(e))return e.reduce((t,r)=>t+r,0)/e.length},It=e=>e.reduce((t,r)=>t+r,0),Et=(e,t)=>e.filter(t).length,Nt=e=>[...e].reverse(),Ot=e=>{const t=new Set,r=new Set;return e.forEach(n=>{t.has(n)?r.add(n):t.add(n)}),Array.from(r)},At=(e,t)=>Math.random()*(t-e)+e,Yt=(e,t,r)=>Math.min(Math.max(e,t),r),Ft=(e,t=0)=>Math.round(e*Math.pow(10,t))/Math.pow(10,t),Bt=(e,t)=>{try{sessionStorage.setItem(e,JSON.stringify(t))}catch(r){console.error("Error saving to sessionStorage:",r)}},Rt=(e,t)=>{try{const r=sessionStorage.getItem(e);return r?JSON.parse(r):t||null}catch(r){return console.error("Error reading from sessionStorage:",r),t||null}},Pt=e=>{try{sessionStorage.removeItem(e)}catch(t){console.error("Error removing from sessionStorage:",t)}},Lt=()=>{try{sessionStorage.clear()}catch(e){console.error("Error clearing sessionStorage:",e)}},Ht=(e,t,r=30)=>{const n=new Date;n.setTime(n.getTime()+r*24*60*60*1e3),document.cookie=`${e}=${t};expires=${n.toUTCString()};path=/`},zt=e=>{const t=e+"=",r=document.cookie.split(";");for(let n=0;n<r.length;n++){let u=r[n];for(;u.charAt(0)===" ";)u=u.substring(1,u.length);if(u.indexOf(t)===0)return u.substring(t.length,u.length)}return null},jt=e=>{document.cookie=`${e}=;expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/`},Oe=e=>typeof e!="string"?!e:e.trim().length===0,qt=(e,t)=>Oe(e)?t:e||"",Vt=e=>e.replace(/-([a-z])/g,t=>t[1].toUpperCase()),Wt=e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),Kt=e=>{try{return new URL(e),!0}catch{return!1}},Gt=(e,t,r=" ")=>e.padStart(t,r),Zt=(e,t,r=" ")=>e.padEnd(t,r),Ae=(e,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")=>{let r="";for(let n=0;n<e;n++)r+=t.charAt(Math.floor(Math.random()*t.length));return r},qo=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){const t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)}),Se=(e=32)=>{const r=qo().replace(/-/g,"");return e>=32?r+Ae(e-32,"0123456789abcdef"):r.substring(0,e)};async function Jt(e){return So(e).toString($o)}I.extend(ko);I.extend(Yo);I.extend(Eo);I.locale("ko");I.extend(Po);I.extend(jo);const z="YYYYMMDD",Ye=()=>I(),Fe=(e=z)=>Be(Ye(),e),Be=(e,t=z)=>I(e).format(t),ne=(e,t=z)=>I(e,t,!0).isValid(),Xt=e=>ne(e,"YYYYMMDD"),Qt=e=>ne(e,"YYYY"),er=e=>ne(e,"YYYYMM"),tr=(e,t="month",r=z)=>I(e).startOf(t).format(r),rr=(e,t="month",r=z)=>I(e).endOf(t).format(r),or=(e,t,r="day",n=z)=>I(e).add(t,r).format(n),nr=(e,t,r="day")=>I(e).diff(I(t),r);let sr={};const ar=e=>{sr=e},W=()=>sr,ir=Object.freeze(Object.defineProperty({__proto__:null,DEFAULT_FMT:z,THEME_COOKIE_NAME:lt,add:or,arrAverage:Ut,arrCount:Et,arrMax:kt,arrMin:Tt,arrReverse:Nt,arrSum:It,arrUnique:Dt,clamp:Yt,clearSessionStorage:Lt,copyToClipboard:xt,debounce:Ct,deleteCookie:jt,diff:nr,duplicates:Ot,encryptSha256:Jt,endOf:rr,format:Be,generateRandomColor:_t,generateRandomString:Ae,generateUID:Se,getApiDeps:W,getCookie:zt,getDeviceType:re,getSessionStorage:Rt,getTodateString:Fe,initApiDeps:ar,isArray:gt,isBoolean:ht,isDesktop:Mt,isEmpty:Oe,isEmptyArray:oe,isFunction:pt,isMobile:bt,isNull:yt,isNullOrUndefined:wt,isNumber:ft,isObject:mt,isSafeEmpty:qt,isString:dt,isTablet:$t,isUndefined:vt,isValid:ne,isValidDate:Xt,isValidEmail:Wt,isValidUrl:Kt,isValidYear:Qt,isValidYearMonth:er,now:Ye,padLeft:Gt,padRight:Zt,random:At,removeSessionStorage:Pt,round:Ft,setCookie:Ht,setSessionStorage:Bt,startOf:tr,throttle:St,toCamelCase:Vt},Symbol.toStringTag,{value:"Module"})),Ce=(()=>{try{if((void 0).DEV)return!0}catch{}return!1})();let cr=[],ur=[];function lr(e){e.devHosts&&(cr=e.devHosts),e.prodHosts&&(ur=e.prodHosts)}function dr(){if(typeof window<"u"&&window.location)return window.location.hostname}const Re=(()=>{const e=dr();return!!(e&&cr.includes(e))})(),Pe=(()=>{const e=dr();return!!(e&&ur.includes(e))})();function fr(){return Ce?"X":Re?"D":Pe?"P":"X"}const hr=Object.freeze(Object.defineProperty({__proto__:null,configureEnvUtils:lr,getEnvCode:fr,isDev:Re,isLocal:Ce,isProd:Pe},Symbol.toStringTag,{value:"Module"})),F={duration:4.5,placement:"topRight"};class G{constructor(){}static getInstance(){return G.instance||(G.instance=new G),G.instance}showBwgError(t){const{message:r,description:n,duration:u=F.duration,placement:d=F.placement}=t;U.notification.error({message:`${r}`,description:n||"오류가 발생했습니다. 다시 시도해주세요.",duration:u,placement:d,style:{borderLeft:"4px solid #ff4d4f",backgroundColor:"#fff2f0"}})}showSuccess(t,r,n){U.notification.success({message:`${t}`,description:r,duration:n||F.duration,placement:F.placement})}showInfo(t,r,n){U.notification.info({message:`${t}`,description:r,duration:n||F.duration,placement:F.placement})}showWarning(t,r,n){U.notification.warning({message:`${t}`,description:r,duration:n||F.duration,placement:F.placement})}showError(t,r,n){U.notification.error({message:`${t}`,description:r,duration:n||F.duration,placement:F.placement})}destroy(){U.notification.destroy()}close(t){U.notification.destroy()}}const R=G.getInstance(),Le=e=>{R.showBwgError(e)},pr=(e,t,r)=>{R.showSuccess(e,t,r)},He=(e,t,r)=>{R.showInfo(e,t,r)},ze=(e,t,r)=>{R.showWarning(e,t,r)},mr=(e,t,r)=>{R.showError(e,t,r)},gr=()=>{R.destroy()},yr=e=>{R.close(e)},vr=Object.freeze(Object.defineProperty({__proto__:null,closeNotification:yr,destroyNotifications:gr,notiBwgError:Le,notiError:mr,notiInfo:He,notiSuccess:pr,notiWarning:ze,notificationService:R},Symbol.toStringTag,{value:"Module"})),Z=()=>T.useUserStore.getState().user?.crprCd||null,J=()=>{const e=T.useUserStore.getState().user;return T.useUserStore.getState().hrInfo?.empNo||e?.userId||null},je=()=>T.useUserStore.getState().user?.userNm||null,wr=()=>T.useUserStore.getState().user?.userDvsn||null,Sr=()=>T.useUserStore.getState().user?.emplNo||null,X=()=>{const e=T.useUserStore.getState().hrInfo,t=T.useUserStore.getState().user;return e?.deptCd||t?.dprtCd||null},Cr=()=>T.useUserStore.getState().hrInfo?.fullDeptCd||null,qe=()=>T.useUserStore.getState().user?.dprtNm||null,xr=()=>T.useUserStore.getState().hrInfo?.fullDeptNm||null,se=()=>T.useUserStore.getState().user?.roleList||null,br=e=>{const t=se();return t?t.includes(e):!1},$r=e=>{const t=se();return t?e.some(r=>t.includes(r)):!1},Mr=e=>{const t=se();return t?e.every(r=>t.includes(r)):!1},_r=()=>T.useUserStore.getState().isLoggedIn(),Q=()=>T.useUserStore.getState().user,Dr=()=>Q()!==null,kr=()=>{const e=je(),t=J();return e||t||null},Tr=()=>{const e=qe(),t=X();return e||(t?String(t):null)},K=()=>T.useUserStore.getState().hrInfo,Ur=()=>K()?.jbpsCd||null,Ir=()=>K()?.jbgdCd||null,Er=()=>K()?.jbdtCd||null,Nr=()=>K()?.jbkdCd||null,Or=()=>K()?.wkplCd||null,Ar=Object.freeze(Object.defineProperty({__proto__:null,getCrprCd:Z,getDepartmentInfo:Tr,getDisplayName:kr,getDprtCd:X,getDprtNm:qe,getEmplNo:Sr,getFullDprtCd:Cr,getFullDprtNm:xr,getHrInfo:K,getJbdtCd:Er,getJbgdCd:Ir,getJbkdCd:Nr,getJbpsCd:Ur,getRoleList:se,getUserDvsn:wr,getUserId:J,getUserInfo:Q,getUserNm:je,getWkplCd:Or,hasAllRoles:Mr,hasAnyRole:$r,hasRole:br,hasUserInfo:Dr,isLoggedIn:_r},Symbol.toStringTag,{value:"Module"}));class H extends Error{constructor(t,r,n,u,d){super(t),this.name="ApiError",this.detailMsg=r,this.response=n,this.msgCd=u,this.errorType=d,Error.captureStackTrace&&Error.captureStackTrace(this,H)}}let V=null;const Ue={method:"POST",timeout:3e4,withCredentials:!0,showLoading:!0,isPopup:!1,showError:!0,retryCount:0,retryDelay:1e3},ve=Ie.create({timeout:Ue.timeout,withCredentials:Ue.withCredentials,headers:{"Content-Type":"application/json; charset=utf-8",Accept:"application/json; charset=utf-8","Apm-Guid":Se()}});ve.interceptors.request.use(e=>{const t=W();e.showLoading&&!e.isPopup&&t.showLoading?.(),e.showLoading&&e.isPopup&&t.showPopupLoading?.();let r="UNKNOWN";new Date().getTime();try{e.data&&e.data.header?r=e.data.header.trxCd||"UNKNOWN":e.params&&e.params.header&&(r=e.params.header.trxCd||"UNKNOWN")}catch(u){console.warn("trxCd/guid 추출 실패:",u)}e.trxCd=r,e.requestStartTime=Date.now(),console.log(`🚀 API 요청 시작 [거래코드: ${r} / 서비스요청자: ${Q()?.userId}]`);const n=localStorage.getItem("accessToken");return n&&(e.headers.Authorization=`Bearer ${n}`),e.headers["Content-Type"]="application/json; charset=UTF-8",e.headers.Accept="application/json; charset=UTF-8",e},e=>(console.error("❌ 요청 인터셉터 에러:",e),Promise.reject(e)));ve.interceptors.response.use(e=>{const t=W();e.config.showLoading&&!e.config.isPopup&&t.hideLoading?.(),e.config.isPopup&&t.hidePopupLoading?.();let r="UNKNOWN",n="UNKNOWN";const u=new Date().getTime();try{e.config.trxCd&&(r=e.config.trxCd),e.config.guid?n=e.config.guid:e.data&&e.data.header&&e.data.header.trxCd?(r=e.data.header.trxCd,n=e.data.header.guid||"UNKNOWN"):e.config.data&&e.config.data.header?(r=e.config.data.header.trxCd||"UNKNOWN",n=e.config.data.header.guid||"UNKNOWN"):e.config.params&&e.config.params.header&&(r=e.config.params.header.trxCd||"UNKNOWN",n=e.config.params.header.guid||"UNKNOWN")}catch(l){console.warn("trxCd/guid 추출 실패:",l)}let d=0;return e.config.requestStartTime&&(d=u-e.config.requestStartTime),console.log(`✅ API 응답 성공 [거래코드: ${r} / GUID : ${n}] - (소요시간: ${d}ms)`),e},async e=>{const t=W();if(e.config&&e.config.showLoading&&!e.config.isPopup&&t.hideLoading?.(),e.config&&e.config.isPopup&&t.hidePopupLoading?.(),console.error("❌ API 응답 에러:",e),Ce&&console.error("🚨 Error Details:",{message:e.message,status:e.response?.status,statusText:e.response?.statusText,data:e.response?.data,config:{url:e.config?.url,method:e.config?.method,baseURL:e.config?.baseURL}}),e.response?.status===401){const r=localStorage.getItem("refreshToken");if(r)try{const n=await Ie.post("/auth/refresh",{refreshToken:r});if(n.data.accessToken){localStorage.setItem("accessToken",n.data.accessToken);const u=e.config;if(u)return u.headers.Authorization=`Bearer ${n.data.accessToken}`,ve(u)}}catch{localStorage.removeItem("accessToken"),localStorage.removeItem("refreshToken"),window.location.href="/login"}}return Promise.reject(e)});const Vo=async()=>{if(V===null){const e=Date.now();await Ve();const t=Date.now();console.log(`[INFO] IP 조회 소요시간: ${t-e}ms`)}},Wo=(e,t,r,n)=>{const d=W().getActiveMenuId?.();return{header:{trxCd:e,userInfo:Q(),clientIp:r,domainId:"DEFAULT",sysCd:n?.sysCd,appItCd:n?.appItCd,appCd:n?.appCd,screenId:d},data:t}},Ko=(e,t,r)=>{const n={method:t.method,url:e,timeout:t.timeout,withCredentials:t.withCredentials,showLoading:t.showLoading,isPopup:t.isPopup,headers:{...t.headers||{}}};return t.method==="GET"?(n.params=r||t.params,t.params&&(n.params=t.params)):(n.data=r||t.data,t.params&&(n.params=t.params)),n},Go=async(e,t)=>{let r;const n=t.retryCount||0,u=t.retryDelay||1e3;for(let d=0;d<=n;d++)try{const l=await ve(e);if(l.data?.header?.resCd==0)return Jo(l.data);const C=l.data?.header||{},c=C?.msgs?.basicMsg||"요청 처리 중 오류가 발생했습니다.",g=C?.msgs?.detailMsgs||c,f=C?.msgCd,S=C?.msgs?.type;throw new H(c,g,l,f,S)}catch(l){if(r=Zo(l),l?.isAxiosError&&Qo(l)&&d<n){await en(u);continue}break}throw r?(Xo(r,t),r):new Error("알 수 없는 API 오류가 발생했습니다.")},Zo=e=>{if(e?.isAxiosError&&e.response){const t=e,r=t.response,n=r.data,u=n?.header?.msgs?.basicMsg||t.message||"서버에서 오류가 발생했습니다.",d=n?.header?.msgs?.detailMsgs||(typeof r.data=="string"?r.data:JSON.stringify(r.data))||u,l=n?.header?.msgCd,C=n?.header?.msgs?.type;return new H(u,d,r,l,C)}return e instanceof H,e},Jo=e=>{if(!e||typeof e!="object")return{};for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&t!=="header")return e[t];return{}},Xo=(e,t)=>{if(!t.showError)return;const r=e instanceof H,n=r?e.message:"요청 처리 중 오류가 발생했습니다.",u=r?e.msgCd:"요청 처리 중 오류가 발생했습니다.",d=r?e.detailMsg:e.message,l=r?e.errorType:"";u&&u.startsWith?.("BXM")?Le({message:n,description:d,duration:5}):l==="I"?He(n,d,5):ze(n,d,5)},Yr=async(e,t,r,n,u)=>{const l=W().findSystemByAppCd?.(u??__APP_CD__);(!l||!l.sysCd)&&console.error("해당 앱코드는 존재하지 않습니다.",u),await Vo();const C={...Ue,...n},c=Wo(t,r,We()||"unknown",l),g=Ko(e,C,c);try{return await Go(g,C)}catch(f){throw console.error("callService 최종 에러:",f),f}},Qo=e=>!e.response||e.response.status>=500&&e.response.status<600,en=e=>new Promise(t=>setTimeout(t,e)),Ve=async e=>{if(V===null)if(e===void 0)try{let r=(await Ie.get("/api/ip")).data.trim();r=r.replace(/\s+/g,""),V=r}catch(t){console.warn("IP 가져오기 실패:",t),V="unknown"}else V=e},We=()=>V,Fr=async()=>(console.log("IP 검증 비활성화됨 (성능 최적화)"),V||"unknown"),Br=(e,t,r)=>L(e,t,{...r,method:"GET"}),L=async(e,t,r,n)=>Yr("/api/service",e,t,r,n),Rr=async(e,t,r,n)=>Yr(`/api/${__SYS_CD__}/service`,e,t,r,n),Pr=async(e,t,r)=>{try{const n=await fetch("/api/permissions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userId:e,menuId:t,popupId:r})});if(!n.ok)throw new Error(`권한 확인 실패: ${n.status}`);return await n.json()}catch(n){throw console.error("권한 확인 서비스 오류:",n),n}},Lr=Object.freeze(Object.defineProperty({__proto__:null,ApiError:H,apiGet:Br,callService:L,callServiceBySysCd:Rr,getClientIp:We,getPermissionService:Pr,setClientIp:Ve,verifyClientIp:Fr},Symbol.toStringTag,{value:"Module"})),Hr=(e,t,r="text/plain")=>{const n=new Blob([e],{type:r}),u=URL.createObjectURL(n),d=document.createElement("a");d.href=u,d.download=t,document.body.appendChild(d),d.click(),document.body.removeChild(d),URL.revokeObjectURL(u)};async function zr(e){try{return await L("SCMFILE00101",{crprCd:Q()?.crprCd,sysCd:__SYS_CD__,fileKey:e}).then(r=>{let n;if(r.sub&&(n=r.sub[0]),console.log(r),console.log(n),!n.lgclFileNm)throw console.error("논리파일명이 없습니다."),new Error("논리 파일명 누락");if(!n.filePath)throw console.error("파일 경로가 없습니다."),new Error("파일 경로 누락");const u=`api/download?filePath=${encodeURIComponent(n.filePath)}&logicalName=${encodeURIComponent(n.lgclFileNm)}`;return window.open(u,"_blank"),{success:!0,message:"파일 다운로드 요청 성공"}})}catch(t){throw console.error("downloadByFileKey 함수 실행 중 오류 발생:",t),t}}const jr=Object.freeze(Object.defineProperty({__proto__:null,downloadByFileKey:zr,downloadFile:Hr},Symbol.toStringTag,{value:"Module"})),Ke=(e,t=3)=>{U.message.success({content:e,duration:t})},ee=(e,t=5)=>{U.message.error({content:e,duration:t})},qr=(e,t=4)=>{U.message.warning({content:e,duration:t})},Vr=(e,t=3)=>{U.message.info({content:e,duration:t})},Wr=(e="처리중...")=>U.message.loading({content:e,duration:0}),Kr=e=>{U.message.destroy(e)},Gr=()=>{U.message.destroy()},Zr=(e,t="처리 중 오류가 발생했습니다.")=>{const r=e?.response?.data?.message||e?.message||t;ee(r)},Jr=(e="저장")=>{Ke(`${e}이 완료되었습니다.`)},Xr=(e="저장")=>{ee(`${e} 중 오류가 발생했습니다.`)},Qr=e=>{ee(`이미 사용중인 ${e}입니다.`)},eo=e=>{ee(`${e}을(를) 입력해주세요.`)},to=Object.freeze(Object.defineProperty({__proto__:null,closeAllMessages:Gr,closeMessage:Kr,showApiError:Zr,showDuplicateError:Qr,showError:ee,showInfo:Vr,showLoading:Wr,showRequiredError:eo,showSaveError:Xr,showSaveSuccess:Jr,showSuccess:Ke,showWarning:qr},Symbol.toStringTag,{value:"Module"})),ro={left:"left",near:"left",right:"right",far:"right",center:"center",number:"#,##0",number2:"#,##0.00",number3:"#,##0.##",number4:"#,##0.000",number5:"#,##0.#####",editNumber:{type:"number",editFormat:"#,##0"},editNumber2:{type:"number",editFormat:"#,##0.00"},editNumber3:{type:"number",editFormat:"#,##0.##"},editNumber4:{type:"number",editFormat:"#,##0.000"},editNumber5:{type:"number",editFormat:"#,##0.###"},editYmd:{type:"date",datetimeFormat:"yyyyMMdd",autoclose:!0,maxDate:"99991231",minDate:"19000101",showButtons:!1,mask:{editMask:"9999-99-99"}},editYm:{type:"btdate",datetimeFormat:"yyyyMM",btOptions:{startView:1,minViewMode:1,todayBtn:"linked",language:"ko",todayHighlight:!0,autoclose:!0,mask:{editMask:"9999-99"}}},editYy:{type:"btdate",datetimeFormat:"yyyy",btOptions:{startView:2,minViewMode:2,todayBtn:"linked",language:"ko",todayHighlight:!0,autoclose:!0}},formatYmd:"([0-9]{4})([0-9]{2})([0-9]{2});$1-$2-$3",formatYm:"([0-9]{4})([0-9]{2});$1-$2",formatYy:"([0-9]{4});$1",lookup:{type:"dropdown",domainOnly:!0},lookupReadOnly:{type:"dropdown",readOnly:!0},maskCard:{type:"text",mask:"0000-0000-0000-0000"},formatMaskCard:"([0-9]{4})([0-9]{4})([0-9]{4})([0-9]{4});$1-$2-$3-$4",maskBsnsNo:{type:"text",mask:"000-00-00000"},formatMaskBsnsNo:"([0-9]{3})([0-9]{2})([0-9]{5});$1-$2-$3",maskRsdn:{type:"text",mask:"000000-0000000"},formatMaskRsdn:"([0-9]{6})([0-9]{7});$1-$2",formatMaskRsdn2:"([0-9]{6})([0-9])([0-9]{6});$1-$2******",maskRsdn2:{type:"text",mask:"999999-9999999"},maskYmd:{type:"text",mask:"0000-00-00"},formatMaskYmd:"([0-9]{4})([0-9]{2})([0-9]{2});$1-$2-$3",maskYm:{type:"text",mask:"0000-00"},formatMaskYm:"([0-9]{4})([0-9]{2});$1-$2",maskYmdHms:{type:"text",mask:"0000-00-00 00:00:00"},formatYmdHms:"([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2});$1-$2-$3 $4:$5:$6",maskHm:{type:"text",mask:"00:00"},formatHm:"([0-9]{2})([0-9]{2});$1:$2",maskHms:{type:"text",mask:"00:00:00"},formatHms:"([0-9]{2})([0-9]{2})([0-9]{2});$1:$2:$3",checkY:{type:"check",trueValues:"Y",falseValues:"N"},checkN:{type:"check",trueValues:"N",falseValues:"Y"},check1:{type:"check",trueValues:"1",falseValues:"0"},checkTrue:{type:"check",trueValues:"true",falseValues:"false"},checkT:{type:"check",trueValues:"T",falseValues:"F"},checkYdisabled:{type:"check",editable:!1,trueValues:"Y",falseValues:"N"},checkNdisabled:{type:"check",editable:!1,trueValues:"N",falseValues:"Y"},check1disabled:{type:"check",editable:!1,trueValues:"1",falseValues:"0"},count:{suffix:" 건",expression:"count"},count2:{prefix:"총 ",suffix:" 건",expression:"count"},datacount:{suffix:" 건",expression:"datacount"},sum:{numberFormat:"#,##0",expression:"sum"},sum2:{numberFormat:"#,##0.##",expression:"sum"},sum3:{numberFormat:"#,##0.00",expression:"sum"},avg:{numberFormat:"#,##0",expression:"avg"},avg2:{numberFormat:"#,##0.##",expression:"avg"},avg4:{numberFormat:"#,##0.####",expression:"avg"},min:{expression:"min"},max:{expression:"max"},date:{type:"date",mask:{editMask:"9999-99-99",placeHolder:"____-__-__",includedFormat:!0},datetimeFormat:"yyyy-MM-dd",textAlignment:"center",yearNavigation:!0},dateStyle:{datetimeFormat:"yyyy-MM-dd",textAlignment:"center"},maskDateFull:{type:"text",mask:"0000-00-00 00:00:00",textAlignment:"center"},bg_gray01:{background:"#cdcdcd"}},oo=async e=>{if(e.map(t=>{t.status="uploading",t.percent=10,console.log(t)}),!e||!Array.isArray(e)||e.length===0){alert("업로드할 파일을 선택해주세요.");return}try{const t={remoteDir:"/home/krxuser/bkrx/files/testForGW",useOriginalName:"true"},r=e.map(async(l,C)=>{const c=new FormData;Object.entries(t).forEach(([S,v])=>{c.append(S,v)});const g=l.originFileObj;c.append("file",g);const f=await fetch("/api/gw-sftp",{method:"POST",body:c});return f.ok?(console.log(e),e.map(S=>S===l?{...S,status:"success",percent:100}:S)):l.status="done",{index:C,response:f,fileName:g.name}}),n=await Promise.all(r),u=n.filter(l=>l.response.ok).length,d=n.length-u;if(u===n.length)return alert(`${u}개 파일 업로드가 완료되었습니다.`),{result:"success",message:`${u}개 파일 업로드가 완료되었습니다.`,successCount:u,failCount:d};if(u>0){const l=`${u}개 성공, ${d}개 실패`;return alert(l),{result:"partial",message:l,successCount:u,failCount:d}}return alert("모든 파일 업로드에 실패했습니다."),{result:"error",message:"모든 파일 업로드에 실패했습니다.",successCount:u,failCount:d}}catch{return alert("파일 업로드 중 오류가 발생했습니다."),{result:"error",message:"파일 업로드 중 오류가 발생했습니다."}}},tn=async(e,t,r)=>{const{trxCd:n="SCMINTF00102",openDraft:u=!0,draftUrlBase:d="https://kgwd.krx.co.kr/ezConn/ezApprGate.do",windowFeatures:l="width=1000,height=600",fetchFilesTrxCd:C="SCMFILE00101"}=r||{},c=e??{},g=c.aprvKey||Se(),f=c.docTitle||"제목없음";if(c.aprvKey){const w=await L("SCMINTF00101",{crprCd:Z(),sysCd:__SYS_CD__,aprvKey:g});if(Array.isArray(w?.sub)&&w.sub.length>=1)return console.log("이미 승인된 기안입니다."),u&&no(g),{skipped:!0,alreadyDrafted:!0,draftedRes:w}}let S;if(t){const w=await L(C,{crprCd:Z(),sysCd:__SYS_CD__,fileGrpKey:t}),i=Array.isArray(w?.sub)?w.sub.filter(o=>o?.filePath&&o?.lgclFileNm).map(o=>({filePath:o.filePath,lgclFileNm:o.lgclFileNm})):[];console.log("@@ files",i);const a=i.map(async({filePath:o,lgclFileNm:s})=>{const p=`/api/download?filePath=${encodeURIComponent(o)}&logicalName=${encodeURIComponent(s)}`,m=await fetch(p,{method:"GET"});if(!m.ok)throw new Error(`다운로드 실패: ${s}`);const x=await m.blob();return{originFileObj:new File([x],s,{type:x.type||"application/octet-stream"}),name:s,status:"ready"}}),h=await Promise.all(a);if(i.length){const o=await oo(h);if(!o||o.result!=="success")throw new Error(o?.message||"파일 업로드 실패");S=h}}console.warn("@@ payloadData",c),console.log(c);const v={...c,crprCd:Z(),aprvKey:g,sysCd:__SYS_CD__,draftDt:Fe("YYYYMMDD"),docTitle:f,emplNo:c.emplNo||J(),dprtNo:c.dprtNo||X(),formId:"2023000022",fileInfoList:S,connInfo:{formId:"2023000022",bodyXml:c.bodyXml||"<div>test</div>",title:f,deptCd:c.dprtNo||X(),userId:c.emplNo||J(),status:c.status||"INT"}},y=await L(n,v);if(u&&v?.aprvKey){const w="2023000022",i=c.dprtNo||X(),a=c.emplNo||J(),h=c.aprvKey,o=`${w}:${i}:${a}:${h}:ITSM`,s=`${d}?connkey=${btoa(st.unescape(encodeURIComponent(o)))}`;window.open(s,"_blank",l)}return{response:y,aprvKey:g}},no=async(e,t)=>{if(!e)return console.warn("openGwDraftByAprvKey: aprvKey가 필요합니다."),{opened:!1,reason:"missing_aprvKey"};const{draftUrlBase:r="https://kgwd.krx.co.kr/ezConn/ezApprGate.do",windowFeatures:n="width=1000,height=600",formId:u="2023000022",requireExisting:d=!1,deptCdOverride:l,userIdOverride:C}=t||{},c=await L("SCMINTF00101",{crprCd:Z(),sysCd:__SYS_CD__,aprvKey:e}),g=Array.isArray(c?.sub)&&c.sub.length>=1;if(d&&!g)return console.warn("openGwDraftByAprvKey: 기안 조회 결과 없음"),alert("기안 대상이 존재하지 않습니다."),{opened:!1,hasExisting:g};const f=l??c.sub[0]?.dprtNo,S=C??c.sub[0]?.emplNo,v=`${u}:${f}:${S}:${e}:ITSM`,y=`${r}?connkey=${btoa(st.unescape(encodeURIComponent(v)))}`;return window.open(y,"_blank",n),{opened:!0,hasExisting:g,url:y}},rn=Lr,on=ir,nn=hr,sn=jr,an=to,cn=vr,un=ct,ln=Ar,so={...Lr,...ir,...hr,...jr,...to,...vr,...ct,...Ar,realFormat:ro};exports.ApiError=H;exports.DEFAULT_FMT=z;exports.DEFAULT_SERVICE_CODES=we;exports.THEME_COOKIE_NAME=lt;exports.add=or;exports.apiGet=Br;exports.apiUtils=rn;exports.arrAverage=Ut;exports.arrCount=Et;exports.arrMax=kt;exports.arrMin=Tt;exports.arrReverse=Nt;exports.arrSum=It;exports.arrUnique=Dt;exports.bwgUtils=so;exports.callService=L;exports.callServiceBySysCd=Rr;exports.clamp=Yt;exports.clearSessionStorage=Lt;exports.closeAllMessages=Gr;exports.closeMessage=Kr;exports.closeNotification=yr;exports.commonUtils=on;exports.configureEnvUtils=lr;exports.copyToClipboard=xt;exports.debounce=Ct;exports.default=so;exports.deleteCookie=jt;exports.destroyNotifications=gr;exports.diff=nr;exports.downloadByFileKey=zr;exports.downloadFile=Hr;exports.duplicates=Ot;exports.encryptSha256=Jt;exports.endOf=rr;exports.envUtils=nn;exports.fileUtils=sn;exports.format=Be;exports.generateRandomColor=_t;exports.generateRandomString=Ae;exports.generateUID=Se;exports.getAllServiceCodes=Ne;exports.getApiDeps=W;exports.getClientIp=We;exports.getCookie=zt;exports.getCrprCd=Z;exports.getDepartmentInfo=Tr;exports.getDeviceType=re;exports.getDisplayName=kr;exports.getDprtCd=X;exports.getDprtNm=qe;exports.getEmplNo=Sr;exports.getEnvCode=fr;exports.getFullDprtCd=Cr;exports.getFullDprtNm=xr;exports.getHrInfo=K;exports.getJbdtCd=Er;exports.getJbgdCd=Ir;exports.getJbkdCd=Nr;exports.getJbpsCd=Ur;exports.getPermissionService=Pr;exports.getRoleList=se;exports.getServiceCode=Ee;exports.getSessionStorage=Rt;exports.getTodateString=Fe;exports.getUserDvsn=wr;exports.getUserId=J;exports.getUserInfo=Q;exports.getUserNm=je;exports.getWkplCd=Or;exports.hasAllRoles=Mr;exports.hasAnyRole=$r;exports.hasRole=br;exports.hasUserInfo=Dr;exports.initApiDeps=ar;exports.isArray=gt;exports.isBoolean=ht;exports.isDesktop=Mt;exports.isDev=Re;exports.isEmpty=Oe;exports.isEmptyArray=oe;exports.isFunction=pt;exports.isLocal=Ce;exports.isLoggedIn=_r;exports.isMobile=bt;exports.isNull=yt;exports.isNullOrUndefined=wt;exports.isNumber=ft;exports.isObject=mt;exports.isProd=Pe;exports.isSafeEmpty=qt;exports.isString=dt;exports.isTablet=$t;exports.isUndefined=vt;exports.isValid=ne;exports.isValidDate=Xt;exports.isValidEmail=Wt;exports.isValidUrl=Kt;exports.isValidYear=Qt;exports.isValidYearMonth=er;exports.logServiceCodeConfig=it;exports.messageUtils=an;exports.notiBwgError=Le;exports.notiError=mr;exports.notiInfo=He;exports.notiSuccess=pr;exports.notiWarning=ze;exports.notificationService=R;exports.notificationUtils=cn;exports.now=Ye;exports.openGwDraftByAprvKey=no;exports.padLeft=Gt;exports.padRight=Zt;exports.random=At;exports.realFormat=ro;exports.removeSessionStorage=Pt;exports.round=Ft;exports.serviceUtils=un;exports.setClientIp=Ve;exports.setCookie=Ht;exports.setServiceCodeOverrides=at;exports.setSessionStorage=Bt;exports.showApiError=Zr;exports.showDuplicateError=Qr;exports.showError=ee;exports.showInfo=Vr;exports.showLoading=Wr;exports.showRequiredError=eo;exports.showSaveError=Xr;exports.showSaveSuccess=Jr;exports.showSuccess=Ke;exports.showWarning=qr;exports.startOf=tr;exports.submitGwApproval=tn;exports.throttle=St;exports.toCamelCase=Vt;exports.uploadFilesViaSftp=oo;exports.userUtils=ln;exports.verifyClientIp=Fr;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const Ee=require("axios"),O=require("../chunks/common-components-DaKdhIi2.cjs"),I=require("dayjs"),U=require("antd"),k=require("../stores/index.cjs"),we={AUTH_BTNS:"SCMSIGN00202",AUTH_MENU:"SCMSIGN00201",SRCH_CODE:"SCMSIGN00301",SRCH_POPU:"SCMPOPU00101",AUTH_BMRK:"SCMBMRK00101",SYST_CODE:"SCMSYST00101"};let Q={};function it(e){Q=e,console.log("🔧 Provider 서비스코드 오버라이드 설정:",e)}function Ne(e){return Q[e]&&Q[e].trim()!==""?Q[e]:we[e]}function Oe(){const e={};for(const t of Object.keys(we))e[t]=Ne(t);return e}function ct(){console.log("🔧 bwg-core 서비스코드 설정:"),console.log("📋 Provider 설정 > 기본값 순서로 확인");const e=Oe();for(const[t,r]of Object.entries(e)){const o=Q[t]?"Provider 설정":"기본값";console.log(` ${t}: ${r} (${o})`)}}const ut=Object.freeze(Object.defineProperty({__proto__:null,DEFAULT_SERVICE_CODES:we,getAllServiceCodes:Oe,getServiceCode:Ne,logServiceCodeConfig:ct,setServiceCodeOverrides:it},Symbol.toStringTag,{value:"Module"}));var le={exports:{}};function lo(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var de={exports:{}};const fo={},ho=Object.freeze(Object.defineProperty({__proto__:null,default:fo},Symbol.toStringTag,{value:"Module"})),po=O.getAugmentedNamespace(ho);var mo=de.exports,Qe;function lt(){return Qe||(Qe=1,(function(e,t){(function(r,o){e.exports=o()})(mo,function(){var r=r||(function(o,u){var l;if(typeof window<"u"&&window.crypto&&(l=window.crypto),typeof self<"u"&&self.crypto&&(l=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(l=globalThis.crypto),!l&&typeof window<"u"&&window.msCrypto&&(l=window.msCrypto),!l&&typeof O.commonjsGlobal<"u"&&O.commonjsGlobal.crypto&&(l=O.commonjsGlobal.crypto),!l&&typeof lo=="function")try{l=po}catch{}var c=function(){if(l){if(typeof l.getRandomValues=="function")try{return l.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof l.randomBytes=="function")try{return l.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},S=Object.create||(function(){function n(){}return function(a){var h;return n.prototype=a,h=new n,n.prototype=null,h}})(),p={},v=p.lib={},d=v.Base=(function(){return{extend:function(n){var a=S(this);return n&&a.mixIn(n),(!a.hasOwnProperty("init")||this.init===a.init)&&(a.init=function(){a.$super.init.apply(this,arguments)}),a.init.prototype=a,a.$super=this,a},create:function(){var n=this.extend();return n.init.apply(n,arguments),n},init:function(){},mixIn:function(n){for(var a in n)n.hasOwnProperty(a)&&(this[a]=n[a]);n.hasOwnProperty("toString")&&(this.toString=n.toString)},clone:function(){return this.init.prototype.extend(this)}}})(),w=v.WordArray=d.extend({init:function(n,a){n=this.words=n||[],a!=u?this.sigBytes=a:this.sigBytes=n.length*4},toString:function(n){return(n||m).stringify(this)},concat:function(n){var a=this.words,h=n.words,y=this.sigBytes,x=n.sigBytes;if(this.clamp(),y%4)for(var b=0;b<x;b++){var M=h[b>>>2]>>>24-b%4*8&255;a[y+b>>>2]|=M<<24-(y+b)%4*8}else for(var $=0;$<x;$+=4)a[y+$>>>2]=h[$>>>2];return this.sigBytes+=x,this},clamp:function(){var n=this.words,a=this.sigBytes;n[a>>>2]&=4294967295<<32-a%4*8,n.length=o.ceil(a/4)},clone:function(){var n=d.clone.call(this);return n.words=this.words.slice(0),n},random:function(n){for(var a=[],h=0;h<n;h+=4)a.push(c());return new w.init(a,n)}}),g=p.enc={},m=g.Hex={stringify:function(n){for(var a=n.words,h=n.sigBytes,y=[],x=0;x<h;x++){var b=a[x>>>2]>>>24-x%4*8&255;y.push((b>>>4).toString(16)),y.push((b&15).toString(16))}return y.join("")},parse:function(n){for(var a=n.length,h=[],y=0;y<a;y+=2)h[y>>>3]|=parseInt(n.substr(y,2),16)<<24-y%8*4;return new w.init(h,a/2)}},C=g.Latin1={stringify:function(n){for(var a=n.words,h=n.sigBytes,y=[],x=0;x<h;x++){var b=a[x>>>2]>>>24-x%4*8&255;y.push(String.fromCharCode(b))}return y.join("")},parse:function(n){for(var a=n.length,h=[],y=0;y<a;y++)h[y>>>2]|=(n.charCodeAt(y)&255)<<24-y%4*8;return new w.init(h,a)}},i=g.Utf8={stringify:function(n){try{return decodeURIComponent(escape(C.stringify(n)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(n){return C.parse(unescape(encodeURIComponent(n)))}},s=v.BufferedBlockAlgorithm=d.extend({reset:function(){this._data=new w.init,this._nDataBytes=0},_append:function(n){typeof n=="string"&&(n=i.parse(n)),this._data.concat(n),this._nDataBytes+=n.sigBytes},_process:function(n){var a,h=this._data,y=h.words,x=h.sigBytes,b=this.blockSize,M=b*4,$=x/M;n?$=o.ceil($):$=o.max(($|0)-this._minBufferSize,0);var D=$*b,_=o.min(D*4,x);if(D){for(var T=0;T<D;T+=b)this._doProcessBlock(y,T);a=y.splice(0,D),h.sigBytes-=_}return new w.init(a,_)},clone:function(){var n=d.clone.call(this);return n._data=this._data.clone(),n},_minBufferSize:0});v.Hasher=s.extend({cfg:d.extend(),init:function(n){this.cfg=this.cfg.extend(n),this.reset()},reset:function(){s.reset.call(this),this._doReset()},update:function(n){return this._append(n),this._process(),this},finalize:function(n){n&&this._append(n);var a=this._doFinalize();return a},blockSize:16,_createHelper:function(n){return function(a,h){return new n.init(h).finalize(a)}},_createHmacHelper:function(n){return function(a,h){return new f.HMAC.init(n,h).finalize(a)}}});var f=p.algo={};return p})(Math);return r})})(de)),de.exports}var go=le.exports,et;function yo(){return et||(et=1,(function(e,t){(function(r,o){e.exports=o(lt())})(go,function(r){return(function(o){var u=r,l=u.lib,c=l.WordArray,S=l.Hasher,p=u.algo,v=[],d=[];(function(){function m(f){for(var n=o.sqrt(f),a=2;a<=n;a++)if(!(f%a))return!1;return!0}function C(f){return(f-(f|0))*4294967296|0}for(var i=2,s=0;s<64;)m(i)&&(s<8&&(v[s]=C(o.pow(i,1/2))),d[s]=C(o.pow(i,1/3)),s++),i++})();var w=[],g=p.SHA256=S.extend({_doReset:function(){this._hash=new c.init(v.slice(0))},_doProcessBlock:function(m,C){for(var i=this._hash.words,s=i[0],f=i[1],n=i[2],a=i[3],h=i[4],y=i[5],x=i[6],b=i[7],M=0;M<64;M++){if(M<16)w[M]=m[C+M]|0;else{var $=w[M-15],D=($<<25|$>>>7)^($<<14|$>>>18)^$>>>3,_=w[M-2],T=(_<<15|_>>>17)^(_<<13|_>>>19)^_>>>10;w[M]=D+w[M-7]+T+w[M-16]}var E=h&y^~h&x,A=s&f^s&n^f&n,Y=(s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22),B=(h<<26|h>>>6)^(h<<21|h>>>11)^(h<<7|h>>>25),z=b+B+E+d[M]+w[M],P=Y+A;b=x,x=y,y=h,h=a+z|0,a=n,n=f,f=s,s=z+P|0}i[0]=i[0]+s|0,i[1]=i[1]+f|0,i[2]=i[2]+n|0,i[3]=i[3]+a|0,i[4]=i[4]+h|0,i[5]=i[5]+y|0,i[6]=i[6]+x|0,i[7]=i[7]+b|0},_doFinalize:function(){var m=this._data,C=m.words,i=this._nDataBytes*8,s=m.sigBytes*8;return C[s>>>5]|=128<<24-s%32,C[(s+64>>>9<<4)+14]=o.floor(i/4294967296),C[(s+64>>>9<<4)+15]=i,m.sigBytes=C.length*4,this._process(),this._hash},clone:function(){var m=S.clone.call(this);return m._hash=this._hash.clone(),m}});u.SHA256=S._createHelper(g),u.HmacSHA256=S._createHmacHelper(g)})(Math),r.SHA256})})(le)),le.exports}var vo=yo();const wo=O.getDefaultExportFromCjs(vo);var fe={exports:{}},So=fe.exports,tt;function Co(){return tt||(tt=1,(function(e,t){(function(r,o){e.exports=o(lt())})(So,function(r){return(function(){var o=r,u=o.lib,l=u.WordArray,c=o.enc;c.Base64={stringify:function(p){var v=p.words,d=p.sigBytes,w=this._map;p.clamp();for(var g=[],m=0;m<d;m+=3)for(var C=v[m>>>2]>>>24-m%4*8&255,i=v[m+1>>>2]>>>24-(m+1)%4*8&255,s=v[m+2>>>2]>>>24-(m+2)%4*8&255,f=C<<16|i<<8|s,n=0;n<4&&m+n*.75<d;n++)g.push(w.charAt(f>>>6*(3-n)&63));var a=w.charAt(64);if(a)for(;g.length%4;)g.push(a);return g.join("")},parse:function(p){var v=p.length,d=this._map,w=this._reverseMap;if(!w){w=this._reverseMap=[];for(var g=0;g<d.length;g++)w[d.charCodeAt(g)]=g}var m=d.charAt(64);if(m){var C=p.indexOf(m);C!==-1&&(v=C)}return S(p,v,w)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function S(p,v,d){for(var w=[],g=0,m=0;m<v;m++)if(m%4){var C=d[p.charCodeAt(m-1)]<<m%4*2,i=d[p.charCodeAt(m)]>>>6-m%4*2,s=C|i;w[g>>>2]|=s<<24-g%4*8,g++}return l.create(w,g)}})(),r.enc.Base64})})(fe)),fe.exports}var xo=Co();const bo=O.getDefaultExportFromCjs(xo);var he={exports:{}},Mo=he.exports,rt;function $o(){return rt||(rt=1,(function(e,t){(function(r,o){e.exports=o()})(Mo,(function(){return function(r,o,u){r=r||{};var l=o.prototype,c={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function S(v,d,w,g){return l.fromToBase(v,d,w,g)}u.en.relativeTime=c,l.fromToBase=function(v,d,w,g,m){for(var C,i,s,f=w.$locale().relativeTime||c,n=r.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],a=n.length,h=0;h<a;h+=1){var y=n[h];y.d&&(C=g?u(v).diff(w,y.d,!0):w.diff(v,y.d,!0));var x=(r.rounding||Math.round)(Math.abs(C));if(s=C>0,x<=y.r||!y.r){x<=1&&h>0&&(y=n[h-1]);var b=f[y.l];m&&(x=m(""+x)),i=typeof b=="string"?b.replace("%d",x):b(x,d,y.l,s);break}}if(d)return i;var M=s?f.future:f.past;return typeof M=="function"?M(i):M.replace("%s",i)},l.to=function(v,d){return S(v,d,this,!0)},l.from=function(v,d){return S(v,d,this)};var p=function(v){return v.$u?u.utc():u()};l.toNow=function(v){return this.to(p(this),v)},l.fromNow=function(v){return this.from(p(this),v)}}}))})(he)),he.exports}var Do=$o();const _o=O.getDefaultExportFromCjs(Do);var pe={exports:{}},To=pe.exports,ot;function ko(){return ot||(ot=1,(function(e,t){(function(r,o){e.exports=o()})(To,(function(){var r={year:0,month:1,day:2,hour:3,minute:4,second:5},o={};return function(u,l,c){var S,p=function(g,m,C){C===void 0&&(C={});var i=new Date(g),s=(function(f,n){n===void 0&&(n={});var a=n.timeZoneName||"short",h=f+"|"+a,y=o[h];return y||(y=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:f,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:a}),o[h]=y),y})(m,C);return s.formatToParts(i)},v=function(g,m){for(var C=p(g,m),i=[],s=0;s<C.length;s+=1){var f=C[s],n=f.type,a=f.value,h=r[n];h>=0&&(i[h]=parseInt(a,10))}var y=i[3],x=y===24?0:y,b=i[0]+"-"+i[1]+"-"+i[2]+" "+x+":"+i[4]+":"+i[5]+":000",M=+g;return(c.utc(b).valueOf()-(M-=M%1e3))/6e4},d=l.prototype;d.tz=function(g,m){g===void 0&&(g=S);var C,i=this.utcOffset(),s=this.toDate(),f=s.toLocaleString("en-US",{timeZone:g}),n=Math.round((s-new Date(f))/1e3/60),a=15*-Math.round(s.getTimezoneOffset()/15)-n;if(!Number(a))C=this.utcOffset(0,m);else if(C=c(f,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(a,!0),m){var h=C.utcOffset();C=C.add(i-h,"minute")}return C.$x.$timezone=g,C},d.offsetName=function(g){var m=this.$x.$timezone||c.tz.guess(),C=p(this.valueOf(),m,{timeZoneName:g}).find((function(i){return i.type.toLowerCase()==="timezonename"}));return C&&C.value};var w=d.startOf;d.startOf=function(g,m){if(!this.$x||!this.$x.$timezone)return w.call(this,g,m);var C=c(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return w.call(C,g,m).tz(this.$x.$timezone,!0)},c.tz=function(g,m,C){var i=C&&m,s=C||m||S,f=v(+c(),s);if(typeof g!="string")return c(g).tz(s);var n=(function(x,b,M){var $=x-60*b*1e3,D=v($,M);if(b===D)return[$,b];var _=v($-=60*(D-b)*1e3,M);return D===_?[$,D]:[x-60*Math.min(D,_)*1e3,Math.max(D,_)]})(c.utc(g,i).valueOf(),f,s),a=n[0],h=n[1],y=c(a).utcOffset(h);return y.$x.$timezone=s,y},c.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},c.tz.setDefault=function(g){S=g}}}))})(pe)),pe.exports}var Uo=ko();const Io=O.getDefaultExportFromCjs(Uo);var me={exports:{}},Eo=me.exports,nt;function No(){return nt||(nt=1,(function(e,t){(function(r,o){e.exports=o()})(Eo,(function(){var r="minute",o=/[+-]\d\d(?::?\d\d)?/g,u=/([+-]|\d\d)/g;return function(l,c,S){var p=c.prototype;S.utc=function(i){var s={date:i,utc:!0,args:arguments};return new c(s)},p.utc=function(i){var s=S(this.toDate(),{locale:this.$L,utc:!0});return i?s.add(this.utcOffset(),r):s},p.local=function(){return S(this.toDate(),{locale:this.$L,utc:!1})};var v=p.parse;p.parse=function(i){i.utc&&(this.$u=!0),this.$utils().u(i.$offset)||(this.$offset=i.$offset),v.call(this,i)};var d=p.init;p.init=function(){if(this.$u){var i=this.$d;this.$y=i.getUTCFullYear(),this.$M=i.getUTCMonth(),this.$D=i.getUTCDate(),this.$W=i.getUTCDay(),this.$H=i.getUTCHours(),this.$m=i.getUTCMinutes(),this.$s=i.getUTCSeconds(),this.$ms=i.getUTCMilliseconds()}else d.call(this)};var w=p.utcOffset;p.utcOffset=function(i,s){var f=this.$utils().u;if(f(i))return this.$u?0:f(this.$offset)?w.call(this):this.$offset;if(typeof i=="string"&&(i=(function(y){y===void 0&&(y="");var x=y.match(o);if(!x)return null;var b=(""+x[0]).match(u)||["-",0,0],M=b[0],$=60*+b[1]+ +b[2];return $===0?0:M==="+"?$:-$})(i),i===null))return this;var n=Math.abs(i)<=16?60*i:i;if(n===0)return this.utc(s);var a=this.clone();if(s)return a.$offset=n,a.$u=!1,a;var h=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(a=this.local().add(n+h,r)).$offset=n,a.$x.$localOffset=h,a};var g=p.format;p.format=function(i){var s=i||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return g.call(this,s)},p.valueOf=function(){var i=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*i},p.isUTC=function(){return!!this.$u},p.toISOString=function(){return this.toDate().toISOString()},p.toString=function(){return this.toDate().toUTCString()};var m=p.toDate;p.toDate=function(i){return i==="s"&&this.$offset?S(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():m.call(this)};var C=p.diff;p.diff=function(i,s,f){if(i&&this.$u===i.$u)return C.call(this,i,s,f);var n=this.local(),a=S(i).local();return C.call(n,a,s,f)}}}))})(me)),me.exports}var Oo=No();const Ao=O.getDefaultExportFromCjs(Oo);var ge={exports:{}},Yo=ge.exports,st;function Fo(){return st||(st=1,(function(e,t){(function(r,o){e.exports=o()})(Yo,(function(){var r={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},o=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,u=/\d/,l=/\d\d/,c=/\d\d?/,S=/\d*[^-_:/,()\s\d]+/,p={},v=function(s){return(s=+s)+(s>68?1900:2e3)},d=function(s){return function(f){this[s]=+f}},w=[/[+-]\d\d:?(\d\d)?|Z/,function(s){(this.zone||(this.zone={})).offset=(function(f){if(!f||f==="Z")return 0;var n=f.match(/([+-]|\d\d)/g),a=60*n[1]+(+n[2]||0);return a===0?0:n[0]==="+"?-a:a})(s)}],g=function(s){var f=p[s];return f&&(f.indexOf?f:f.s.concat(f.f))},m=function(s,f){var n,a=p.meridiem;if(a){for(var h=1;h<=24;h+=1)if(s.indexOf(a(h,0,f))>-1){n=h>12;break}}else n=s===(f?"pm":"PM");return n},C={A:[S,function(s){this.afternoon=m(s,!1)}],a:[S,function(s){this.afternoon=m(s,!0)}],Q:[u,function(s){this.month=3*(s-1)+1}],S:[u,function(s){this.milliseconds=100*+s}],SS:[l,function(s){this.milliseconds=10*+s}],SSS:[/\d{3}/,function(s){this.milliseconds=+s}],s:[c,d("seconds")],ss:[c,d("seconds")],m:[c,d("minutes")],mm:[c,d("minutes")],H:[c,d("hours")],h:[c,d("hours")],HH:[c,d("hours")],hh:[c,d("hours")],D:[c,d("day")],DD:[l,d("day")],Do:[S,function(s){var f=p.ordinal,n=s.match(/\d+/);if(this.day=n[0],f)for(var a=1;a<=31;a+=1)f(a).replace(/\[|\]/g,"")===s&&(this.day=a)}],w:[c,d("week")],ww:[l,d("week")],M:[c,d("month")],MM:[l,d("month")],MMM:[S,function(s){var f=g("months"),n=(g("monthsShort")||f.map((function(a){return a.slice(0,3)}))).indexOf(s)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[S,function(s){var f=g("months").indexOf(s)+1;if(f<1)throw new Error;this.month=f%12||f}],Y:[/[+-]?\d+/,d("year")],YY:[l,function(s){this.year=v(s)}],YYYY:[/\d{4}/,d("year")],Z:w,ZZ:w};function i(s){var f,n;f=s,n=p&&p.formats;for(var a=(s=f.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(D,_,T){var E=T&&T.toUpperCase();return _||n[T]||r[T]||n[E].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(A,Y,B){return Y||B.slice(1)}))}))).match(o),h=a.length,y=0;y<h;y+=1){var x=a[y],b=C[x],M=b&&b[0],$=b&&b[1];a[y]=$?{regex:M,parser:$}:x.replace(/^\[|\]$/g,"")}return function(D){for(var _={},T=0,E=0;T<h;T+=1){var A=a[T];if(typeof A=="string")E+=A.length;else{var Y=A.regex,B=A.parser,z=D.slice(E),P=Y.exec(z)[0];B.call(_,P),D=D.replace(P,"")}}return(function(j){var ae=j.afternoon;if(ae!==void 0){var N=j.hours;ae?N<12&&(j.hours+=12):N===12&&(j.hours=0),delete j.afternoon}})(_),_}}return function(s,f,n){n.p.customParseFormat=!0,s&&s.parseTwoDigitYear&&(v=s.parseTwoDigitYear);var a=f.prototype,h=a.parse;a.parse=function(y){var x=y.date,b=y.utc,M=y.args;this.$u=b;var $=M[1];if(typeof $=="string"){var D=M[2]===!0,_=M[3]===!0,T=D||_,E=M[2];_&&(E=M[2]),p=this.$locale(),!D&&E&&(p=n.Ls[E]),this.$d=(function(z,P,j,ae){try{if(["x","X"].indexOf(P)>-1)return new Date((P==="X"?1e3:1)*z);var N=i(P)(z),xe=N.year,ie=N.month,so=N.day,ao=N.hours,io=N.minutes,co=N.seconds,uo=N.milliseconds,Je=N.zone,Xe=N.week,be=new Date,Me=so||(xe||ie?1:be.getDate()),$e=xe||be.getFullYear(),ce=0;xe&&!ie||(ce=ie>0?ie-1:be.getMonth());var ue,De=ao||0,_e=io||0,Te=co||0,ke=uo||0;return Je?new Date(Date.UTC($e,ce,Me,De,_e,Te,ke+60*Je.offset*1e3)):j?new Date(Date.UTC($e,ce,Me,De,_e,Te,ke)):(ue=new Date($e,ce,Me,De,_e,Te,ke),Xe&&(ue=ae(ue).week(Xe).toDate()),ue)}catch{return new Date("")}})(x,$,b,n),this.init(),E&&E!==!0&&(this.$L=this.locale(E).$L),T&&x!=this.format($)&&(this.$d=new Date("")),p={}}else if($ instanceof Array)for(var A=$.length,Y=1;Y<=A;Y+=1){M[1]=$[Y-1];var B=n.apply(this,M);if(B.isValid()){this.$d=B.$d,this.$L=B.$L,this.init();break}Y===A&&(this.$d=new Date(""))}else h.call(this,y)}}}))})(ge)),ge.exports}var Bo=Fo();const Ro=O.getDefaultExportFromCjs(Bo);var ye={exports:{}},Po=ye.exports,at;function Lo(){return at||(at=1,(function(e,t){(function(r,o){e.exports=o()})(Po,(function(){var r="month",o="quarter";return function(u,l){var c=l.prototype;c.quarter=function(v){return this.$utils().u(v)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(v-1))};var S=c.add;c.add=function(v,d){return v=Number(v),this.$utils().p(d)===o?this.add(3*v,r):S.bind(this)(v,d)};var p=c.startOf;c.startOf=function(v,d){var w=this.$utils(),g=!!w.u(d)||d;if(w.p(v)===o){var m=this.quarter()-1;return g?this.month(3*m).startOf(r).startOf("day"):this.month(3*m+2).endOf(r).endOf("day")}return p.bind(this)(v,d)}}}))})(ye)),ye.exports}var Ho=Lo();const zo=O.getDefaultExportFromCjs(Ho),dt="ui_theme",ft=e=>typeof e=="string",ht=e=>typeof e=="number"&&!isNaN(e),pt=e=>typeof e=="boolean",mt=e=>typeof e=="function",gt=e=>e!==null&&typeof e=="object",yt=e=>Array.isArray(e),vt=e=>e===null,wt=e=>e===void 0,St=e=>e==null,Ct=(e,t)=>{let r=0;return(...o)=>{const u=Date.now();u-r>=t&&(r=u,e(...o))}},xt=(e,t)=>{let r;return(...o)=>{clearTimeout(r),r=setTimeout(()=>e(...o),t)}},bt=async e=>{try{return await navigator.clipboard.writeText(e),!0}catch(t){return console.error("Error copying to clipboard:",t),!1}},re=()=>{const e=window.innerWidth;return e<768?"mobile":e<1024?"tablet":"desktop"},Mt=()=>re()==="mobile",$t=()=>re()==="tablet",Dt=()=>re()==="desktop",_t=()=>"#"+Math.floor(Math.random()*16777215).toString(16),oe=e=>!e||e.length===0,Tt=e=>[...new Set(e)],kt=e=>{if(!oe(e))return Math.max(...e)},Ut=e=>{if(!oe(e))return Math.min(...e)},It=e=>{if(!oe(e))return e.reduce((t,r)=>t+r,0)/e.length},Et=e=>e.reduce((t,r)=>t+r,0),Nt=(e,t)=>e.filter(t).length,Ot=e=>[...e].reverse(),At=e=>{const t=new Set,r=new Set;return e.forEach(o=>{t.has(o)?r.add(o):t.add(o)}),Array.from(r)},Yt=(e,t)=>Math.random()*(t-e)+e,Ft=(e,t,r)=>Math.min(Math.max(e,t),r),Bt=(e,t=0)=>Math.round(e*Math.pow(10,t))/Math.pow(10,t),Rt=(e,t)=>{try{sessionStorage.setItem(e,JSON.stringify(t))}catch(r){console.error("Error saving to sessionStorage:",r)}},Pt=(e,t)=>{try{const r=sessionStorage.getItem(e);return r?JSON.parse(r):t||null}catch(r){return console.error("Error reading from sessionStorage:",r),t||null}},Lt=e=>{try{sessionStorage.removeItem(e)}catch(t){console.error("Error removing from sessionStorage:",t)}},Ht=()=>{try{sessionStorage.clear()}catch(e){console.error("Error clearing sessionStorage:",e)}},zt=(e,t,r=30)=>{const o=new Date;o.setTime(o.getTime()+r*24*60*60*1e3),document.cookie=`${e}=${t};expires=${o.toUTCString()};path=/`},jt=e=>{const t=e+"=",r=document.cookie.split(";");for(let o=0;o<r.length;o++){let u=r[o];for(;u.charAt(0)===" ";)u=u.substring(1,u.length);if(u.indexOf(t)===0)return u.substring(t.length,u.length)}return null},qt=e=>{document.cookie=`${e}=;expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/`},Ae=e=>typeof e!="string"?!e:e.trim().length===0,Vt=(e,t)=>Ae(e)?t:e||"",Wt=e=>e.replace(/-([a-z])/g,t=>t[1].toUpperCase()),Kt=e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),Gt=e=>{try{return new URL(e),!0}catch{return!1}},Zt=(e,t,r=" ")=>e.padStart(t,r),Jt=(e,t,r=" ")=>e.padEnd(t,r),Ye=(e,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")=>{let r="";for(let o=0;o<e;o++)r+=t.charAt(Math.floor(Math.random()*t.length));return r},jo=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){const t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)}),Se=(e=32)=>{const r=jo().replace(/-/g,"");return e>=32?r+Ye(e-32,"0123456789abcdef"):r.substring(0,e)};async function Xt(e){return wo(e).toString(bo)}I.extend(_o);I.extend(Ao);I.extend(Io);I.locale("ko");I.extend(Ro);I.extend(zo);const H="YYYYMMDD",Fe=()=>I(),Be=(e=H)=>Re(Fe(),e),Re=(e,t=H)=>I(e).format(t),ne=(e,t=H)=>I(e,t,!0).isValid(),Qt=e=>ne(e,"YYYYMMDD"),er=e=>ne(e,"YYYY"),tr=e=>ne(e,"YYYYMM"),rr=(e,t="month",r=H)=>I(e).startOf(t).format(r),or=(e,t="month",r=H)=>I(e).endOf(t).format(r),nr=(e,t,r="day",o=H)=>I(e).add(t,r).format(o),sr=(e,t,r="day")=>I(e).diff(I(t),r);let ar={};const ir=e=>{ar=e},W=()=>ar,cr=Object.freeze(Object.defineProperty({__proto__:null,DEFAULT_FMT:H,THEME_COOKIE_NAME:dt,add:nr,arrAverage:It,arrCount:Nt,arrMax:kt,arrMin:Ut,arrReverse:Ot,arrSum:Et,arrUnique:Tt,clamp:Ft,clearSessionStorage:Ht,copyToClipboard:bt,debounce:xt,deleteCookie:qt,diff:sr,duplicates:At,encryptSha256:Xt,endOf:or,format:Re,generateRandomColor:_t,generateRandomString:Ye,generateUID:Se,getApiDeps:W,getCookie:jt,getDeviceType:re,getSessionStorage:Pt,getTodateString:Be,initApiDeps:ir,isArray:yt,isBoolean:pt,isDesktop:Dt,isEmpty:Ae,isEmptyArray:oe,isFunction:mt,isMobile:Mt,isNull:vt,isNullOrUndefined:St,isNumber:ht,isObject:gt,isSafeEmpty:Vt,isString:ft,isTablet:$t,isUndefined:wt,isValid:ne,isValidDate:Qt,isValidEmail:Kt,isValidUrl:Gt,isValidYear:er,isValidYearMonth:tr,now:Fe,padLeft:Zt,padRight:Jt,random:Yt,removeSessionStorage:Lt,round:Bt,setCookie:zt,setSessionStorage:Rt,startOf:rr,throttle:Ct,toCamelCase:Wt},Symbol.toStringTag,{value:"Module"})),Ce=(()=>{try{if((void 0).DEV)return!0}catch{}return!1})();let ur=[],lr=[];function dr(e){e.devHosts&&(ur=e.devHosts),e.prodHosts&&(lr=e.prodHosts)}function fr(){if(typeof window<"u"&&window.location)return window.location.hostname}const Pe=(()=>{const e=fr();return!!(e&&ur.includes(e))})(),Le=(()=>{const e=fr();return!!(e&&lr.includes(e))})();function hr(){return Ce?"X":Pe?"D":Le?"P":"X"}const pr=Object.freeze(Object.defineProperty({__proto__:null,configureEnvUtils:dr,getEnvCode:hr,isDev:Pe,isLocal:Ce,isProd:Le},Symbol.toStringTag,{value:"Module"})),F={duration:4.5,placement:"topRight"};class G{constructor(){}static getInstance(){return G.instance||(G.instance=new G),G.instance}showBwgError(t){const{message:r,description:o,duration:u=F.duration,placement:l=F.placement}=t;U.notification.error({message:`${r}`,description:o||"오류가 발생했습니다. 다시 시도해주세요.",duration:u,placement:l,style:{borderLeft:"4px solid #ff4d4f",backgroundColor:"#fff2f0"}})}showSuccess(t,r,o){U.notification.success({message:`${t}`,description:r,duration:o||F.duration,placement:F.placement})}showInfo(t,r,o){U.notification.info({message:`${t}`,description:r,duration:o||F.duration,placement:F.placement})}showWarning(t,r,o){U.notification.warning({message:`${t}`,description:r,duration:o||F.duration,placement:F.placement})}showError(t,r,o){U.notification.error({message:`${t}`,description:r,duration:o||F.duration,placement:F.placement})}destroy(){U.notification.destroy()}close(t){U.notification.destroy()}}const R=G.getInstance(),He=e=>{R.showBwgError(e)},mr=(e,t,r)=>{R.showSuccess(e,t,r)},ze=(e,t,r)=>{R.showInfo(e,t,r)},je=(e,t,r)=>{R.showWarning(e,t,r)},gr=(e,t,r)=>{R.showError(e,t,r)},yr=()=>{R.destroy()},vr=e=>{R.close(e)},wr=Object.freeze(Object.defineProperty({__proto__:null,closeNotification:vr,destroyNotifications:yr,notiBwgError:He,notiError:gr,notiInfo:ze,notiSuccess:mr,notiWarning:je,notificationService:R},Symbol.toStringTag,{value:"Module"})),Z=()=>k.useUserStore.getState().user?.crprCd||null,ee=()=>{const e=k.useUserStore.getState().user;return k.useUserStore.getState().hrInfo?.empNo||e?.userId||null},qe=()=>k.useUserStore.getState().user?.userNm||null,Sr=()=>k.useUserStore.getState().user?.userDvsn||null,Cr=()=>k.useUserStore.getState().user?.emplNo||null,te=()=>{const e=k.useUserStore.getState().hrInfo,t=k.useUserStore.getState().user;return e?.deptCd||t?.dprtCd||null},xr=()=>k.useUserStore.getState().hrInfo?.fullDeptCd||null,Ve=()=>k.useUserStore.getState().user?.dprtNm||null,br=()=>k.useUserStore.getState().hrInfo?.fullDeptNm||null,se=()=>k.useUserStore.getState().user?.roleList||null,Mr=e=>{const t=se();return t?t.includes(e):!1},$r=e=>{const t=se();return t?e.some(r=>t.includes(r)):!1},Dr=e=>{const t=se();return t?e.every(r=>t.includes(r)):!1},_r=()=>k.useUserStore.getState().isLoggedIn(),J=()=>k.useUserStore.getState().user,Tr=()=>J()!==null,kr=()=>{const e=qe(),t=ee();return e||t||null},Ur=()=>{const e=Ve(),t=te();return e||(t?String(t):null)},K=()=>k.useUserStore.getState().hrInfo,Ir=()=>K()?.jbpsCd||null,Er=()=>K()?.jbgdCd||null,Nr=()=>K()?.jbdtCd||null,Or=()=>K()?.jbkdCd||null,Ar=()=>K()?.wkplCd||null,Yr=Object.freeze(Object.defineProperty({__proto__:null,getCrprCd:Z,getDepartmentInfo:Ur,getDisplayName:kr,getDprtCd:te,getDprtNm:Ve,getEmplNo:Cr,getFullDprtCd:xr,getFullDprtNm:br,getHrInfo:K,getJbdtCd:Nr,getJbgdCd:Er,getJbkdCd:Or,getJbpsCd:Ir,getRoleList:se,getUserDvsn:Sr,getUserId:ee,getUserInfo:J,getUserNm:qe,getWkplCd:Ar,hasAllRoles:Dr,hasAnyRole:$r,hasRole:Mr,hasUserInfo:Tr,isLoggedIn:_r},Symbol.toStringTag,{value:"Module"}));class L extends Error{constructor(t,r,o,u,l){super(t),this.name="ApiError",this.detailMsg=r,this.response=o,this.msgCd=u,this.errorType=l,Error.captureStackTrace&&Error.captureStackTrace(this,L)}}let q=null;const Ue={method:"POST",timeout:3e4,withCredentials:!0,showLoading:!0,isPopup:!1,showError:!0,retryCount:0,retryDelay:1e3},ve=Ee.create({timeout:Ue.timeout,withCredentials:Ue.withCredentials,headers:{"Content-Type":"application/json; charset=utf-8",Accept:"application/json; charset=utf-8","Apm-Guid":Se()}});ve.interceptors.request.use(e=>{const t=W();e.showLoading&&!e.isPopup&&t.showLoading?.(),e.showLoading&&e.isPopup&&t.showPopupLoading?.();let r="UNKNOWN";new Date().getTime();try{e.data&&e.data.header?r=e.data.header.trxCd||"UNKNOWN":e.params&&e.params.header&&(r=e.params.header.trxCd||"UNKNOWN")}catch(u){console.warn("trxCd/guid 추출 실패:",u)}e.trxCd=r,e.requestStartTime=Date.now(),console.log(`🚀 API 요청 시작 [거래코드: ${r} / 서비스요청자: ${J()?.userId}]`);const o=localStorage.getItem("accessToken");return o&&(e.headers.Authorization=`Bearer ${o}`),e.headers["Content-Type"]="application/json; charset=UTF-8",e.headers.Accept="application/json; charset=UTF-8",e},e=>(console.error("❌ 요청 인터셉터 에러:",e),Promise.reject(e)));ve.interceptors.response.use(e=>{const t=W();e.config.showLoading&&!e.config.isPopup&&t.hideLoading?.(),e.config.isPopup&&t.hidePopupLoading?.();let r="UNKNOWN",o="UNKNOWN";const u=new Date().getTime();try{e.config.trxCd&&(r=e.config.trxCd),e.config.guid?o=e.config.guid:e.data&&e.data.header&&e.data.header.trxCd?(r=e.data.header.trxCd,o=e.data.header.guid||"UNKNOWN"):e.config.data&&e.config.data.header?(r=e.config.data.header.trxCd||"UNKNOWN",o=e.config.data.header.guid||"UNKNOWN"):e.config.params&&e.config.params.header&&(r=e.config.params.header.trxCd||"UNKNOWN",o=e.config.params.header.guid||"UNKNOWN")}catch(c){console.warn("trxCd/guid 추출 실패:",c)}let l=0;return e.config.requestStartTime&&(l=u-e.config.requestStartTime),console.log(`✅ API 응답 성공 [거래코드: ${r} / GUID : ${o}] - (소요시간: ${l}ms)`),e},async e=>{const t=W();if(e.config&&e.config.showLoading&&!e.config.isPopup&&t.hideLoading?.(),e.config&&e.config.isPopup&&t.hidePopupLoading?.(),console.error("❌ API 응답 에러:",e),Ce&&console.error("🚨 Error Details:",{message:e.message,status:e.response?.status,statusText:e.response?.statusText,data:e.response?.data,config:{url:e.config?.url,method:e.config?.method,baseURL:e.config?.baseURL}}),e.response?.status===401){const r=localStorage.getItem("refreshToken");if(r)try{const o=await Ee.post("/auth/refresh",{refreshToken:r});if(o.data.accessToken){localStorage.setItem("accessToken",o.data.accessToken);const u=e.config;if(u)return u.headers.Authorization=`Bearer ${o.data.accessToken}`,ve(u)}}catch{localStorage.removeItem("accessToken"),localStorage.removeItem("refreshToken"),window.location.href="/login"}}return Promise.reject(e)});const qo=async()=>{if(q===null){const e=Date.now();await Ke();const t=Date.now();console.log(`[INFO] IP 조회 소요시간: ${t-e}ms`)}},Vo=(e,t,r,o)=>{const l=W().getActiveMenuId?.();return{header:{trxCd:e,userInfo:J(),clientIp:r,domainId:"DEFAULT",sysCd:o?.sysCd,appItCd:o?.appItCd,appCd:o?.appCd,screenId:l},data:t}},Wo=(e,t,r)=>{const o={method:t.method,url:e,timeout:t.timeout,withCredentials:t.withCredentials,showLoading:t.showLoading,isPopup:t.isPopup,headers:{...t.headers||{}}};return t.method==="GET"?(o.params=r||t.params,t.params&&(o.params=t.params)):(o.data=r||t.data,t.params&&(o.params=t.params)),o},Ko=async(e,t)=>{let r;const o=t.retryCount||0,u=t.retryDelay||1e3;for(let l=0;l<=o;l++)try{const c=await ve(e);if(c.data?.header?.resCd==0)return Zo(c.data);const S=c.data?.header||{},p=S?.msgs?.basicMsg||"요청 처리 중 오류가 발생했습니다.",v=S?.msgs?.detailMsgs||p,d=S?.msgCd,w=S?.msgs?.type;throw new L(p,v,c,d,w)}catch(c){if(r=Go(c),c?.isAxiosError&&Xo(c)&&l<o){await Qo(u);continue}break}throw r?(Jo(r,t),r):new Error("알 수 없는 API 오류가 발생했습니다.")},Go=e=>{if(e?.isAxiosError&&e.response){const t=e,r=t.response,o=r.data,u=o?.header?.msgs?.basicMsg||t.message||"서버에서 오류가 발생했습니다.",l=o?.header?.msgs?.detailMsgs||(typeof r.data=="string"?r.data:JSON.stringify(r.data))||u,c=o?.header?.msgCd,S=o?.header?.msgs?.type;return new L(u,l,r,c,S)}return e instanceof L,e},Zo=e=>{if(!e||typeof e!="object")return{};for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&t!=="header")return e[t];return{}},Jo=(e,t)=>{if(!t.showError)return;const r=e instanceof L,o=r?e.message:"요청 처리 중 오류가 발생했습니다.",u=r?e.msgCd:"요청 처리 중 오류가 발생했습니다.",l=r?e.detailMsg:e.message,c=r?e.errorType:"";u&&u.startsWith?.("BXM")?He({message:o,description:l,duration:5}):c==="I"?ze(o,l,5):je(o,l,5)},We=async(e,t,r,o,u)=>{const c=W().findSystemByAppCd?.(u??__APP_CD__);(!c||!c.sysCd)&&console.error("해당 앱코드는 존재하지 않습니다.",u),await qo();const S={...Ue,...o},p=Vo(t,r,Ge()||"unknown",c),v=Wo(e,S,p);try{return await Ko(v,S)}catch(d){throw console.error("callService 최종 에러:",d),d}},Xo=e=>!e.response||e.response.status>=500&&e.response.status<600,Qo=e=>new Promise(t=>setTimeout(t,e)),Ke=async e=>{if(q===null)if(e===void 0)try{let r=(await Ee.get("/api/ip")).data.trim();r=r.replace(/\s+/g,""),q=r}catch(t){console.warn("IP 가져오기 실패:",t),q="unknown"}else q=e},Ge=()=>q,Fr=async()=>(console.log("IP 검증 비활성화됨 (성능 최적화)"),q||"unknown"),V=async(e,t,r)=>We("/api/service",e,t,r),Br=async(e,t,r)=>We("/api/service",e.trxCd,t,r,e.appCd),Rr=async(e,t,r,o)=>We(`/api/${__SYS_CD__}/service`,e,t,r,o),Pr=async(e,t,r)=>{try{const o=await fetch("/api/permissions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userId:e,menuId:t,popupId:r})});if(!o.ok)throw new Error(`권한 확인 실패: ${o.status}`);return await o.json()}catch(o){throw console.error("권한 확인 서비스 오류:",o),o}},Lr=Object.freeze(Object.defineProperty({__proto__:null,ApiError:L,callEndpoint:Br,callService:V,callServiceBySysCd:Rr,getClientIp:Ge,getPermissionService:Pr,setClientIp:Ke,verifyClientIp:Fr},Symbol.toStringTag,{value:"Module"})),Hr=(e,t,r="text/plain")=>{const o=new Blob([e],{type:r}),u=URL.createObjectURL(o),l=document.createElement("a");l.href=u,l.download=t,document.body.appendChild(l),l.click(),document.body.removeChild(l),URL.revokeObjectURL(u)};async function zr(e){try{return await V("SCMFILE00101",{crprCd:J()?.crprCd,sysCd:__SYS_CD__,fileKey:e}).then(r=>{let o;if(r.sub&&(o=r.sub[0]),console.log(r),console.log(o),!o.lgclFileNm)throw console.error("논리파일명이 없습니다."),new Error("논리 파일명 누락");if(!o.filePath)throw console.error("파일 경로가 없습니다."),new Error("파일 경로 누락");const u=`api/download?filePath=${encodeURIComponent(o.filePath)}&logicalName=${encodeURIComponent(o.lgclFileNm)}`;return window.open(u,"_blank"),{success:!0,message:"파일 다운로드 요청 성공"}})}catch(t){throw console.error("downloadByFileKey 함수 실행 중 오류 발생:",t),t}}const jr=Object.freeze(Object.defineProperty({__proto__:null,downloadByFileKey:zr,downloadFile:Hr},Symbol.toStringTag,{value:"Module"})),Ze=(e,t=3)=>{U.message.success({content:e,duration:t})},X=(e,t=5)=>{U.message.error({content:e,duration:t})},qr=(e,t=4)=>{U.message.warning({content:e,duration:t})},Vr=(e,t=3)=>{U.message.info({content:e,duration:t})},Wr=(e="처리중...")=>U.message.loading({content:e,duration:0}),Kr=e=>{U.message.destroy(e)},Gr=()=>{U.message.destroy()},Zr=(e,t="처리 중 오류가 발생했습니다.")=>{const r=e?.response?.data?.message||e?.message||t;X(r)},Jr=(e="저장")=>{Ze(`${e}이 완료되었습니다.`)},Xr=(e="저장")=>{X(`${e} 중 오류가 발생했습니다.`)},Qr=e=>{X(`이미 사용중인 ${e}입니다.`)},eo=e=>{X(`${e}을(를) 입력해주세요.`)},to=Object.freeze(Object.defineProperty({__proto__:null,closeAllMessages:Gr,closeMessage:Kr,showApiError:Zr,showDuplicateError:Qr,showError:X,showInfo:Vr,showLoading:Wr,showRequiredError:eo,showSaveError:Xr,showSaveSuccess:Jr,showSuccess:Ze,showWarning:qr},Symbol.toStringTag,{value:"Module"})),ro={left:"left",near:"left",right:"right",far:"right",center:"center",number:"#,##0",number2:"#,##0.00",number3:"#,##0.##",number4:"#,##0.000",number5:"#,##0.#####",editNumber:{type:"number",editFormat:"#,##0"},editNumber2:{type:"number",editFormat:"#,##0.00"},editNumber3:{type:"number",editFormat:"#,##0.##"},editNumber4:{type:"number",editFormat:"#,##0.000"},editNumber5:{type:"number",editFormat:"#,##0.###"},editYmd:{type:"date",datetimeFormat:"yyyyMMdd",autoclose:!0,maxDate:"99991231",minDate:"19000101",showButtons:!1,mask:{editMask:"9999-99-99"}},editYm:{type:"btdate",datetimeFormat:"yyyyMM",btOptions:{startView:1,minViewMode:1,todayBtn:"linked",language:"ko",todayHighlight:!0,autoclose:!0,mask:{editMask:"9999-99"}}},editYy:{type:"btdate",datetimeFormat:"yyyy",btOptions:{startView:2,minViewMode:2,todayBtn:"linked",language:"ko",todayHighlight:!0,autoclose:!0}},formatYmd:"([0-9]{4})([0-9]{2})([0-9]{2});$1-$2-$3",formatYm:"([0-9]{4})([0-9]{2});$1-$2",formatYy:"([0-9]{4});$1",lookup:{type:"dropdown",domainOnly:!0},lookupReadOnly:{type:"dropdown",readOnly:!0},maskCard:{type:"text",mask:"0000-0000-0000-0000"},formatMaskCard:"([0-9]{4})([0-9]{4})([0-9]{4})([0-9]{4});$1-$2-$3-$4",maskBsnsNo:{type:"text",mask:"000-00-00000"},formatMaskBsnsNo:"([0-9]{3})([0-9]{2})([0-9]{5});$1-$2-$3",maskRsdn:{type:"text",mask:"000000-0000000"},formatMaskRsdn:"([0-9]{6})([0-9]{7});$1-$2",formatMaskRsdn2:"([0-9]{6})([0-9])([0-9]{6});$1-$2******",maskRsdn2:{type:"text",mask:"999999-9999999"},maskYmd:{type:"text",mask:"0000-00-00"},formatMaskYmd:"([0-9]{4})([0-9]{2})([0-9]{2});$1-$2-$3",maskYm:{type:"text",mask:"0000-00"},formatMaskYm:"([0-9]{4})([0-9]{2});$1-$2",maskYmdHms:{type:"text",mask:"0000-00-00 00:00:00"},formatYmdHms:"([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2});$1-$2-$3 $4:$5:$6",maskHm:{type:"text",mask:"00:00"},formatHm:"([0-9]{2})([0-9]{2});$1:$2",maskHms:{type:"text",mask:"00:00:00"},formatHms:"([0-9]{2})([0-9]{2})([0-9]{2});$1:$2:$3",checkY:{type:"check",trueValues:"Y",falseValues:"N"},checkN:{type:"check",trueValues:"N",falseValues:"Y"},check1:{type:"check",trueValues:"1",falseValues:"0"},checkTrue:{type:"check",trueValues:"true",falseValues:"false"},checkT:{type:"check",trueValues:"T",falseValues:"F"},checkYdisabled:{type:"check",editable:!1,trueValues:"Y",falseValues:"N"},checkNdisabled:{type:"check",editable:!1,trueValues:"N",falseValues:"Y"},check1disabled:{type:"check",editable:!1,trueValues:"1",falseValues:"0"},count:{suffix:" 건",expression:"count"},count2:{prefix:"총 ",suffix:" 건",expression:"count"},datacount:{suffix:" 건",expression:"datacount"},sum:{numberFormat:"#,##0",expression:"sum"},sum2:{numberFormat:"#,##0.##",expression:"sum"},sum3:{numberFormat:"#,##0.00",expression:"sum"},avg:{numberFormat:"#,##0",expression:"avg"},avg2:{numberFormat:"#,##0.##",expression:"avg"},avg4:{numberFormat:"#,##0.####",expression:"avg"},min:{expression:"min"},max:{expression:"max"},date:{type:"date",mask:{editMask:"9999-99-99",placeHolder:"____-__-__",includedFormat:!0},datetimeFormat:"yyyy-MM-dd",textAlignment:"center",yearNavigation:!0},dateStyle:{datetimeFormat:"yyyy-MM-dd",textAlignment:"center"},maskDateFull:{type:"text",mask:"0000-00-00 00:00:00",textAlignment:"center"},bg_gray01:{background:"#cdcdcd"}},oo=async e=>{if(e.map(t=>{t.status="uploading",t.percent=10,console.log(t)}),!e||!Array.isArray(e)||e.length===0){alert("업로드할 파일을 선택해주세요.");return}try{const t={remoteDir:"/home/krxuser/bkrx/files/testForGW",useOriginalName:"true"},r=e.map(async(c,S)=>{const p=new FormData;Object.entries(t).forEach(([w,g])=>{p.append(w,g)});const v=c.originFileObj;p.append("file",v);const d=await fetch("/api/gw-sftp",{method:"POST",body:p});return d.ok?(console.log(e),e.map(w=>w===c?{...w,status:"success",percent:100}:w)):c.status="done",{index:S,response:d,fileName:v.name}}),o=await Promise.all(r),u=o.filter(c=>c.response.ok).length,l=o.length-u;if(u===o.length)return alert(`${u}개 파일 업로드가 완료되었습니다.`),{result:"success",message:`${u}개 파일 업로드가 완료되었습니다.`,successCount:u,failCount:l};if(u>0){const c=`${u}개 성공, ${l}개 실패`;return alert(c),{result:"partial",message:c,successCount:u,failCount:l}}return alert("모든 파일 업로드에 실패했습니다."),{result:"error",message:"모든 파일 업로드에 실패했습니다.",successCount:u,failCount:l}}catch{return alert("파일 업로드 중 오류가 발생했습니다."),{result:"error",message:"파일 업로드 중 오류가 발생했습니다."}}},en=async(e,t,r)=>{const{trxCd:o="SCMINTF00102",openDraft:u=!0,fetchFilesTrxCd:l="SCMFILE00101"}=r||{},c=e??{},S=c.aprvKey||Se(),p=c.docTitle||"제목없음";if(c.aprvKey){const g=await V("SCMINTF00101",{crprCd:Z(),sysCd:__SYS_CD__,aprvKey:S});if(Array.isArray(g?.sub)&&g.sub.length>=1)return console.log("이미 승인된 기안입니다."),u&&Ie(S),{skipped:!0,alreadyDrafted:!0,draftedRes:g}}let v;if(t){const g=await V(l,{crprCd:Z(),sysCd:__SYS_CD__,fileGrpKey:t}),m=Array.isArray(g?.sub)?g.sub.filter(s=>s?.filePath&&s?.lgclFileNm).map(s=>({filePath:s.filePath,lgclFileNm:s.lgclFileNm})):[];console.log("@@ files",m);const C=m.map(async({filePath:s,lgclFileNm:f})=>{const n=`/api/download?filePath=${encodeURIComponent(s)}&logicalName=${encodeURIComponent(f)}`,a=await fetch(n,{method:"GET"});if(!a.ok)throw new Error(`다운로드 실패: ${f}`);const h=await a.blob();return{originFileObj:new File([h],f,{type:h.type||"application/octet-stream"}),name:f,status:"ready"}}),i=await Promise.all(C);if(m.length){const s=await oo(i);if(!s||s.result!=="success")throw new Error(s?.message||"파일 업로드 실패");v=i}}console.warn("@@ payloadData",c),console.log(c);const d={...c,crprCd:Z(),aprvKey:S,sysCd:__SYS_CD__,draftDt:Be("YYYYMMDD"),docTitle:p,emplNo:c.emplNo||ee(),dprtNo:c.dprtNo||te(),formId:"2023000022",fileInfoList:v,connInfo:{formId:"2023000022",bodyXml:c.bodyXml||"<div>test</div>",title:p,deptCd:c.dprtNo||te(),userId:c.emplNo||ee(),status:c.status||"INT"}},w=await V(o,d);return u&&d?.aprvKey&&Ie(S),{response:w,aprvKey:S}},Ie=async(e,t)=>{if(!e)return console.warn("openGwDraftByAprvKey: aprvKey가 필요합니다."),{opened:!1,reason:"missing_aprvKey"};const{draftUrlBase:r="https://kgwd.krx.co.kr/ezConn/ezApprGate.do",windowFeatures:o="width=1000,height=600",requireExisting:u=!1}=t||{},l=await V("SCMINTF00101",{crprCd:Z(),sysCd:__SYS_CD__,aprvKey:e}),c=Array.isArray(l?.sub)&&l.sub.length>=1;if(u&&!c)return console.warn("openGwDraftByAprvKey: 기안 조회 결과 없음"),alert("기안 대상이 존재하지 않습니다."),{opened:!1,hasExisting:c};const S=l.sub[0];console.log("@@ data",S);const p=S?.dprtNo,v=S?.emplNo,d=S?.aprvKey,w=S?.formId;console.log("@@ deptCd",p),console.log("@@ userId",v),console.log("@@ keyId",d),console.log("@@ formId",w);const g=`${w}:${p}:${v}:${d}:SAMP`;console.log("@@ params",g);const m=`${r}?connkey=${btoa(unescape(encodeURIComponent(g)))}`;return console.log("@@ url",m),window.open(m,"_blank",o),{opened:!0,hasExisting:c,url:m}},tn=Lr,rn=cr,on=pr,nn=jr,sn=to,an=wr,cn=ut,un=Yr,no={...Lr,...cr,...pr,...jr,...to,...wr,...ut,...Yr,realFormat:ro};exports.ApiError=L;exports.DEFAULT_FMT=H;exports.DEFAULT_SERVICE_CODES=we;exports.THEME_COOKIE_NAME=dt;exports.add=nr;exports.apiUtils=tn;exports.arrAverage=It;exports.arrCount=Nt;exports.arrMax=kt;exports.arrMin=Ut;exports.arrReverse=Ot;exports.arrSum=Et;exports.arrUnique=Tt;exports.bwgUtils=no;exports.callEndpoint=Br;exports.callService=V;exports.callServiceBySysCd=Rr;exports.clamp=Ft;exports.clearSessionStorage=Ht;exports.closeAllMessages=Gr;exports.closeMessage=Kr;exports.closeNotification=vr;exports.commonUtils=rn;exports.configureEnvUtils=dr;exports.copyToClipboard=bt;exports.debounce=xt;exports.default=no;exports.deleteCookie=qt;exports.destroyNotifications=yr;exports.diff=sr;exports.downloadByFileKey=zr;exports.downloadFile=Hr;exports.duplicates=At;exports.encryptSha256=Xt;exports.endOf=or;exports.envUtils=on;exports.fileUtils=nn;exports.format=Re;exports.generateRandomColor=_t;exports.generateRandomString=Ye;exports.generateUID=Se;exports.getAllServiceCodes=Oe;exports.getApiDeps=W;exports.getClientIp=Ge;exports.getCookie=jt;exports.getCrprCd=Z;exports.getDepartmentInfo=Ur;exports.getDeviceType=re;exports.getDisplayName=kr;exports.getDprtCd=te;exports.getDprtNm=Ve;exports.getEmplNo=Cr;exports.getEnvCode=hr;exports.getFullDprtCd=xr;exports.getFullDprtNm=br;exports.getHrInfo=K;exports.getJbdtCd=Nr;exports.getJbgdCd=Er;exports.getJbkdCd=Or;exports.getJbpsCd=Ir;exports.getPermissionService=Pr;exports.getRoleList=se;exports.getServiceCode=Ne;exports.getSessionStorage=Pt;exports.getTodateString=Be;exports.getUserDvsn=Sr;exports.getUserId=ee;exports.getUserInfo=J;exports.getUserNm=qe;exports.getWkplCd=Ar;exports.hasAllRoles=Dr;exports.hasAnyRole=$r;exports.hasRole=Mr;exports.hasUserInfo=Tr;exports.initApiDeps=ir;exports.isArray=yt;exports.isBoolean=pt;exports.isDesktop=Dt;exports.isDev=Pe;exports.isEmpty=Ae;exports.isEmptyArray=oe;exports.isFunction=mt;exports.isLocal=Ce;exports.isLoggedIn=_r;exports.isMobile=Mt;exports.isNull=vt;exports.isNullOrUndefined=St;exports.isNumber=ht;exports.isObject=gt;exports.isProd=Le;exports.isSafeEmpty=Vt;exports.isString=ft;exports.isTablet=$t;exports.isUndefined=wt;exports.isValid=ne;exports.isValidDate=Qt;exports.isValidEmail=Kt;exports.isValidUrl=Gt;exports.isValidYear=er;exports.isValidYearMonth=tr;exports.logServiceCodeConfig=ct;exports.messageUtils=sn;exports.notiBwgError=He;exports.notiError=gr;exports.notiInfo=ze;exports.notiSuccess=mr;exports.notiWarning=je;exports.notificationService=R;exports.notificationUtils=an;exports.now=Fe;exports.openGwDraftByAprvKey=Ie;exports.padLeft=Zt;exports.padRight=Jt;exports.random=Yt;exports.realFormat=ro;exports.removeSessionStorage=Lt;exports.round=Bt;exports.serviceUtils=cn;exports.setClientIp=Ke;exports.setCookie=zt;exports.setServiceCodeOverrides=it;exports.setSessionStorage=Rt;exports.showApiError=Zr;exports.showDuplicateError=Qr;exports.showError=X;exports.showInfo=Vr;exports.showLoading=Wr;exports.showRequiredError=eo;exports.showSaveError=Xr;exports.showSaveSuccess=Jr;exports.showSuccess=Ze;exports.showWarning=qr;exports.startOf=rr;exports.submitGwApproval=en;exports.throttle=Ct;exports.toCamelCase=Wt;exports.uploadFilesViaSftp=oo;exports.userUtils=un;exports.verifyClientIp=Fr;
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -399,8 +399,8 @@ export declare const bwgUtils: {
|
|
|
399
399
|
setClientIp: (ip?: string) => Promise<void>;
|
|
400
400
|
getClientIp: () => string | null;
|
|
401
401
|
verifyClientIp: () => Promise<string>;
|
|
402
|
-
|
|
403
|
-
|
|
402
|
+
callService: <T = any>(trxCd: apiUtilsModule.BxmTrxInfo["trxCd"], data?: any, options?: apiUtilsModule.ApiOptions) => Promise<T>;
|
|
403
|
+
callEndpoint: <T = any>(trxInfo: apiUtilsModule.ExtTrxInfo, data?: any, options?: apiUtilsModule.ApiOptions) => Promise<T>;
|
|
404
404
|
callServiceBySysCd: <T = any>(trxCd: string, data?: any, options?: apiUtilsModule.ApiOptions, appCd?: string) => Promise<T>;
|
|
405
405
|
getPermissionService: (userId: string, menuId: string, popupId?: string) => Promise<any>;
|
|
406
406
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
|