@bwg-ui/core 1.2.15 → 1.2.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/chunks/MenuReport-Cw7zMZIq.cjs +1 -0
  2. package/dist/chunks/{MenuReport-CozV1tpR.js → MenuReport-DNeDpJV2.js} +26 -26
  3. package/dist/chunks/{common-components-B-zgrX-L.cjs → common-components-Be3FPdnz.cjs} +42 -42
  4. package/dist/chunks/{common-components-XA2KG7Pl.js → common-components-DGVIgTZZ.js} +4627 -4414
  5. package/dist/chunks/{layout-components-MrnKV5g7.js → layout-components-BBpCgkuQ.js} +512 -506
  6. package/dist/chunks/layout-components-C5u5K3OY.cjs +35 -0
  7. package/dist/components/common/index.cjs +1 -1
  8. package/dist/components/common/index.js +1 -1
  9. package/dist/components/guide/index.cjs +1 -1
  10. package/dist/components/guide/index.d.ts +0 -1
  11. package/dist/components/guide/index.d.ts.map +1 -1
  12. package/dist/components/guide/index.js +92 -287
  13. package/dist/components/layout/custom/ConfigurableHeader.d.ts.map +1 -1
  14. package/dist/components/layout/index.cjs +1 -1
  15. package/dist/components/layout/index.js +1 -1
  16. package/dist/components/layout/types.d.ts +28 -0
  17. package/dist/components/layout/types.d.ts.map +1 -1
  18. package/dist/components/pages/index.d.ts +1 -0
  19. package/dist/components/pages/index.d.ts.map +1 -1
  20. package/dist/components/pages/syst/CMHldyCfg.d.ts.map +1 -0
  21. package/dist/components/popup/index.cjs +1 -1
  22. package/dist/components/popup/index.js +1 -1
  23. package/dist/index.cjs +1 -1
  24. package/dist/index.js +79 -78
  25. package/dist/stores/index.cjs +1 -1
  26. package/dist/stores/index.js +1 -1
  27. package/dist/utils/index.cjs +1 -1
  28. package/dist/utils/index.js +7 -8
  29. package/package.json +2 -1
  30. package/dist/chunks/MenuReport-Bqeps5fC.cjs +0 -1
  31. package/dist/chunks/layout-components-bb0cWC3I.cjs +0 -35
  32. package/dist/components/guide/CMHldyCfg.d.ts.map +0 -1
  33. /package/dist/components/{guide → pages/syst}/CMHldyCfg.d.ts +0 -0
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const se=require("axios"),I=require("../chunks/common-components-B-zgrX-L.cjs"),$=require("dayjs"),D=require("antd"),k=require("../stores/index.cjs"),Ue={AUTH_BTNS:"SCMSIGN00202",AUTH_MENU:"SCMSIGN00201",SRCH_CODE:"SCMSIGN00301",SRCH_POPU:"SCMPOPU00101",AUTH_BMRK:"SCMBMRK00101",SYST_CODE:"SCMSYST00101"};let z={};function Ee(e){z=e,console.log("🔧 Provider 서비스코드 오버라이드 설정:",e)}function ae(e){return z[e]&&z[e].trim()!==""?z[e]:Ue[e]}function ie(){const e={};for(const t of Object.keys(Ue))e[t]=ae(t);return e}function Ie(){console.log("🔧 bwg-core 서비스코드 설정:"),console.log("📋 Provider 설정 > 기본값 순서로 확인");const e=ie();for(const[t,r]of Object.entries(e)){const o=z[t]?"Provider 설정":"기본값";console.log(` ${t}: ${r} (${o})`)}}const Ne=Object.freeze(Object.defineProperty({__proto__:null,getAllServiceCodes:ie,getServiceCode:ae,logServiceCodeConfig:Ie,setServiceCodeOverrides:Ee},Symbol.toStringTag,{value:"Module"}));var G={exports:{}};function Rr(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 J={exports:{}};const Pr={},Fr=Object.freeze(Object.defineProperty({__proto__:null,default:Pr},Symbol.toStringTag,{value:"Module"})),Hr=I.getAugmentedNamespace(Fr);var Lr=J.exports,Me;function Ye(){return Me||(Me=1,(function(e,t){(function(r,o){e.exports=o()})(Lr,function(){var r=r||(function(o,i){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 I.commonjsGlobal<"u"&&I.commonjsGlobal.crypto&&(l=I.commonjsGlobal.crypto),!l&&typeof Rr=="function")try{l=Hr}catch{}var h=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.")},b=Object.create||(function(){function n(){}return function(a){var c;return n.prototype=a,c=new n,n.prototype=null,c}})(),g={},y=g.lib={},v=y.Base=(function(){return{extend:function(n){var a=b(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=y.WordArray=v.extend({init:function(n,a){n=this.words=n||[],a!=i?this.sigBytes=a:this.sigBytes=n.length*4},toString:function(n){return(n||f).stringify(this)},concat:function(n){var a=this.words,c=n.words,d=this.sigBytes,C=n.sigBytes;if(this.clamp(),d%4)for(var x=0;x<C;x++){var M=c[x>>>2]>>>24-x%4*8&255;a[d+x>>>2]|=M<<24-(d+x)%4*8}else for(var _=0;_<C;_+=4)a[d+_>>>2]=c[_>>>2];return this.sigBytes+=C,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=v.clone.call(this);return n.words=this.words.slice(0),n},random:function(n){for(var a=[],c=0;c<n;c+=4)a.push(h());return new w.init(a,n)}}),m=g.enc={},f=m.Hex={stringify:function(n){for(var a=n.words,c=n.sigBytes,d=[],C=0;C<c;C++){var x=a[C>>>2]>>>24-C%4*8&255;d.push((x>>>4).toString(16)),d.push((x&15).toString(16))}return d.join("")},parse:function(n){for(var a=n.length,c=[],d=0;d<a;d+=2)c[d>>>3]|=parseInt(n.substr(d,2),16)<<24-d%8*4;return new w.init(c,a/2)}},p=m.Latin1={stringify:function(n){for(var a=n.words,c=n.sigBytes,d=[],C=0;C<c;C++){var x=a[C>>>2]>>>24-C%4*8&255;d.push(String.fromCharCode(x))}return d.join("")},parse:function(n){for(var a=n.length,c=[],d=0;d<a;d++)c[d>>>2]|=(n.charCodeAt(d)&255)<<24-d%4*8;return new w.init(c,a)}},s=m.Utf8={stringify:function(n){try{return decodeURIComponent(escape(p.stringify(n)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(n){return p.parse(unescape(encodeURIComponent(n)))}},u=y.BufferedBlockAlgorithm=v.extend({reset:function(){this._data=new w.init,this._nDataBytes=0},_append:function(n){typeof n=="string"&&(n=s.parse(n)),this._data.concat(n),this._nDataBytes+=n.sigBytes},_process:function(n){var a,c=this._data,d=c.words,C=c.sigBytes,x=this.blockSize,M=x*4,_=C/M;n?_=o.ceil(_):_=o.max((_|0)-this._minBufferSize,0);var T=_*x,U=o.min(T*4,C);if(T){for(var j=0;j<T;j+=x)this._doProcessBlock(d,j);a=d.splice(0,T),c.sigBytes-=U}return new w.init(a,U)},clone:function(){var n=v.clone.call(this);return n._data=this._data.clone(),n},_minBufferSize:0});y.Hasher=u.extend({cfg:v.extend(),init:function(n){this.cfg=this.cfg.extend(n),this.reset()},reset:function(){u.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,c){return new n.init(c).finalize(a)}},_createHmacHelper:function(n){return function(a,c){return new S.HMAC.init(n,c).finalize(a)}}});var S=g.algo={};return g})(Math);return r})})(J)),J.exports}var jr=G.exports,_e;function zr(){return _e||(_e=1,(function(e,t){(function(r,o){e.exports=o(Ye())})(jr,function(r){return(function(o){var i=r,l=i.lib,h=l.WordArray,b=l.Hasher,g=i.algo,y=[],v=[];(function(){function f(S){for(var n=o.sqrt(S),a=2;a<=n;a++)if(!(S%a))return!1;return!0}function p(S){return(S-(S|0))*4294967296|0}for(var s=2,u=0;u<64;)f(s)&&(u<8&&(y[u]=p(o.pow(s,1/2))),v[u]=p(o.pow(s,1/3)),u++),s++})();var w=[],m=g.SHA256=b.extend({_doReset:function(){this._hash=new h.init(y.slice(0))},_doProcessBlock:function(f,p){for(var s=this._hash.words,u=s[0],S=s[1],n=s[2],a=s[3],c=s[4],d=s[5],C=s[6],x=s[7],M=0;M<64;M++){if(M<16)w[M]=f[p+M]|0;else{var _=w[M-15],T=(_<<25|_>>>7)^(_<<14|_>>>18)^_>>>3,U=w[M-2],j=(U<<15|U>>>17)^(U<<13|U>>>19)^U>>>10;w[M]=T+w[M-7]+j+w[M-16]}var Nr=c&d^~c&C,Yr=u&S^u&n^S&n,Or=(u<<30|u>>>2)^(u<<19|u>>>13)^(u<<10|u>>>22),Ar=(c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25),be=x+Ar+Nr+v[M]+w[M],Br=Or+Yr;x=C,C=d,d=c,c=a+be|0,a=n,n=S,S=u,u=be+Br|0}s[0]=s[0]+u|0,s[1]=s[1]+S|0,s[2]=s[2]+n|0,s[3]=s[3]+a|0,s[4]=s[4]+c|0,s[5]=s[5]+d|0,s[6]=s[6]+C|0,s[7]=s[7]+x|0},_doFinalize:function(){var f=this._data,p=f.words,s=this._nDataBytes*8,u=f.sigBytes*8;return p[u>>>5]|=128<<24-u%32,p[(u+64>>>9<<4)+14]=o.floor(s/4294967296),p[(u+64>>>9<<4)+15]=s,f.sigBytes=p.length*4,this._process(),this._hash},clone:function(){var f=b.clone.call(this);return f._hash=this._hash.clone(),f}});i.SHA256=b._createHelper(m),i.HmacSHA256=b._createHmacHelper(m)})(Math),r.SHA256})})(G)),G.exports}var Vr=zr();const qr=I.getDefaultExportFromCjs(Vr);var Z={exports:{}},Wr=Z.exports,$e;function Kr(){return $e||($e=1,(function(e,t){(function(r,o){e.exports=o(Ye())})(Wr,function(r){return(function(){var o=r,i=o.lib,l=i.WordArray,h=o.enc;h.Base64={stringify:function(g){var y=g.words,v=g.sigBytes,w=this._map;g.clamp();for(var m=[],f=0;f<v;f+=3)for(var p=y[f>>>2]>>>24-f%4*8&255,s=y[f+1>>>2]>>>24-(f+1)%4*8&255,u=y[f+2>>>2]>>>24-(f+2)%4*8&255,S=p<<16|s<<8|u,n=0;n<4&&f+n*.75<v;n++)m.push(w.charAt(S>>>6*(3-n)&63));var a=w.charAt(64);if(a)for(;m.length%4;)m.push(a);return m.join("")},parse:function(g){var y=g.length,v=this._map,w=this._reverseMap;if(!w){w=this._reverseMap=[];for(var m=0;m<v.length;m++)w[v.charCodeAt(m)]=m}var f=v.charAt(64);if(f){var p=g.indexOf(f);p!==-1&&(y=p)}return b(g,y,w)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function b(g,y,v){for(var w=[],m=0,f=0;f<y;f++)if(f%4){var p=v[g.charCodeAt(f-1)]<<f%4*2,s=v[g.charCodeAt(f)]>>>6-f%4*2,u=p|s;w[m>>>2]|=u<<24-m%4*8,m++}return l.create(w,m)}})(),r.enc.Base64})})(Z)),Z.exports}var Gr=Kr();const Jr=I.getDefaultExportFromCjs(Gr);var X={exports:{}},Zr=X.exports,De;function Xr(){return De||(De=1,(function(e,t){(function(r,o){e.exports=o()})(Zr,(function(){return function(r,o,i){r=r||{};var l=o.prototype,h={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 b(y,v,w,m){return l.fromToBase(y,v,w,m)}i.en.relativeTime=h,l.fromToBase=function(y,v,w,m,f){for(var p,s,u,S=w.$locale().relativeTime||h,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,c=0;c<a;c+=1){var d=n[c];d.d&&(p=m?i(y).diff(w,d.d,!0):w.diff(y,d.d,!0));var C=(r.rounding||Math.round)(Math.abs(p));if(u=p>0,C<=d.r||!d.r){C<=1&&c>0&&(d=n[c-1]);var x=S[d.l];f&&(C=f(""+C)),s=typeof x=="string"?x.replace("%d",C):x(C,v,d.l,u);break}}if(v)return s;var M=u?S.future:S.past;return typeof M=="function"?M(s):M.replace("%s",s)},l.to=function(y,v){return b(y,v,this,!0)},l.from=function(y,v){return b(y,v,this)};var g=function(y){return y.$u?i.utc():i()};l.toNow=function(y){return this.to(g(this),y)},l.fromNow=function(y){return this.from(g(this),y)}}}))})(X)),X.exports}var Qr=Xr();const eo=I.getDefaultExportFromCjs(Qr);var Q={exports:{}},to=Q.exports,Te;function ro(){return Te||(Te=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(i,l,h){var b,g=function(m,f,p){p===void 0&&(p={});var s=new Date(m),u=(function(S,n){n===void 0&&(n={});var a=n.timeZoneName||"short",c=S+"|"+a,d=o[c];return d||(d=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:S,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:a}),o[c]=d),d})(f,p);return u.formatToParts(s)},y=function(m,f){for(var p=g(m,f),s=[],u=0;u<p.length;u+=1){var S=p[u],n=S.type,a=S.value,c=r[n];c>=0&&(s[c]=parseInt(a,10))}var d=s[3],C=d===24?0:d,x=s[0]+"-"+s[1]+"-"+s[2]+" "+C+":"+s[4]+":"+s[5]+":000",M=+m;return(h.utc(x).valueOf()-(M-=M%1e3))/6e4},v=l.prototype;v.tz=function(m,f){m===void 0&&(m=b);var p,s=this.utcOffset(),u=this.toDate(),S=u.toLocaleString("en-US",{timeZone:m}),n=Math.round((u-new Date(S))/1e3/60),a=15*-Math.round(u.getTimezoneOffset()/15)-n;if(!Number(a))p=this.utcOffset(0,f);else if(p=h(S,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(a,!0),f){var c=p.utcOffset();p=p.add(s-c,"minute")}return p.$x.$timezone=m,p},v.offsetName=function(m){var f=this.$x.$timezone||h.tz.guess(),p=g(this.valueOf(),f,{timeZoneName:m}).find((function(s){return s.type.toLowerCase()==="timezonename"}));return p&&p.value};var w=v.startOf;v.startOf=function(m,f){if(!this.$x||!this.$x.$timezone)return w.call(this,m,f);var p=h(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return w.call(p,m,f).tz(this.$x.$timezone,!0)},h.tz=function(m,f,p){var s=p&&f,u=p||f||b,S=y(+h(),u);if(typeof m!="string")return h(m).tz(u);var n=(function(C,x,M){var _=C-60*x*1e3,T=y(_,M);if(x===T)return[_,x];var U=y(_-=60*(T-x)*1e3,M);return T===U?[_,T]:[C-60*Math.min(T,U)*1e3,Math.max(T,U)]})(h.utc(m,s).valueOf(),S,u),a=n[0],c=n[1],d=h(a).utcOffset(c);return d.$x.$timezone=u,d},h.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},h.tz.setDefault=function(m){b=m}}}))})(Q)),Q.exports}var oo=ro();const no=I.getDefaultExportFromCjs(oo);var ee={exports:{}},so=ee.exports,ke;function ao(){return ke||(ke=1,(function(e,t){(function(r,o){e.exports=o()})(so,(function(){var r="minute",o=/[+-]\d\d(?::?\d\d)?/g,i=/([+-]|\d\d)/g;return function(l,h,b){var g=h.prototype;b.utc=function(s){var u={date:s,utc:!0,args:arguments};return new h(u)},g.utc=function(s){var u=b(this.toDate(),{locale:this.$L,utc:!0});return s?u.add(this.utcOffset(),r):u},g.local=function(){return b(this.toDate(),{locale:this.$L,utc:!1})};var y=g.parse;g.parse=function(s){s.utc&&(this.$u=!0),this.$utils().u(s.$offset)||(this.$offset=s.$offset),y.call(this,s)};var v=g.init;g.init=function(){if(this.$u){var s=this.$d;this.$y=s.getUTCFullYear(),this.$M=s.getUTCMonth(),this.$D=s.getUTCDate(),this.$W=s.getUTCDay(),this.$H=s.getUTCHours(),this.$m=s.getUTCMinutes(),this.$s=s.getUTCSeconds(),this.$ms=s.getUTCMilliseconds()}else v.call(this)};var w=g.utcOffset;g.utcOffset=function(s,u){var S=this.$utils().u;if(S(s))return this.$u?0:S(this.$offset)?w.call(this):this.$offset;if(typeof s=="string"&&(s=(function(d){d===void 0&&(d="");var C=d.match(o);if(!C)return null;var x=(""+C[0]).match(i)||["-",0,0],M=x[0],_=60*+x[1]+ +x[2];return _===0?0:M==="+"?_:-_})(s),s===null))return this;var n=Math.abs(s)<=16?60*s:s,a=this;if(u)return a.$offset=n,a.$u=s===0,a;if(s!==0){var c=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(a=this.local().add(n+c,r)).$offset=n,a.$x.$localOffset=c}else a=this.utc();return a};var m=g.format;g.format=function(s){var u=s||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return m.call(this,u)},g.valueOf=function(){var s=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*s},g.isUTC=function(){return!!this.$u},g.toISOString=function(){return this.toDate().toISOString()},g.toString=function(){return this.toDate().toUTCString()};var f=g.toDate;g.toDate=function(s){return s==="s"&&this.$offset?b(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():f.call(this)};var p=g.diff;g.diff=function(s,u,S){if(s&&this.$u===s.$u)return p.call(this,s,u,S);var n=this.local(),a=b(s).local();return p.call(n,a,u,S)}}}))})(ee)),ee.exports}var io=ao();const co=I.getDefaultExportFromCjs(io),Oe="ui_theme",Ae=e=>typeof e=="string",Be=e=>typeof e=="number"&&!isNaN(e),Re=e=>typeof e=="boolean",Pe=e=>typeof e=="function",Fe=e=>e!==null&&typeof e=="object",He=e=>Array.isArray(e),Le=e=>e===null,je=e=>e===void 0,ze=e=>e==null,Ve=(e,t)=>{let r=0;return(...o)=>{const i=Date.now();i-r>=t&&(r=i,e(...o))}},qe=(e,t)=>{let r;return(...o)=>{clearTimeout(r),r=setTimeout(()=>e(...o),t)}},We=async e=>{try{return await navigator.clipboard.writeText(e),!0}catch(t){return console.error("Error copying to clipboard:",t),!1}},q=()=>{const e=window.innerWidth;return e<768?"mobile":e<1024?"tablet":"desktop"},Ke=()=>q()==="mobile",Ge=()=>q()==="tablet",Je=()=>q()==="desktop",Ze=()=>"#"+Math.floor(Math.random()*16777215).toString(16),W=e=>!e||e.length===0,Xe=e=>[...new Set(e)],Qe=e=>{if(!W(e))return Math.max(...e)},et=e=>{if(!W(e))return Math.min(...e)},tt=e=>{if(!W(e))return e.reduce((t,r)=>t+r,0)/e.length},rt=e=>e.reduce((t,r)=>t+r,0),ot=(e,t)=>e.filter(t).length,nt=e=>[...e].reverse(),st=e=>{const t=new Set,r=new Set;return e.forEach(o=>{t.has(o)?r.add(o):t.add(o)}),Array.from(r)},at=(e,t)=>Math.random()*(t-e)+e,it=(e,t,r)=>Math.min(Math.max(e,t),r),ct=(e,t=0)=>Math.round(e*Math.pow(10,t))/Math.pow(10,t),ut=(e,t)=>{try{sessionStorage.setItem(e,JSON.stringify(t))}catch(r){console.error("Error saving to sessionStorage:",r)}},lt=(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}},dt=e=>{try{sessionStorage.removeItem(e)}catch(t){console.error("Error removing from sessionStorage:",t)}},ft=()=>{try{sessionStorage.clear()}catch(e){console.error("Error clearing sessionStorage:",e)}},ht=(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=/`},mt=e=>{const t=e+"=",r=document.cookie.split(";");for(let o=0;o<r.length;o++){let i=r[o];for(;i.charAt(0)===" ";)i=i.substring(1,i.length);if(i.indexOf(t)===0)return i.substring(t.length,i.length)}return null},pt=e=>{document.cookie=`${e}=;expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/`},ce=e=>typeof e!="string"?!e:e.trim().length===0,gt=(e,t)=>ce(e)?t:e||"",yt=e=>e.replace(/-([a-z])/g,t=>t[1].toUpperCase()),vt=e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),wt=e=>{try{return new URL(e),!0}catch{return!1}},St=(e,t,r=" ")=>e.padStart(t,r),Ct=(e,t,r=" ")=>e.padEnd(t,r),ue=(e,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")=>{let r="";for(let o=0;o<e;o++)r+=t.charAt(Math.floor(Math.random()*t.length));return r},uo=()=>"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)}),re=(e=32)=>{const r=uo().replace(/-/g,"");return e>=32?r+ue(e-32,"0123456789abcdef"):r.substring(0,e)};async function xt(e){return qr(e).toString(Jr)}$.extend(eo);$.extend(co);$.extend(no);$.locale("ko");const N="YYYYMMDD",bt=()=>$(),le=(e=N)=>$().format(e),Mt=e=>$(e,N,!0).isValid(),_t=e=>$(e,"YYYY",!0).isValid(),$t=e=>$(e,"YYYYMM",!0).isValid(),Dt=e=>$(e,"YYYYMMDDHHmmss",!0).isValid(),Tt=(e,t="CM")=>{let r="";return t=="CM"?r="YYYYMMDD":t=="C"?r="YYYY.MM.DD":t=="H"?r="YYYY년 MM월 DD일":t=="D"?r="YYYY-MM-DD":t=="S"?r="YYYY/MM/DD":t=="M"?r="YYYY-MM":t=="YM"?r="YYYY년 MM월":t=="DT"?r="YYYY-MM-DD HH:mm:ss":t=="T"?r="HH:mm:ss":t=="HM"&&(r="HH:mm"),$(e).format(r)},kt=(e,t="month")=>$(e).endOf(t).format(N),Ut=(e,t="month")=>$(e).startOf(t).format(N),Et=(e,t)=>$(e).add(t,"month").format(N),It=(e,t)=>$(e).add(t,"day").format(N),Nt=(e,t)=>$(e).diff(t,"day"),Yt=(e=N)=>{const t=$(e),r=$();let o=r.year()-t.year();return(r.month()<t.month()||r.month()===t.month()&&r.date()<t.date())&&o--,o};let Ot={};const At=e=>{Ot=e},R=()=>Ot,Bt=Object.freeze(Object.defineProperty({__proto__:null,COMMON_DATE_FORMAT:N,THEME_COOKIE_NAME:Oe,addDays:It,addMonths:Et,arrAverage:tt,arrCount:ot,arrMax:Qe,arrMin:et,arrReverse:nt,arrSum:rt,arrUnique:Xe,clamp:it,clearSessionStorage:ft,copyToClipboard:We,datetimeFormat:Tt,debounce:qe,deleteCookie:pt,diffDays:Nt,duplicates:st,encryptSha256:xt,generateRandomColor:Ze,generateRandomString:ue,generateUID:re,getAge:Yt,getApiDeps:R,getCookie:mt,getCurrentDate:bt,getCurrentDateString:le,getDeviceType:q,getLastDateByDiv:kt,getSessionStorage:lt,getStartDateByDiv:Ut,initApiDeps:At,isArray:He,isBoolean:Re,isDesktop:Je,isEmpty:ce,isEmptyArray:W,isFunction:Pe,isMobile:Ke,isNull:Le,isNullOrUndefined:ze,isNumber:Be,isObject:Fe,isSafeEmpty:gt,isString:Ae,isTablet:Ge,isUndefined:je,isValidDate:Mt,isValidDateTime:Dt,isValidEmail:vt,isValidUrl:wt,isValidYear:_t,isValidYearMonth:$t,padLeft:St,padRight:Ct,random:at,removeSessionStorage:dt,round:ct,setCookie:ht,setSessionStorage:ut,throttle:Ve,toCamelCase:yt},Symbol.toStringTag,{value:"Module"})),oe=(()=>{try{if((void 0).DEV)return!0}catch{}return!1})();let Rt=[],Pt=[];function Ft(e){e.devHosts&&(Rt=e.devHosts),e.prodHosts&&(Pt=e.prodHosts)}function Ht(){if(typeof window<"u"&&window.location)return window.location.hostname}const de=(()=>{const e=Ht();return!!(e&&Rt.includes(e))})(),fe=(()=>{const e=Ht();return!!(e&&Pt.includes(e))})();function Lt(){return oe?"X":de?"D":fe?"P":"X"}const jt=Object.freeze(Object.defineProperty({__proto__:null,configureEnvUtils:Ft,getEnvCode:Lt,isDev:de,isLocal:oe,isProd:fe},Symbol.toStringTag,{value:"Module"})),E={duration:4.5,placement:"topRight"};class F{constructor(){}static getInstance(){return F.instance||(F.instance=new F),F.instance}showBwgError(t){const{message:r,description:o,duration:i=E.duration,placement:l=E.placement}=t;D.notification.error({message:`${r}`,description:o||"오류가 발생했습니다. 다시 시도해주세요.",duration:i,placement:l,style:{borderLeft:"4px solid #ff4d4f",backgroundColor:"#fff2f0"}})}showSuccess(t,r,o){D.notification.success({message:`${t}`,description:r,duration:o||E.duration,placement:E.placement})}showInfo(t,r,o){D.notification.info({message:`${t}`,description:r,duration:o||E.duration,placement:E.placement})}showWarning(t,r,o){D.notification.warning({message:`${t}`,description:r,duration:o||E.duration,placement:E.placement})}showError(t,r,o){D.notification.error({message:`${t}`,description:r,duration:o||E.duration,placement:E.placement})}destroy(){D.notification.destroy()}close(t){D.notification.destroy()}}const Y=F.getInstance(),he=e=>{Y.showBwgError(e)},zt=(e,t,r)=>{Y.showSuccess(e,t,r)},me=(e,t,r)=>{Y.showInfo(e,t,r)},pe=(e,t,r)=>{Y.showWarning(e,t,r)},Vt=(e,t,r)=>{Y.showError(e,t,r)},qt=()=>{Y.destroy()},Wt=e=>{Y.close(e)},Kt=Object.freeze(Object.defineProperty({__proto__:null,closeNotification:Wt,destroyNotifications:qt,notiBwgError:he,notiError:Vt,notiInfo:me,notiSuccess:zt,notiWarning:pe,notificationService:Y},Symbol.toStringTag,{value:"Module"})),V=()=>k.useUserStore.getState().user?.crprCd||null,ge=()=>{const e=k.useUserStore.getState().user;return k.useUserStore.getState().hrInfo?.empNo||e?.userId||null},ye=()=>k.useUserStore.getState().user?.userNm||null,Gt=()=>k.useUserStore.getState().user?.userDvsn||null,Jt=()=>k.useUserStore.getState().user?.emplNo||null,ve=()=>{const e=k.useUserStore.getState().hrInfo,t=k.useUserStore.getState().user;return e?.deptCd||t?.dprtCd||null},we=()=>k.useUserStore.getState().user?.dprtNm||null,K=()=>k.useUserStore.getState().user?.roleList||null,Zt=e=>{const t=K();return t?t.includes(e):!1},Xt=e=>{const t=K();return t?e.some(r=>t.includes(r)):!1},Qt=e=>{const t=K();return t?e.every(r=>t.includes(r)):!1},er=()=>k.useUserStore.getState().isLoggedIn(),H=()=>k.useUserStore.getState().user,tr=()=>H()!==null,rr=()=>{const e=ye(),t=ge();return e||t||null},or=()=>{const e=we(),t=ve();return e||(t?String(t):null)},P=()=>k.useUserStore.getState().hrInfo,nr=()=>P()?.jbpsCd||null,sr=()=>P()?.jbgdCd||null,ar=()=>P()?.jbdtCd||null,ir=()=>P()?.jbkdCd||null,cr=()=>P()?.wkplCd||null,ur=Object.freeze(Object.defineProperty({__proto__:null,getCrprCd:V,getDepartmentInfo:or,getDisplayName:rr,getDprtCd:ve,getDprtNm:we,getEmplNo:Jt,getHrInfo:P,getJbdtCd:ar,getJbgdCd:sr,getJbkdCd:ir,getJbpsCd:nr,getRoleList:K,getUserDvsn:Gt,getUserId:ge,getUserInfo:H,getUserNm:ye,getWkplCd:cr,hasAllRoles:Qt,hasAnyRole:Xt,hasRole:Zt,hasUserInfo:tr,isLoggedIn:er},Symbol.toStringTag,{value:"Module"}));class O extends Error{constructor(t,r,o,i,l){super(t),this.name="ApiError",this.detailMsg=r,this.response=o,this.msgCd=i,this.errorType=l,Error.captureStackTrace&&Error.captureStackTrace(this,O)}}let A=null;const ne={method:"POST",timeout:3e4,withCredentials:!0,showLoading:!0,isPopup:!1,showError:!0,retryCount:0,retryDelay:1e3},te=se.create({timeout:ne.timeout,withCredentials:ne.withCredentials,headers:{"Content-Type":"application/json; charset=utf-8",Accept:"application/json; charset=utf-8","Apm-Guid":re()}});te.interceptors.request.use(e=>{const t=R();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(i){console.warn("trxCd/guid 추출 실패:",i)}e.trxCd=r,e.requestStartTime=Date.now(),console.log(`🚀 API 요청 시작 [거래코드: ${r} / 서비스요청자: ${H()?.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)));te.interceptors.response.use(e=>{const t=R();e.config.showLoading&&!e.config.isPopup&&t.hideLoading?.(),e.config.isPopup&&t.hidePopupLoading?.();let r="UNKNOWN",o="UNKNOWN";const i=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(h){console.warn("trxCd/guid 추출 실패:",h)}let l=0;return e.config.requestStartTime&&(l=i-e.config.requestStartTime),console.log(`✅ API 응답 성공 [거래코드: ${r} / GUID : ${o}] - (소요시간: ${l}ms)`),e},async e=>{const t=R();if(e.config&&e.config.showLoading&&!e.config.isPopup&&t.hideLoading?.(),e.config&&e.config.isPopup&&t.hidePopupLoading?.(),console.error("❌ API 응답 에러:",e),oe&&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 se.post("/auth/refresh",{refreshToken:r});if(o.data.accessToken){localStorage.setItem("accessToken",o.data.accessToken);const i=e.config;if(i)return i.headers.Authorization=`Bearer ${o.data.accessToken}`,te(i)}}catch{localStorage.removeItem("accessToken"),localStorage.removeItem("refreshToken"),window.location.href="/login"}}return Promise.reject(e)});const lo=async()=>{if(A===null){const e=Date.now();await Se();const t=Date.now();console.log(`[INFO] IP 조회 소요시간: ${t-e}ms`)}},fo=(e,t,r,o)=>{const l=R().getActiveMenuId?.();return{header:{trxCd:e,userInfo:H(),clientIp:r,domainId:"DEFAULT",sysCd:o.sysCd,appItDd:o.appItCd,appCd:o.appCd,screenId:l},data:t}},ho=(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},mo=async(e,t)=>{let r;const o=t.retryCount||0,i=t.retryDelay||1e3;for(let l=0;l<=o;l++)try{const h=await te(e);if(h.data?.header?.resCd==0)return go(h.data);const b=h.data?.header||{},g=b?.msgs?.basicMsg||"요청 처리 중 오류가 발생했습니다.",y=b?.msgs?.detailMsgs||g,v=b?.msgCd,w=b?.msgs?.type;throw new O(g,y,h,v,w)}catch(h){if(r=po(h),h?.isAxiosError&&vo(h)&&l<o){await wo(i);continue}break}throw r?(yo(r,t),r):new Error("알 수 없는 API 오류가 발생했습니다.")},po=e=>{if(e?.isAxiosError&&e.response){const t=e,r=t.response,o=r.data,i=o?.header?.msgs?.basicMsg||t.message||"서버에서 오류가 발생했습니다.",l=o?.header?.msgs?.detailMsgs||(typeof r.data=="string"?r.data:JSON.stringify(r.data))||i,h=o?.header?.msgCd,b=o?.header?.msgs?.type;return new O(i,l,r,h,b)}return e instanceof O,e},go=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{}},yo=(e,t)=>{if(!t.showError)return;const r=e instanceof O,o=r?e.message:"요청 처리 중 오류가 발생했습니다.",i=r?e.msgCd:"요청 처리 중 오류가 발생했습니다.",l=r?e.detailMsg:e.message,h=r?e.errorType:"";i&&i.startsWith?.("BXM")?he({message:o,description:l,duration:5}):h==="I"?me(o,l,5):pe(o,l,5)},lr=async(e,t,r,o,i)=>{console.log("## callService 호출"),console.log(`## 전역 :: ${__SYS_CD__} | ${__APP_CD__} | ${i} | ${t}`);const h=R().findSystemByAppCd?.(i??__APP_CD__);(!h||!h.sysCd)&&console.error("해당 앱코드는 존재하지 않습니다.",i),await lo();const b={...ne,...o},g=fo(t,r,Ce()||"unknown",h),y=ho(e,b,g);try{return await mo(y,b)}catch(v){throw console.error("callService 최종 에러:",v),v}},vo=e=>!e.response||e.response.status>=500&&e.response.status<600,wo=e=>new Promise(t=>setTimeout(t,e)),Se=async e=>{if(A===null)if(e===void 0)try{let r=(await se.get("/api/ip")).data.trim();r=r.replace(/\s+/g,""),A=r}catch(t){console.warn("IP 가져오기 실패:",t),A="unknown"}else A=e},Ce=()=>A,dr=async()=>(console.log("IP 검증 비활성화됨 (성능 최적화)"),A||"unknown"),fr=(e,t,r)=>B(e,t,{...r,method:"GET"}),B=async(e,t,r,o)=>lr("/api/service",e,t,r,o),hr=async(e,t,r,o)=>lr(`/api/${__SYS_CD__}/service`,e,t,r,o),mr=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}},pr=Object.freeze(Object.defineProperty({__proto__:null,ApiError:O,apiGet:fr,callService:B,callServiceBySysCd:hr,getClientIp:Ce,getPermissionService:mr,setClientIp:Se,verifyClientIp:dr},Symbol.toStringTag,{value:"Module"})),gr=(e,t,r="text/plain")=>{const o=new Blob([e],{type:r}),i=URL.createObjectURL(o),l=document.createElement("a");l.href=i,l.download=t,document.body.appendChild(l),l.click(),document.body.removeChild(l),URL.revokeObjectURL(i)};async function yr(e){try{return await B("SCMFILE00101",{crprCd:H()?.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 i=`api/download?filePath=${encodeURIComponent(o.filePath)}&logicalName=${encodeURIComponent(o.lgclFileNm)}`;return window.open(i,"_blank"),{success:!0,message:"파일 다운로드 요청 성공"}})}catch(t){throw console.error("downloadByFileKey 함수 실행 중 오류 발생:",t),t}}const vr=Object.freeze(Object.defineProperty({__proto__:null,downloadByFileKey:yr,downloadFile:gr},Symbol.toStringTag,{value:"Module"})),xe=(e,t=3)=>{D.message.success({content:e,duration:t})},L=(e,t=5)=>{D.message.error({content:e,duration:t})},wr=(e,t=4)=>{D.message.warning({content:e,duration:t})},Sr=(e,t=3)=>{D.message.info({content:e,duration:t})},Cr=(e="처리중...")=>D.message.loading({content:e,duration:0}),xr=e=>{D.message.destroy(e)},br=()=>{D.message.destroy()},Mr=(e,t="처리 중 오류가 발생했습니다.")=>{const r=e?.response?.data?.message||e?.message||t;L(r)},_r=(e="저장")=>{xe(`${e}이 완료되었습니다.`)},$r=(e="저장")=>{L(`${e} 중 오류가 발생했습니다.`)},Dr=e=>{L(`이미 사용중인 ${e}입니다.`)},Tr=e=>{L(`${e}을(를) 입력해주세요.`)},kr=Object.freeze(Object.defineProperty({__proto__:null,closeAllMessages:br,closeMessage:xr,showApiError:Mr,showDuplicateError:Dr,showError:L,showInfo:Sr,showLoading:Cr,showRequiredError:Tr,showSaveError:$r,showSaveSuccess:_r,showSuccess:xe,showWarning:wr},Symbol.toStringTag,{value:"Module"})),Ur={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"}},Er=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(h,b)=>{const g=new FormData;Object.entries(t).forEach(([w,m])=>{g.append(w,m)});const y=h.originFileObj;g.append("file",y);const v=await fetch("/api/gw-sftp",{method:"POST",body:g});return v.ok?(console.log(e),e.map(w=>w===h?{...w,status:"success",percent:100}:w)):h.status="done",{index:b,response:v,fileName:y.name}}),o=await Promise.all(r),i=o.filter(h=>h.response.ok).length,l=o.length-i;if(i===o.length)return alert(`${i}개 파일 업로드가 완료되었습니다.`),{result:"success",message:`${i}개 파일 업로드가 완료되었습니다.`,successCount:i,failCount:l};if(i>0){const h=`${i}개 성공, ${l}개 실패`;return alert(h),{result:"partial",message:h,successCount:i,failCount:l}}return alert("모든 파일 업로드에 실패했습니다."),{result:"error",message:"모든 파일 업로드에 실패했습니다.",successCount:i,failCount:l}}catch{return alert("파일 업로드 중 오류가 발생했습니다."),{result:"error",message:"파일 업로드 중 오류가 발생했습니다."}}},So=async(e,t,r)=>{const{trxCd:o="SCMINTF00102",connInfo:i={},openDraft:l=!0,draftUrlBase:h="https://dev.bwg.co.kr:5510",windowFeatures:b="width=1000,height=600",fetchFilesTrxCd:g="SCMFILE00101"}=r||{},y=e??{},v=y.aprvKey||re(),w=y.docTitle||"제목없음",m=await B("SCMINTF00101",{crprCd:V(),sysCd:__SYS_CD__,aprvKey:v});if(Array.isArray(m?.sub)&&m.sub.length>=1){if(console.log("이미 승인된 기안입니다."),l){const u=`${h}?key=${v}&docTitle=${w}`;window.open(u,"_blank",b)}return{skipped:!0,alreadyDrafted:!0,draftedRes:m}}let f;if(t){const u=await B(g,{crprCd:V(),sysCd:__SYS_CD__,fileGrpKey:t}),S=Array.isArray(u?.sub)?u.sub.filter(c=>c?.filePath&&c?.lgclFileNm).map(c=>({filePath:c.filePath,lgclFileNm:c.lgclFileNm})):[];console.log("@@ files",S);const n=S.map(async({filePath:c,lgclFileNm:d})=>{const C=`/api/download?filePath=${encodeURIComponent(c)}&logicalName=${encodeURIComponent(d)}`,x=await fetch(C,{method:"GET"});if(!x.ok)throw new Error(`다운로드 실패: ${d}`);const M=await x.blob();return{originFileObj:new File([M],d,{type:M.type||"application/octet-stream"}),name:d,status:"ready"}}),a=await Promise.all(n);if(S.length){const c=await Er(a);if(!c||c.result!=="success")throw new Error(c?.message||"파일 업로드 실패");f=a}}const p={...y,crprCd:V(),aprvKey:v,sysCd:__SYS_CD__,draftDt:le("YYYYMMDD"),docTitle:w,fileInfoList:f,connInfo:i},s=await B(o,p);if(l&&p?.aprvKey){const u=`${h}?key=${p.aprvKey}&docTitle=${p.docTitle}`;window.open(u,"_blank",b)}return s},Co=pr,xo=Bt,bo=jt,Mo=vr,_o=kr,$o=Kt,Do=Ne,To=ur,Ir={...pr,...Bt,...jt,...vr,...kr,...Kt,...Ne,...ur,realFormat:Ur};exports.ApiError=O;exports.COMMON_DATE_FORMAT=N;exports.THEME_COOKIE_NAME=Oe;exports.addDays=It;exports.addMonths=Et;exports.apiGet=fr;exports.apiUtils=Co;exports.arrAverage=tt;exports.arrCount=ot;exports.arrMax=Qe;exports.arrMin=et;exports.arrReverse=nt;exports.arrSum=rt;exports.arrUnique=Xe;exports.bwgUtils=Ir;exports.callService=B;exports.callServiceBySysCd=hr;exports.clamp=it;exports.clearSessionStorage=ft;exports.closeAllMessages=br;exports.closeMessage=xr;exports.closeNotification=Wt;exports.commonUtils=xo;exports.configureEnvUtils=Ft;exports.copyToClipboard=We;exports.datetimeFormat=Tt;exports.debounce=qe;exports.default=Ir;exports.deleteCookie=pt;exports.destroyNotifications=qt;exports.diffDays=Nt;exports.downloadByFileKey=yr;exports.downloadFile=gr;exports.duplicates=st;exports.encryptSha256=xt;exports.envUtils=bo;exports.fileUtils=Mo;exports.generateRandomColor=Ze;exports.generateRandomString=ue;exports.generateUID=re;exports.getAge=Yt;exports.getAllServiceCodes=ie;exports.getApiDeps=R;exports.getClientIp=Ce;exports.getCookie=mt;exports.getCrprCd=V;exports.getCurrentDate=bt;exports.getCurrentDateString=le;exports.getDepartmentInfo=or;exports.getDeviceType=q;exports.getDisplayName=rr;exports.getDprtCd=ve;exports.getDprtNm=we;exports.getEmplNo=Jt;exports.getEnvCode=Lt;exports.getHrInfo=P;exports.getJbdtCd=ar;exports.getJbgdCd=sr;exports.getJbkdCd=ir;exports.getJbpsCd=nr;exports.getLastDateByDiv=kt;exports.getPermissionService=mr;exports.getRoleList=K;exports.getServiceCode=ae;exports.getSessionStorage=lt;exports.getStartDateByDiv=Ut;exports.getUserDvsn=Gt;exports.getUserId=ge;exports.getUserInfo=H;exports.getUserNm=ye;exports.getWkplCd=cr;exports.hasAllRoles=Qt;exports.hasAnyRole=Xt;exports.hasRole=Zt;exports.hasUserInfo=tr;exports.initApiDeps=At;exports.isArray=He;exports.isBoolean=Re;exports.isDesktop=Je;exports.isDev=de;exports.isEmpty=ce;exports.isEmptyArray=W;exports.isFunction=Pe;exports.isLocal=oe;exports.isLoggedIn=er;exports.isMobile=Ke;exports.isNull=Le;exports.isNullOrUndefined=ze;exports.isNumber=Be;exports.isObject=Fe;exports.isProd=fe;exports.isSafeEmpty=gt;exports.isString=Ae;exports.isTablet=Ge;exports.isUndefined=je;exports.isValidDate=Mt;exports.isValidDateTime=Dt;exports.isValidEmail=vt;exports.isValidUrl=wt;exports.isValidYear=_t;exports.isValidYearMonth=$t;exports.logServiceCodeConfig=Ie;exports.messageUtils=_o;exports.notiBwgError=he;exports.notiError=Vt;exports.notiInfo=me;exports.notiSuccess=zt;exports.notiWarning=pe;exports.notificationService=Y;exports.notificationUtils=$o;exports.padLeft=St;exports.padRight=Ct;exports.random=at;exports.realFormat=Ur;exports.removeSessionStorage=dt;exports.round=ct;exports.serviceUtils=Do;exports.setClientIp=Se;exports.setCookie=ht;exports.setServiceCodeOverrides=Ee;exports.setSessionStorage=ut;exports.showApiError=Mr;exports.showDuplicateError=Dr;exports.showError=L;exports.showInfo=Sr;exports.showLoading=Cr;exports.showRequiredError=Tr;exports.showSaveError=$r;exports.showSaveSuccess=_r;exports.showSuccess=xe;exports.showWarning=wr;exports.submitGwApproval=So;exports.throttle=Ve;exports.toCamelCase=yt;exports.uploadFilesViaSftp=Er;exports.userUtils=To;exports.verifyClientIp=dr;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const se=require("axios"),I=require("../chunks/common-components-Be3FPdnz.cjs"),$=require("dayjs"),D=require("antd"),k=require("../stores/index.cjs"),Ue={AUTH_BTNS:"SCMSIGN00202",AUTH_MENU:"SCMSIGN00201",SRCH_CODE:"SCMSIGN00301",SRCH_POPU:"SCMPOPU00101",AUTH_BMRK:"SCMBMRK00101",SYST_CODE:"SCMSYST00101"};let z={};function Ee(e){z=e,console.log("🔧 Provider 서비스코드 오버라이드 설정:",e)}function ae(e){return z[e]&&z[e].trim()!==""?z[e]:Ue[e]}function ie(){const e={};for(const t of Object.keys(Ue))e[t]=ae(t);return e}function Ie(){console.log("🔧 bwg-core 서비스코드 설정:"),console.log("📋 Provider 설정 > 기본값 순서로 확인");const e=ie();for(const[t,r]of Object.entries(e)){const o=z[t]?"Provider 설정":"기본값";console.log(` ${t}: ${r} (${o})`)}}const Ne=Object.freeze(Object.defineProperty({__proto__:null,getAllServiceCodes:ie,getServiceCode:ae,logServiceCodeConfig:Ie,setServiceCodeOverrides:Ee},Symbol.toStringTag,{value:"Module"}));var G={exports:{}};function Rr(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 J={exports:{}};const Pr={},Fr=Object.freeze(Object.defineProperty({__proto__:null,default:Pr},Symbol.toStringTag,{value:"Module"})),Hr=I.getAugmentedNamespace(Fr);var Lr=J.exports,Me;function Ye(){return Me||(Me=1,(function(e,t){(function(r,o){e.exports=o()})(Lr,function(){var r=r||(function(o,i){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 I.commonjsGlobal<"u"&&I.commonjsGlobal.crypto&&(l=I.commonjsGlobal.crypto),!l&&typeof Rr=="function")try{l=Hr}catch{}var h=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.")},b=Object.create||(function(){function n(){}return function(a){var c;return n.prototype=a,c=new n,n.prototype=null,c}})(),g={},y=g.lib={},v=y.Base=(function(){return{extend:function(n){var a=b(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=y.WordArray=v.extend({init:function(n,a){n=this.words=n||[],a!=i?this.sigBytes=a:this.sigBytes=n.length*4},toString:function(n){return(n||f).stringify(this)},concat:function(n){var a=this.words,c=n.words,d=this.sigBytes,C=n.sigBytes;if(this.clamp(),d%4)for(var x=0;x<C;x++){var M=c[x>>>2]>>>24-x%4*8&255;a[d+x>>>2]|=M<<24-(d+x)%4*8}else for(var _=0;_<C;_+=4)a[d+_>>>2]=c[_>>>2];return this.sigBytes+=C,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=v.clone.call(this);return n.words=this.words.slice(0),n},random:function(n){for(var a=[],c=0;c<n;c+=4)a.push(h());return new w.init(a,n)}}),m=g.enc={},f=m.Hex={stringify:function(n){for(var a=n.words,c=n.sigBytes,d=[],C=0;C<c;C++){var x=a[C>>>2]>>>24-C%4*8&255;d.push((x>>>4).toString(16)),d.push((x&15).toString(16))}return d.join("")},parse:function(n){for(var a=n.length,c=[],d=0;d<a;d+=2)c[d>>>3]|=parseInt(n.substr(d,2),16)<<24-d%8*4;return new w.init(c,a/2)}},p=m.Latin1={stringify:function(n){for(var a=n.words,c=n.sigBytes,d=[],C=0;C<c;C++){var x=a[C>>>2]>>>24-C%4*8&255;d.push(String.fromCharCode(x))}return d.join("")},parse:function(n){for(var a=n.length,c=[],d=0;d<a;d++)c[d>>>2]|=(n.charCodeAt(d)&255)<<24-d%4*8;return new w.init(c,a)}},s=m.Utf8={stringify:function(n){try{return decodeURIComponent(escape(p.stringify(n)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(n){return p.parse(unescape(encodeURIComponent(n)))}},u=y.BufferedBlockAlgorithm=v.extend({reset:function(){this._data=new w.init,this._nDataBytes=0},_append:function(n){typeof n=="string"&&(n=s.parse(n)),this._data.concat(n),this._nDataBytes+=n.sigBytes},_process:function(n){var a,c=this._data,d=c.words,C=c.sigBytes,x=this.blockSize,M=x*4,_=C/M;n?_=o.ceil(_):_=o.max((_|0)-this._minBufferSize,0);var T=_*x,U=o.min(T*4,C);if(T){for(var j=0;j<T;j+=x)this._doProcessBlock(d,j);a=d.splice(0,T),c.sigBytes-=U}return new w.init(a,U)},clone:function(){var n=v.clone.call(this);return n._data=this._data.clone(),n},_minBufferSize:0});y.Hasher=u.extend({cfg:v.extend(),init:function(n){this.cfg=this.cfg.extend(n),this.reset()},reset:function(){u.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,c){return new n.init(c).finalize(a)}},_createHmacHelper:function(n){return function(a,c){return new S.HMAC.init(n,c).finalize(a)}}});var S=g.algo={};return g})(Math);return r})})(J)),J.exports}var jr=G.exports,_e;function zr(){return _e||(_e=1,(function(e,t){(function(r,o){e.exports=o(Ye())})(jr,function(r){return(function(o){var i=r,l=i.lib,h=l.WordArray,b=l.Hasher,g=i.algo,y=[],v=[];(function(){function f(S){for(var n=o.sqrt(S),a=2;a<=n;a++)if(!(S%a))return!1;return!0}function p(S){return(S-(S|0))*4294967296|0}for(var s=2,u=0;u<64;)f(s)&&(u<8&&(y[u]=p(o.pow(s,1/2))),v[u]=p(o.pow(s,1/3)),u++),s++})();var w=[],m=g.SHA256=b.extend({_doReset:function(){this._hash=new h.init(y.slice(0))},_doProcessBlock:function(f,p){for(var s=this._hash.words,u=s[0],S=s[1],n=s[2],a=s[3],c=s[4],d=s[5],C=s[6],x=s[7],M=0;M<64;M++){if(M<16)w[M]=f[p+M]|0;else{var _=w[M-15],T=(_<<25|_>>>7)^(_<<14|_>>>18)^_>>>3,U=w[M-2],j=(U<<15|U>>>17)^(U<<13|U>>>19)^U>>>10;w[M]=T+w[M-7]+j+w[M-16]}var Nr=c&d^~c&C,Yr=u&S^u&n^S&n,Or=(u<<30|u>>>2)^(u<<19|u>>>13)^(u<<10|u>>>22),Ar=(c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25),be=x+Ar+Nr+v[M]+w[M],Br=Or+Yr;x=C,C=d,d=c,c=a+be|0,a=n,n=S,S=u,u=be+Br|0}s[0]=s[0]+u|0,s[1]=s[1]+S|0,s[2]=s[2]+n|0,s[3]=s[3]+a|0,s[4]=s[4]+c|0,s[5]=s[5]+d|0,s[6]=s[6]+C|0,s[7]=s[7]+x|0},_doFinalize:function(){var f=this._data,p=f.words,s=this._nDataBytes*8,u=f.sigBytes*8;return p[u>>>5]|=128<<24-u%32,p[(u+64>>>9<<4)+14]=o.floor(s/4294967296),p[(u+64>>>9<<4)+15]=s,f.sigBytes=p.length*4,this._process(),this._hash},clone:function(){var f=b.clone.call(this);return f._hash=this._hash.clone(),f}});i.SHA256=b._createHelper(m),i.HmacSHA256=b._createHmacHelper(m)})(Math),r.SHA256})})(G)),G.exports}var Vr=zr();const qr=I.getDefaultExportFromCjs(Vr);var Z={exports:{}},Wr=Z.exports,$e;function Kr(){return $e||($e=1,(function(e,t){(function(r,o){e.exports=o(Ye())})(Wr,function(r){return(function(){var o=r,i=o.lib,l=i.WordArray,h=o.enc;h.Base64={stringify:function(g){var y=g.words,v=g.sigBytes,w=this._map;g.clamp();for(var m=[],f=0;f<v;f+=3)for(var p=y[f>>>2]>>>24-f%4*8&255,s=y[f+1>>>2]>>>24-(f+1)%4*8&255,u=y[f+2>>>2]>>>24-(f+2)%4*8&255,S=p<<16|s<<8|u,n=0;n<4&&f+n*.75<v;n++)m.push(w.charAt(S>>>6*(3-n)&63));var a=w.charAt(64);if(a)for(;m.length%4;)m.push(a);return m.join("")},parse:function(g){var y=g.length,v=this._map,w=this._reverseMap;if(!w){w=this._reverseMap=[];for(var m=0;m<v.length;m++)w[v.charCodeAt(m)]=m}var f=v.charAt(64);if(f){var p=g.indexOf(f);p!==-1&&(y=p)}return b(g,y,w)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function b(g,y,v){for(var w=[],m=0,f=0;f<y;f++)if(f%4){var p=v[g.charCodeAt(f-1)]<<f%4*2,s=v[g.charCodeAt(f)]>>>6-f%4*2,u=p|s;w[m>>>2]|=u<<24-m%4*8,m++}return l.create(w,m)}})(),r.enc.Base64})})(Z)),Z.exports}var Gr=Kr();const Jr=I.getDefaultExportFromCjs(Gr);var X={exports:{}},Zr=X.exports,De;function Xr(){return De||(De=1,(function(e,t){(function(r,o){e.exports=o()})(Zr,(function(){return function(r,o,i){r=r||{};var l=o.prototype,h={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 b(y,v,w,m){return l.fromToBase(y,v,w,m)}i.en.relativeTime=h,l.fromToBase=function(y,v,w,m,f){for(var p,s,u,S=w.$locale().relativeTime||h,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,c=0;c<a;c+=1){var d=n[c];d.d&&(p=m?i(y).diff(w,d.d,!0):w.diff(y,d.d,!0));var C=(r.rounding||Math.round)(Math.abs(p));if(u=p>0,C<=d.r||!d.r){C<=1&&c>0&&(d=n[c-1]);var x=S[d.l];f&&(C=f(""+C)),s=typeof x=="string"?x.replace("%d",C):x(C,v,d.l,u);break}}if(v)return s;var M=u?S.future:S.past;return typeof M=="function"?M(s):M.replace("%s",s)},l.to=function(y,v){return b(y,v,this,!0)},l.from=function(y,v){return b(y,v,this)};var g=function(y){return y.$u?i.utc():i()};l.toNow=function(y){return this.to(g(this),y)},l.fromNow=function(y){return this.from(g(this),y)}}}))})(X)),X.exports}var Qr=Xr();const eo=I.getDefaultExportFromCjs(Qr);var Q={exports:{}},to=Q.exports,Te;function ro(){return Te||(Te=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(i,l,h){var b,g=function(m,f,p){p===void 0&&(p={});var s=new Date(m),u=(function(S,n){n===void 0&&(n={});var a=n.timeZoneName||"short",c=S+"|"+a,d=o[c];return d||(d=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:S,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:a}),o[c]=d),d})(f,p);return u.formatToParts(s)},y=function(m,f){for(var p=g(m,f),s=[],u=0;u<p.length;u+=1){var S=p[u],n=S.type,a=S.value,c=r[n];c>=0&&(s[c]=parseInt(a,10))}var d=s[3],C=d===24?0:d,x=s[0]+"-"+s[1]+"-"+s[2]+" "+C+":"+s[4]+":"+s[5]+":000",M=+m;return(h.utc(x).valueOf()-(M-=M%1e3))/6e4},v=l.prototype;v.tz=function(m,f){m===void 0&&(m=b);var p,s=this.utcOffset(),u=this.toDate(),S=u.toLocaleString("en-US",{timeZone:m}),n=Math.round((u-new Date(S))/1e3/60),a=15*-Math.round(u.getTimezoneOffset()/15)-n;if(!Number(a))p=this.utcOffset(0,f);else if(p=h(S,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(a,!0),f){var c=p.utcOffset();p=p.add(s-c,"minute")}return p.$x.$timezone=m,p},v.offsetName=function(m){var f=this.$x.$timezone||h.tz.guess(),p=g(this.valueOf(),f,{timeZoneName:m}).find((function(s){return s.type.toLowerCase()==="timezonename"}));return p&&p.value};var w=v.startOf;v.startOf=function(m,f){if(!this.$x||!this.$x.$timezone)return w.call(this,m,f);var p=h(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return w.call(p,m,f).tz(this.$x.$timezone,!0)},h.tz=function(m,f,p){var s=p&&f,u=p||f||b,S=y(+h(),u);if(typeof m!="string")return h(m).tz(u);var n=(function(C,x,M){var _=C-60*x*1e3,T=y(_,M);if(x===T)return[_,x];var U=y(_-=60*(T-x)*1e3,M);return T===U?[_,T]:[C-60*Math.min(T,U)*1e3,Math.max(T,U)]})(h.utc(m,s).valueOf(),S,u),a=n[0],c=n[1],d=h(a).utcOffset(c);return d.$x.$timezone=u,d},h.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},h.tz.setDefault=function(m){b=m}}}))})(Q)),Q.exports}var oo=ro();const no=I.getDefaultExportFromCjs(oo);var ee={exports:{}},so=ee.exports,ke;function ao(){return ke||(ke=1,(function(e,t){(function(r,o){e.exports=o()})(so,(function(){var r="minute",o=/[+-]\d\d(?::?\d\d)?/g,i=/([+-]|\d\d)/g;return function(l,h,b){var g=h.prototype;b.utc=function(s){var u={date:s,utc:!0,args:arguments};return new h(u)},g.utc=function(s){var u=b(this.toDate(),{locale:this.$L,utc:!0});return s?u.add(this.utcOffset(),r):u},g.local=function(){return b(this.toDate(),{locale:this.$L,utc:!1})};var y=g.parse;g.parse=function(s){s.utc&&(this.$u=!0),this.$utils().u(s.$offset)||(this.$offset=s.$offset),y.call(this,s)};var v=g.init;g.init=function(){if(this.$u){var s=this.$d;this.$y=s.getUTCFullYear(),this.$M=s.getUTCMonth(),this.$D=s.getUTCDate(),this.$W=s.getUTCDay(),this.$H=s.getUTCHours(),this.$m=s.getUTCMinutes(),this.$s=s.getUTCSeconds(),this.$ms=s.getUTCMilliseconds()}else v.call(this)};var w=g.utcOffset;g.utcOffset=function(s,u){var S=this.$utils().u;if(S(s))return this.$u?0:S(this.$offset)?w.call(this):this.$offset;if(typeof s=="string"&&(s=(function(d){d===void 0&&(d="");var C=d.match(o);if(!C)return null;var x=(""+C[0]).match(i)||["-",0,0],M=x[0],_=60*+x[1]+ +x[2];return _===0?0:M==="+"?_:-_})(s),s===null))return this;var n=Math.abs(s)<=16?60*s:s;if(n===0)return this.utc(u);var a=this.clone();if(u)return a.$offset=n,a.$u=!1,a;var c=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(a=this.local().add(n+c,r)).$offset=n,a.$x.$localOffset=c,a};var m=g.format;g.format=function(s){var u=s||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return m.call(this,u)},g.valueOf=function(){var s=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*s},g.isUTC=function(){return!!this.$u},g.toISOString=function(){return this.toDate().toISOString()},g.toString=function(){return this.toDate().toUTCString()};var f=g.toDate;g.toDate=function(s){return s==="s"&&this.$offset?b(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():f.call(this)};var p=g.diff;g.diff=function(s,u,S){if(s&&this.$u===s.$u)return p.call(this,s,u,S);var n=this.local(),a=b(s).local();return p.call(n,a,u,S)}}}))})(ee)),ee.exports}var io=ao();const co=I.getDefaultExportFromCjs(io),Oe="ui_theme",Ae=e=>typeof e=="string",Be=e=>typeof e=="number"&&!isNaN(e),Re=e=>typeof e=="boolean",Pe=e=>typeof e=="function",Fe=e=>e!==null&&typeof e=="object",He=e=>Array.isArray(e),Le=e=>e===null,je=e=>e===void 0,ze=e=>e==null,Ve=(e,t)=>{let r=0;return(...o)=>{const i=Date.now();i-r>=t&&(r=i,e(...o))}},qe=(e,t)=>{let r;return(...o)=>{clearTimeout(r),r=setTimeout(()=>e(...o),t)}},We=async e=>{try{return await navigator.clipboard.writeText(e),!0}catch(t){return console.error("Error copying to clipboard:",t),!1}},q=()=>{const e=window.innerWidth;return e<768?"mobile":e<1024?"tablet":"desktop"},Ke=()=>q()==="mobile",Ge=()=>q()==="tablet",Je=()=>q()==="desktop",Ze=()=>"#"+Math.floor(Math.random()*16777215).toString(16),W=e=>!e||e.length===0,Xe=e=>[...new Set(e)],Qe=e=>{if(!W(e))return Math.max(...e)},et=e=>{if(!W(e))return Math.min(...e)},tt=e=>{if(!W(e))return e.reduce((t,r)=>t+r,0)/e.length},rt=e=>e.reduce((t,r)=>t+r,0),ot=(e,t)=>e.filter(t).length,nt=e=>[...e].reverse(),st=e=>{const t=new Set,r=new Set;return e.forEach(o=>{t.has(o)?r.add(o):t.add(o)}),Array.from(r)},at=(e,t)=>Math.random()*(t-e)+e,it=(e,t,r)=>Math.min(Math.max(e,t),r),ct=(e,t=0)=>Math.round(e*Math.pow(10,t))/Math.pow(10,t),ut=(e,t)=>{try{sessionStorage.setItem(e,JSON.stringify(t))}catch(r){console.error("Error saving to sessionStorage:",r)}},lt=(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}},dt=e=>{try{sessionStorage.removeItem(e)}catch(t){console.error("Error removing from sessionStorage:",t)}},ft=()=>{try{sessionStorage.clear()}catch(e){console.error("Error clearing sessionStorage:",e)}},ht=(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=/`},mt=e=>{const t=e+"=",r=document.cookie.split(";");for(let o=0;o<r.length;o++){let i=r[o];for(;i.charAt(0)===" ";)i=i.substring(1,i.length);if(i.indexOf(t)===0)return i.substring(t.length,i.length)}return null},pt=e=>{document.cookie=`${e}=;expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/`},ce=e=>typeof e!="string"?!e:e.trim().length===0,gt=(e,t)=>ce(e)?t:e||"",yt=e=>e.replace(/-([a-z])/g,t=>t[1].toUpperCase()),vt=e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),wt=e=>{try{return new URL(e),!0}catch{return!1}},St=(e,t,r=" ")=>e.padStart(t,r),Ct=(e,t,r=" ")=>e.padEnd(t,r),ue=(e,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")=>{let r="";for(let o=0;o<e;o++)r+=t.charAt(Math.floor(Math.random()*t.length));return r},uo=()=>"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)}),re=(e=32)=>{const r=uo().replace(/-/g,"");return e>=32?r+ue(e-32,"0123456789abcdef"):r.substring(0,e)};async function xt(e){return qr(e).toString(Jr)}$.extend(eo);$.extend(co);$.extend(no);$.locale("ko");const N="YYYYMMDD",bt=()=>$(),le=(e=N)=>$().format(e),Mt=e=>$(e,N,!0).isValid(),_t=e=>$(e,"YYYY",!0).isValid(),$t=e=>$(e,"YYYYMM",!0).isValid(),Dt=e=>$(e,"YYYYMMDDHHmmss",!0).isValid(),Tt=(e,t="CM")=>{let r="";return t=="CM"?r="YYYYMMDD":t=="C"?r="YYYY.MM.DD":t=="H"?r="YYYY년 MM월 DD일":t=="D"?r="YYYY-MM-DD":t=="S"?r="YYYY/MM/DD":t=="M"?r="YYYY-MM":t=="YM"?r="YYYY년 MM월":t=="DT"?r="YYYY-MM-DD HH:mm:ss":t=="T"?r="HH:mm:ss":t=="HM"&&(r="HH:mm"),$(e).format(r)},kt=(e,t="month")=>$(e).endOf(t).format(N),Ut=(e,t="month")=>$(e).startOf(t).format(N),Et=(e,t)=>$(e).add(t,"month").format(N),It=(e,t)=>$(e).add(t,"day").format(N),Nt=(e,t)=>$(e).diff(t,"day"),Yt=(e=N)=>{const t=$(e),r=$();let o=r.year()-t.year();return(r.month()<t.month()||r.month()===t.month()&&r.date()<t.date())&&o--,o};let Ot={};const At=e=>{Ot=e},R=()=>Ot,Bt=Object.freeze(Object.defineProperty({__proto__:null,COMMON_DATE_FORMAT:N,THEME_COOKIE_NAME:Oe,addDays:It,addMonths:Et,arrAverage:tt,arrCount:ot,arrMax:Qe,arrMin:et,arrReverse:nt,arrSum:rt,arrUnique:Xe,clamp:it,clearSessionStorage:ft,copyToClipboard:We,datetimeFormat:Tt,debounce:qe,deleteCookie:pt,diffDays:Nt,duplicates:st,encryptSha256:xt,generateRandomColor:Ze,generateRandomString:ue,generateUID:re,getAge:Yt,getApiDeps:R,getCookie:mt,getCurrentDate:bt,getCurrentDateString:le,getDeviceType:q,getLastDateByDiv:kt,getSessionStorage:lt,getStartDateByDiv:Ut,initApiDeps:At,isArray:He,isBoolean:Re,isDesktop:Je,isEmpty:ce,isEmptyArray:W,isFunction:Pe,isMobile:Ke,isNull:Le,isNullOrUndefined:ze,isNumber:Be,isObject:Fe,isSafeEmpty:gt,isString:Ae,isTablet:Ge,isUndefined:je,isValidDate:Mt,isValidDateTime:Dt,isValidEmail:vt,isValidUrl:wt,isValidYear:_t,isValidYearMonth:$t,padLeft:St,padRight:Ct,random:at,removeSessionStorage:dt,round:ct,setCookie:ht,setSessionStorage:ut,throttle:Ve,toCamelCase:yt},Symbol.toStringTag,{value:"Module"})),oe=(()=>{try{if((void 0).DEV)return!0}catch{}return!1})();let Rt=[],Pt=[];function Ft(e){e.devHosts&&(Rt=e.devHosts),e.prodHosts&&(Pt=e.prodHosts)}function Ht(){if(typeof window<"u"&&window.location)return window.location.hostname}const de=(()=>{const e=Ht();return!!(e&&Rt.includes(e))})(),fe=(()=>{const e=Ht();return!!(e&&Pt.includes(e))})();function Lt(){return oe?"X":de?"D":fe?"P":"X"}const jt=Object.freeze(Object.defineProperty({__proto__:null,configureEnvUtils:Ft,getEnvCode:Lt,isDev:de,isLocal:oe,isProd:fe},Symbol.toStringTag,{value:"Module"})),E={duration:4.5,placement:"topRight"};class F{constructor(){}static getInstance(){return F.instance||(F.instance=new F),F.instance}showBwgError(t){const{message:r,description:o,duration:i=E.duration,placement:l=E.placement}=t;D.notification.error({message:`${r}`,description:o||"오류가 발생했습니다. 다시 시도해주세요.",duration:i,placement:l,style:{borderLeft:"4px solid #ff4d4f",backgroundColor:"#fff2f0"}})}showSuccess(t,r,o){D.notification.success({message:`${t}`,description:r,duration:o||E.duration,placement:E.placement})}showInfo(t,r,o){D.notification.info({message:`${t}`,description:r,duration:o||E.duration,placement:E.placement})}showWarning(t,r,o){D.notification.warning({message:`${t}`,description:r,duration:o||E.duration,placement:E.placement})}showError(t,r,o){D.notification.error({message:`${t}`,description:r,duration:o||E.duration,placement:E.placement})}destroy(){D.notification.destroy()}close(t){D.notification.destroy()}}const Y=F.getInstance(),he=e=>{Y.showBwgError(e)},zt=(e,t,r)=>{Y.showSuccess(e,t,r)},me=(e,t,r)=>{Y.showInfo(e,t,r)},pe=(e,t,r)=>{Y.showWarning(e,t,r)},Vt=(e,t,r)=>{Y.showError(e,t,r)},qt=()=>{Y.destroy()},Wt=e=>{Y.close(e)},Kt=Object.freeze(Object.defineProperty({__proto__:null,closeNotification:Wt,destroyNotifications:qt,notiBwgError:he,notiError:Vt,notiInfo:me,notiSuccess:zt,notiWarning:pe,notificationService:Y},Symbol.toStringTag,{value:"Module"})),V=()=>k.useUserStore.getState().user?.crprCd||null,ge=()=>{const e=k.useUserStore.getState().user;return k.useUserStore.getState().hrInfo?.empNo||e?.userId||null},ye=()=>k.useUserStore.getState().user?.userNm||null,Gt=()=>k.useUserStore.getState().user?.userDvsn||null,Jt=()=>k.useUserStore.getState().user?.emplNo||null,ve=()=>{const e=k.useUserStore.getState().hrInfo,t=k.useUserStore.getState().user;return e?.deptCd||t?.dprtCd||null},we=()=>k.useUserStore.getState().user?.dprtNm||null,K=()=>k.useUserStore.getState().user?.roleList||null,Zt=e=>{const t=K();return t?t.includes(e):!1},Xt=e=>{const t=K();return t?e.some(r=>t.includes(r)):!1},Qt=e=>{const t=K();return t?e.every(r=>t.includes(r)):!1},er=()=>k.useUserStore.getState().isLoggedIn(),H=()=>k.useUserStore.getState().user,tr=()=>H()!==null,rr=()=>{const e=ye(),t=ge();return e||t||null},or=()=>{const e=we(),t=ve();return e||(t?String(t):null)},P=()=>k.useUserStore.getState().hrInfo,nr=()=>P()?.jbpsCd||null,sr=()=>P()?.jbgdCd||null,ar=()=>P()?.jbdtCd||null,ir=()=>P()?.jbkdCd||null,cr=()=>P()?.wkplCd||null,ur=Object.freeze(Object.defineProperty({__proto__:null,getCrprCd:V,getDepartmentInfo:or,getDisplayName:rr,getDprtCd:ve,getDprtNm:we,getEmplNo:Jt,getHrInfo:P,getJbdtCd:ar,getJbgdCd:sr,getJbkdCd:ir,getJbpsCd:nr,getRoleList:K,getUserDvsn:Gt,getUserId:ge,getUserInfo:H,getUserNm:ye,getWkplCd:cr,hasAllRoles:Qt,hasAnyRole:Xt,hasRole:Zt,hasUserInfo:tr,isLoggedIn:er},Symbol.toStringTag,{value:"Module"}));class O extends Error{constructor(t,r,o,i,l){super(t),this.name="ApiError",this.detailMsg=r,this.response=o,this.msgCd=i,this.errorType=l,Error.captureStackTrace&&Error.captureStackTrace(this,O)}}let A=null;const ne={method:"POST",timeout:3e4,withCredentials:!0,showLoading:!0,isPopup:!1,showError:!0,retryCount:0,retryDelay:1e3},te=se.create({timeout:ne.timeout,withCredentials:ne.withCredentials,headers:{"Content-Type":"application/json; charset=utf-8",Accept:"application/json; charset=utf-8","Apm-Guid":re()}});te.interceptors.request.use(e=>{const t=R();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(i){console.warn("trxCd/guid 추출 실패:",i)}e.trxCd=r,e.requestStartTime=Date.now(),console.log(`🚀 API 요청 시작 [거래코드: ${r} / 서비스요청자: ${H()?.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)));te.interceptors.response.use(e=>{const t=R();e.config.showLoading&&!e.config.isPopup&&t.hideLoading?.(),e.config.isPopup&&t.hidePopupLoading?.();let r="UNKNOWN",o="UNKNOWN";const i=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(h){console.warn("trxCd/guid 추출 실패:",h)}let l=0;return e.config.requestStartTime&&(l=i-e.config.requestStartTime),console.log(`✅ API 응답 성공 [거래코드: ${r} / GUID : ${o}] - (소요시간: ${l}ms)`),e},async e=>{const t=R();if(e.config&&e.config.showLoading&&!e.config.isPopup&&t.hideLoading?.(),e.config&&e.config.isPopup&&t.hidePopupLoading?.(),console.error("❌ API 응답 에러:",e),oe&&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 se.post("/auth/refresh",{refreshToken:r});if(o.data.accessToken){localStorage.setItem("accessToken",o.data.accessToken);const i=e.config;if(i)return i.headers.Authorization=`Bearer ${o.data.accessToken}`,te(i)}}catch{localStorage.removeItem("accessToken"),localStorage.removeItem("refreshToken"),window.location.href="/login"}}return Promise.reject(e)});const lo=async()=>{if(A===null){const e=Date.now();await Se();const t=Date.now();console.log(`[INFO] IP 조회 소요시간: ${t-e}ms`)}},fo=(e,t,r,o)=>{const l=R().getActiveMenuId?.();return{header:{trxCd:e,userInfo:H(),clientIp:r,domainId:"DEFAULT",sysCd:o.sysCd,appItDd:o.appItCd,appCd:o.appCd,screenId:l},data:t}},ho=(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},mo=async(e,t)=>{let r;const o=t.retryCount||0,i=t.retryDelay||1e3;for(let l=0;l<=o;l++)try{const h=await te(e);if(h.data?.header?.resCd==0)return go(h.data);const b=h.data?.header||{},g=b?.msgs?.basicMsg||"요청 처리 중 오류가 발생했습니다.",y=b?.msgs?.detailMsgs||g,v=b?.msgCd,w=b?.msgs?.type;throw new O(g,y,h,v,w)}catch(h){if(r=po(h),h?.isAxiosError&&vo(h)&&l<o){await wo(i);continue}break}throw r?(yo(r,t),r):new Error("알 수 없는 API 오류가 발생했습니다.")},po=e=>{if(e?.isAxiosError&&e.response){const t=e,r=t.response,o=r.data,i=o?.header?.msgs?.basicMsg||t.message||"서버에서 오류가 발생했습니다.",l=o?.header?.msgs?.detailMsgs||(typeof r.data=="string"?r.data:JSON.stringify(r.data))||i,h=o?.header?.msgCd,b=o?.header?.msgs?.type;return new O(i,l,r,h,b)}return e instanceof O,e},go=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{}},yo=(e,t)=>{if(!t.showError)return;const r=e instanceof O,o=r?e.message:"요청 처리 중 오류가 발생했습니다.",i=r?e.msgCd:"요청 처리 중 오류가 발생했습니다.",l=r?e.detailMsg:e.message,h=r?e.errorType:"";i&&i.startsWith?.("BXM")?he({message:o,description:l,duration:5}):h==="I"?me(o,l,5):pe(o,l,5)},lr=async(e,t,r,o,i)=>{console.log("## callService 호출"),console.log(`## 전역 :: ${__SYS_CD__} | ${__APP_CD__} | ${i} | ${t}`);const h=R().findSystemByAppCd?.(i??__APP_CD__);(!h||!h.sysCd)&&console.error("해당 앱코드는 존재하지 않습니다.",i),await lo();const b={...ne,...o},g=fo(t,r,Ce()||"unknown",h),y=ho(e,b,g);try{return await mo(y,b)}catch(v){throw console.error("callService 최종 에러:",v),v}},vo=e=>!e.response||e.response.status>=500&&e.response.status<600,wo=e=>new Promise(t=>setTimeout(t,e)),Se=async e=>{if(A===null)if(e===void 0)try{let r=(await se.get("/api/ip")).data.trim();r=r.replace(/\s+/g,""),A=r}catch(t){console.warn("IP 가져오기 실패:",t),A="unknown"}else A=e},Ce=()=>A,dr=async()=>(console.log("IP 검증 비활성화됨 (성능 최적화)"),A||"unknown"),fr=(e,t,r)=>B(e,t,{...r,method:"GET"}),B=async(e,t,r,o)=>lr("/api/service",e,t,r,o),hr=async(e,t,r,o)=>lr(`/api/${__SYS_CD__}/service`,e,t,r,o),mr=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}},pr=Object.freeze(Object.defineProperty({__proto__:null,ApiError:O,apiGet:fr,callService:B,callServiceBySysCd:hr,getClientIp:Ce,getPermissionService:mr,setClientIp:Se,verifyClientIp:dr},Symbol.toStringTag,{value:"Module"})),gr=(e,t,r="text/plain")=>{const o=new Blob([e],{type:r}),i=URL.createObjectURL(o),l=document.createElement("a");l.href=i,l.download=t,document.body.appendChild(l),l.click(),document.body.removeChild(l),URL.revokeObjectURL(i)};async function yr(e){try{return await B("SCMFILE00101",{crprCd:H()?.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 i=`api/download?filePath=${encodeURIComponent(o.filePath)}&logicalName=${encodeURIComponent(o.lgclFileNm)}`;return window.open(i,"_blank"),{success:!0,message:"파일 다운로드 요청 성공"}})}catch(t){throw console.error("downloadByFileKey 함수 실행 중 오류 발생:",t),t}}const vr=Object.freeze(Object.defineProperty({__proto__:null,downloadByFileKey:yr,downloadFile:gr},Symbol.toStringTag,{value:"Module"})),xe=(e,t=3)=>{D.message.success({content:e,duration:t})},L=(e,t=5)=>{D.message.error({content:e,duration:t})},wr=(e,t=4)=>{D.message.warning({content:e,duration:t})},Sr=(e,t=3)=>{D.message.info({content:e,duration:t})},Cr=(e="처리중...")=>D.message.loading({content:e,duration:0}),xr=e=>{D.message.destroy(e)},br=()=>{D.message.destroy()},Mr=(e,t="처리 중 오류가 발생했습니다.")=>{const r=e?.response?.data?.message||e?.message||t;L(r)},_r=(e="저장")=>{xe(`${e}이 완료되었습니다.`)},$r=(e="저장")=>{L(`${e} 중 오류가 발생했습니다.`)},Dr=e=>{L(`이미 사용중인 ${e}입니다.`)},Tr=e=>{L(`${e}을(를) 입력해주세요.`)},kr=Object.freeze(Object.defineProperty({__proto__:null,closeAllMessages:br,closeMessage:xr,showApiError:Mr,showDuplicateError:Dr,showError:L,showInfo:Sr,showLoading:Cr,showRequiredError:Tr,showSaveError:$r,showSaveSuccess:_r,showSuccess:xe,showWarning:wr},Symbol.toStringTag,{value:"Module"})),Ur={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"}},Er=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(h,b)=>{const g=new FormData;Object.entries(t).forEach(([w,m])=>{g.append(w,m)});const y=h.originFileObj;g.append("file",y);const v=await fetch("/api/gw-sftp",{method:"POST",body:g});return v.ok?(console.log(e),e.map(w=>w===h?{...w,status:"success",percent:100}:w)):h.status="done",{index:b,response:v,fileName:y.name}}),o=await Promise.all(r),i=o.filter(h=>h.response.ok).length,l=o.length-i;if(i===o.length)return alert(`${i}개 파일 업로드가 완료되었습니다.`),{result:"success",message:`${i}개 파일 업로드가 완료되었습니다.`,successCount:i,failCount:l};if(i>0){const h=`${i}개 성공, ${l}개 실패`;return alert(h),{result:"partial",message:h,successCount:i,failCount:l}}return alert("모든 파일 업로드에 실패했습니다."),{result:"error",message:"모든 파일 업로드에 실패했습니다.",successCount:i,failCount:l}}catch{return alert("파일 업로드 중 오류가 발생했습니다."),{result:"error",message:"파일 업로드 중 오류가 발생했습니다."}}},So=async(e,t,r)=>{const{trxCd:o="SCMINTF00102",connInfo:i={},openDraft:l=!0,draftUrlBase:h="https://dev.bwg.co.kr:5510",windowFeatures:b="width=1000,height=600",fetchFilesTrxCd:g="SCMFILE00101"}=r||{},y=e??{},v=y.aprvKey||re(),w=y.docTitle||"제목없음",m=await B("SCMINTF00101",{crprCd:V(),sysCd:__SYS_CD__,aprvKey:v});if(Array.isArray(m?.sub)&&m.sub.length>=1){if(console.log("이미 승인된 기안입니다."),l){const u=`${h}?key=${v}&docTitle=${w}`;window.open(u,"_blank",b)}return{skipped:!0,alreadyDrafted:!0,draftedRes:m}}let f;if(t){const u=await B(g,{crprCd:V(),sysCd:__SYS_CD__,fileGrpKey:t}),S=Array.isArray(u?.sub)?u.sub.filter(c=>c?.filePath&&c?.lgclFileNm).map(c=>({filePath:c.filePath,lgclFileNm:c.lgclFileNm})):[];console.log("@@ files",S);const n=S.map(async({filePath:c,lgclFileNm:d})=>{const C=`/api/download?filePath=${encodeURIComponent(c)}&logicalName=${encodeURIComponent(d)}`,x=await fetch(C,{method:"GET"});if(!x.ok)throw new Error(`다운로드 실패: ${d}`);const M=await x.blob();return{originFileObj:new File([M],d,{type:M.type||"application/octet-stream"}),name:d,status:"ready"}}),a=await Promise.all(n);if(S.length){const c=await Er(a);if(!c||c.result!=="success")throw new Error(c?.message||"파일 업로드 실패");f=a}}const p={...y,crprCd:V(),aprvKey:v,sysCd:__SYS_CD__,draftDt:le("YYYYMMDD"),docTitle:w,fileInfoList:f,connInfo:i},s=await B(o,p);if(l&&p?.aprvKey){const u=`${h}?key=${p.aprvKey}&docTitle=${p.docTitle}`;window.open(u,"_blank",b)}return s},Co=pr,xo=Bt,bo=jt,Mo=vr,_o=kr,$o=Kt,Do=Ne,To=ur,Ir={...pr,...Bt,...jt,...vr,...kr,...Kt,...Ne,...ur,realFormat:Ur};exports.ApiError=O;exports.COMMON_DATE_FORMAT=N;exports.THEME_COOKIE_NAME=Oe;exports.addDays=It;exports.addMonths=Et;exports.apiGet=fr;exports.apiUtils=Co;exports.arrAverage=tt;exports.arrCount=ot;exports.arrMax=Qe;exports.arrMin=et;exports.arrReverse=nt;exports.arrSum=rt;exports.arrUnique=Xe;exports.bwgUtils=Ir;exports.callService=B;exports.callServiceBySysCd=hr;exports.clamp=it;exports.clearSessionStorage=ft;exports.closeAllMessages=br;exports.closeMessage=xr;exports.closeNotification=Wt;exports.commonUtils=xo;exports.configureEnvUtils=Ft;exports.copyToClipboard=We;exports.datetimeFormat=Tt;exports.debounce=qe;exports.default=Ir;exports.deleteCookie=pt;exports.destroyNotifications=qt;exports.diffDays=Nt;exports.downloadByFileKey=yr;exports.downloadFile=gr;exports.duplicates=st;exports.encryptSha256=xt;exports.envUtils=bo;exports.fileUtils=Mo;exports.generateRandomColor=Ze;exports.generateRandomString=ue;exports.generateUID=re;exports.getAge=Yt;exports.getAllServiceCodes=ie;exports.getApiDeps=R;exports.getClientIp=Ce;exports.getCookie=mt;exports.getCrprCd=V;exports.getCurrentDate=bt;exports.getCurrentDateString=le;exports.getDepartmentInfo=or;exports.getDeviceType=q;exports.getDisplayName=rr;exports.getDprtCd=ve;exports.getDprtNm=we;exports.getEmplNo=Jt;exports.getEnvCode=Lt;exports.getHrInfo=P;exports.getJbdtCd=ar;exports.getJbgdCd=sr;exports.getJbkdCd=ir;exports.getJbpsCd=nr;exports.getLastDateByDiv=kt;exports.getPermissionService=mr;exports.getRoleList=K;exports.getServiceCode=ae;exports.getSessionStorage=lt;exports.getStartDateByDiv=Ut;exports.getUserDvsn=Gt;exports.getUserId=ge;exports.getUserInfo=H;exports.getUserNm=ye;exports.getWkplCd=cr;exports.hasAllRoles=Qt;exports.hasAnyRole=Xt;exports.hasRole=Zt;exports.hasUserInfo=tr;exports.initApiDeps=At;exports.isArray=He;exports.isBoolean=Re;exports.isDesktop=Je;exports.isDev=de;exports.isEmpty=ce;exports.isEmptyArray=W;exports.isFunction=Pe;exports.isLocal=oe;exports.isLoggedIn=er;exports.isMobile=Ke;exports.isNull=Le;exports.isNullOrUndefined=ze;exports.isNumber=Be;exports.isObject=Fe;exports.isProd=fe;exports.isSafeEmpty=gt;exports.isString=Ae;exports.isTablet=Ge;exports.isUndefined=je;exports.isValidDate=Mt;exports.isValidDateTime=Dt;exports.isValidEmail=vt;exports.isValidUrl=wt;exports.isValidYear=_t;exports.isValidYearMonth=$t;exports.logServiceCodeConfig=Ie;exports.messageUtils=_o;exports.notiBwgError=he;exports.notiError=Vt;exports.notiInfo=me;exports.notiSuccess=zt;exports.notiWarning=pe;exports.notificationService=Y;exports.notificationUtils=$o;exports.padLeft=St;exports.padRight=Ct;exports.random=at;exports.realFormat=Ur;exports.removeSessionStorage=dt;exports.round=ct;exports.serviceUtils=Do;exports.setClientIp=Se;exports.setCookie=ht;exports.setServiceCodeOverrides=Ee;exports.setSessionStorage=ut;exports.showApiError=Mr;exports.showDuplicateError=Dr;exports.showError=L;exports.showInfo=Sr;exports.showLoading=Cr;exports.showRequiredError=Tr;exports.showSaveError=$r;exports.showSaveSuccess=_r;exports.showSuccess=xe;exports.showWarning=wr;exports.submitGwApproval=So;exports.throttle=Ve;exports.toCamelCase=yt;exports.uploadFilesViaSftp=Er;exports.userUtils=To;exports.verifyClientIp=dr;
@@ -1,5 +1,5 @@
1
1
  import st from "axios";
2
- import { g as Xt, c as nt, a as z } from "../chunks/common-components-XA2KG7Pl.js";
2
+ import { g as Xt, c as nt, a as z } from "../chunks/common-components-DGVIgTZZ.js";
3
3
  import M from "dayjs";
4
4
  import { notification as U, message as B } from "antd";
5
5
  import { useUserStore as k } from "../stores/index.js";
@@ -840,13 +840,12 @@ function be() {
840
840
  var C = ("" + S[0]).match(i) || ["-", 0, 0], $ = C[0], _ = 60 * +C[1] + +C[2];
841
841
  return _ === 0 ? 0 : $ === "+" ? _ : -_;
842
842
  })(s), s === null)) return this;
843
- var o = Math.abs(s) <= 16 ? 60 * s : s, a = this;
844
- if (u) return a.$offset = o, a.$u = s === 0, a;
845
- if (s !== 0) {
846
- var c = this.$u ? this.toDate().getTimezoneOffset() : -1 * this.utcOffset();
847
- (a = this.local().add(o + c, r)).$offset = o, a.$x.$localOffset = c;
848
- } else a = this.utc();
849
- return a;
843
+ var o = Math.abs(s) <= 16 ? 60 * s : s;
844
+ if (o === 0) return this.utc(u);
845
+ var a = this.clone();
846
+ if (u) return a.$offset = o, a.$u = !1, a;
847
+ var c = this.$u ? this.toDate().getTimezoneOffset() : -1 * this.utcOffset();
848
+ return (a = this.local().add(o + c, r)).$offset = o, a.$x.$localOffset = c, a;
850
849
  };
851
850
  var m = g.format;
852
851
  g.format = function(s) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bwg-ui/core",
3
- "version": "1.2.15",
3
+ "version": "1.2.16",
4
4
  "description": "bankwareglobal UI 라이브러리입니다.",
5
5
  "author": "kyeongdon.park",
6
6
  "license": "ISC",
@@ -120,6 +120,7 @@
120
120
  "quill": "1.3.7",
121
121
  "quill-image-resize-module-react": "3.0.0",
122
122
  "react": "^18.3.1",
123
+ "react-copy-to-clipboard": "^5.1.0",
123
124
  "react-dnd": "^16.0.1",
124
125
  "react-dnd-html5-backend": "^16.0.1",
125
126
  "react-dom": "^18.3.1",
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),C=require("@ant-design/icons"),t=require("antd"),pe=require("dayjs"),n=require("react"),G=require("../stores/index.cjs"),h=require("./common-components-B-zgrX-L.cjs"),l=require("../components/core/index.cjs"),f=require("../utils/index.cjs"),he=require("../provider/index.cjs"),{TextArea:ge}=t.Input,R=[{label:"요청",value:"RQST"},{label:"문의",value:"INQR"}],fe={INQR:"blue",RQST:"green",RPRT:"red",SGSN:"purple"},Q=[{label:"대기",value:"READY"},{label:"담당자 지정",value:"ASSIGNED"},{label:"처리중",value:"PROCESSING"},{label:"처리완료",value:"COMPLETED"},{label:"반려",value:"REJECTED"}],je={READY:"gray",ASSIGNED:"blue",PROCESSING:"yellow",COMPLETED:"green",REJECTED:"red"},W={READY:0,ASSIGNED:25,PROCESSING:50,COMPLETED:100,REJECTED:100},ye=({popup:y,onClose:O})=>{const{searchBoxRef:I}=he.useSearchBox(),b=n.useRef(null),E=n.useRef(null),{user:w}=G.useUserStore(),{activeMenuItem:c}=G.useMenuViewStore(),[i]=t.Form.useForm(),[z,L]=n.useState(!1),[V,A]=n.useState(!1),[M,H]=n.useState(!1),[g,J]=n.useState(!1),[a,S]=n.useState(!1),[d,j]=n.useState("list");n.useState(null);const D=n.useRef(null),[F,U]=n.useState([]),[B,Y]=n.useState(""),[P,Ce]=n.useState(!1),[$,N]=n.useState(15),T=n.useRef(null),K=n.useMemo(()=>h.createBwgGridRenderer((s,r,o,m,x)=>{const p=s.getValue(r.index?.itemIndex,"type");x.render(e.jsx(t.Tag,{color:fe[p],children:R.find(v=>v.value===p)?.label}))}),[]),X=n.useMemo(()=>h.createBwgGridRenderer((s,r,o,m,x)=>{const p=s.getValue(r.index?.itemIndex,"status");x.render(e.jsx(t.Tag,{color:je[p],children:Q.find(v=>v.value===p)?.label}))}),[]),Z=n.useMemo(()=>h.createBwgGridRenderer((s,r,o,m,x)=>{s.getValue(r.index?.itemIndex,"urgentYn")==="Y"?x.render(e.jsx(C.AlertTwoTone,{twoToneColor:"red"})):x.render(e.jsx(e.Fragment,{}))}),[]),_=[{fieldName:"boardMstrId",header:{text:"글 번호"},width:80},{name:"type",fieldName:"type",header:{text:"등록구분"},width:80,renderer:"tagType"},{fieldName:"title",header:{text:"제목"},width:200},{fieldName:"content",header:{text:"내용"},width:200,visible:!1},{name:"status",fieldName:"status",header:{text:"상태"},width:80,renderer:"statusTag"},{fieldName:"rgstUserId",visible:!1},{fieldName:"rgstUserNm",header:{text:"등록자"},width:100},{fieldName:"rgstDt",header:{text:"등록일자"},width:120,renderer:f.realFormat.maskYmd},{fieldName:"dueDt",header:{text:"마감요청일자"},width:120,renderer:f.realFormat.maskYmd},{fieldName:"urgentYn",header:{text:"긴급여부"},width:80,renderer:"alert"},{fieldName:"prcsUserId",visible:!1},{fieldName:"prcsUserNm",header:{text:"처리담당자"},width:100},{fieldName:"prcsDt",header:{text:"처리일자"},width:120,renderer:f.realFormat.maskYmd},{fieldName:"scrnId",header:{text:"화면ID"},width:100,visible:!1},{fieldName:"menuId",header:{text:"메뉴ID"},width:100,visible:!1}],ee={onCellDblClicked:(s,r)=>{const o=r.itemIndex??-1;if(o<0)return;const m=s.getValues(o);console.log("🔍 그리드 셀 더블클릭 이벤트:",m);const x={...m,menuId:c?.menuId,menuNm:c?.menuNm,scrnId:c?.scrnId};i.setFieldsValue(x),H(x.rgstUserId===w?.userId),J(x.status==="COMPLETED"||x.status==="REJECTED"),j("detail")}},k=()=>{i.resetFields(),j("list"),u.SCMBoardMstr0001(1,20)},q=async s=>{L(!0);try{i.validateFields().then(r=>{console.log("문의/신고 제출:",r),d==="new"?u.SCMBoardMstr0003(r):d==="detail"&&u.SCMBoardMstr0004(r)})}catch(r){console.error("문의/신고 제출 실패:",r)}finally{L(!1)}},te=()=>{u.SCMBoardMstr0005()},se=()=>{I?.current?.resetForm(),i.resetFields(),d==="new"?j("list"):(j("list"),y?.close?.()||O?.())},re=()=>{I?.current?.resetForm(),i.resetFields(),j("list"),y?.close?.()||O?.()},ne=()=>{(d==="detail"||d==="new")&&j("list")},le=()=>{i.resetFields(),j("new")},ie=()=>{console.log("댓글 수동 새로고침"),N(15)},oe=()=>{if(!B.trim()){t.message.warning("댓글 상세내용 작성");return}u.SCMBoardDtls0002(i.getFieldValue("boardMstrId"),B.trim()),Y(""),setTimeout(()=>{D.current&&(D.current.scrollTop=D.current.scrollHeight)},100)},ae=s=>{const r=F.find(o=>o.id===s);if(r&&r.regUserId!==w?.userId){t.message.error("본인이 작성한 댓글만 삭제할 수 있습니다.");return}u.SCMBoardDtls0003(i.getFieldValue("boardMstrId"),s)};n.useEffect(()=>{y&&setTimeout(()=>{u.SCMBoardMstr0001(1,20)},100)},[y]);const de=()=>e.jsxs(h.ContentBox,{border:!1,children:[e.jsx(h.SearchBox,{border:!0,ref:I,reqRows:e.jsxs(e.Fragment,{children:[e.jsx(t.Row,{gutter:[16,8],style:{marginBottom:"8px"},children:e.jsx(t.Col,{span:24,children:e.jsx(l.BwgFormItem,{label:"화면 정보",name:void 0,children:e.jsxs(t.Space.Compact,{style:{width:"100%"},children:[e.jsx(t.Form.Item,{name:"menuId",style:{width:"40%",marginBottom:0,marginInlineEnd:0},validateStatus:"",help:"",children:e.jsx(t.Input,{disabled:!0})}),e.jsx(t.Form.Item,{name:"menuNm",style:{width:"60%",marginBottom:0},children:e.jsx(t.Input,{disabled:!0})})]})})})}),e.jsxs(t.Row,{gutter:[16,8],style:{marginBottom:"8px"},children:[e.jsx(t.Col,{span:6,children:e.jsx(l.BwgSelect,{itemProps:{label:"등록구분",name:"type"},selectProps:{options:R}})}),e.jsx(t.Col,{span:12,children:e.jsx(l.BwgRangePicker,{itemProps:{label:"등록일자",name:"rgstDt"},inputProps:{allowEmpty:!0}})}),e.jsx(t.Col,{span:6,children:e.jsx(l.BwgSwitch,{itemProps:{name:"myArticle",label:"내 글만"},inputProps:{format:"YN",onChange:()=>console.log("hello!!")}})})]}),e.jsx(t.Row,{children:e.jsx(t.Col,{span:24,children:e.jsx(l.BwgInput,{itemProps:{label:"제목 및 내용",name:"keyword"}})})})]})}),e.jsx(h.BwgGrid,{ref:T,gridColumns:_,gridEvents:ee,gridOptions:{},renderers:[{name:"tagType",renderer:K},{name:"statusTag",renderer:X},{name:"alert",renderer:Z}]}),e.jsx(h.BwgPagination,{ref:b,mode:"server",onServerPageChange:(s,r)=>{console.log("🔄 서버 모드 페이징 변경:",{page:s,size:r}),u.SCMBoardMstr0001(s,r)},pageSizeOptions:[10,20,50,100]})]}),ce=()=>e.jsxs(t.Splitter,{children:[e.jsx(t.Splitter.Panel,{defaultSize:"70%",min:"60%",max:"80%",style:{paddingRight:"15px",overflowX:"hidden",overflowY:"hidden"},children:e.jsx(h.ContentBox,{children:e.jsxs(t.Form,{form:i,onFinish:q,labelCol:{flex:"100px"},disabled:!M||g,children:[e.jsxs(t.Row,{gutter:[16,8],children:[e.jsxs(t.Col,{span:8,children:[e.jsx(t.Form.Item,{name:"boardMstrId",hidden:!0,children:e.jsx(t.Input,{})}),e.jsx(l.BwgSelect,{itemProps:{name:"type",label:"구분"},selectProps:{options:R}})]}),e.jsxs(t.Col,{span:16,children:[e.jsx(l.BwgFormItem,{label:"화면 정보",name:void 0,children:e.jsxs(t.Space.Compact,{children:[e.jsx(t.Form.Item,{name:"menuId",style:{width:"40%",marginBottom:0,marginInlineEnd:0},validateStatus:"",help:"",children:e.jsx(t.Input,{readOnly:!0})}),e.jsx(t.Form.Item,{name:"menuNm",style:{width:"60%",marginBottom:0},children:e.jsx(t.Input,{readOnly:!0})})]})}),e.jsx(t.Form.Item,{name:"scrnId",style:{width:"100%"},hidden:!0,children:e.jsx(t.Input,{readOnly:!0})})]})]}),e.jsxs(t.Row,{gutter:[16,8],children:[e.jsx(t.Col,{span:8,children:e.jsx(l.BwgFormItem,{label:"작성자",name:void 0,children:e.jsxs(t.Space.Compact,{style:{width:"100%"},children:[e.jsx(t.Form.Item,{name:"rgstUserId",style:{width:"40%",marginBottom:0,marginInlineEnd:0},validateStatus:"",help:"",children:e.jsx(t.Input,{readOnly:!0})}),e.jsx(t.Form.Item,{name:"rgstUserNm",style:{width:"60%",marginBottom:0},children:e.jsx(t.Input,{readOnly:!0})})]})})}),e.jsx(t.Col,{span:8,children:e.jsx(l.BwgDatePicker,{itemProps:{label:"작성일자",name:"rgstDt"},inputProps:{disabled:!0}})}),e.jsx(t.Col,{span:8,children:e.jsx(l.BwgSelect,{itemProps:{name:"status",label:"상태"},selectProps:{options:Q,disabled:!0}})})]}),e.jsxs(t.Row,{gutter:[16,8],children:[e.jsx(t.Col,{span:8,children:e.jsx(l.BwgDatePicker,{itemProps:{label:"마감요청일",name:"dueDate"}})}),e.jsx(t.Col,{span:8,children:e.jsxs(t.Flex,{vertical:!0,gap:2,children:[e.jsx("span",{style:{fontSize:"12px",color:"#000000E0"},children:"진척률"}),e.jsx(t.Progress,{percent:W[i.getFieldValue("status")],status:W[i.getFieldValue("status")]>0?"active":"normal",size:"small",format:s=>`${s}%`})]})}),e.jsx(t.Col,{span:8,children:e.jsx(l.BwgCheck,{itemProps:{name:"urgentYn",label:"긴급여부"}})})]}),e.jsxs(t.Row,{gutter:[16,8],children:[e.jsx(t.Col,{span:8,children:e.jsx(l.BwgFormItem,{label:"처리담당자",name:void 0,help:"",children:e.jsxs(t.Space.Compact,{children:[e.jsx(t.Form.Item,{name:"processor",style:{width:"40%",marginBottom:0,marginInlineEnd:0},validateStatus:"",help:"",children:e.jsx(t.Input,{readOnly:!0})}),e.jsx(t.Form.Item,{name:"processorNm",style:{width:"60%",marginBottom:0},children:e.jsx(t.Input,{readOnly:!0})})]})})}),e.jsx(t.Col,{span:8,children:e.jsx(l.BwgDatePicker,{itemProps:{label:"처리일자",name:"processDt"}})})]}),e.jsx(t.Row,{gutter:[16,8],children:e.jsx(t.Col,{span:24,children:e.jsx(l.BwgFormItem,{label:"제목",name:"title",style:{width:"100%"},children:e.jsx(t.Input,{})})})}),e.jsx(h.BwgEditor,{border:!1,itemProps:{name:"content",label:"내용",rules:[{required:!0,message:"내용을 입력하세요."}]},editorProps:{isEditing:M&&!g,title:{title:"에디터"}}})]})})}),e.jsx(t.Splitter.Panel,{collapsible:!0,style:{paddingLeft:"15px"},children:e.jsxs(h.ContentBox,{style:{flex:"0 0 400px",display:"flex",flexDirection:"column"},children:[e.jsxs("div",{style:{borderBottom:"1px solid #e8e8e8",paddingBottom:"12px",marginBottom:"16px",display:"flex",alignItems:"center",justifyContent:"space-between"},children:[e.jsx("span",{style:{fontSize:"14px",fontWeight:"600",color:"#262626"},children:"댓글"}),e.jsxs("div",{style:{position:"relative",display:"inline-block"},children:[e.jsx(t.Button,{type:"text",icon:e.jsx(C.ReloadOutlined,{spin:P||a}),onClick:ie,disabled:P||a,size:"small",style:{fontSize:"12px",color:g?"#d9d9d9":a?"#8c8c8c":"#595959",height:"24px",padding:"0 8px"}}),!g&&e.jsx("span",{style:{position:"absolute",top:"-4px",right:"-4px",fontSize:"10px",fontWeight:"700",color:P?"#8c8c8c":"#1890ff",minWidth:"14px",height:"14px",lineHeight:"14px",textAlign:"center",borderRadius:"50%",pointerEvents:"none"},children:$})]})]}),e.jsx("div",{ref:D,style:{flex:1,overflowY:"auto",marginBottom:"16px",minHeight:0,position:"relative"},children:a?e.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"200px",color:"#8c8c8c"},children:[e.jsx("div",{style:{marginBottom:"12px"},children:e.jsx(C.ReloadOutlined,{spin:!0,style:{fontSize:"24px"}})}),e.jsx("div",{style:{fontSize:"13px"},children:"댓글을 불러오는 중..."})]}):F.length===0?e.jsx("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"200px",color:"#8c8c8c"},children:e.jsx("div",{style:{fontSize:"13px"},children:"등록된 댓글이 없습니다."})}):e.jsx(t.List,{dataSource:F,renderItem:s=>e.jsxs(t.List.Item,{style:{position:"relative",paddingRight:"20px",padding:"12px 20px 12px 12px",borderBottom:"1px solid #f0f0f0"},children:[e.jsx(t.List.Item.Meta,{avatar:e.jsx(t.Avatar,{size:32,style:{backgroundColor:"#1890ff",fontSize:"13px"},children:s.author[0]}),title:e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"4px"},children:[e.jsx("span",{style:{fontWeight:"500",fontSize:"13px",color:"#262626"},children:s.author}),e.jsx("span",{style:{fontSize:"11px",color:"#8c8c8c"},children:s.regDt})]}),description:e.jsx("span",{style:{fontSize:"13px",color:"#595959",lineHeight:"1.5"},children:s.content})}),s.regUserId===w?.userId&&e.jsx(t.Button,{type:"text",danger:!0,icon:e.jsx(C.DeleteOutlined,{style:{fontSize:"12px"}}),size:"small",onClick:()=>ae(s.id),disabled:a,style:{position:"absolute",right:"8px",top:"62%",transform:"translateY(-50%)",opacity:a?.3:.5,height:"24px",width:"24px",padding:0},onMouseEnter:r=>{a||(r.currentTarget.style.opacity="1")},onMouseLeave:r=>{r.currentTarget.style.opacity=a?"0.3":"0.5"}})]},s.id)})}),e.jsx("div",{style:{padding:"12px",borderTop:"1px solid #e8e8e8",backgroundColor:g?"#f5f5f5":"#fafafa",flexShrink:0,marginTop:"auto"},children:g?e.jsxs("div",{style:{textAlign:"center",padding:"20px",color:"#8c8c8c",fontSize:"13px",backgroundColor:"#ffffff",borderRadius:"6px",border:"1px solid #e8e8e8"},children:[e.jsx("div",{style:{marginBottom:"8px"},children:e.jsx(C.AlertTwoTone,{twoToneColor:"#faad14"})}),e.jsx("div",{children:"이미 완료처리된 게시글입니다."}),e.jsx("div",{style:{fontSize:"11px",marginTop:"4px"},children:"댓글을 작성할 수 없습니다."})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{style:{marginBottom:"8px"},children:e.jsx(ge,{rows:2,placeholder:a?"댓글 처리 중...":"댓글을 입력하세요...",value:B,onChange:s=>Y(s.target.value),maxLength:300,disabled:a,style:{borderRadius:"6px",border:"1px solid #d9d9d9",resize:"none",fontSize:"13px",backgroundColor:a?"#f5f5f5":"#ffffff",color:a?"#8c8c8c":"#000000"},onFocus:s=>{a||(s.target.style.borderColor="#1890ff",s.target.style.boxShadow="0 0 0 2px rgba(24, 144, 255, 0.05)")},onBlur:s=>{s.target.style.borderColor="#d9d9d9",s.target.style.boxShadow="none"}})}),e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[e.jsx("span",{style:{fontSize:"11px",color:"#8c8c8c"},children:a?"처리 중...":`${B.length} / 300자`}),e.jsx(t.Button,{type:"primary",onClick:oe,size:"small",loading:a,style:{borderRadius:"4px",fontSize:"12px",height:"28px",padding:"0 16px",fontWeight:"500"},disabled:!B.trim()||a,children:a?"등록 중...":"등록"})]})]})})]})})]}),ue=()=>e.jsx(h.ContentBox,{children:e.jsxs(l.BwgForm,{form:i,onFinish:q,initialValues:{type:"INQR"},labelCol:{flex:"100px"},children:[e.jsxs(t.Row,{gutter:[16,8],children:[e.jsx(t.Col,{span:8,children:e.jsx(l.BwgSelect,{itemProps:{name:"type",label:"구분",rules:[{required:!0,message:"구분을 선택해주세요."}]},selectProps:{options:R}})}),e.jsxs(t.Col,{span:16,children:[e.jsx(l.BwgFormItem,{label:"화면 정보",name:void 0,children:e.jsxs(t.Space.Compact,{style:{width:"100%"},children:[e.jsx(t.Form.Item,{name:"menuId",style:{width:"40%",marginBottom:0,marginInlineEnd:0},validateStatus:"",help:"",children:e.jsx(t.Input,{readOnly:!0})}),e.jsx(t.Form.Item,{name:"menuNm",style:{width:"60%",marginBottom:0},children:e.jsx(t.Input,{readOnly:!0})})]})}),e.jsx(t.Form.Item,{name:"scrnId",style:{width:"100%"},hidden:!0,children:e.jsx(t.Input,{readOnly:!0})})]})]}),e.jsxs(t.Row,{gutter:[16,8],children:[e.jsx(t.Col,{span:8,children:e.jsx(l.BwgFormItem,{label:"작성자",name:void 0,children:e.jsxs(t.Space.Compact,{style:{width:"100%"},children:[e.jsx(t.Form.Item,{name:"rgstUserId",style:{width:"40%",marginBottom:0,marginInlineEnd:0},validateStatus:"",help:"",children:e.jsx(t.Input,{readOnly:!0})}),e.jsx(t.Form.Item,{name:"rgstUserNm",style:{width:"60%",marginBottom:0},children:e.jsx(t.Input,{readOnly:!0})})]})})}),e.jsx(t.Col,{span:6,children:e.jsx(l.BwgFormItem,{label:"작성일자",name:"rgstDt",style:{width:"100%"},children:e.jsx(t.DatePicker,{disabled:!0})})}),e.jsx(t.Col,{span:6,children:e.jsx(l.BwgFormItem,{label:"마감요청일",name:"dueDate",style:{width:"100%"},children:e.jsx(t.DatePicker,{})})}),e.jsx(t.Col,{span:4,children:e.jsx(l.BwgCheck,{itemProps:{name:"urgentYn",label:"긴급여부"}})})]}),e.jsx(t.Row,{gutter:[16,8],children:e.jsx(t.Col,{span:24,children:e.jsx(l.BwgFormItem,{label:"제목",name:"title",style:{width:"100%"},rules:[{required:!0,message:"제목을 입력해주세요."}],children:e.jsx(t.Input,{})})})}),e.jsx(h.BwgEditor,{border:!1,itemProps:{name:"content"},editorProps:{isEditing:V,title:{title:e.jsxs(e.Fragment,{children:[e.jsx(C.EditOutlined,{style:{marginRight:"5px"}})," 상세내용 작성"]}),children:e.jsx(t.Button,{icon:e.jsx(C.EyeFilled,{}),onClick:()=>A(!V),children:"미리보기"})}}})]})});n.useEffect(()=>{d==="new"&&(A(!0),i.setFieldsValue({type:"INQR",menuId:c?.menuId,menuNm:c?.menuNm,scrnId:c?.scrnId,rgstUserId:w?.userId,rgstUserNm:w?.userNm,rgstDt:pe(),content:""}))},[d,i,c,w]),n.useEffect(()=>{if(d==="detail"&&!g){const s=setInterval(()=>{N(r=>r<=1?(console.log("🔄 댓글 자동 갱신 실행 (카운트다운 완료)"),u.SCMBoardDtls0001(i.getFieldValue("boardMstrId")),15):r-1)},1e3);return u.SCMBoardDtls0001(i.getFieldValue("boardMstrId")),()=>{console.log("🧹 댓글 인터벌 정리"),clearInterval(s)}}else d==="detail"&&g&&(console.log("📋 완료된 게시글 - 댓글 조회만"),u.SCMBoardDtls0001(i.getFieldValue("boardMstrId")))},[d,g,i]),n.useEffect(()=>()=>{console.log("🧹 컴포넌트 언마운트 - 모든 인터벌 정리"),E.current&&(clearInterval(E.current),E.current=null)},[]),n.useEffect(()=>{d==="list"&&c&&(I?.current?.setFormData({menuId:c?.menuId,menuNm:c?.menuNm}),u.SCMBoardMstr0001(1,20))},[d,c]),n.useEffect(()=>{y&&c&&I?.current?.setFormData({menuId:c?.menuId,menuNm:c?.menuNm})},[y,c]);const u={SCMBoardMstr0001:async(s,r)=>{const o=s||b.current?.currentPage||1,m=r||b.current?.pageSize||20,x={...I?.current?.getFormData(),pageNum:o,pageCount:m};console.log("🔍 서버 모드 페이징 요청:",x);try{const p=await f.callService("SCMBoardMstr0001",x,{isPopup:!0});if(p&&p.pageList){const v=p.pageCnt||0;b.current?.setTotalData(v),T.current?.addAllData(p.pageList)}else b.current?.setTotalData(0),T.current?.addAllData([]),console.log("📭 서버 모드 페이징 데이터 없음")}catch(p){console.error("❌ SCMBoardMstr0001 호출 실패:",p),t.message.error("데이터 조회 중 오류가 발생했습니다.")}},SCMBoardMstr0003:s=>{f.callService("SCMBoardMstr0003",{...s,status:"READY"},{isPopup:!0}).then(r=>{console.log("문의/신고 제출 응답:",r),t.message.success("정상 접수되었습니다."),k()}).catch(r=>{console.error("문의/신고 제출 실패:",r),t.message.error("접수 중 오류가 발생했습니다.")})},SCMBoardMstr0004:s=>{f.callService("SCMBoardMstr0004",{boardMstrId:i.getFieldValue("boardMstrId"),...s},{isPopup:!0}).then(r=>{console.log("문의/신고 제출 응답:",r),t.message.success("수정이 완료되었습니다."),k()}).catch(r=>{console.error("문의/신고 변경 실패:",r)})},SCMBoardMstr0005:()=>{f.callService("SCMBoardMstr0005",{boardMstrId:i.getFieldValue("boardMstrId")},{isPopup:!0}).then(s=>{console.log("문의/신고 삭제 응답:",s),t.message.success("삭제가 완료되었습니다."),k()})},SCMBoardDtls0001:s=>{S(!0),f.callService("SCMBoardDtls0001",{boardMstrId:s},{isPopup:!0,showLoading:!1}).then(r=>{if(r&&r.subList){const o=r.subList.map(m=>({id:m.seq,author:m.userNm||m.regUserId,regUserId:m.regUserId,content:m.content,regDt:m.regDt}));U(o)}else U([])}).catch(r=>{console.error("게시글 댓글 목록 조회 실패:",r),t.message.error("댓글 목록 조회 중 오류가 발생했습니다.")}).finally(()=>{S(!1),N(15)})},SCMBoardDtls0002:(s,r)=>{S(!0),f.callService("SCMBoardDtls0002",{boardMstrId:s,content:r},{isPopup:!0,showLoading:!1}).then(o=>{o&&o.result===1?(t.message.success("댓글이 등록되었습니다."),u.SCMBoardDtls0001(s)):t.message.error("댓글 등록에 실패했습니다.")}).catch(o=>{t.message.error("댓글 등록 중 오류가 발생했습니다.")}).finally(()=>{S(!1)})},SCMBoardDtls0003:(s,r)=>{S(!0),f.callService("SCMBoardDtls0003",{boardMstrId:s,seq:r},{isPopup:!0,showLoading:!1}).then(o=>{o&&o.result===1?(t.message.success("댓글이 삭제되었습니다."),u.SCMBoardDtls0001(s)):t.message.error("댓글 삭제에 실패했습니다.")}).catch(o=>{t.message.error("댓글 삭제 중 오류가 발생했습니다.")}).finally(()=>{S(!1)})}},me=()=>{switch(d){case"list":return[{id:"REFRESH",label:"조회",type:"default",onClick:()=>u.SCMBoardMstr0001(),disabled:z},{id:"NEW",label:"신규 등록",type:"primary",onClick:le}];case"detail":return[{id:"BACK",label:"뒤로",type:"default",onClick:ne},{id:"EDIT",label:"수정",type:"primary",disabled:!M||g,onClick:()=>i.submit()},{id:"DELETE",label:"삭제",type:"default",disabled:!M||g,onClick:te}];case"new":return[{id:"SUBMIT",label:"제출",type:"primary",onClick:()=>i.submit(),disabled:z},{id:"CANCEL",label:"취소",type:"default",onClick:se}];default:return[]}},xe={};return e.jsxs(h.BwgPopup,{popup:y,buttons:me(),popupEvent:xe,onClose:re,children:[d==="list"&&de(),d==="detail"&&ce(),d==="new"&&ue()]})};exports.default=ye;
@@ -1,35 +0,0 @@
1
- "use strict";const e=require("react/jsx-runtime"),D=require("../provider/index.cjs"),B=require("react-router-dom"),G=require("./common-components-B-zgrX-L.cjs"),i=require("antd"),l=require("react"),j=require("../stores/index.cjs"),v=require("@ant-design/icons"),I=require("../utils/index.cjs"),O=require("@dnd-kit/core"),re=require("@dnd-kit/modifiers"),V=require("@dnd-kit/sortable");var $=typeof document<"u"?document.currentScript:null;function oe(n){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const s in n)if(s!=="default"){const r=Object.getOwnPropertyDescriptor(n,s);Object.defineProperty(t,s,r.get?r:{enumerable:!0,get:()=>n[s]})}}return t.default=n,Object.freeze(t)}const q=oe(v),ae=l.lazy(()=>Promise.resolve().then(()=>require("./MenuReport-Bqeps5fC.cjs"))),ie=l.lazy(()=>Promise.resolve().then(()=>require("./common-components-B-zgrX-L.cjs")).then(n=>n.SearchDepartmentP01$1)),le=l.lazy(()=>Promise.resolve().then(()=>require("./common-components-B-zgrX-L.cjs")).then(n=>n.SearchDepartmentP02$1)),ce=l.lazy(()=>Promise.resolve().then(()=>require("./common-components-B-zgrX-L.cjs")).then(n=>n.SearchOrganizationP01$1)),de=l.lazy(()=>Promise.resolve().then(()=>require("./common-components-B-zgrX-L.cjs")).then(n=>n.SearchOrganizationP02$1)),K={CORE_REPORT:{component:ae,defaultConfig:{title:"게시판/문의",width:1200,height:800}},CORE_DEPARTMENT_01:{component:ie,defaultConfig:{title:"부서 검색",width:620,height:700}},CORE_DEPARTMENT_02:{component:le,defaultConfig:{title:"부서 검색",width:620,height:700}},CORE_ORGANIZATION_01:{component:ce,defaultConfig:{title:"조직 검색",width:620,height:700}},CORE_ORGANIZATION_02:{component:de,defaultConfig:{title:"조직 검색",width:1e3,height:700}}},U="bwg-dot-line-wave-v4";function ue(){if(typeof document>"u"||document.getElementById(U))return;const n=document.createElement("style");n.id=U,n.textContent=`
2
- .bwg-dotline {
3
- display: inline-flex;
4
- align-items: center;
5
- gap: var(--bwg-gap, 12px);
6
- height: calc(var(--bwg-size, 12px) + 2 * var(--bwg-amp, 12px));
7
- line-height: 0;
8
- }
9
- .bwg-dotline .dot {
10
- width: var(--bwg-size, 12px);
11
- height: var(--bwg-size, 12px);
12
- border-radius: 50%;
13
- background: currentColor;
14
- will-change: transform, opacity;
15
- filter: drop-shadow(0 1px 2px rgba(0,0,0,.12));
16
- animation: bwg-dotline-sine var(--bwg-speed, 780ms) linear infinite;
17
- }
18
-
19
- /* sin(θ) 근사: 0, 45, 90, 135, 180, 225, 270, 315, 360deg */
20
- @keyframes bwg-dotline-sine {
21
- 0% { transform: translate3d(0, 0, 0) scale(.98); opacity: .80; }
22
- 12.5%{ transform: translate3d(0, calc(-0.7071 * var(--bwg-amp, 12px)), 0) scale(1.03); opacity: .92; }
23
- 25% { transform: translate3d(0, calc(-1 * var(--bwg-amp, 12px)), 0) scale(1.06); opacity: 1; }
24
- 37.5%{ transform: translate3d(0, calc(-0.7071 * var(--bwg-amp, 12px)), 0) scale(1.03); opacity: .92; }
25
- 50% { transform: translate3d(0, 0, 0) scale(.98); opacity: .80; }
26
- 62.5%{ transform: translate3d(0, calc( 0.7071 * var(--bwg-amp, 12px)), 0) scale(.97); opacity: .78; }
27
- 75% { transform: translate3d(0, calc( 1 * var(--bwg-amp, 12px)), 0) scale(.96); opacity: .76; }
28
- 87.5%{ transform: translate3d(0, calc( 0.7071 * var(--bwg-amp, 12px)), 0) scale(.97); opacity: .78; }
29
- 100% { transform: translate3d(0, 0, 0) scale(.98); opacity: .80; }
30
- }
31
-
32
- @media (prefers-reduced-motion: reduce) {
33
- .bwg-dotline .dot { animation: none; }
34
- }
35
- `,document.head.appendChild(n)}const pe=({colors:n=["#DAD3FF","#B3A6FF","#9380FF","#816BFA"],count:t,size:s=12,gap:r=10,amp:o=16,speedMs:p=900,direction:x="ltr",phase:c=.7})=>{l.useEffect(()=>{ue()},[]);const m=t??n.length,h=Array.from({length:m}),f={"--bwg-size":`${s}px`,"--bwg-gap":`${r}px`,"--bwg-amp":`${o}px`,"--bwg-speed":`${p}ms`},C=p/m*c;return e.jsx("span",{className:"bwg-dotline",role:"img","aria-label":"loading",style:f,children:h.map((a,d)=>e.jsx("span",{className:"dot",style:{backgroundColor:n[d%n.length],animationDelay:x==="ltr"?`${d*C}ms`:`${(m-1-d)*C}ms`}},d))})},me=({spin:n=null,text:t="인증중..."})=>n??!0?e.jsxs("div",{style:{position:"fixed",height:"100vh",left:0,right:0,top:0,display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",gap:8,padding:"8px 12px",background:"rgba(0,0,0,0.6)",color:"#fff",zIndex:1e4},"aria-live":"polite","aria-busy":"true",role:"status",children:[e.jsx(i.Spin,{indicator:e.jsx(pe,{colors:["#DAD3FF","#B3A6FF","#9380FF","#816BFA"],size:12,gap:10,amp:16,speedMs:900,phase:.75,direction:"ltr"})}),e.jsx("span",{className:"bwg-spin-txt",style:{marginTop:"15px"},children:t})]}):null,he=({routes:n,useCommonProvider:t=!0,useServiceProvider:s=!0})=>{let o=e.jsxs(B.Routes,{children:[e.jsx(B.Route,{path:"/",element:e.jsx(B.Navigate,{to:"/login"})}),e.jsx(B.Route,{path:"/login",element:n.login}),e.jsx(B.Route,{path:"/main",element:n.main})]});return s&&(o=e.jsx(D.ServiceCodeProvider,{children:o})),t&&(o=e.jsx(D.CommonCodeProvider,{children:o})),e.jsx(G.GlobalConfigProvider,{children:o})},{Content:ge}=i.Layout,Z=({config:n={},children:t})=>{const s={wrapper:{className:"content-wrapper",...n.wrapper},body:{className:"content-body",...n.body},...n};return e.jsx(ge,{className:s.wrapper.className,style:s.wrapper.style,children:e.jsx(G.BwgConfigProvider,{children:e.jsx("div",{className:s.body.className,style:s.body.style,children:t})})})},fe="data:image/svg+xml,%3csvg%20width='30'%20height='30'%20viewBox='0%200%2030%2030'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M11.9998%2019.9993V20.9993C11.9998%2021.3932%2012.0774%2021.7833%2012.2282%2022.1473C12.3789%2022.5112%2012.5999%2022.8419%2012.8785%2023.1205C13.157%2023.399%2013.4877%2023.62%2013.8517%2023.7708C14.2156%2023.9215%2014.6057%2023.9991%2014.9997%2023.9991C15.3936%2023.9991%2015.7837%2023.9215%2016.1477%2023.7708C16.5116%2023.62%2016.8423%2023.399%2017.1209%2023.1205C17.3994%2022.8419%2017.6204%2022.5112%2017.7712%2022.1473C17.9219%2021.7833%2017.9995%2021.3932%2017.9995%2020.9993V19.9993M20.9994%2011.9997C20.9994%2014.9996%2022.9993%2019.9993%2022.9993%2019.9993H7.00006C7.00006%2019.9993%208.99996%2015.9995%208.99996%2011.9997C8.99996%208.73187%2011.7318%206%2014.9997%206C18.2675%206%2020.9994%208.73187%2020.9994%2011.9997Z'%20stroke='%23485299'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e",xe="data:image/svg+xml,%3csvg%20width='30'%20height='30'%20viewBox='0%200%2030%2030'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_93_4488)'%3e%3cpath%20d='M18%207H21C22.1046%207%2023%207.89543%2023%209V21C23%2022.1046%2022.1046%2023%2021%2023H18M11%2011L7%2015M7%2015L11%2019M7%2015L19%2015'%20stroke='%23485299'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_93_4488'%3e%3crect%20width='30'%20height='30'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",be="data:image/svg+xml,%3csvg%20width='30'%20height='30'%20viewBox='0%200%2030%2030'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M14%206H16C16.5523%206%2017%206.44772%2017%207V7.56879C17%207.99659%2017.2871%208.36825%2017.6822%208.53228C18.0775%208.69638%2018.5377%208.63384%2018.8403%208.33123L19.2426%207.92891C19.6331%207.53838%2020.2663%207.53838%2020.6568%207.92891L22.071%209.34312C22.4616%209.73365%2022.4615%2010.3668%2022.071%2010.7573L21.6688%2011.1596C21.3661%2011.4622%2021.3036%2011.9225%2021.4677%2012.3177C21.6317%2012.7129%2022.0034%2013%2022.4313%2013L23%2013C23.5523%2013%2024%2013.4477%2024%2014V16C24%2016.5523%2023.5523%2017%2023%2017H22.4312C22.0034%2017%2021.6318%2017.2871%2021.4677%2017.6822C21.3036%2018.0775%2021.3661%2018.5377%2021.6688%2018.8403L22.071%2019.2426C22.4616%2019.6331%2022.4616%2020.2663%2022.071%2020.6568L20.6568%2022.071C20.2663%2022.4616%2019.6331%2022.4616%2019.2426%2022.071L18.8403%2021.6688C18.5377%2021.3661%2018.0775%2021.3036%2017.6822%2021.4677C17.2871%2021.6318%2017%2022.0034%2017%2022.4312V23C17%2023.5523%2016.5523%2024%2016%2024H14C13.4477%2024%2013%2023.5523%2013%2023V22.4313C13%2022.0034%2012.7129%2021.6317%2012.3177%2021.4677C11.9225%2021.3036%2011.4622%2021.3661%2011.1596%2021.6688L10.7573%2022.071C10.3668%2022.4616%209.73363%2022.4616%209.34311%2022.071L7.92889%2020.6568C7.53837%2020.2663%207.53837%2019.6331%207.92889%2019.2426L8.33123%2018.8403C8.63384%2018.5377%208.69638%2018.0775%208.53228%2017.6822C8.36825%2017.2871%207.99659%2017%207.56879%2017H7C6.44772%2017%206%2016.5523%206%2016V14C6%2013.4477%206.44772%2013%207%2013L7.56877%2013C7.99658%2013%208.36825%2012.7129%208.53229%2012.3178C8.6964%2011.9225%208.63386%2011.4623%208.33123%2011.1597L7.92891%2010.7573C7.53838%2010.3668%207.53838%209.73365%207.92891%209.34313L9.34312%207.92891C9.73365%207.53839%2010.3668%207.53839%2010.7573%207.92891L11.1597%208.33123C11.4623%208.63386%2011.9225%208.6964%2012.3178%208.53229C12.7129%208.36825%2013%207.99658%2013%207.56876V7C13%206.44772%2013.4477%206%2014%206Z'%20stroke='%23485299'%20stroke-width='1.5'/%3e%3cpath%20d='M17%2015C17%2016.1046%2016.1046%2017%2015%2017C13.8954%2017%2013%2016.1046%2013%2015C13%2013.8954%2013.8954%2013%2015%2013C16.1046%2013%2017%2013.8954%2017%2015Z'%20stroke='%23485299'%20stroke-width='1.5'/%3e%3c/svg%3e",{Header:ye}=i.Layout,P={light:{headerBg:"#ffffff",headerText:"#000000",sidebarBg:"#ffffff",sidebarText:"#000000",buttonPrimary:"#1890ff",buttonPrimaryHover:"#40a9ff",buttonPrimaryActive:"#096dd9",buttonDefault:"#ffffff",buttonDefaultHover:"#f5f5f5",buttonDefaultBorder:"#d9d9d9",buttonPermissionBorder:"#bdb1ff"},dark:{headerBg:"#4a4a4a",headerText:"#ffffff",sidebarBg:"#4a4a4a",sidebarText:"#ffffff",buttonPrimary:"#177ddc",buttonPrimaryHover:"#1890ff",buttonPrimaryActive:"#0958b5",buttonDefault:"#434343",buttonDefaultHover:"#303030",buttonDefaultBorder:"#434343",buttonPermissionBorder:"#bdb1ff"},blue:{headerBg:"#4a90e2",headerText:"#ffffff",sidebarBg:"#4a90e2",sidebarText:"#ffffff",buttonPrimary:"#1890ff",buttonPrimaryHover:"#40a9ff",buttonPrimaryActive:"#096dd9",buttonDefault:"#ffffff",buttonDefaultHover:"#f0f8ff",buttonDefaultBorder:"#4a90e2",buttonPermissionBorder:"#bdb1ff"},modern:{headerBg:"#f3f4ff",headerText:"#333333",sidebarBg:"#ffffff",sidebarText:"#555555",buttonPrimary:"#6449FC",buttonPrimaryHover:"#6449FC",buttonPrimaryActive:"#6449FC",buttonDefault:"#ffffff",buttonDefaultHover:"#f5f5f5",buttonDefaultBorder:"#dddddd",buttonPermissionBorder:"#bdb1ff"}},Y=({config:n={}})=>{const t={wrapper:{className:"header-wrapper",...n.wrapper},logo:{gap:10,...n.logo},right:{gap:14,minWidth:200,avatar:{width:30,height:30,...n.right?.avatar},...n.right},...n},s=B.useNavigate(),[r,o]=l.useState("modern"),p=l.useRef(null),x=j.useLogout(),c=(a,d)=>{try{if(!/^[a-zA-Z0-9-]+$/.test(a)){console.warn(`Invalid CSS variable name: ${a}`);return}if(!/^[#a-zA-Z0-9()\s,.-]+$/.test(d)){console.warn(`Invalid CSS variable value: ${d}`);return}document.documentElement.style.setProperty(a,d)}catch(L){console.error("CSS variable setting failed:",L)}},m=a=>{if(!P[a]){console.warn(`Invalid theme: ${a}`);return}o(a);const d={...P[a]};c("--header-bg",d.headerBg),c("--header-text",d.headerText),c("--sidebar-bg",d.sidebarBg),c("--sidebar-text",d.sidebarText),c("--button-primary",d.buttonPrimary),c("--button-primary-hover",d.buttonPrimaryHover),c("--button-primary-active",d.buttonPrimaryActive),c("--button-default",d.buttonDefault),c("--button-default-hover",d.buttonDefaultHover),c("--button-default-border",d.buttonDefaultBorder),c("--button-permission-border",d.buttonPermissionBorder),p.current&&p.current.setAttribute("data-theme",a),document.documentElement.setAttribute("data-theme",a),I.setCookie(I.THEME_COOKIE_NAME,a,30)};l.useEffect(()=>{const a=I.getCookie(I.THEME_COOKIE_NAME);a&&P[a]?m(a):m("modern")},[]);const h=()=>({...P[r]}).headerBg,f=()=>{x(),s("/login")};I.getCurrentDateString?I.getCurrentDateString("HH:mm:ss"):new Date().toLocaleTimeString("ko-KR");const C=e.jsxs("div",{style:{padding:"8px 0"},children:[e.jsxs("div",{style:{marginBottom:"12px"},children:[e.jsx(i.ColorPicker,{value:h(),disabled:!0,size:"small"}),e.jsx("span",{style:{marginLeft:"8px",fontSize:"12px"},children:"현재 테마 색상"})]}),e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[e.jsx(i.Button,{type:r==="modern"?"primary":"default",size:"small",onClick:()=>m("modern"),style:{textAlign:"left",backgroundColor:r==="modern"?P.modern.headerBg:void 0,color:r==="modern"?P.modern.headerText:void 0},children:"모던"},"modern"),Object.entries(P).filter(([a])=>a!=="modern").map(([a,d])=>e.jsx(i.Button,{type:r===a?"primary":"default",size:"small",onClick:()=>m(a),style:{textAlign:"left",backgroundColor:r===a?d.headerBg:void 0,color:r===a?d.headerText:void 0},children:a==="light"?"라이트":a==="dark"?"다크":a==="blue"?"블루":a},a))]})]});return e.jsxs(ye,{className:t.wrapper.className,style:{...t.wrapper.style},children:[t.logo&&e.jsx("div",{className:"header-left",children:e.jsx("div",{className:"logo-container",style:{gap:t.logo?.gap},children:t.logo?.items})}),e.jsxs("div",{className:"header-right",style:{gap:t.right?.gap,minWidth:t.right?.minWidth},children:[t.right?.items?.map((a,d)=>e.jsx("div",{children:a},d)),e.jsx(i.Button,{type:"text",icon:e.jsx("img",{src:fe,alt:"알림"}),className:"alarm-btn"}),e.jsx(i.Popover,{content:C,title:"테마 설정",trigger:"click",placement:"bottomRight",children:e.jsx(i.Button,{type:"text",icon:e.jsx("img",{src:be,alt:"개인설정"}),className:"theme-btn"})}),e.jsx(i.Button,{type:"text",icon:e.jsx("img",{src:xe,alt:"로그아웃"}),onClick:f,className:"logout-btn"}),e.jsx(i.Avatar,{icon:e.jsx(v.UserOutlined,{}),className:"avatar",style:{width:t.right?.avatar?.width,height:t.right?.avatar?.height}})]})]})},H=Object.freeze({Translate:{toString(n){if(!n)return;const{x:t,y:s}=n;return"translate3d("+(t?Math.round(t):0)+"px, "+(s?Math.round(s):0)+"px, 0)"}},Scale:{toString(n){if(!n)return;const{scaleX:t,scaleY:s}=n;return"scaleX("+t+") scaleY("+s+")"}},Transform:{toString(n){if(n)return[H.Translate.toString(n),H.Scale.toString(n)].join(" ")}},Transition:{toString(n){let{property:t,duration:s,easing:r}=n;return t+" "+s+"ms "+r}}}),Ce=l.memo(({className:n,...t})=>{const s=l.useRef(null),{attributes:r,listeners:o,transform:p,transition:x,isDragging:c,setNodeRef:m}=V.useSortable({id:t["data-node-key"]}),[h,f]=l.useState();l.useEffect(()=>{const a=s.current;if(a)if(c){const d=Math.round(a.getBoundingClientRect().width);f(d)}else f(void 0)},[c]);const C={...t.style,transform:p?H.Transform.toString(p):void 0,transition:x??"transform 0.16s ease",cursor:"grab",userSelect:"none",willChange:"transform",width:h??void 0,minWidth:h??void 0,maxWidth:h??void 0,flex:h!==void 0?"0 0 auto":void 0};return l.cloneElement(t.children,{ref:a=>{s.current!==a&&(s.current=a),m(a)},style:C,...r,...o})}),ve=l.memo(function({config:t,isFirst:s,isLast:r,canCloseAll:o,onFirst:p,onPrev:x,onNext:c,onLast:m,onCloseAll:h}){return e.jsxs("div",{className:t.wrapper?.className,style:t.wrapper?.style,children:[e.jsx(i.Tooltip,{title:"첫 번째 탭",className:t.tooltip?.className,style:t.tooltip?.style,children:e.jsx(i.Button,{className:t.buttons?.className,style:t.buttons?.style,size:"small",icon:e.jsx(v.StepBackwardOutlined,{}),onClick:p,disabled:s})}),e.jsx(i.Tooltip,{title:"이전 탭",className:t.tooltip?.className,style:t.tooltip?.style,children:e.jsx(i.Button,{className:t.buttons?.className,style:t.buttons?.style,size:"small",icon:e.jsx(v.LeftOutlined,{}),onClick:x,disabled:s})}),e.jsx(i.Tooltip,{title:"다음 탭",className:t.tooltip?.className,style:t.tooltip?.style,children:e.jsx(i.Button,{className:t.buttons?.className,style:t.buttons?.style,size:"small",icon:e.jsx(v.RightOutlined,{}),onClick:c,disabled:r})}),e.jsx(i.Tooltip,{title:"마지막 탭",className:t.tooltip?.className,style:t.tooltip?.style,children:e.jsx(i.Button,{className:t.buttons?.className,style:t.buttons?.style,size:"small",icon:e.jsx(v.StepForwardOutlined,{}),onClick:m,disabled:r})}),e.jsx(i.Tooltip,{title:"모든 탭 닫기",className:t.tooltip?.className,style:t.tooltip?.style,children:e.jsx(i.Button,{className:t.buttons?.className,style:t.buttons?.style,size:"small",icon:e.jsx(v.CloseOutlined,{}),onClick:h,disabled:!o})})]})}),X=({config:n={}})=>{const t={wrapper:{className:"menu-tab-wrapper",...n?.wrapper},tabs:{className:"menu-tabs",...n?.tabs},nav:{wrapper:{className:"menu-nav-wrapper",...n?.nav?.wrapper},buttons:{className:"menu-nav-buttons",...n?.nav?.buttons},tooltip:{className:"menu-nav-tooltip",...n?.nav?.tooltip},...n?.nav},...n},s=j.useMenuViewStore(g=>g.tabs),r=j.useMenuViewStore(g=>g.activeMenuId),o=j.useMenuViewStore(g=>g.focusTab),p=j.useMenuViewStore(g=>g.closeTab),x=j.useMenuViewStore(g=>g.reorderTabs),c=O.useSensors(O.useSensor(O.PointerSensor,{activationConstraint:{distance:6}})),m=g=>{o(g)},h=(g,N)=>{N==="remove"&&typeof g=="string"&&p(g)},f=()=>{s.length>0&&o(s[0].key)},C=()=>{if(!r||s.length<=1)return;const g=s.findIndex(N=>N.key===r);g>0&&o(s[g-1].key)},a=()=>{if(!r||s.length<=1)return;const g=s.findIndex(N=>N.key===r);g<s.length-1&&o(s[g+1].key)},d=()=>{s.length>0&&o(s[s.length-1].key)},L=()=>{s.forEach(g=>{p(g.key)})},E=r?s.findIndex(g=>g.key===r):-1,F=E===0,R=E===s.length-1,_=l.useMemo(()=>s.map(g=>({key:g.key,label:g.label,closable:!0,children:null})),[s]),z=l.useCallback(({active:g,over:N})=>{if(!N||g.id===N.id)return;const S=s.findIndex(u=>u.key===g.id),T=s.findIndex(u=>u.key===N.id);if(S<0||T<0||S===T)return;const b=s.map(u=>u.key),y=V.arrayMove(b,S,T);x?.(y)},[s,x]),A=l.useCallback((g,N)=>e.jsx(O.DndContext,{sensors:c,onDragEnd:z,collisionDetection:O.closestCenter,modifiers:[re.restrictToHorizontalAxis],children:e.jsx(V.SortableContext,{items:s.map(S=>S.key),strategy:V.horizontalListSortingStrategy,children:e.jsx(N,{...g,children:S=>l.createElement(Ce,{...S.props,key:S.key},S)})})}),[c,z,s]);return e.jsx("div",{className:t.wrapper.className,style:{...t.wrapper.style,display:s.length===0?"none":"block"},children:e.jsx(i.Tabs,{type:"editable-card",activeKey:r||void 0,onChange:m,onEdit:h,className:t.tabs.className,style:t.tabs.style,hideAdd:!0,items:_,tabBarExtraContent:e.jsx(ve,{config:t?.nav,isFirst:!!F,isLast:!!R,canCloseAll:s.length>0,onFirst:f,onPrev:C,onNext:a,onLast:d,onCloseAll:L}),renderTabBar:A})})},{Sider:we}=i.Layout,Q=({config:n={}})=>{const t={collapsed:!1,width:230,menuGubunCode:{mainMenu:"MAIN",subMenu:"SUB",program:"PRGM",...n?.menuGubunCode},className:{wrapper:"side-wrapper",search:"sider-search-ipt",segmented:{wrapper:"sider-segmented",item:"sider-segment-item",...n?.className?.segmented},sider:{content:"sider-content",loading:"sider-loading",loadingText:"sider-loading-text",error:"sider-error",errorIcon:"sider-error-icon",errorText:"sider-error-text",menu:"sider-menu",menuContainer:"sider-menu-container",...n?.className?.sider},...n?.className},style:{search:{placeholder:"메뉴명, 메뉴번호 검색...",height:30,...n?.style?.search},...n?.style},...n};console.log("@@ 사이드바 config : ",n);const[s,r]=l.useState(""),[o,p]=l.useState("category"),{activeMenuId:x,sidebarCollapsed:c,openTabFromMenu:m,toggleSidebar:h}=j.useMenuViewStore(),{menuList:f,isLoading:C,error:a,findMenuById:d}=j.useMenuModelStore(),{nodes:L,treeNodes:E,loadFavoritesIfNeeded:F}=j.useFavoriteStore(),R=l.useMemo(()=>{const b=[],y=(u,k=0)=>{if(u.menuGbCd===t.menuGubunCode.program&&u.scrnPath){const w=" ".repeat(k),M=u.menuNo||"";b.push({value:u.menuId,label:e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[e.jsxs("span",{children:[w,u.menuNm]}),e.jsx("span",{style:{fontSize:"11px",color:"#999",backgroundColor:"#f0f0f0",padding:"2px 6px",borderRadius:"3px",marginLeft:"8px"},children:M})]}),menuItem:u})}u.children&&u.children.length>0&&u.children.forEach(w=>y(w,k+1))};return f.forEach(u=>y(u)),b},[f]),_=l.useMemo(()=>s.trim()?R.filter(b=>{const y=b.menuItem.menuNm.toLowerCase(),u=String(b.menuItem.menuNo||"미지정").toLowerCase(),k=s.toLowerCase();return y.includes(k)||u.includes(k)}):[],[R,s]),z=b=>{if(!b||typeof b!="string"){console.warn("Invalid menu selection value:",b);return}if(!/^[a-zA-Z0-9_-]+$/.test(b)){console.warn("Invalid menu ID format:",b);return}const y=R.find(u=>u.value===b);if(y){const{menuItem:u}=y;if(!u||!u.menuId||!u.menuNm){console.warn("Invalid menu item:",u);return}u.menuGbCd===t.menuGubunCode.program&&u.scrnPath?(console.log("✅ 검색으로 프로그램 메뉴 선택 - 탭 추가 및 setCurrentProgram 호출"),console.log("메뉴명:",u.menuNm,"경로:",u.scrnPath,"scrnId:",u.scrnId),m(u)):(u.menuGbCd===t.menuGubunCode.mainMenu||u.menuGbCd===t.menuGubunCode.subMenu)&&(console.log("❌ 검색으로 메인/서브 메뉴 선택 - 이벤트 무시"),console.log("메뉴명:",u.menuNm,"menuGbCd:",u.menuGbCd)),r("")}},A=l.useCallback(b=>{const y=d(b);y?.menuGbCd===t.menuGubunCode.program&&(console.log("메뉴명:",y.menuNm,"경로:",y.scrnPath,"scrnId:",y.scrnId),m(y))},[d,m]),g=l.useCallback(b=>b.map(y=>({key:y.menuId,label:e.jsx("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:e.jsx("span",{children:y.menuNm})}),icon:N(y.iconCd,y.menuGbCd),children:y.children&&y.children.length>0?g(y.children):void 0})),[]),N=(b,y)=>{if(b){const u=q[b];if(u)return e.jsx(u,{})}if(y)switch(y){case t.menuGubunCode.mainMenu:return e.jsx(q.HomeOutlined,{});case t.menuGubunCode.subMenu:return null;case t.menuGubunCode.program:return null;default:return null}return null},S=l.useCallback(b=>{if(f.length===0)return[];const y=k=>{if(k)return typeof k=="string"?L[k]:k},u=k=>{if(k.type==="M"){const w=k,M=d(w.menuId)||void 0,W=!!M,se=W?`${M?.menuNm??w.menuNm??w.menuId}`:`${w.menuNm??w.menuId} (삭제됨)`;return{key:w.menuId,label:se,icon:W?void 0:e.jsx(v.WarningOutlined,{style:{color:"#faad14"}})}}else{const w=k,M=(w.children??[]).map(y).filter(Boolean).map(u);return{key:w.bkmkId,label:w.bkmkNm??w.bkmkId,icon:w.prntBkmkId==="-"?e.jsx(v.StarOutlined,{}):e.jsx(v.FolderOpenOutlined,{}),children:M}}};return b.map(u)},[d,L,f]),T=l.useMemo(()=>S(E),[S,E,L]);return l.useEffect(()=>{I.getUserId()&&F(I.getUserId())},[F]),l.useEffect(()=>{o==="category"&&r("")},[o]),e.jsxs(we,{className:t.className.wrapper,collapsed:t.collapsed||c,trigger:null,width:t.width||230,children:[e.jsx("div",{style:{position:"absolute",top:"9px",right:"-25px",zIndex:"1000",width:"25px",height:"41px",backgroundColor:"#ffffff",border:"1px solid #dddddd",borderRadius:"0 10px 10px 0",display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer",boxShadow:"2px 2px 2px rgba(0, 0, 0, 0.05)",transition:"all 0.3s ease"},children:e.jsx(i.Button,{type:"text",icon:t.collapsed||c?e.jsx(v.MenuUnfoldOutlined,{}):e.jsx(v.MenuFoldOutlined,{}),style:{fontSize:"12px",color:"#787878",padding:0,width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center"},onClick:h})}),!(t.collapsed||c)&&e.jsx("div",{style:{padding:10},children:e.jsx(i.AutoComplete,{value:s,options:_,onSelect:z,onSearch:r,style:{width:"100%"},allowClear:!0,children:e.jsx(i.Input,{className:t.className.search,placeholder:t.style.search.placeholder,prefix:e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:e.jsx("path",{d:"M16.4972 16.6667L13.0355 13.1694M14.8475 8.75C14.8475 5.29822 12.0777 2.5 8.66105 2.5C5.24437 2.5 2.47461 5.29822 2.47461 8.75C2.47461 12.2018 5.24437 15 8.66105 15C12.0777 15 14.8475 12.2018 14.8475 8.75Z",stroke:"#5F5F5F",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),size:"middle",style:{height:t.style.search.height||30}})})}),!(t.collapsed||c)&&e.jsx("div",{style:{width:"100%",padding:"0px 10px",marginBottom:"10px"},children:e.jsx(i.Segmented,{className:t.className.segmented.wrapper,options:[{label:e.jsxs(e.Fragment,{children:[e.jsx("span",{className:t.className.segmented.item,children:e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:[e.jsx("path",{d:"M2.46979 6.90625H13.0298C13.7298 6.90625 14.2965 7.47292 14.2965 8.17292V13.5396H1.20312V8.17292C1.20312 7.47292 1.76979 6.90625 2.46979 6.90625Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),e.jsx("path",{d:"M2.76318 4.70626C2.76318 4.00626 3.18318 3.75293 3.69652 3.75293H11.8032C12.3165 3.75293 12.7365 4.00626 12.7365 4.70626",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),e.jsx("path",{d:"M4.71631 1.45996H10.783",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}),"카테고리"]}),value:"category"},{label:e.jsxs(e.Fragment,{children:[e.jsx("span",{className:t.className.segmented.item,children:e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",children:e.jsx("path",{d:"M7.11329 1.33356C7.32084 0.888813 7.66676 0.888813 7.88296 1.33356L9.258 4.25619C9.46556 4.70094 10.0277 5.12753 10.4947 5.20014L13.5647 5.67212C14.0317 5.74473 14.1441 6.08964 13.7982 6.43455L11.5757 8.70367C11.2384 9.04858 11.0222 9.73839 11.1 10.2285L11.6276 13.4325C11.7054 13.9227 11.4287 14.1405 11.0049 13.9045L8.26348 12.3887C7.83972 12.1527 7.15653 12.1527 6.73277 12.3887L3.99134 13.9045C3.56759 14.1405 3.29085 13.9227 3.36868 13.4325L3.89621 10.2285C3.97405 9.73839 3.76649 9.04858 3.42057 8.70367L1.19802 6.43455C0.86075 6.08964 0.964526 5.74473 1.43152 5.67212L4.50158 5.20014C4.96857 5.12753 5.5307 4.70094 5.73825 4.25619L7.11329 1.33356Z",stroke:"currentColor",strokeWidth:"1.5",strokeMiterlimit:"4"})})}),"즐겨찾기"]}),value:"favorite"}],value:o,onChange:b=>{p(b)},style:{width:"100%"},block:!0})}),e.jsxs("div",{className:t.className.sider.content,children:[C&&e.jsxs("div",{className:t.className.sider.loading,children:[e.jsx(i.Spin,{size:"default"}),e.jsx("div",{className:t.className.sider.loadingText,children:"메뉴 로딩 중..."})]}),a&&e.jsxs("div",{className:t.className.sider.error,children:[e.jsx(v.ExclamationCircleOutlined,{className:t.className.sider.errorIcon}),e.jsx("div",{className:t.className.sider.errorText,children:"메뉴 로드 실패"})]}),!C&&!a&&o==="category"&&f.length===0&&e.jsx("div",{style:{padding:"16px",textAlign:"center",color:"#666",fontSize:"12px"},children:"메뉴가 없습니다"}),!C&&!a&&o==="favorite"&&T.length===0&&e.jsx("div",{style:{padding:"16px",textAlign:"center",color:"#666",fontSize:"12px"},children:"즐겨찾기된 메뉴가 없습니다"}),!C&&!a&&o==="category"&&f.length>0&&e.jsx("div",{className:t.className.sider.menuContainer,children:e.jsx(i.Menu,{theme:"light",mode:"inline",items:g(f),className:t.className.sider.menu,selectedKeys:[x||""],onClick:b=>A(b.key)})}),!C&&!a&&o==="favorite"&&T.length>0&&e.jsx("div",{className:t.className.sider.menuContainer,children:e.jsx(i.Menu,{theme:"light",mode:"inline",items:T,className:t.className.sider.menu,selectedKeys:[x||""],onClick:b=>A(b.key)})})]})]})};class je extends l.Component{constructor(t){super(t),this.resetError=()=>{this.setState({hasError:!1,error:void 0,errorInfo:void 0})},this.state={hasError:!1}}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,s){console.error("ErrorBound caught an error:",t,s),this.setState({error:t,errorInfo:s})}render(){return this.state.hasError?this.props.fallback?this.props.fallback:e.jsxs("div",{style:{padding:"40px 20px",textAlign:"center",backgroundColor:"#fafafa",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center"},children:[e.jsx(i.Result,{status:"error",title:"컴포넌트 로딩 중 오류가 발생했습니다",subTitle:this.state.error?`오류 내용: ${this.state.error.message}`:"알 수 없는 오류가 발생했습니다",extra:[e.jsx(i.Button,{type:"primary",icon:e.jsx(v.ReloadOutlined,{}),onClick:this.resetError,style:{marginRight:8},children:"다시 시도"},"retry")]}),this.state.error&&e.jsxs("details",{style:{marginTop:"20px",textAlign:"left",maxWidth:"600px",backgroundColor:"#fff",padding:"16px",borderRadius:"6px",border:"1px solid #d9d9d9"},children:[e.jsx("summary",{style:{cursor:"pointer",fontWeight:"bold"},children:"오류 상세 정보"}),e.jsx("pre",{style:{marginTop:"8px",fontSize:"12px",color:"#666",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:this.state.error.stack})]})]}):this.props.children}}const ke=({isActive:n,instance:t,params:s})=>{const{activeMenuId:r,closeTab:o}=j.useMenuViewStore(),p=()=>{r&&o(r)};return t?e.jsx("div",{style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",visibility:n?"visible":"hidden",opacity:n?1:0,transition:"opacity 0.2s ease-in-out",pointerEvents:n?"auto":"none"},children:e.jsx(je,{children:e.jsx(l.Suspense,{fallback:null,children:t&&l.createElement(t,{params:s})})})}):e.jsx("div",{style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center",visibility:n?"visible":"hidden",opacity:n?1:0,transition:"opacity 0.2s ease-in-out",pointerEvents:n?"auto":"none"},children:e.jsx("div",{style:{width:500,maxWidth:"90%",background:"#fff",borderRadius:16,boxShadow:"0 8px 30px rgba(0,0,0,0.05)",padding:24},children:e.jsx(i.Result,{icon:e.jsx(v.ExclamationCircleTwoTone,{twoToneColor:"#69b1ff"}),status:"warning",title:"등록된 메뉴 정보가 없거나 유효한 메뉴가 아닙니다.",subTitle:e.jsx(i.Typography.Text,{type:"secondary",children:"자세한 내용은 관리자에게 문의바랍니다."}),extra:e.jsx(i.Space,{children:e.jsx(i.Button,{icon:e.jsx(v.CloseOutlined,{}),onClick:p,children:"탭 닫기"})})})})})},J=l.memo(ke),ee=()=>e.jsxs(e.Fragment,{children:[e.jsx("link",{rel:"preload",as:"image",href:"/src/styles/assets/images/backgrounds/LandingContainer_bg.png"}),e.jsx("div",{className:"LandingContainer-wrap",children:e.jsx("div",{className:"inner",children:e.jsx("div",{className:"content"})})})]}),Ne=(n,t)=>{console.log("createPopupViewLoader 호출 - popupUrl:",n);const r=(o=>{if(o.startsWith("/src/pages/views/popup/")){const c=o+".tsx";return console.log(`팝업 URL 변환: ${o} -> ${c}`),c}const x=`/src/pages/views/popup/${o.startsWith("/")?o.substring(1):o}.tsx`;return console.log(`팝업 URL 변환: ${o} -> ${x}`),x})(n);return!r||!t?.glob[r]?(console.warn(`팝업 뷰를 찾을 수 없습니다: ${n} (${r})`),console.warn("사용 가능한 팝업 뷰들:",Object.keys(t?.glob||{})),null):t?.glob[r]},Se=({popup:n,modules:t})=>{const[s,r]=l.useState(null),[o,p]=l.useState(!1),[x,c]=l.useState(null),m=()=>{console.log("PopupArea - handleClose:",n.popupId),j.usePopupStore.getState().closePopup(n.popupId)};return l.useEffect(()=>{(async()=>{console.log("팝업 뷰 로드 시작:",n.popupUrl),p(!0),c(null);try{const f=Ne(n.popupUrl,t);if(!f){const d=`팝업 뷰를 찾을 수 없습니다: ${n.popupUrl}`;console.error(d),c(d),p(!1);return}console.log("팝업 뷰 모듈 로드 중...");const C=await f();console.log("팝업 뷰 모듈 로드 완료:",C);const a=C.default;if(console.log("팝업 뷰 컴포넌트:",a),!a)throw new Error("팝업 뷰 컴포넌트를 찾을 수 없습니다");r(()=>a),console.log("팝업 뷰 설정 완료")}catch(f){console.error("팝업 뷰 로드 실패:",f),c(f instanceof Error?f.message:"팝업 뷰 로드 실패")}finally{p(!1)}})()},[n.popupUrl]),o?e.jsxs("div",{className:"popup-loading",children:[e.jsx(i.Spin,{size:"large"}),e.jsx("p",{children:"팝업을 로드하는 중..."})]}):x?e.jsxs("div",{className:"popup-error",children:[e.jsx(i.Empty,{description:x,image:i.Empty.PRESENTED_IMAGE_SIMPLE}),e.jsx(i.Button,{icon:e.jsx(v.ReloadOutlined,{}),onClick:()=>window.location.reload(),children:"다시 시도"})]}):s?e.jsx(l.Suspense,{fallback:e.jsxs("div",{className:"popup-loading",children:[e.jsx(i.Spin,{size:"large"}),e.jsx("p",{children:"컴포넌트를 로드하는 중..."})]}),children:e.jsx(s,{popup:{...n,close:m},onClose:m})}):e.jsx("div",{className:"popup-empty",children:e.jsx(i.Empty,{description:"팝업 내용을 불러올 수 없습니다."})})},te=({modules:n})=>{const{popups:t}=j.usePopupStore();return t.length===0?null:e.jsx(e.Fragment,{children:t.map(s=>{const r=s.config||{},o=r.width||s.width||800,p=r.height||s.height||600,x=r.title||s.popupTitle,c=s.buttonList?.map((m,h)=>({key:m.btnId||`btn_${h}`,text:m.btnNm,type:m.btnId==="CLOSE"?"default":"primary",disabled:m.enblYn!=="Y",danger:!1}))||[];return console.log("팝업 렌더링:",{popupId:s.popupId,popupCode:s.popupCode,title:x,width:o,height:p,buttons:c}),e.jsx("div",{children:e.jsx(Se,{popup:s,modules:n})},s.popupId)})})},Ie=()=>{const{popups:n,closePopup:t}=j.usePopupStore();return e.jsx(e.Fragment,{children:n.map(s=>{if(!(s.isLocal||s.popupCode.startsWith("CORE_")))return null;const r=K[s.popupCode];if(!r)return null;const o=r.component;return e.jsx(l.Suspense,{fallback:null,children:e.jsx(o,{popup:s,onClose:()=>t(s.popupId)})},s.popupId)})})},Le=n=>({position:"absolute",inset:0,visibility:n?"visible":"hidden",opacity:n?1:0,transition:"opacity 0.2s ease-in-out",pointerEvents:n?"auto":"none"}),Te=({once:n=!0})=>{const{lock:t}=D.useLock(),s=l.useRef(!1);return l.useEffect(()=>{n&&s.current||(s.current=!0,t())},[n,t]),null},ne=({isActive:n,flagged:t,tabKey:s,onUnlock:r,children:o})=>{const p=l.useRef(null),[x,c]=l.useState(!1),m=l.useCallback(f=>{p.current=f,c(!!f)},[]),h=Le(n);return e.jsx("div",{ref:m,style:h,children:x?e.jsxs(D.ScreenProtectProvider,{idleMs:Number.POSITIVE_INFINITY,persistLocked:!1,overlayScope:"scoped",overlayPosition:"absolute",eventTarget:p.current,overlayId:`tab-overlay-${s}`,onUnlock:async()=>(r(),!0),children:[n&&t?e.jsx(Te,{once:!0}):null,o]}):o})},Pe=({config:n={},modules:t={view:{path:"/src/pages/views/content"},popup:{path:"/src/pages/views/popups"}}})=>{const s=l.useRef(new Map),{tabs:r,tabParams:o,activeMenuId:p,tabProtectFlag:x,clearProtectFlagForKey:c}=j.useMenuViewStore(),m=l.useCallback(h=>{const f=s.current.get(h.key);if(f)return f;const C=h.gubun==="M"?`${t.view.path}${h.menuItem?.scrnPath}.tsx`:`${t.view.path}${h.componentItem?.scrnPath}.tsx`;let a=t.view?.glob?.[C];if(!a&&typeof{url:typeof document>"u"?require("url").pathToFileURL(__filename).href:$&&$.tagName.toUpperCase()==="SCRIPT"&&$.src||new URL("chunks/layout-components-bb0cWC3I.cjs",document.baseURI).href}<"u",a){const d=l.lazy(a);return s.current.set(h.key,d),d}return null},[t.view?.glob]);return e.jsxs(i.Layout,{className:"main-layout",children:[e.jsx(Y,{config:n?.header}),e.jsxs(i.Layout,{children:[e.jsx(Q,{config:n?.sidebar}),e.jsxs("div",{className:"content-container",children:[e.jsx(X,{config:n?.menuTab}),e.jsx(Z,{config:n?.content,children:e.jsxs(D.SearchBoxProvider,{children:[e.jsx("div",{className:"view-container",children:e.jsxs("div",{style:{position:"relative",width:"100%",height:"100%"},children:[r.map(h=>{const f=m(h),C=p===h.key,a=!!x?.[h.key],d=o[h.key]||{};return e.jsx(ne,{isActive:C,flagged:a,tabKey:h.key,onUnlock:()=>c(h.key),children:e.jsx(J,{isActive:C,instance:f||void 0,params:d},h.key)},h.key)}),(!p||r.length===0)&&e.jsx(ee,{})]})}),e.jsx(Ie,{}),e.jsx(te,{modules:t?.popup})]})})]})]}),e.jsx(G.QuickServiceToggle,{})]})},Me=({config:n,children:t})=>e.jsx("div",{children:"BwgPortal02"});function Be({config:n,ui:t,navigate:s}){const{loading:r,capsOn:o,prefills:p,onKeyDown:x,doLogin:c}=j.useLogin(n),m=h=>c(h,s);return l.useEffect(()=>{j.useSystemStore.getState().fetchSystemMap()},[]),e.jsx(e.Fragment,{children:t({onSubmit:m,loading:r,capsOn:o,onKeyDown:x,prefills:p})})}function Ee({onSubmit:n,loading:t,capsOn:s,onKeyDown:r,prefills:o,labels:p={id:"ID 혹은 사번",pw:"비밀번호",remember:"Remember me",login:"로그인"},header:x,footer:c}){const[m]=i.Form.useForm();return l.useEffect(()=>{o&&(o.id||o.pswr)&&m.setFieldsValue({id:o.id,pswr:o.pswr})},[o,m]),e.jsx("div",{className:"login-main",children:e.jsxs("div",{className:"login_wrap",children:[x||e.jsx("div",{className:"logo_box"}),e.jsx("div",{className:"login_title"}),e.jsx(i.Form,{form:m,onFinish:n,className:"login-form",children:e.jsxs(i.Flex,{vertical:!0,children:[e.jsx(i.Form.Item,{name:"id",rules:[{required:!0,message:"아이디를 입력해주세요."},{whitespace:!0,message:"아이디는 공백이 들어갈 수 없습니다."}],children:e.jsx(i.Input,{allowClear:!0,placeholder:p.id,onKeyDown:r})}),e.jsx(i.Form.Item,{name:"pswr",rules:[{required:!0,message:"비밀번호를 입력하세요."}],children:e.jsx(i.Input.Password,{allowClear:!0,placeholder:p.pw,onKeyDown:r})}),e.jsx(i.Form.Item,{name:"remember",valuePropName:"checked",children:e.jsx(i.Checkbox,{children:p.remember})}),e.jsx("div",{className:s?"caps-lock caps-lock-on":"caps-lock",children:s?"Caps Lock On":"Caps Lock Off"}),e.jsx(i.Form.Item,{children:e.jsx(i.Button,{type:"primary",htmlType:"submit",loading:t,block:!0,children:p.login})})]})}),c]})})}exports.AppWrapper=he;exports.BwgCoreLogin=Be;exports.BwgPortal01=Pe;exports.BwgPortal02=Me;exports.ConfigurableContent=Z;exports.ConfigurableHeader=Y;exports.ConfigurableMenuTab=X;exports.ConfigurableSidebar=Q;exports.ContentContainer=J;exports.DefaultLoginView=Ee;exports.LandingContainer=ee;exports.LoadingContainer=me;exports.PopupContainer=te;exports.ProtectWrapper=ne;exports.localPopupRegistry=K;
@@ -1 +0,0 @@
1
- {"version":3,"file":"CMHldyCfg.d.ts","sourceRoot":"","sources":["../../../src/components/guide/CMHldyCfg.tsx"],"names":[],"mappings":"AAqBA,QAAA,MAAM,SAAS,+CAqNd,CAAC;AAEF,eAAe,SAAS,CAAC"}