(()=>{var d,o,s,c,u,a={59:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,"h3[data-v-f6c7657c]{margin-top:1.5rem}li[data-v-f6c7657c],ul[data-v-f6c7657c]{margin:0;padding:0}li[data-v-f6c7657c]{list-style:none}",""]),t.default=a},316:function(e,t,a){var l=a(59);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("732f8b4e",l,!0,{sourceMap:!1,shadowMode:!1})},3035:function(e,t,a){var l=a(48836);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("5aa8339a",l,!0,{sourceMap:!1,shadowMode:!1})},3609:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".schedule-dialog[data-v-20d19428]{width:min(720px,92vw);max-width:92vw;border-radius:18px}.dialog-section[data-v-20d19428]{padding:20px}.view-notice[data-v-20d19428]{margin-bottom:16px;background:#eef5ff;color:#31557d}.view-meta[data-v-20d19428],.view-notice[data-v-20d19428]{padding:12px 14px;border-radius:12px;font-size:13px}.view-meta[data-v-20d19428]{display:grid;gap:6px;margin-top:12px;background:#f7f9fc;color:#4b6075}.dialog-actions[data-v-20d19428]{padding:12px 20px 20px}.action-spacer[data-v-20d19428]{flex:1 1 auto}",""]),t.default=a},3861:function(e,t,a){var l=a(84999);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("961cafbe",l,!0,{sourceMap:!1,shadowMode:!1})},3895:function(e,t,a){e.exports=a.p+"img/login.d83e087a.png"},4332:function(e,t,a){var l=a(75339);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("420ded5d",l,!0,{sourceMap:!1,shadowMode:!1})},5006:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".parcel-lookup[data-v-a4f27e88]{overflow:visible}.lookup-section-title[data-v-a4f27e88]{margin-bottom:10px;color:#183b56;font-size:14px;font-weight:700}.lookup-date-column[data-v-a4f27e88],.lookup-search-column[data-v-a4f27e88]{width:100%}@media (min-width:768px){.lookup-date-column[data-v-a4f27e88]{flex:0 0 39%;max-width:39%;padding-right:28px}.lookup-search-column[data-v-a4f27e88]{flex:0 0 61%;max-width:61%;padding-left:28px}}.range-picker[data-v-a4f27e88]{height:100%;padding:4px 0}.quick-range-buttons[data-v-a4f27e88]{justify-content:flex-start}.search-panel[data-v-a4f27e88]{height:100%;padding:4px 0}.search-tabs[data-v-a4f27e88]{justify-content:flex-start}.search-panels[data-v-a4f27e88]{background:transparent}.lookup-divider[data-v-a4f27e88]{margin:2px 0 12px}.advanced-filter[data-v-a4f27e88]{border:1px solid #e4e9ee;border-radius:8px;background:#fff}.advanced-filter-panel[data-v-a4f27e88]{padding:14px 16px 18px;background:#f8fafc}.advanced-filter-toolbar[data-v-a4f27e88]{display:flex;align-items:center;min-height:32px;margin-bottom:10px}.advanced-filter-title[data-v-a4f27e88]{display:flex;align-items:center;gap:8px;color:#183b56;font-size:14px;font-weight:700}.advanced-filter-grid[data-v-a4f27e88]{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:12px}.advanced-filter-section[data-v-a4f27e88]{min-width:0;padding:14px;border:1px solid #e4e9ee;border-radius:8px;background:#fff}.advanced-filter-section--wide[data-v-a4f27e88]{grid-column:1/-1}.advanced-filter-section--console[data-v-a4f27e88]{min-width:0}.advanced-filter-section__title[data-v-a4f27e88]{margin-bottom:10px;color:#183b56;font-size:13px;font-weight:700}.advanced-filter-control-grid[data-v-a4f27e88]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.advanced-filter-control[data-v-a4f27e88]{min-width:0}.advanced-filter-control__label[data-v-a4f27e88]{margin-bottom:6px;color:#5f6b76;font-size:12px;font-weight:600}.advanced-filter-btn-group[data-v-a4f27e88]{border:1px solid #cfd8e3;border-radius:4px;overflow:hidden}.advanced-filter-btn-group[data-v-a4f27e88] .q-btn+.q-btn{border-left:1px solid #cfd8e3}.order-status-options[data-v-a4f27e88]{display:flex;flex-wrap:wrap;gap:8px 20px}.lookup-submit-btn[data-v-a4f27e88]{min-height:52px;font-weight:700}@media (max-width:767px){.advanced-filter-panel[data-v-a4f27e88]{padding:10px 12px 14px}.advanced-filter-control-grid[data-v-a4f27e88],.advanced-filter-grid[data-v-a4f27e88]{grid-template-columns:1fr}.advanced-filter-section--wide[data-v-a4f27e88]{grid-column:auto}.advanced-filter-control[data-v-a4f27e88]{overflow-x:auto}}",""]),t.default=a},5912:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".success-cnt[data-v-6bed3a62]{color:blue}.fail-cnt[data-v-6bed3a62]{color:darkred}",""]),t.default=a},6102:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".parcel-list-summary[data-v-82fc77c4]{min-height:28px}.parcel-state-help[data-v-82fc77c4]{line-height:1.4}.parcel-table-row[data-v-82fc77c4]{cursor:pointer}.parcel-description-cell[data-v-82fc77c4]{width:280px;min-width:200px;max-width:320px}.parcel-description-text[data-v-82fc77c4]{width:100%;max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.parcel-state-cell[data-v-82fc77c4]{min-width:104px;white-space:nowrap}.parcel-list-counts[data-v-82fc77c4],.parcel-list-summary[data-v-82fc77c4]{gap:8px}[data-v-82fc77c4] .parcel-table thead tr{background:#f5f7fa}[data-v-82fc77c4] .parcel-table tbody tr:hover{background:#f4f8ff}@media (max-width:700px){.parcel-list-summary[data-v-82fc77c4]{align-items:flex-start;flex-direction:column}.parcel-state-help[data-v-82fc77c4]{width:100%}}.temp-consol-item-name[data-v-82fc77c4]{max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.temp-consol-summary[data-v-82fc77c4],.tracking-summary[data-v-82fc77c4]{border:1px solid #e0e0e0;border-radius:6px;padding:8px 10px;background:#fafafa}.tracking-summary[data-v-82fc77c4]{min-height:58px}",""]),t.default=a},6115:function(e,t,a){e.exports=a.p+"fonts/IBMPlexSansKR-Light.b2f44b51.woff"},6153:function(e,t,a){var l=a(13598);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("25e6ed37",l,!0,{sourceMap:!1,shadowMode:!1})},6253:function(e,t,a){var l=a(86314);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("3363ead6",l,!0,{sourceMap:!1,shadowMode:!1})},7971:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".section-title[data-v-2a3253cf]{font-size:1rem;font-weight:700}.title-meta[data-v-2a3253cf]{gap:8px;flex-wrap:wrap}.meta-chip[data-v-2a3253cf],.title-meta[data-v-2a3253cf]{display:inline-flex;align-items:center}.meta-chip[data-v-2a3253cf]{gap:6px;padding:4px 8px;border-radius:999px;background:#f7f9fb;font-size:12px;color:#374151}.title-alert[data-v-2a3253cf]{display:inline-block;max-width:360px;font-size:12px;color:#555;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lookup-range-bar[data-v-2a3253cf]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #d9e2ec;border-radius:14px;background:linear-gradient(135deg,#f8fbff,#eef5fb)}.partner-context-bar[data-v-2a3253cf]{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:16px;padding:16px 18px;border:1px solid #d8deea;border-radius:16px;background:radial-gradient(circle at top left,rgba(29,78,216,.1),transparent 34%),linear-gradient(135deg,#fff,#f4f7fb);box-shadow:0 10px 24px rgba(15,23,42,.06)}.partner-context-copy[data-v-2a3253cf]{display:flex;flex-direction:column;gap:4px}.partner-context-title[data-v-2a3253cf]{font-size:15px;font-weight:700;color:#132238}.partner-context-desc[data-v-2a3253cf]{font-size:12px;color:#536273}.partner-context-control[data-v-2a3253cf]{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-width:320px}.partner-context-control[data-v-2a3253cf] .q-field{min-width:220px;background:#fff}.partner-status-badge[data-v-2a3253cf]{min-height:30px}.lookup-range-copy[data-v-2a3253cf]{display:flex;flex-direction:column;gap:4px}.lookup-range-title[data-v-2a3253cf]{font-size:14px;font-weight:700;color:#16324f}.lookup-range-desc[data-v-2a3253cf]{font-size:12px;color:#4a5b6d}.top-equal-row>[class*=col-][data-v-2a3253cf]{display:flex}.top-equal-row>[class*=col-] .comp-box[data-v-2a3253cf]{width:100%;height:100%}.compact-btn[data-v-2a3253cf]{min-height:34px}.packing-waybill-capture[data-v-2a3253cf]{position:fixed;left:0;top:0;width:17cm;height:auto;overflow:visible;pointer-events:none;opacity:0}.draft-sku-confirm[data-v-2a3253cf]{width:min(920px,94vw)}.draft-sku-list[data-v-2a3253cf]{display:flex;flex-direction:column;gap:14px}.draft-sku-item[data-v-2a3253cf]{padding:14px;border:1px solid #d8e2ec;border-radius:8px;background:#fff}.draft-sku-item__header[data-v-2a3253cf]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid #edf1f5}.draft-sku-item__name[data-v-2a3253cf]{color:#132238;font-size:15px;font-weight:700}.draft-sku-item__meta[data-v-2a3253cf]{margin-top:3px;color:#667085;font-size:12px}.draft-sku-section[data-v-2a3253cf]{margin-top:14px}.draft-sku-section__title[data-v-2a3253cf]{margin-bottom:8px;color:#344054;font-size:13px;font-weight:700}.draft-logistics-grid[data-v-2a3253cf]{display:flex;flex-direction:column;gap:12px}.draft-logistics-group[data-v-2a3253cf]{padding:12px;border:1px solid #e4ebf3;border-radius:8px;background:#f8fafc}.draft-logistics-group__label[data-v-2a3253cf]{margin-bottom:8px;color:#52616f;font-size:12px;font-weight:700}.draft-sku-flight-btn[data-v-2a3253cf]{width:100%;min-height:40px}.scan-milestone-card[data-v-2a3253cf]{width:min(480px,92vw)}.scan-milestone-product[data-v-2a3253cf]{padding:14px;border:1px solid #d8e2ec;border-radius:8px;background:#f8fafc}.scan-milestone-name[data-v-2a3253cf]{margin-top:4px;font-size:18px;font-weight:700;color:#132238}.recent-packed-panel[data-v-2a3253cf]{padding:14px;border:1px solid #d8e2ec;border-radius:8px;background:#fff}.recent-packed-header[data-v-2a3253cf]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.recent-packed-title[data-v-2a3253cf]{color:#132238;font-size:15px;font-weight:700}.recent-packed-caption[data-v-2a3253cf]{margin-top:2px;color:#667085;font-size:12px}.recent-packed-list[data-v-2a3253cf]{display:flex;flex-direction:column;gap:8px;margin-top:12px}.recent-packed-item[data-v-2a3253cf]{padding:9px 10px;border:1px solid #edf1f5;border-radius:6px;background:#fafafa}.recent-packed-main[data-v-2a3253cf]{display:flex;align-items:center;justify-content:space-between;gap:8px}.recent-packed-order[data-v-2a3253cf]{color:#1f2d3d;font-size:13px;font-weight:700}.recent-packed-sub[data-v-2a3253cf]{margin-top:4px;color:#667085;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-packed-empty[data-v-2a3253cf]{margin-top:12px;padding:10px;border:1px dashed #d8e2ec;border-radius:6px;color:#667085;font-size:12px;text-align:center}@media(max-width:1023px){.title-meta[data-v-2a3253cf]{justify-content:flex-end}.lookup-range-bar[data-v-2a3253cf],.partner-context-bar[data-v-2a3253cf]{flex-direction:column;align-items:flex-start}.partner-context-control[data-v-2a3253cf]{width:100%;min-width:0}.partner-context-control[data-v-2a3253cf] .q-field{flex:1 1 auto;min-width:0}}@media(max-width:599px){.title-meta[data-v-2a3253cf]{justify-content:flex-start}.title-alert[data-v-2a3253cf]{max-width:180px}.lookup-range-bar[data-v-2a3253cf] .q-btn-group{width:100%}.lookup-range-bar[data-v-2a3253cf] .q-btn{flex:1 1 0}.partner-context-control[data-v-2a3253cf]{flex-direction:column;align-items:stretch}}",""]),t.default=a},8629:function(e,t,a){var l=a(59632);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("6178d2c8",l,!0,{sourceMap:!1,shadowMode:!1})},9511:function(e,t,a){e.exports=a.p+"img/type-c.7f3a817e.jpeg"},9941:function(e,t,a){var l=a(99690);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("3492ebae",l,!0,{sourceMap:!1,shadowMode:!1})},11160:function(e,t,a){var l=a(97967);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("30193c7a",l,!0,{sourceMap:!1,shadowMode:!1})},12266:function(e,t,a){var l=a(42568);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("639d4a17",l,!0,{sourceMap:!1,shadowMode:!1})},12852:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".import-grid[data-v-0a41340a]{overflow-x:auto}",""]),t.default=a},12875:function(E,D,v){var I=v(53751),V=v(20641);var O={name:"Utilites-Spinner"},e=v(66262),O={name:"App",components:{UtilSpinner:(0,e.A)(O,[["render",function(e,t,a,l,i,o){return(0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[t[0]||(t[0]=(0,V.Lk)("div",{class:"spinner-backdrop"},[(0,V.Lk)("div",{class:"spinner"})],-1))])}]])},computed:{isSpinnerToggle:function(){return this.$store.getters.spinnerState}},watch:{"$store.getters.spinnerState":function(e){var t=document.querySelector("body");e?t.classList.add("modal-open"):t.classList.remove("modal-open"),this.spinnerToggle=e}},data(){return{spinnerToggle:!1}},mounted(){this.$log.info("App version is "+{VUE_APP_API_URL:"https://aidenport.com",NODE_ENV:"production",VUE_APP_LOG_LEVEL:"debug",VUE_APP_ENV_LEVEL:"DEVELOPMENT",BASE_URL:"/"}.VUE_APP_VERSION)}},O=(v(41621),(0,e.A)(O,[["render",function(e,t,a,l,i,o){var s=(0,V.g2)("router-view"),r=(0,V.g2)("UtilSpinner");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.bF)(s),i.spinnerToggle?((0,V.uX)(),(0,V.Wv)(r,{key:0})):(0,V.Q3)("",!0)],64)}]])),o=(0,v(59895).h)({enabled:!0,level:"debug",callerInfo:!0}),M=(v(44114),v(18111),v(22489),v(20116),v(61701),v(58335),v(72505)),i=v.n(M),M=v(66278),$=v(70406),t={state:{courierList:[],parcelLocationList:[],pickupLocationList:[],cityList:[],lookUpFilter:{byParcel:!0,byCustomer:!1,mobileProvider:"",mobileNum:"",email:"",courierCode:"K001",courierNum:""},freightMethod:[],countryCode:[{codeLabel:"+82",value:"+82"},{codeLabel:"+61",value:"+61"}],partnerList:[]},getters:{getFilterSetting(e){return e.lookUpFilter},getCourierList(e){return e.courierList.map(e=>({label:e.courierName,value:e.courierCode}))},getParcelLocationList(e){return e.parcelLocationList},getParcelLocationListImport(e){return e.parcelLocationList.filter(e=>{if("IM_PC_LO"==e.class)return e})},getParcelLocationListExport(e){return e.parcelLocationList.filter(e=>{if("EX_RQ_ST"==e.class)return e})},getParcelLocationListExpulo(e){let t=[];return e.parcelLocationList.filter(e=>{"EX_PU_LO"==e.class&&t.push({label:e.name,value:e.code})}),o.debug("exportPickupList = ",t),t},getParcelLocationListNew(e){return e.parcelLocationList.map(e=>({label:e.name,value:e.code}))},getPickupLocationList(e){return e.pickupLocationList.map(e=>({label:e.name,value:e.code,city:e.city}))},getPickupLocationListNew(e){return e.pickupLocationList.map(e=>({label:e.name,value:e.code,city:e.city}))},getFreightMethodList(e){return e.freightMethod.map(e=>({label:e.codeLabel,value:e.value}))},getCityList(e){return e.cityList},getCityListNew(e){return e.cityList.map(e=>({label:e.codeLabel,value:e.value}))},getCountryCodeList(e){return e.countryCode.map(e=>({label:e.codeLabel,value:e.value}))},getPartnerList(e){return e.partnerList.map(e=>({label:e.partner_name,value:e.id}))}},mutations:{loadCourierList(e,t){e.courierList=t},setFilter(e,t){e.lookUpFilter=t},loadParcelLocationList(e,t){e.parcelLocationList=t},loadPickupLocationList(e,t){e.pickupLocationList=t},loadFreightList(e,t){e.freightMethod=t},loadCityList(e,t){e.cityList=t},loadPartnerList(e,t){e.partnerList=t}},actions:{loadCourier:({commit:e},t)=>{e("loadCourierList",t)},setFilter:({commit:e},t)=>{e("setFilter",t)},loadParcelLocation:({commit:e},t)=>{e("loadParcelLocationList",t)},loadPickupLocation:({commit:e},t)=>{e("loadPickupLocationList",t)},fetchCityList:({commit:e},t)=>{e("loadCityList",t)},fetchFreightList:({commit:e},t)=>{e("loadFreightList",t)},fetchPartnerList:({commit:e},t)=>{e("loadPartnerList",t)}}},s=(v(7588),v(17642),v(58004),v(33853),v(45876),v(32475),v(15024),v(31698),new M.Ay.Store({modules:{storage:t,dashboard:{state:{dashboardStats:{}},getters:{},mutations:{},actions:{}},user:{state:{localSession:{},isSignedIn:!1},getters:{getLocalSession(e){return e.localSession},getSessionStatus(e){return e.isSignedIn},getUserId(e){return e.localSession.memberId},getBannerStatus(e){return e.banner}},mutations:{mutateCustomerInfo(e,t={}){o.debug("mutations / mutateCustomerInfo excuted => ",t);let a={...e.localSession};Object.keys(t).forEach(e=>{void 0!==t[e]&&(a[e]=t[e])}),e.localSession=a,e.isSignedIn=!0},destroyCustomerInfo(e){o.debug("destroyCustomerInfo excuted = > "),e.localSession={},e.isSignedIn=!1}},actions:{setCustomerInfo:({commit:e},t)=>{e("mutateCustomerInfo",t)},destroyCustomerInfo:({commit:e,state:t})=>{o.debug(t),e("destroyCustomerInfo")},bannerStatus:({commit:e})=>{e("mutBannerStatus")}}},code:{state:{allCodeList:[],nationCodeList:[],cityCodeList:[],regionCodeList:[],orderStatusCodeList:[],consolStatusCodeList:[],bizTypeCodeList:[],authLevelList:[],freightList:[],seqTypeList:[],brdTypeList:[]},getters:{getNationCodeList:e=>e.nationCodeList.filter(e=>0===Number(e.status)).map(e=>({label:e.codeLabel,value:e.value})),getCityCodeList:e=>e.cityCodeList.map(e=>({label:e.codeLabel,value:e.value})),getRegionCodeList:e=>e.regionCodeList.map(e=>({label:e.codeLabel,value:e.value})),getOrderStatusCodeList:e=>e.orderStatusCodeList.map(e=>({label:e.codeLabel,value:e.value})),getConsolStatusList(e){return e.consolStatusCodeList.map(e=>({label:e.codeLabel,value:e.value}))},getBizTypeCodeList(e){return e.bizTypeCodeList.map(e=>({label:e.codeLabel,value:e.value}))},getAuthLevelList(e){return e.authLevelList.map(e=>({label:e.codeLabel,value:e.value}))},getNationList(e){return e.nationCodeList.map(e=>({label:e.codeLabel,value:e.value}))},getFreightList(e){return e.freightList.map(e=>({label:e.codeLabel,value:e.value}))},getSeqTypeList(e){return e.seqTypeList.map(e=>({label:e.codeLabel,value:e.value}))},getBrdTypeList(e){return e.brdTypeList.map(e=>({label:e.codeLabel,value:e.value}))}},mutations:{mutateNationList(e,t){e.nationCodeList=t},mutateCityList(e,t){e.cityCodeList=t},mutateRegionList(e,t){e.regionCodeList=t},mutateOrderStatusList(e,t){e.orderStatusCodeList=t},mutateConsolStatusList(e,t){e.consolStatusCodeList=t},mutateBizTypeList(e,t){e.bizTypeCodeList=t},mutateAuthLevelList(e,t){e.authLevelList=t},mutateFreightList(e,t){e.freightList=t},mutateSeqTypeList(e,t){e.seqTypeList=t},mutateBrdTypeList(e,t){e.brdTypeList=t},mutateAllCodeList(e,t){e.allCodeList=t}},actions:{actNationList({commit:e},t){e("mutateNationList",t)},actCityList({commit:e},t){e("mutateCityList",t)},actRegionList({commit:e},t){e("mutateRegionList",t)},actOrderStatusList({commit:e},t){e("mutateOrderStatusList",t)},actConsolStatusList({commit:e},t){e("mutateConsolStatusList",t)},actBizTypeList({commit:e},t){e("mutateBizTypeList",t)},actAuthLevelList({commit:e},t){e("mutateAuthLevelList",t)},actFreightList({commit:e},t){e("mutateFreightList",t)},actSeqTypeList({commit:e},t){e("mutateSeqTypeList",t)},actBrdTypeList({commit:e},t){e("mutateBrdTypeList",t)}}},utils:{state:{spinner:!1,spinnerStack:0},getters:{spinnerState:e=>e.spinner},mutations:{showSpinner(e){e.spinnerStack++,e.spinner=!0},killSpinner(e){e.spinnerStack--,0===e.spinnerStack&&(e.spinner=!1)}},actions:{showSpinner({commit:e}){e("showSpinner")},killSpinner({commit:e}){e("killSpinner")}}},parcel:{state:{parcelList:[],newParcelList:[],tempConsolList:[],recentPackedOrders:[]},getters:{getParcelList(e){e=e?.parcelList;return 0{e.customerName=null==e.customerName?"비회원":e.customerName}),e},getNewList(e){return e.newParcelList},getNewListCnt(e){return e.newParcelList.length},getTempConsolList(e){return o.debug("[ Store / getTempConsolList ] 실행됨"),e.tempConsolList},getRecentPackedOrders(e){return e.recentPackedOrders}},mutations:{loadParcelList(e,t){e.parcelList=t},loadMoreParcelList(e,t){var a=e.parcelList;a.push(...t),e.parcelList=a},setNewParcelList(e,t){o.debug("setNewParcelList excuted"),e.newParcelList.push(t)},clearNewParcelList(e){o.debug("clearNewParcelList"),e.newParcelList=[]},removeParcelFromList(e,t){o.debug("removeParcelFromList excuted = >"+t),e.newParcelList.splice(t,1)},initNewParcelList(e,t){o.debug("initNewParcelList excuted = >"+t),e.newParcelList=[]},modifyParcelInfoFromList(e,t){o.debug("modifyParcelInfoFromList excuted = >",t);var a=e.newParcelList;let l=t.idx,i=t.data;t=a.map((e,t)=>l===t?(o.debug("found array"),{...e,...i}):e);e.newParcelList=t},patchTempConsolList(e,t){o.debug("[ Store / parcel / mutation ] patchTempConsolList excuted = > ",t);let a=new Map;[...e.tempConsolList,...t].forEach(e=>{a.has(e.id)||a.set(e.id,e)}),e.tempConsolList=Array.from(a.values())},clearTempConsolList(e){e.tempConsolList=[]},addRecentPackedOrder(e,a){if(a&&a.orderNo){a={...a,packedAt:a.packedAt||(new Date).toISOString()};let t=new Map;[a,...e.recentPackedOrders].forEach(e=>{!e.orderNo||t.has(e.orderNo)||t.set(e.orderNo,e)}),e.recentPackedOrders=Array.from(t.values()).slice(0,30)}},setRecentPackedOrders(e,t){e.recentPackedOrders=Array.isArray(t)?t:[]},clearRecentPackedOrders(e){e.recentPackedOrders=[]},removeRecentPackedOrders(e,t){let a=new Set((t||[]).map(e=>String(e)));e.recentPackedOrders=e.recentPackedOrders.filter(e=>!a.has(String(e.orderNo)))},patchParcelRows(e,t){if(Array.isArray(t)&&0!==t.length){let a=new Map(t.map(e=>[String(e.orderId),e]));e.parcelList=e.parcelList.map(e=>{var t=a.get(String(e.orderId));return t?{...e,...t}:e})}}},actions:{loadParcel:({commit:e},t)=>{e("loadParcelList",t)},loadMoreParcel:({commit:e},t)=>{e("loadMoreParcelList",t)},fetchNewParcel:({commit:e},t)=>{e("setNewParcelList",t)},clearNewParcelList:({commit:e})=>{e("clearNewParcelList")},removeNewParcel:({commit:e},t)=>{e("removeParcelFromList",t)},initNewParcel:({commit:e},t)=>{e("initNewParcelList",t)},modifyParcelInfo:({commit:e},t)=>{e("modifyParcelInfoFromList",t)},actListingTempConsolList:({commit:e},t)=>{o.debug("[ Store / parcel / actions ] listingTempConsolList excuted = > ",t),e("patchTempConsolList",t)},clearTempConsolList:({commit:e})=>{e("clearTempConsolList")},addRecentPackedOrder:({commit:e},t)=>{e("addRecentPackedOrder",t)},setRecentPackedOrders:({commit:e},t)=>{e("setRecentPackedOrders",t)},clearRecentPackedOrders:({commit:e})=>{e("clearRecentPackedOrders")},removeRecentPackedOrders:({commit:e},t)=>{e("removeRecentPackedOrders",t)},patchParcelRows:({commit:e},t)=>{e("patchParcelRows",t)}}}},plugins:[(0,$.A)({paths:["user"],key:"vuexStore",storage:window.sessionStorage})]})),M=(v(18237),v(13579),v(75220)),R=v(90033);let U=["src"],W={class:"row items-center no-wrap"},B={class:"text-subtitle2"},z={class:"row no-wrap q-pa-md"},X={class:"column items-center"},K={class:"row items-center no-wrap"},Q={class:"text-left text-body2"},G={class:"row no-wrap q-pa-md"},H={class:"column items-center"},j={class:"row no-wrap q-pa-md"},Y={class:"column items-center"};var t={name:"NavgationBar",props:{current:String},setup(){document.title="Aone Logistics"},data(){return{session:this.$store.getters.getLocalSession,isSignedIn:this.$store.getters.getSessionStatus,mobile:!1,authLevel:this.$store.getters.getLocalSession.authLevel||"00",isLocalEnv:"LOCAL"===String("DEVELOPMENT").toUpperCase()}},watch:{isSignedIn:{handler(e){this.$log.debug("watch this.session = ",e),e?this.$log.debug("watch 로그인 상태"):this.$log.debug("watch 로그인 상태 아님")}},"$store.getters.getSessionStatus"(e){this.$log.debug("watch getSessionStatus = ",e),this.session=this.$store.getters.getLocalSession,this.isSignedIn=this.$store.getters.getSessionStatus}},methods:{getBizPath(e=""){return"/biz"+(e?"/"+String(e).replace(/^\/+/,""):"")},onResize(e){this.mobile=e.width<768},logout(){this.$log.debug("/cust/signOut 실행됨"),this.$http({method:"get",url:"/api/cust/signOut"}).then(e=>{200===e.status?(this.$log.debug("/cust/signOut 성공",e),this.$store.dispatch("destroyCustomerInfo"),sessionStorage.clear(),this.$router.push("/")):alert(e.info.reason)}).catch(e=>{this.$log.debug("/customer/signOut 실패함 catch",e),alert("로그아웃 도중 오류가 발생했습니다.")})},init(){this.authLevel=this.$getAuthLevel()}},mounted(){this.$log.debug("Nav mounted!!!!!!")}},Z=(v(42009),(0,e.A)(t,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-avatar"),r=(0,V.g2)("q-space"),n=(0,V.g2)("q-item-section"),d=(0,V.g2)("q-item"),c=(0,V.g2)("q-list"),u=(0,V.g2)("q-btn-dropdown"),m=(0,V.g2)("q-btn"),p=(0,V.g2)("q-icon"),g=(0,V.g2)("q-separator"),h=(0,V.g2)("q-toolbar"),b=(0,V.g2)("q-resize-observer");var f=(0,V.g2)("q-header");return(0,V.uX)(),(0,V.Wv)(f,{elevated:"",class:"bg-white"},{default:(0,V.k6)(()=>[(0,V.bF)(h,{class:"doc-page"},{default:(0,V.k6)(()=>[(0,V.bF)(s,{size:i.mobile?"60px":"100px",onClick:t[0]||(t[0]=e=>this.$router.push(o.getBizPath()))},{default:(0,V.k6)(()=>[(0,V.Lk)("img",{id:"site-logo",src:v(34074)},null,8,U)]),_:1},8,["size"]),(0,V.bF)(r),(0,V.bo)((0,V.bF)(u,{stretch:"",flat:"",color:"white","text-color":"black",label:"서비스"},{default:(0,V.k6)(()=>[(0,V.bF)(c,null,{default:(0,V.k6)(()=>[(0,V.bF)(d,{clickable:"",onClick:t[1]||(t[1]=e=>this.$router.push(o.getBizPath("service-flight")))},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>t[17]||(t[17]=[(0,V.eW)("항공")])),_:1,__:[17]})]),_:1}),(0,V.bF)(d,{clickable:"",onClick:t[2]||(t[2]=e=>this.$router.push(o.getBizPath("service-ocean")))},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>t[18]||(t[18]=[(0,V.eW)("해상")])),_:1,__:[18]})]),_:1}),(0,V.bF)(d,{clickable:"",onClick:t[3]||(t[3]=e=>this.$router.push(o.getBizPath("service")))},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>t[19]||(t[19]=[(0,V.eW)("비지니스")])),_:1,__:[19]})]),_:1})]),_:1})]),_:1},512),[[I.aG,!i.mobile]]),(0,V.bo)((0,V.bF)(m,{stretch:"",flat:"",clickable:"",color:"white","text-color":"black",label:"공지사항",onClick:t[4]||(t[4]=e=>this.$router.push(o.getBizPath("notice")))},null,512),[[I.aG,!i.mobile]]),(0,V.bo)((0,V.bF)(m,{stretch:"",flat:"",clickable:"",color:"white","text-color":"black",label:"배송조회",onClick:t[5]||(t[5]=e=>this.$router.push(o.getBizPath("parcel-info")))},null,512),[[I.aG,!i.mobile&&i.isLocalEnv]]),(0,V.bo)((0,V.bF)(u,{stretch:"",flat:"",color:"white",size:"20px","text-color":"grey-8"},{label:(0,V.k6)(()=>[(0,V.Lk)("div",W,[(0,V.bF)(p,{left:"",name:"account_circle"}),(0,V.bo)((0,V.Lk)("div",B,[(0,V.eW)((0,R.v_)(i.session.lName+i.session.fName)+" 님 ",1),t[20]||(t[20]=(0,V.Lk)("br",null,null,-1)),t[21]||(t[21]=(0,V.eW)("안녕하세요 "))],512),[[I.aG,i.isSignedIn]])])]),default:(0,V.k6)(()=>[(0,V.bo)((0,V.Lk)("div",z,[(0,V.Lk)("div",X,[(0,V.bF)(c,null,{default:(0,V.k6)(()=>[(0,V.bo)((0,V.bF)(d,{clickable:"",onClick:t[6]||(t[6]=e=>this.$router.push("/login"))},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>t[22]||(t[22]=[(0,V.eW)("로그인")])),_:1,__:[22]})]),_:1},512),[[I.aG,!i.isSignedIn]]),(0,V.bo)((0,V.bF)(d,{clickable:"",onClick:t[7]||(t[7]=e=>this.$router.push("/signUp"))},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>t[23]||(t[23]=[(0,V.eW)("회원가입")])),_:1,__:[23]})]),_:1},512),[[I.aG,!i.isSignedIn]]),(0,V.bo)((0,V.bF)(d,{clickable:"",onClick:t[8]||(t[8]=e=>this.$router.push("/admin/parcel-info"))},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(80===Number(i.authLevel)?"파트너":90===Number(i.authLevel)?"관리자":"마스터")+" 통합조회",1)]),_:1})]),_:1},512),[[I.aG,i.isSignedIn&&80<=Number(i.authLevel)]]),(0,V.bo)((0,V.bF)(d,{clickable:"",onClick:o.logout},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>t[24]||(t[24]=[(0,V.eW)("로그아웃")])),_:1,__:[24]})]),_:1},8,["onClick"]),[[I.aG,i.isSignedIn]])]),_:1})])],512),[[I.aG,!i.mobile]])]),_:1},512),[[I.aG,!i.mobile]]),(0,V.bo)((0,V.bF)(u,{stretch:"",flat:"","dropdown-icon":"none",color:"white",size:"0","text-color":"grey-8"},{label:(0,V.k6)(()=>[(0,V.Lk)("div",K,[(0,V.bo)((0,V.Lk)("div",null,[(0,V.bo)((0,V.bF)(p,{size:"30px",center:"",name:"account_circle"},null,512),[[I.aG,!i.isSignedIn]])],512),[[I.aG,!i.isSignedIn]]),(0,V.bo)((0,V.Lk)("div",Q,[(0,V.eW)((0,R.v_)(i.session.lName+i.session.fName)+" 님 ",1),t[25]||(t[25]=(0,V.Lk)("br",null,null,-1)),t[26]||(t[26]=(0,V.eW)("안녕하세요 "))],512),[[I.aG,i.isSignedIn]])])]),default:(0,V.k6)(()=>[(0,V.bo)((0,V.Lk)("div",G,[(0,V.Lk)("div",H,[(0,V.bF)(c,null,{default:(0,V.k6)(()=>[(0,V.bo)((0,V.bF)(d,{clickable:"",onClick:t[9]||(t[9]=e=>this.$router.push("/login"))},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>t[27]||(t[27]=[(0,V.eW)("로그인")])),_:1,__:[27]})]),_:1},512),[[I.aG,!i.isSignedIn]]),(0,V.bo)((0,V.bF)(d,{clickable:"",onClick:t[10]||(t[10]=e=>this.$router.push("/signUp"))},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>t[28]||(t[28]=[(0,V.eW)("회원가입")])),_:1,__:[28]})]),_:1},512),[[I.aG,!i.isSignedIn]]),(0,V.bo)((0,V.bF)(d,{clickable:"",onClick:t[11]||(t[11]=e=>this.$router.push("/admin/parcel-info"))},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(80===Number(i.authLevel)?"파트너":90===Number(i.authLevel)?"관리자":"마스터")+" 통합조회",1)]),_:1})]),_:1},512),[[I.aG,i.isSignedIn&&80<=Number(i.authLevel)]]),(0,V.bo)((0,V.bF)(d,{clickable:"",onClick:o.logout},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>t[29]||(t[29]=[(0,V.eW)("로그아웃")])),_:1,__:[29]})]),_:1},8,["onClick"]),[[I.aG,i.isSignedIn]])]),_:1})])],512),[[I.aG,i.mobile]]),(0,V.bF)(g),(0,V.Lk)("div",j,[(0,V.Lk)("div",Y,[(0,V.bF)(c,null,{default:(0,V.k6)(()=>[(0,V.bF)(d,{clickable:"",onClick:t[12]||(t[12]=e=>this.$router.push(o.getBizPath("service-flight")))},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>t[30]||(t[30]=[(0,V.eW)("항공")])),_:1,__:[30]})]),_:1}),(0,V.bF)(d,{clickable:"",onClick:t[13]||(t[13]=e=>this.$router.push(o.getBizPath("service-ocean")))},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>t[31]||(t[31]=[(0,V.eW)("해상")])),_:1,__:[31]})]),_:1}),(0,V.bF)(d,{clickable:"",onClick:t[14]||(t[14]=e=>this.$router.push(o.getBizPath("service")))},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>t[32]||(t[32]=[(0,V.eW)("비지니스")])),_:1,__:[32]})]),_:1}),(0,V.bF)(d,{clickable:"",onClick:t[15]||(t[15]=e=>this.$router.push(o.getBizPath("notice")))},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>t[33]||(t[33]=[(0,V.eW)("공지사항")])),_:1,__:[33]})]),_:1}),i.isLocalEnv?((0,V.uX)(),(0,V.Wv)(d,{key:0,clickable:"",onClick:t[16]||(t[16]=e=>this.$router.push(o.getBizPath("parcel-info")))},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>t[34]||(t[34]=[(0,V.eW)("배송조회")])),_:1,__:[34]})]),_:1})):(0,V.Q3)("",!0)]),_:1})])])]),_:1},512),[[I.aG,i.mobile]])]),_:1}),(0,V.bF)(b,{onResize:o.onResize},null,8,["onResize"])]),_:1})}],["__scopeId","data-v-650e1c46"]]));let J={class:"container doc-page"},ee={class:"row"},te={class:"col q-mt-xl"},ae=["src"];var le=(0,e.A)({name:"FooterComponent",data(){return{description:{title:"Footer"}}},method:{},components:{}},[["render",function(e,t,a,l,i,o){return(0,V.uX)(),(0,V.CE)("footer",null,[(0,V.Lk)("div",J,[(0,V.Lk)("div",ee,[(0,V.Lk)("div",te,[(0,V.Lk)("img",{id:"site-logo__footer",src:v(91214)},null,8,ae)]),t[0]||(t[0]=(0,V.Fv)('

AONE LOGISTICS PTY LTD
(에이원택배)

NSW
K10 / 161 ARTHUR ST HOMEBUSH WEST NSW 2140
KOREA
서울시 강서구 양천로 401, B동 816호 (한강자이타워)

CUSTOMER SERVICE

NSW
MON TO FRI 09:00 – 17:00 (AEST)
PHONE : 02-8515-7070
E-MAIL : cs@aonelogistics.com.au
카카오톡 : aonesyd
KOREA
MON TO FRI 09:00 – 18:00(KST)
PHONE : 010-9879-6488
E-MAIL : excs@aonelogistics.com.au
카카오톡 : excs_aone
',2))])])])}]]),$=Object.assign({name:"LayoutCustomer"},{setup(e){return(e,t)=>{let a=(0,V.g2)("router-view"),l=(0,V.g2)("q-page-container");var i=(0,V.g2)("q-layout");return(0,V.uX)(),(0,V.Wv)(i,{view:"lHh Lpr lFf"},{default:(0,V.k6)(()=>[(0,V.bF)(Z),(0,V.bF)(l,null,{default:(0,V.k6)(()=>[(0,V.bF)(a)]),_:1}),(0,V.bF)(le)]),_:1})}}});let ie={class:"workspace-brand q-ml-sm"},oe={class:"text-caption"},se={class:"service-switcher row no-wrap"},re={class:"service-tab-label"},ne={class:"q-pa-md"},de={class:"q-pa-md"},ce={class:"q-pa-md"},ue={ref:"qrContainer"},me={class:"q-ml-md"},pe={class:"text-h6"},ge={class:"text-caption text-grey-7"};let he={class:"sidebar-shell"},be={class:"sidebar-avatar"},fe={class:"workspace-summary q-pa-md"},ve={class:"row items-center no-wrap"},ke={class:"text-weight-bold"},ye={class:"text-caption text-grey-7"},Le={key:0,class:"q-px-sm q-pb-sm"};let _e={class:"row items-start justify-between q-col-gutter-md"},we={class:"col-12 col-md"},xe={class:"text-h6 text-weight-bold"},Ce={class:"text-caption text-grey-7 q-mt-xs"},Se={class:"row q-gutter-xs q-mt-sm"},Fe={class:"col-12 col-md-auto partner-summary-meta"},qe={class:"text-weight-medium"},Ie={key:0,class:"q-mt-sm"},Pe={class:"text-weight-medium"},Ae={class:"q-pa-md"},Te={class:"form-column-wrap"},Ne={class:"q-pa-md"},Ee={class:"form-column-wrap"},De={class:"q-pa-md"},Oe={class:"form-column-wrap"},Ve={class:"q-pa-md"},Re={class:"form-column-wrap"},Me={class:"q-pa-md"},$e={class:"form-column-wrap"},Ue={key:0,class:"text-negative text-caption q-mt-sm"},We={class:"q-pa-md"},Be={class:"form-column-wrap"},ze={class:"q-my-lg"},Xe={class:"q-pa-md"},Ke={class:"form-column-wrap"},Qe={key:0,class:"q-pa-md"},Ge={class:"row items-start justify-between q-col-gutter-md"},He={class:"col-12 col-md"},je={class:"row items-center no-wrap"},Ye={class:"col-12 col-md-auto"},Ze={class:"row q-col-gutter-md items-end"},Je={class:"col-12 col-md-4"},et={class:"col-12 col-md-4"},tt={class:"col-12 col-md-3"},at={class:"col-12 col-md-1"},lt={class:"issued-key-value"},it={class:"row items-start justify-between q-col-gutter-md"},ot={class:"col-12 col-md-auto"};v(14603),v(47566),v(98721);let st={class:"row justify-between"},rt={class:"row"},nt={class:"col"},dt={class:"row"},ct={class:"col-3"},ut={class:"col-6 q-ml-sm"},mt={class:"row"},pt={class:"col-4"},gt={class:"row"},ht={class:"col-4"},bt={class:"row"},ft={class:"col justify-center"},vt={class:"row mt-3"},kt=["onClick"],yt={class:"customer-list"};t={name:"Modal-customer",props:{showModal:Boolean},watch:{},emits:["close-modal-search","change-customer"],data(){return{byName:!0,byMobile:!1,byEmail:!1,lName:"",fName:"",mobile:"",email:"",customerList:[],tab:"by-name"}},methods:{tabToggle(e){switch(e){case 1:this.byName=!0,this.byMobile=!1,this.byEmail=!1;break;case 2:this.byName=!1,this.byMobile=!0,this.byEmail=!1;break;case 3:this.byName=!1,this.byMobile=!1,this.byEmail=!0}},async searchCustomer(){this.$log.debug("");let e;if(this.byName){if(""==this.fName||""==this.lName)return alert("성, 이름 모두 입력해주세요"),!1;e={cat:0,fName:this.fName,lName:this.lName}}else if(this.byMobile){if(""==this.mobile)return alert("모바일번호를 입력해주세요"),!1;e={cat:1,mobile:this.mobile}}else if(this.byEmail){if(""==this.email)return alert("이메일을 입력해 주세요"),!1;e={cat:2,email:this.email}}var t={method:"POST",url:"/api/member/searchCustomer",data:e,name:"[ Axios / searchCustomer / 고객검색 ]"};await this.$http(t).then(e=>{e=e.data;this.$log.debug("/admin/searchCustomer 실행됨",e),void 0!==e?this.customerList=e:alert("검색된 고객이 없습니다.")}).catch(e=>{this.$log.debug("/admin/searchCustomer 실패",e)})},changeCustomer(e,t){confirm("선택한 고객으로 변경하시겠습니까?")&&(this.$emit("change-customer",{id:e,name:t}),this.closeModal())},closeModal(){this.$emit("close-modal-search")}}},t=(0,e.A)(t,[["render",function(e,a,t,l,i,o){let s=(0,V.g2)("q-btn"),r=(0,V.g2)("q-card-section"),n=(0,V.g2)("q-tab"),d=(0,V.g2)("q-tabs"),c=(0,V.g2)("q-separator"),u=(0,V.g2)("q-input"),m=(0,V.g2)("q-tab-panel"),p=(0,V.g2)("q-tab-panels");var g=(0,V.g2)("q-card");let h=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.Wv)(g,{style:{width:"700px","max-width":"80vw"}},{default:(0,V.k6)(()=>[(0,V.bF)(r,null,{default:(0,V.k6)(()=>[(0,V.Lk)("div",st,[a[10]||(a[10]=(0,V.Lk)("div",{class:"text-h6"}," 고객조회 ",-1)),(0,V.Lk)("div",null,[(0,V.bo)((0,V.bF)(s,{onClick:a[0]||(a[0]=e=>o.closeModal()),flat:"",round:"",dense:"",icon:"close"},null,512),[[h]])])]),a[11]||(a[11]=(0,V.Lk)("div",null,null,-1))]),_:1,__:[11]}),(0,V.bF)(r,{class:"q-pt-none"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",rt,[(0,V.Lk)("div",nt,[(0,V.bF)(d,{modelValue:i.tab,"onUpdate:modelValue":a[4]||(a[4]=e=>i.tab=e),dense:"",class:"text-grey","active-color":"primary","indicator-color":"primary","narrow-indicator":"",align:"left"},{default:(0,V.k6)(()=>[(0,V.bF)(n,{name:"by-name",onClick:a[1]||(a[1]=e=>o.tabToggle(1)),label:"고객명"}),(0,V.bF)(n,{name:"by-mobile",onClick:a[2]||(a[2]=e=>o.tabToggle(2)),label:"모바일번호"}),(0,V.bF)(n,{name:"by-email",onClick:a[3]||(a[3]=e=>o.tabToggle(3)),label:"이메일"})]),_:1},8,["modelValue"]),(0,V.bF)(c),(0,V.bF)(p,{modelValue:i.tab,"onUpdate:modelValue":a[9]||(a[9]=e=>i.tab=e),animated:""},{default:(0,V.k6)(()=>[(0,V.bF)(m,{name:"by-name"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",dt,[(0,V.Lk)("div",ct,[(0,V.bF)(u,{modelValue:i.lName,"onUpdate:modelValue":a[5]||(a[5]=e=>i.lName=e),label:"성"},null,8,["modelValue"])]),(0,V.Lk)("div",ut,[(0,V.bF)(u,{modelValue:i.fName,"onUpdate:modelValue":a[6]||(a[6]=e=>i.fName=e),label:"이름"},null,8,["modelValue"])])])]),_:1}),(0,V.bF)(m,{name:"by-mobile"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",mt,[(0,V.Lk)("div",pt,[(0,V.bF)(u,{modelValue:i.mobile,"onUpdate:modelValue":a[7]||(a[7]=e=>i.mobile=e),label:"전화번호"},null,8,["modelValue"])])])]),_:1}),(0,V.bF)(m,{name:"by-email"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",gt,[(0,V.Lk)("div",ht,[(0,V.bF)(u,{modelValue:i.email,"onUpdate:modelValue":a[8]||(a[8]=e=>i.email=e),label:"이메일"},null,8,["modelValue"])])])]),_:1})]),_:1},8,["modelValue"])])]),(0,V.Lk)("div",bt,[(0,V.Lk)("div",ft,[(0,V.bF)(s,{color:"primary",class:"full-width",label:"검색",onClick:o.searchCustomer},null,8,["onClick"])])]),(0,V.Lk)("div",vt,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(i.customerList,(t,e)=>((0,V.uX)(),(0,V.CE)("div",{class:"col",key:e,onClick:e=>o.changeCustomer(t.id,t.lName+t.fName)},[(0,V.Lk)("div",yt,[a[12]||(a[12]=(0,V.Lk)("label",{class:"label"},"고객명 : ",-1)),(0,V.Lk)("div",null,(0,R.v_)(t.lName+t.fName),1),a[13]||(a[13]=(0,V.Lk)("label",{class:"label"},"모바일 : ",-1)),(0,V.Lk)("div",null,(0,R.v_)(t.mobile),1),a[14]||(a[14]=(0,V.Lk)("label",{class:"label"},"email : ",-1)),(0,V.Lk)("div",null,(0,R.v_)(t.email),1)])],8,kt))),128))])]),_:1})]),_:1})}]]);let Lt={class:"text-subtitle1 text-weight-bold"},_t={key:0,class:"text-caption text-grey-7"};var a={name:"PageGuideDialog",props:{modelValue:{type:Boolean,default:!1},title:{type:String,required:!0},description:{type:String,default:""}},emits:["update:modelValue"]},a=(v(4332),(0,e.A)(a,[["render",function(t,e,a,l,i,o){let s=(0,V.g2)("q-tooltip"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("q-card-section"),d=(0,V.g2)("q-separator"),c=(0,V.g2)("q-card");var u=(0,V.g2)("q-dialog");return(0,V.uX)(),(0,V.Wv)(u,{"model-value":a.modelValue,"onUpdate:modelValue":e[1]||(e[1]=e=>t.$emit("update:modelValue",e))},{default:(0,V.k6)(()=>[(0,V.bF)(c,{class:"page-guide-dialog"},{default:(0,V.k6)(()=>[(0,V.bF)(n,{class:"row items-center justify-between q-py-sm"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",null,[(0,V.Lk)("div",Lt,(0,R.v_)(a.title),1),a.description?((0,V.uX)(),(0,V.CE)("div",_t,(0,R.v_)(a.description),1)):(0,V.Q3)("",!0)]),(0,V.bF)(r,{flat:"",round:"",dense:"",icon:"close","aria-label":"가이드 닫기",onClick:e[0]||(e[0]=e=>t.$emit("update:modelValue",!1))},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>e[2]||(e[2]=[(0,V.eW)("닫기")])),_:1,__:[2]})]),_:1})]),_:1}),(0,V.bF)(d),(0,V.bF)(n,{class:"page-guide-dialog__body"},{default:(0,V.k6)(()=>[(0,V.RG)(t.$slots,"default",{},void 0,!0)]),_:3})]),_:3})]),_:3},8,["model-value"])}],["__scopeId","data-v-07f114ea"]]));let wt={class:"partner-api-guide"};var l={name:"PartnerApiIntegrationGuide"},l=(v(35632),{name:"ModalPartnerInfoForm",props:{partnerInfo:Object,authLevel:String,mode:String},components:{ModalCustomerSearch:t,PageGuideDialog:a,PartnerApiIntegrationGuide:(0,e.A)(l,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-icon");var r=(0,V.g2)("q-banner");return(0,V.uX)(),(0,V.CE)("div",wt,[t[1]||(t[1]=(0,V.Fv)('
API Key 발급과 오더 등록 테스트

외부 파트너가 AONE API를 호출하려면 파트너별 API Key가 필요합니다. 원문 키는 발급 직후 한 번만 확인할 수 있으며, 파트너는 인증 확인 후 오더 등록 API를 테스트할 수 있습니다.

1. 파트너 확인
API를 사용할 파트너를 먼저 선택합니다. 키는 선택된 파트너에만 연결됩니다.
2. 키 발급
키 이름은 파트너나 사용 목적을 알 수 있게 입력합니다. 예: partner-order-prod, partner-test.
3. 테스트 진행
인증 확인 API와 오더 등록 API 경로를 함께 전달합니다. 같은 외부 주문번호는 중복 등록되지 않습니다.
파트너에게 전달할 내용
  1. API Key관리자 화면에서 발급한 원문 키를 별도 보안 채널로 전달합니다.
  2. 인증 확인 API먼저 인증 확인 API로 키가 정상 동작하는지 검증하게 합니다.
  3. 오더 등록 APIPOST /api/external/partner/v1/orders로 테스트 주문을 등록합니다.
  4. 요청 헤더X-AONE-API-KEY: <API_KEY> 또는 Authorization: Bearer <API_KEY>를 사용합니다.
  5. 파트너 API 문서docs/partner-api/partner-api-guide.md 파일을 전달용 원본으로 사용합니다.
',5)),(0,V.bF)(r,{rounded:"",class:"guide-warning q-mt-md"},{avatar:(0,V.k6)(()=>[(0,V.bF)(s,{name:"security",color:"orange-8"})]),default:(0,V.k6)(()=>[t[0]||(t[0]=(0,V.eW)(" DB에는 원문 API Key가 저장되지 않습니다. 키를 분실하면 기존 키를 비활성화하고 새로 발급해야 합니다. "))]),_:1,__:[0]})])}],["__scopeId","data-v-196e6f7a"]])},computed:{canEditContract(){return null==this.authLevel||90<=Number(this.authLevel)},canManageApiKeys(){return"modify"===this.mode&&90<=Number(this.authLevel||0)},modalTitle(){return"create"===this.mode?"파트너 등록":"파트너 정보"},contractStatus(){var e,t;return this.contract_end_date?(e=new Date(this.contract_end_date+"T23:59:59"),Number.isNaN(e.getTime())?{label:"계약일 확인 필요",color:"warning"}:((t=new Date).setHours(0,0,0,0),e1===Number(e.is_active)).length},lastApiKeyUsedAt(){var e=this.apiKeyRows.map(e=>e.last_used_at).filter(Boolean).sort();return e.length?e[e.length-1]:"-"},hasAnyContract(){return 1===Number(this.has_logis_contract)||1===Number(this.has_fulfillment_contract)},bizTypeOptions(){return this.$store.getters.getBizTypeCodeList||[]},businessNumberFormatted:{get(){var e=this.business_number;return e?e.replace(/\D/g,"").replace(/(\d{3})(\d{2})(\d{0,5})/,"$1-$2-$3").replace(/(-)$/,""):""},set(e){this.business_number=e.replace(/\D/g,"").slice(0,10)}},phoneFormatted:{get(){var e=this.phone.replace(/\D/g,"");return e.startsWith("02")?5e.trim()).filter(Boolean)},formatScopes(t){if(Array.isArray(t))return t.join(", ");if(!t)return"-";try{var e=JSON.parse(t);return Array.isArray(e)?e.join(", "):String(t)}catch(e){return String(t)}},normalizeScopesForEdit(t){if(Array.isArray(t))return t.join(", ");if(!t)return"";try{var e=JSON.parse(t);return Array.isArray(e)?e.join(", "):String(t)}catch(e){return String(t)}},formatStatus(e){return 1===Number(e.is_active)?"활성":"비활성"},async loadApiKeys(){if(this.canManageApiKeys&&this.partner_id){this.apiKeyLoading=!0;try{var e=await this.$http({method:"POST",url:"/api/partner/api-keys/list",data:{partnerId:this.partner_id},name:"[ Axios / Partner API Key 목록 ]"});this.apiKeyRows=e.data?.data||[]}catch(e){this.apiKeyRows=[],this.$log.debug(e),this.$q.notify({type:"negative",message:"API Key 목록 조회에 실패했습니다.",position:"top",timeout:3e3})}finally{this.apiKeyLoading=!1}}},async issueApiKey(){if(this.apiKeyForm.name.trim()){var e=this.parseScopes(this.apiKeyForm.scopes);if(e.length){this.apiKeyIssuing=!0;try{var t=await this.$http({method:"POST",url:"/api/partner/api-keys/issue",data:{partnerId:this.partner_id,name:this.apiKeyForm.name.trim(),scopes:e,expiresAt:this.apiKeyForm.expiresAt||null},name:"[ Axios / Partner API Key 발급 ]"});this.issuedApiKey=t.data?.data||null,this.apiKeyForm.name="",this.apiKeyForm.expiresAt="",await this.loadApiKeys(),this.$q.notify({type:"positive",message:"API Key가 발급되었습니다. 원문 키를 지금 복사해 주세요.",position:"top",timeout:3e3})}catch(e){this.$log.debug(e),this.$q.notify({type:"negative",message:"API Key 발급에 실패했습니다.",position:"top",timeout:3e3})}finally{this.apiKeyIssuing=!1}}else this.$q.notify({type:"negative",message:"권한 scope를 1개 이상 입력해주세요.",position:"top",timeout:3e3})}else this.$q.notify({type:"negative",message:"키 이름을 입력해주세요.",position:"top",timeout:3e3})},async updateApiKeyScopes(e){if(e?.id){var t=this.normalizeScopesForEdit(e.scopes),t=window.prompt("API Key 권한 Scope를 입력하세요.",t);if(null!==t){t=this.parseScopes(t);if(t.length)try{await this.$http({method:"POST",url:"/api/partner/api-keys/update-scopes",data:{partnerId:this.partner_id,keyId:e.id,scopes:t},name:"[ Axios / Partner API Key Scope 수정 ]"}),await this.loadApiKeys(),this.$q.notify({type:"positive",message:"API Key 권한이 수정되었습니다.",position:"top",timeout:3e3})}catch(e){this.$log.debug(e),this.$q.notify({type:"negative",message:"API Key 권한 수정에 실패했습니다.",position:"top",timeout:3e3})}else this.$q.notify({type:"negative",message:"권한 scope를 1개 이상 입력해주세요.",position:"top",timeout:3e3})}}},async deactivateApiKey(e){if(e?.id&&confirm(e.name+" API Key를 비활성화하시겠습니까?"))try{await this.$http({method:"POST",url:"/api/partner/api-keys/deactivate",data:{partnerId:this.partner_id,keyId:e.id},name:"[ Axios / Partner API Key 비활성화 ]"}),await this.loadApiKeys(),this.$q.notify({type:"positive",message:"API Key가 비활성화되었습니다.",position:"top",timeout:3e3})}catch(e){this.$log.debug(e),this.$q.notify({type:"negative",message:"API Key 비활성화에 실패했습니다.",position:"top",timeout:3e3})}},async copyIssuedApiKey(){if(this.issuedApiKey?.apiKey){try{await navigator.clipboard.writeText(this.issuedApiKey.apiKey)}catch(e){var t=document.createElement("textarea");t.value=this.issuedApiKey.apiKey,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)}this.$q.notify({type:"positive",message:"API Key를 복사했습니다.",position:"top",timeout:2e3})}},async downloadApiGuide(){try{var e=await this.$http({method:"GET",url:"/api/partner/api-guide/download",responseType:"blob",name:"[ Axios / Partner API 가이드 다운로드 ]"}),t=new Blob([e.data],{type:"text/markdown;charset=utf-8"}),a=window.URL.createObjectURL(t),l=document.createElement("a");l.href=a,l.download="aone-partner-api-guide.md",document.body.appendChild(l),l.click(),document.body.removeChild(l),window.URL.revokeObjectURL(a)}catch(e){this.$log.debug(e),this.$q.notify({type:"negative",message:"API 가이드 문서 다운로드에 실패했습니다.",position:"top",timeout:3e3})}},normalizeBusinessType(t=this.business_type){var e,a;return t?(a=(e=this.bizTypeOptions).find(e=>e.value===t))?a.value:(a=e.find(e=>e.label===t))?a.value:t:""},async registerPartner(){var e=[{label:"파트너명",value:this.partner_name},{label:"사업자 번호",value:this.business_number},{label:"대표자명",value:this.ceo_name},{label:"대표 전화번호",value:this.phone},{label:"대표 이메일",value:this.email},{label:"사업지 주소",value:this.address},{label:"파트너 상품 카테고리",value:this.item_categories},{label:"집화지역",value:this.pickup_area},{label:"계약시작일",value:this.contract_start_date},{label:"계약종료일",value:this.contract_end_date}].filter(e=>!String(e.value||"").trim()).map(e=>e.label);if(0{this.$q.notify({type:"positive",message:"파트너사가 성공적으로 등록되었습니다.",position:"top",timeout:3e3}),this.$emit("partnerRegistered",e.data)}).catch(e=>{this.$log.debug(e),this.$q.notify({type:"negative",message:"파트너사 등록에 실패했습니다. 관리자에게 문의해주세요"})})}catch(e){console.error("API 요청 중 오류 발생:",e),this.$q.notify({type:"negative",message:"파트너사 등록에 실패했습니다. 관리자에게 문의해주세요"})}}else this.$q.notify({type:"negative",message:"LOGIS 또는 FULFILLMENT 계약 중 최소 1개를 선택해주세요."})},async changeAdmin(e){if(this.$log.debug("[ Partner info form / changeAdmin / 파트너 정보 변경 ] = ",e),e.id)try{let t={method:"POST",data:{id:this.partner_id,newAdminId:e.id},url:"/api/partner/changePartnerAdmin",name:"[ Axios / changePartnerAdmin / 파트너사 관리자 수정 ]"};await this.$http(t).then(e=>{this.partnerList=e.data,this.$log.debug(t.name+" 성공 => ",e.data),alert("파트너사 관리자 수정 성공!")}).catch(e=>{this.$log.debug(e),alert(t.name+" 실패!")})}catch(e){console.error("API 요청 중 오류 발생:",e),this.$q.notify({type:"negative",message:"수정 중 오류가 발생했습니다. 다시 시도해주세요."})}else this.$q.notify({type:"negative",message:"필수 정보를 입력해주세요."})},async modifyPartner(){if(this.partner_name&&this.business_number&&this.ceo_name)if(this.hasAnyContract){var e={id:this.partner_id,partner_name:this.partner_name,business_number:this.business_number,ceo_name:this.ceo_name,business_type:this.normalizeBusinessType(),phone:this.phone,email:this.email,address:this.address,logo_url:this.logo_url,adminId:this.adminId,item_categories:this.item_categories,pickup_area:this.pickup_area,contract_start_date:this.contract_start_date,contract_end_date:this.contract_end_date,has_logis_contract:this.has_logis_contract,has_fulfillment_contract:this.has_fulfillment_contract,monthly_estimate_volume:this.monthly_estimate_volume};try{let t={method:"POST",data:e,url:"/api/partner/modifyPartner",name:"[ Axios / modifyPartner / 파트너사 정보수정 ]"};await this.$http(t).then(e=>{this.partnerList=e.data,this.$log.debug("[ Axios / PartnerList / 파트너사 목록조회 ] 성공 => ",e.data),this.$q.notify({type:"positive",message:"파트너 정보가 성공적으로 수정되었습니다.",position:"top",timeout:3e3}),this.$emit("partnerUpdated",this.partner_id)}).catch(e=>{throw this.$log.debug(e),Error(t.name+" 실패!")})}catch(e){console.error("API 요청 중 오류 발생:",e),this.$q.notify({type:"negative",message:"수정 중 오류가 발생했습니다. 다시 시도해주세요.",position:"top",timeout:3e3})}}else this.$q.notify({type:"negative",message:"LOGIS 또는 FULFILLMENT 계약 중 최소 1개를 선택해주세요."});else this.$q.notify({type:"negative",message:"필수 정보를 입력해주세요."})},async deletePartner(){if(confirm("정말로 이 파트너를 삭제하시겠습니까?"))try{var e={method:"DELETE",data:{id:this.partner_id},url:"/api/partner/delPartner",name:"[ Axios / delPartner / 파트너사 삭제 ]"};await this.$http(e).then(()=>{alert("파트너가 성공적으로 삭제되었습니다."),this.$emit("partnerDeleted",this.partner_id)}).catch(e=>{this.$log.debug(e),alert("삭제 실패! 다시 시도해주세요.")})}catch(e){console.error("API 요청 중 오류 발생:",e),this.$q.notify({type:"negative",message:"삭제 중 오류가 발생했습니다. 다시 시도해주세요."})}}},mounted(){this.$log.debug("파트너 정보보기 모달이 열림",this.partnerInfo),this.$getCodeList("BIZTYP").then(()=>{this.business_type=this.normalizeBusinessType()}),this.loadApiKeys()}}),l=(v(24047),(0,e.A)(l,[["render",function(t,e,a,O,l,i){let o=(0,V.g2)("q-toolbar-title"),s=(0,V.g2)("q-btn"),r=(0,V.g2)("q-toolbar"),n=(0,V.g2)("q-header"),d=(0,V.g2)("q-badge"),c=(0,V.g2)("q-card-section"),u=(0,V.g2)("q-card"),m=(0,V.g2)("q-tab"),p=(0,V.g2)("q-tabs"),g=(0,V.g2)("q-input"),h=(0,V.g2)("q-select"),b=(0,V.g2)("q-tab-panel"),f=(0,V.g2)("q-checkbox"),v=(0,V.g2)("q-icon"),k=(0,V.g2)("q-date"),y=(0,V.g2)("q-popup-proxy"),L=(0,V.g2)("q-tooltip"),_=(0,V.g2)("q-separator"),w=(0,V.g2)("q-banner"),x=(0,V.g2)("q-td"),C=(0,V.g2)("q-table"),S=(0,V.g2)("q-tab-panels"),F=(0,V.g2)("q-page"),q=(0,V.g2)("q-page-container"),I=(0,V.g2)("q-footer");var P=(0,V.g2)("q-layout");let A=(0,V.g2)("ModalCustomerSearch");var T=(0,V.g2)("q-dialog");let N=(0,V.g2)("PartnerApiIntegrationGuide");var E=(0,V.g2)("PageGuideDialog");let D=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.bF)(P,{container:"",class:"lg-width",view:"lHh lpr lFf"},{default:(0,V.k6)(()=>[(0,V.bF)(n,{class:"bg-primary",elevated:""},{default:(0,V.k6)(()=>[(0,V.bF)(r,null,{default:(0,V.k6)(()=>[(0,V.bF)(o,null,{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(i.modalTitle),1)]),_:1}),(0,V.bo)((0,V.bF)(s,{flat:"",round:"",dense:"",icon:"close"},null,512),[[D]])]),_:1})]),_:1}),(0,V.bF)(q,null,{default:(0,V.k6)(()=>[(0,V.bF)(F,{padding:""},{default:(0,V.k6)(()=>[(0,V.bF)(u,{flat:"",bordered:"",class:"partner-modal-summary q-mb-md"},{default:(0,V.k6)(()=>[(0,V.bF)(c,null,{default:(0,V.k6)(()=>[(0,V.Lk)("div",_e,[(0,V.Lk)("div",we,[(0,V.Lk)("div",xe,(0,R.v_)(l.partner_name||"신규 파트너"),1),(0,V.Lk)("div",Ce,(0,R.v_)(i.businessNumberFormatted||"사업자번호 미입력")+" · "+(0,R.v_)(l.ceo_name||"대표자명 미입력"),1),(0,V.Lk)("div",Se,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(i.contractBadges,e=>((0,V.uX)(),(0,V.Wv)(d,{key:e.label,color:e.color,label:e.label},null,8,["color","label"]))),128)),(0,V.bF)(d,{color:i.contractStatus.color,label:i.contractStatus.label},null,8,["color","label"])])]),(0,V.Lk)("div",Fe,[e[39]||(e[39]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"담당자",-1)),(0,V.Lk)("div",qe,(0,R.v_)(l.admin_name||"-"),1),i.canManageApiKeys?((0,V.uX)(),(0,V.CE)("div",Ie,[e[38]||(e[38]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"API Key",-1)),(0,V.Lk)("div",Pe," 활성 "+(0,R.v_)(i.activeApiKeyCount)+"개 · 마지막 사용 "+(0,R.v_)(i.lastApiKeyUsedAt),1)])):(0,V.Q3)("",!0)])])]),_:1})]),_:1}),(0,V.bF)(p,{modelValue:l.activeTab,"onUpdate:modelValue":e[0]||(e[0]=e=>l.activeTab=e),dense:"",align:"left","active-color":"primary","indicator-color":"primary",class:"partner-modal-tabs q-mb-md"},{default:(0,V.k6)(()=>[(0,V.bF)(m,{name:"basic",icon:"badge",label:"기본정보"}),(0,V.bF)(m,{name:"contract",icon:"handshake",label:"계약정보"}),(0,V.bF)(m,{name:"admin",icon:"manage_accounts",label:"담당자"}),i.canManageApiKeys?((0,V.uX)(),(0,V.Wv)(m,{key:0,name:"api",icon:"vpn_key",label:"API 연동"})):(0,V.Q3)("",!0),"modify"===a.mode&&90<=Number(a.authLevel)?((0,V.uX)(),(0,V.Wv)(m,{key:1,name:"danger",icon:"warning",label:"위험 작업"})):(0,V.Q3)("",!0)]),_:1},8,["modelValue"]),(0,V.bF)(S,{modelValue:l.activeTab,"onUpdate:modelValue":e[34]||(e[34]=e=>l.activeTab=e),animated:"",class:"partner-modal-panels"},{default:(0,V.k6)(()=>[(0,V.bF)(b,{name:"basic"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Ae,[(0,V.Lk)("div",Te,[(0,V.bF)(g,{modelValue:l.partner_name,"onUpdate:modelValue":e[1]||(e[1]=e=>l.partner_name=e),"label-slot":"","lazy-rules":"",ref:"partnerNameRef",rules:[e=>!!e||"* 표시 항목은 필수 입력입니다."]},{label:(0,V.k6)(()=>[(0,V.Lk)("span",{class:(0,R.C4)(["custom-label",{required:!l.partner_name}])}," 파트너명 * ",2)]),_:1},8,["modelValue","rules"]),(0,V.bF)(g,{modelValue:i.businessNumberFormatted,"onUpdate:modelValue":e[2]||(e[2]=e=>i.businessNumberFormatted=e),"label-slot":"","lazy-rules":"",rules:[e=>!!e||"* 표시 항목은 필수 입력입니다."],ref:"businessNumberRef",maxlength:"12"},{label:(0,V.k6)(()=>[(0,V.Lk)("span",{class:(0,R.C4)(["custom-label",{required:!i.businessNumberFormatted}])}," 사업자 번호 * ",2)]),_:1},8,["modelValue","rules"]),(0,V.bF)(h,{modelValue:l.business_type,"onUpdate:modelValue":e[3]||(e[3]=e=>l.business_type=e),ref:"businessTypeRef",options:this.$store.getters.getBizTypeCodeList,behavior:"menu",label:"비지니스 타입","emit-value":"","map-options":"","label-slot":"","lazy-rules":"",rules:[e=>!!e||"* 표시 항목은 필수 입력입니다."]},{label:(0,V.k6)(()=>[(0,V.Lk)("span",{class:(0,R.C4)(["custom-label",{required:!l.business_type}])}," 비지니스 타입 * ",2)]),_:1},8,["modelValue","options","rules"])])]),(0,V.Lk)("div",Ne,[(0,V.Lk)("div",Ee,[(0,V.bF)(g,{modelValue:l.ceo_name,"onUpdate:modelValue":e[4]||(e[4]=e=>l.ceo_name=e),"label-slot":"","lazy-rules":"",rules:[e=>!!e||"* 표시 항목은 필수 입력입니다."],ref:"ceoNameRef",maxlength:"50",onBlur:e[5]||(e[5]=e=>this.$validKor(l.ceo_name))},{label:(0,V.k6)(()=>[(0,V.Lk)("span",{class:(0,R.C4)(["custom-label",{required:!l.ceo_name}])}," CEO 명 * ",2)]),_:1},8,["modelValue","rules"]),(0,V.bF)(g,{modelValue:i.phoneFormatted,"onUpdate:modelValue":e[6]||(e[6]=e=>i.phoneFormatted=e),ref:"phoneFormattedRef",maxlength:"12","label-slot":"","lazy-rules":"",rules:[e=>!!e||"* 표시 항목은 필수 입력입니다."],onBlur:e[7]||(e[7]=e=>this.$validMobile(l.phone))},{label:(0,V.k6)(()=>[(0,V.Lk)("span",{class:(0,R.C4)(["custom-label",{required:!i.phoneFormatted}])}," 대표 전화번호 * ",2)]),_:1},8,["modelValue","rules"]),(0,V.bF)(g,{modelValue:l.email,"onUpdate:modelValue":e[8]||(e[8]=e=>l.email=e),ref:"emailRef",onBlur:e[9]||(e[9]=e=>this.$validEmail(l.email)),"label-slot":"","lazy-rules":"",rules:[e=>!!e||"* 표시 항목은 필수 입력입니다."]},{label:(0,V.k6)(()=>[(0,V.Lk)("span",{class:(0,R.C4)(["custom-label",{required:!l.email}])}," 대표 이메일 * ",2)]),_:1},8,["modelValue","rules"])])]),(0,V.Lk)("div",De,[(0,V.Lk)("div",Oe,[(0,V.bF)(g,{modelValue:l.address,"onUpdate:modelValue":e[10]||(e[10]=e=>l.address=e),ref:"addressRef",maxlength:"400","label-slot":"","lazy-rules":"",rules:[e=>!!e||"* 표시 항목은 필수 입력입니다."]},{label:(0,V.k6)(()=>[(0,V.Lk)("span",{class:(0,R.C4)(["custom-label",{required:!l.address}])}," 사업지 주소 * ",2)]),_:1},8,["modelValue","rules"])])]),(0,V.Lk)("div",Ve,[(0,V.Lk)("div",Re,[(0,V.bF)(g,{modelValue:l.item_categories,"onUpdate:modelValue":e[11]||(e[11]=e=>l.item_categories=e),ref:"itemCategoriesRef",label:"파트너 상품 카테고리","label-slot":"","lazy-rules":"",rules:[e=>!!e||"* 표시 항목은 필수 입력입니다."]},{label:(0,V.k6)(()=>[(0,V.Lk)("span",{class:(0,R.C4)(["custom-label",{required:!l.item_categories}])}," 파트너 상품 카테고리 * ",2)]),_:1},8,["modelValue","rules"]),(0,V.bF)(g,{modelValue:l.pickup_area,"onUpdate:modelValue":e[12]||(e[12]=e=>l.pickup_area=e),ref:"pickupAreaRef",label:"집화지역","label-slot":"","lazy-rules":"",rules:[e=>!!e||"* 표시 항목은 필수 입력입니다."]},{label:(0,V.k6)(()=>[(0,V.Lk)("span",{class:(0,R.C4)(["custom-label",{required:!l.pickup_area}])}," 집화지역 * ",2)]),_:1},8,["modelValue","rules"])])])]),_:1}),(0,V.bF)(b,{name:"contract"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Me,[(0,V.Lk)("div",$e,[(0,V.bF)(f,{modelValue:l.has_logis_contract,"onUpdate:modelValue":e[13]||(e[13]=e=>l.has_logis_contract=e),"true-value":1,"false-value":0,disable:!i.canEditContract,label:"LOGIS 계약"},null,8,["modelValue","disable"]),(0,V.bF)(f,{modelValue:l.has_fulfillment_contract,"onUpdate:modelValue":e[14]||(e[14]=e=>l.has_fulfillment_contract=e),"true-value":1,"false-value":0,disable:!i.canEditContract,label:"FULFILLMENT 계약"},null,8,["modelValue","disable"])]),i.hasAnyContract?(0,V.Q3)("",!0):((0,V.uX)(),(0,V.CE)("div",Ue," 최소 1개 계약(LOGIS 또는 FULFILLMENT)은 필수입니다. "))]),(0,V.Lk)("div",We,[(0,V.Lk)("div",Be,[(0,V.bF)(g,{modelValue:l.contract_start_date,"onUpdate:modelValue":e[18]||(e[18]=e=>l.contract_start_date=e),ref:"contractStartDateRef",label:"계약시작일",disable:Number(a.authLevel)<=80,"label-slot":"","lazy-rules":"",rules:[e=>!!e||"* 표시 항목은 필수 입력입니다."]},{label:(0,V.k6)(()=>[(0,V.Lk)("span",{class:(0,R.C4)(["custom-label",{required:!l.contract_start_date}])}," 계약시작일 * ",2)]),append:(0,V.k6)(()=>[(0,V.bF)(v,{name:"event",class:"cursor-pointer",onClick:e[15]||(e[15]=e=>t.$refs.startDatePicker.show())})]),default:(0,V.k6)(()=>[(0,V.bF)(y,{ref:"startDatePicker","transition-show":"scale","transition-hide":"scale"},{default:(0,V.k6)(()=>[(0,V.bF)(k,{modelValue:l.contract_start_date,"onUpdate:modelValue":e[16]||(e[16]=e=>l.contract_start_date=e),mask:"YYYY-MM-DD",format24h:"",onInput:e[17]||(e[17]=e=>t.$refs.startDatePicker.hide())},null,8,["modelValue"])]),_:1},512)]),_:1},8,["modelValue","disable","rules"]),(0,V.bF)(g,{modelValue:l.contract_end_date,"onUpdate:modelValue":e[22]||(e[22]=e=>l.contract_end_date=e),ref:"contractEndDateRef",label:"계약종료일",disable:Number(a.authLevel)<=80,"label-slot":"","lazy-rules":"",rules:[e=>!!e||"* 표시 항목은 필수 입력입니다."]},{label:(0,V.k6)(()=>[(0,V.Lk)("span",{class:(0,R.C4)(["custom-label",{required:!l.contract_end_date}])}," 계약종료일 * ",2)]),append:(0,V.k6)(()=>[(0,V.bF)(v,{name:"event",class:"cursor-pointer",onClick:e[19]||(e[19]=e=>t.$refs.endDatePicker.show())})]),default:(0,V.k6)(()=>[(0,V.bF)(y,{ref:"endDatePicker","transition-show":"scale","transition-hide":"scale"},{default:(0,V.k6)(()=>[(0,V.bF)(k,{modelValue:l.contract_end_date,"onUpdate:modelValue":e[20]||(e[20]=e=>l.contract_end_date=e),mask:"YYYY-MM-DD",format24h:"",onInput:e[21]||(e[21]=e=>t.$refs.endDatePicker.hide())},null,8,["modelValue"])]),_:1},512)]),_:1},8,["modelValue","disable","rules"])])])]),_:1}),(0,V.bF)(b,{name:"admin"},{default:(0,V.k6)(()=>[(0,V.Lk)("h5",ze,[e[40]||(e[40]=(0,V.eW)(" 관리자정보 ")),Number(a.authLevel)<=80?(0,V.Q3)("",!0):((0,V.uX)(),(0,V.Wv)(s,{key:0,class:"q-ml-md",color:"secondary",icon:"edit",size:"sm",label:"관리자정보수정",onClick:e[23]||(e[23]=e=>l.modalAdmin=!0)}))]),(0,V.Lk)("div",Xe,[(0,V.Lk)("div",Ke,[(0,V.bF)(g,{modelValue:l.admin_name,"onUpdate:modelValue":e[24]||(e[24]=e=>l.admin_name=e),maxlength:"50",label:"관리자명",readonly:""},null,8,["modelValue"]),(0,V.bF)(g,{modelValue:i.admin_phoneFormatted,"onUpdate:modelValue":e[25]||(e[25]=e=>i.admin_phoneFormatted=e),label:"관리자 전화번호",readonly:""},null,8,["modelValue"]),(0,V.bF)(g,{modelValue:l.admin_email,"onUpdate:modelValue":e[26]||(e[26]=e=>l.admin_email=e),label:"관리자 이메일",readonly:""},null,8,["modelValue"])])])]),_:1}),i.canManageApiKeys?((0,V.uX)(),(0,V.Wv)(b,{key:0,name:"api"},{default:(0,V.k6)(()=>[i.canManageApiKeys?((0,V.uX)(),(0,V.CE)("div",Qe,[(0,V.bF)(u,{flat:"",bordered:"",class:"api-key-card"},{default:(0,V.k6)(()=>[(0,V.bF)(c,null,{default:(0,V.k6)(()=>[(0,V.Lk)("div",Ge,[(0,V.Lk)("div",He,[(0,V.Lk)("div",je,[e[42]||(e[42]=(0,V.Lk)("div",{class:"text-h6"},"API 연동",-1)),(0,V.bF)(s,{flat:"",round:"",dense:"",size:"sm",color:"primary",icon:"help_outline",class:"q-ml-xs","aria-label":"API 연동 사용 가이드",onClick:e[27]||(e[27]=e=>l.apiGuideDialog=!0)},{default:(0,V.k6)(()=>[(0,V.bF)(L,null,{default:(0,V.k6)(()=>e[41]||(e[41]=[(0,V.eW)("API 연동 사용 가이드")])),_:1,__:[41]})]),_:1})]),e[43]||(e[43]=(0,V.Lk)("div",{class:"text-caption text-grey-7"}," 외부 파트너 시스템이 AONE API를 호출할 때 사용하는 API Key를 관리합니다. 원문 키는 발급 직후 한 번만 확인할 수 있습니다. ",-1))]),(0,V.Lk)("div",Ye,[(0,V.bF)(s,{flat:"",dense:"",color:"primary",icon:"download",label:"문서 다운로드",class:"q-mr-sm",onClick:i.downloadApiGuide},null,8,["onClick"]),(0,V.bF)(s,{flat:"",dense:"",color:"primary",icon:"refresh",label:"새로고침",loading:l.apiKeyLoading,onClick:i.loadApiKeys},null,8,["loading","onClick"])])])]),_:1}),(0,V.bF)(_),(0,V.bF)(c,null,{default:(0,V.k6)(()=>[(0,V.Lk)("div",Ze,[(0,V.Lk)("div",Je,[(0,V.bF)(g,{modelValue:l.apiKeyForm.name,"onUpdate:modelValue":e[28]||(e[28]=e=>l.apiKeyForm.name=e),label:"키 이름",placeholder:"예: partner-order-prod"},null,8,["modelValue"])]),(0,V.Lk)("div",et,[(0,V.bF)(g,{modelValue:l.apiKeyForm.scopes,"onUpdate:modelValue":e[29]||(e[29]=e=>l.apiKeyForm.scopes=e),label:"권한 Scope",placeholder:"orders:create, postcode:lookup"},null,8,["modelValue"])]),(0,V.Lk)("div",tt,[(0,V.bF)(g,{modelValue:l.apiKeyForm.expiresAt,"onUpdate:modelValue":e[33]||(e[33]=e=>l.apiKeyForm.expiresAt=e),label:"만료일",placeholder:"선택"},{append:(0,V.k6)(()=>[(0,V.bF)(v,{name:"event",class:"cursor-pointer",onClick:e[30]||(e[30]=e=>t.$refs.apiKeyExpiresPicker.show())})]),default:(0,V.k6)(()=>[(0,V.bF)(y,{ref:"apiKeyExpiresPicker","transition-show":"scale","transition-hide":"scale"},{default:(0,V.k6)(()=>[(0,V.bF)(k,{modelValue:l.apiKeyForm.expiresAt,"onUpdate:modelValue":[e[31]||(e[31]=e=>l.apiKeyForm.expiresAt=e),e[32]||(e[32]=e=>t.$refs.apiKeyExpiresPicker.hide())],mask:"YYYY-MM-DD"},null,8,["modelValue"])]),_:1},512)]),_:1},8,["modelValue"])]),(0,V.Lk)("div",at,[(0,V.bF)(s,{color:"primary",class:"full-width",label:"발급",loading:l.apiKeyIssuing,onClick:i.issueApiKey},null,8,["loading","onClick"])])]),l.issuedApiKey?.apiKey?((0,V.uX)(),(0,V.Wv)(w,{key:0,rounded:"",class:"q-mt-md issued-key-banner"},{avatar:(0,V.k6)(()=>[(0,V.bF)(v,{name:"vpn_key",color:"orange-8"})]),action:(0,V.k6)(()=>[(0,V.bF)(s,{flat:"",color:"primary",label:"복사",onClick:i.copyIssuedApiKey},null,8,["onClick"])]),default:(0,V.k6)(()=>[e[44]||(e[44]=(0,V.Lk)("div",{class:"text-weight-bold q-mb-xs"},"발급된 API Key",-1)),(0,V.Lk)("div",lt,(0,R.v_)(l.issuedApiKey.apiKey),1),e[45]||(e[45]=(0,V.Lk)("div",{class:"text-caption q-mt-sm"}," 이 키는 다시 조회할 수 없습니다. 지금 복사해 파트너 담당자에게 안전한 경로로 전달하세요. ",-1))]),_:1,__:[44,45]})):(0,V.Q3)("",!0)]),_:1}),(0,V.bF)(c,null,{default:(0,V.k6)(()=>[(0,V.bF)(C,{flat:"",dense:"",loading:l.apiKeyLoading,rows:l.apiKeyRows,"rows-per-page-options":[5,10,20],"row-key":"id","no-data-label":"발급된 API Key가 없습니다.",columns:[{name:"name",label:"키 이름",field:"name",align:"left"},{name:"key_prefix",label:"Prefix",field:"key_prefix",align:"left"},{name:"scopes",label:"권한",field:e=>i.formatScopes(e.scopes),align:"left"},{name:"status",label:"상태",field:e=>i.formatStatus(e),align:"center"},{name:"expires_at",label:"만료일",field:e=>e.expires_at||"-",align:"center"},{name:"last_used_at",label:"마지막 사용",field:e=>e.last_used_at||"-",align:"center"},{name:"created_at",label:"생성일",field:"created_at",align:"center"},{name:"action",label:"관리",field:"action",align:"center"}]},{"body-cell-status":(0,V.k6)(e=>[(0,V.bF)(x,{props:e},{default:(0,V.k6)(()=>[(0,V.bF)(d,{color:1===Number(e.row.is_active)?"positive":"grey-6",label:i.formatStatus(e.row)},null,8,["color","label"])]),_:2},1032,["props"])]),"body-cell-action":(0,V.k6)(t=>[(0,V.bF)(x,{props:t},{default:(0,V.k6)(()=>[(0,V.bF)(s,{flat:"",dense:"",color:"primary",label:"권한수정",disable:1!==Number(t.row.is_active),onClick:e=>i.updateApiKeyScopes(t.row)},null,8,["disable","onClick"]),(0,V.bF)(s,{flat:"",dense:"",color:"negative",label:"비활성화",disable:1!==Number(t.row.is_active),onClick:e=>i.deactivateApiKey(t.row)},null,8,["disable","onClick"])]),_:2},1032,["props"])]),_:1},8,["loading","rows","columns"])]),_:1})]),_:1})])):(0,V.Q3)("",!0)]),_:1})):(0,V.Q3)("",!0),"modify"===a.mode&&90<=Number(a.authLevel)?((0,V.uX)(),(0,V.Wv)(b,{key:1,name:"danger"},{default:(0,V.k6)(()=>[(0,V.bF)(u,{flat:"",bordered:"",class:"danger-zone-card"},{default:(0,V.k6)(()=>[(0,V.bF)(c,null,{default:(0,V.k6)(()=>[(0,V.Lk)("div",it,[e[46]||(e[46]=(0,V.Lk)("div",{class:"col-12 col-md"},[(0,V.Lk)("div",{class:"text-h6 text-negative"},"위험 작업"),(0,V.Lk)("div",{class:"text-caption text-grey-7 q-mt-xs"}," 파트너 삭제는 해당 파트너 정보를 더 이상 조회하거나 수정할 수 없게 만듭니다. 운영 데이터와 연결된 파트너라면 삭제 전에 주문, 상품, API Key 관계를 먼저 확인해야 합니다. ")],-1)),(0,V.Lk)("div",ot,[(0,V.bF)(s,{outline:"",color:"negative",icon:"delete",label:"파트너 삭제",onClick:i.deletePartner},null,8,["onClick"])])])]),_:1})]),_:1})]),_:1})):(0,V.Q3)("",!0)]),_:1},8,["modelValue"])]),_:1})]),_:1}),(0,V.bF)(I,{class:"bg-white text-black"},{default:(0,V.k6)(()=>[(0,V.bF)(r,{class:"no-gutter"},{default:(0,V.k6)(()=>["modify"===a.mode?((0,V.uX)(),(0,V.Wv)(s,{key:0,label:"수정",class:"btn full-width",size:"lg",color:"secondary",onClick:i.modifyPartner},null,8,["onClick"])):(0,V.Q3)("",!0),"create"===a.mode?((0,V.uX)(),(0,V.Wv)(s,{key:1,label:"등록",class:"btn full-width",size:"lg",color:"primary",onClick:i.registerPartner},null,8,["onClick"])):(0,V.Q3)("",!0)]),_:1})]),_:1})]),_:1}),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(T,{modelValue:l.modalAdmin,"onUpdate:modelValue":e[36]||(e[36]=e=>l.modalAdmin=e),persistent:""},{default:(0,V.k6)(()=>[(0,V.bF)(A,{onChangeCustomer:i.changeAdmin,onCloseModalSearch:e[35]||(e[35]=()=>{l.modalAdmin=!1})},null,8,["onChangeCustomer"])]),_:1},8,["modelValue"])])),(0,V.bF)(E,{modelValue:l.apiGuideDialog,"onUpdate:modelValue":e[37]||(e[37]=e=>l.apiGuideDialog=e),title:"API 연동 사용 가이드",description:"파트너 외부 API Key 발급과 전달 기준을 확인합니다."},{default:(0,V.k6)(()=>[(0,V.bF)(N)]),_:1},8,["modelValue"])],64)}],["__scopeId","data-v-1cc60716"]]));let r="active",xt=[{key:"logis",label:"LOGIS",title:"AONE Logis",description:"오더 및 운송",icon:"local_shipping"},{key:"fulfillment",label:"FULFILLMENT",title:"AONE Fulfillment",description:"상품·SKU 및 포장",icon:"inventory_2"},{key:"inventory",label:"INVENTORY",title:"AONE Inventory",description:"입고·재고 및 이력",icon:"warehouse"}],Ct=e=>"boolean"==typeof e?e:"number"==typeof e?1===e:(e=String(e??"").trim().toLowerCase(),["1","true","y","yes",r,"enabled"].includes(e)),St=e=>{e=String(e??"").trim().toLowerCase();return["active","enabled","approved"].includes(e)?r:["pending","requested","review"].includes(e)?"pending":["suspended","disabled","blocked"].includes(e)?"suspended":"unregistered"},Ft=(e,t)=>{var a=e?.service_statuses??e?.serviceStatuses??{};return e?.[t+"_service_status"]??e?.[t+"ServiceStatus"]??a?.[t]},qt=e=>String(e?.partner_domain_scope??e?.partnerDomainScope??e?.service_scope??e?.serviceScope??e?.menu_scope??e?.menuScope??"").toLowerCase().replace(/\s+/g,""),It=(e={},t)=>{var a;return 90<=Number(e?.authLevel??0)?r:null!=(a=Ft(e,t))&&""!==a?St(a):(a=`has_${t}_contract`,null!=e?.[a]?Ct(e[a])?r:"unregistered":(a=qt(e))?a.includes("both")||a.includes("all")||a.includes(t)||"fulfillment"===t&&a.includes("fulfill")?r:"unregistered":"inventory"===t?"unregistered":r)},n=(e,t)=>It(e,t)===r,Pt=(t="")=>t.startsWith("/admin/inventory")?"inventory":t.startsWith("/admin/fulfillment/packing/receiving")?"logis":t.startsWith("/admin/fulfillment")||t.startsWith("/admin/packing")?"fulfillment":["/admin/parcel-info","/admin/dashboard","/admin/console","/admin/hbl-no-manage","/admin/hs-code-manage","/admin/freight-manage","/admin/pickup-request-list","/admin/courier-manage","/admin/pickup-manage","/admin/location-manage","/admin/manage-schedule"].some(e=>t.startsWith(e))?"logis":null;var At={name:"AdminSideBar",components:{PartnerInfoForm:l},props:{drawer:{type:Boolean,default:!1},activeService:{type:String,default:"logis"}},emits:["quick-action","sign-out"],data(){return{session:this.$store.getters.getLocalSession,isSignedIn:this.$store.getters.getSessionStatus,memberId:this.$store.getters.getLocalSession.memberId,authLevel:"00",partnerModifyModalShow:!1,partnerModifyModalMode:"modify",accountMenuOpen:!1,partnerInfo:{},workspaceServices:xt,menuGroups:[{id:"logis-order",tab:"logis",kind:"section",title:"Order 관리",icon:"inbox",roles:["admin","partner"],items:[{label:"통합조회",to:"/admin/parcel-info",roles:["admin","partner"]},{label:"콘솔",to:"/admin/console",minAuth:90,roles:["admin"]},{label:"화물번호 대역폭관리",to:"/admin/hbl-no-manage",minAuth:90,roles:["admin"]},{label:"HS CODE 관리",to:"/admin/hs-code-manage",minAuth:90,roles:["admin"]},{label:"파트너 오더 입고처리",to:"/admin/fulfillment/packing/receiving",minAuth:90,roles:["admin"],domain:"logis"}],addSeparator:!0},{id:"logis-packing",tab:"fulfillment",kind:"section",title:"포장 관리",icon:"inventory_2",domain:"fulfillment",roles:["admin","partner"],minAuth:80,items:[{label:"포장",to:"/admin/packing",minAuth:80,roles:["admin","partner"],domain:"fulfillment"},{label:"익스프레스 규칙 관리",to:"/admin/fulfillment/packing/express-rules",minAuth:90,roles:["admin"],domain:"fulfillment"}],addSeparator:!0},{id:"logis-freight",tab:"logis",kind:"section",title:"화물운송편관리",icon:"flight",minAuth:90,roles:["admin"],items:[{label:"운송편 관리",to:"/admin/freight-manage",minAuth:90,roles:["admin"]}],addSeparator:!0},{id:"logis-schedule",tab:"logis",kind:"section",title:"일정관리",icon:"date_range",minAuth:80,roles:["admin","partner"],domain:"logis",items:[{label:"일정관리",to:"/admin/manage-schedule",minAuth:80,roles:["admin","partner"],domain:"logis"}],addSeparator:!0},{id:"logis-delivery",tab:"logis",kind:"section",title:"배송관리",icon:"local_shipping",minAuth:90,roles:["admin"],items:[{label:"택배사관리",to:"/admin/courier-manage",minAuth:90,roles:["admin"]},{label:"픽업지관리",to:"/admin/pickup-manage",minAuth:90,roles:["admin"]}],addSeparator:!0},{id:"fulfillment-product-admin",tab:"fulfillment",kind:"section",title:"상품 관리",icon:"inventory",minAuth:80,roles:["admin"],items:[{label:"상품 운영 현황",to:"/admin/fulfillment/operations",minAuth:80,roles:["admin"]},{label:"요청/매핑 관리",to:"/admin/fulfillment/request-mappings",minAuth:80,roles:["admin"]},{label:"목록 조회",to:"/admin/fulfillment/master-skus",minAuth:80,roles:["admin"]},{label:"신규 등록",to:"/admin/fulfillment/products/register",minAuth:80,roles:["admin"]},{label:"브랜드/카테고리 관리",to:"/admin/fulfillment/master-data?tab=brand",minAuth:80,roles:["admin"]}],addSeparator:!0},{id:"partner-fulfillment-product",tab:"fulfillment",kind:"section",title:"상품 관리",icon:"inventory",minAuth:80,roles:["partner"],items:[{label:"내 상품 현황",to:"/admin/fulfillment/home",minAuth:80,roles:["partner"]},{label:"내 상품목록 관리",to:"/admin/fulfillment/sku-requests",minAuth:80,roles:["partner"]}],addSeparator:!0},{id:"inventory-overview",tab:"inventory",kind:"section",title:"재고 관리",icon:"warehouse",minAuth:80,roles:["admin","partner"],items:[{label:"재고 개요",to:"/admin/inventory",minAuth:80,roles:["admin","partner"]}],addSeparator:!0},{id:"common-header",tab:"common",kind:"section",title:"공통",icon:"widgets",roles:["admin","partner"],items:[]},{id:"common-communication",tab:"common",kind:"section",title:"소통관리",icon:"list",minAuth:90,roles:["admin"],items:[{label:"공지사항",to:"/admin/common/notice",minAuth:90,roles:["admin"]}],addSeparator:!0},{id:"common-member",tab:"common",kind:"section",title:"회원 관리",icon:"manage_accounts",minAuth:90,roles:["admin"],items:[{label:"회원 정보관리",to:"/admin/customer-manage",minAuth:90,roles:["admin"]},{label:"파트너사 정보관리",to:"/admin/partner-manage",minAuth:90,roles:["admin"]}],addSeparator:!0},{id:"common-history",tab:"common",kind:"section",title:"감사 로그",icon:"history",minAuth:90,roles:["admin"],items:[{label:"인증·접속 이력",to:"/admin/common/login-history-manage",minAuth:90,roles:["admin"]},{label:"사용자 활동 로그",to:"/admin/common/user-behavior-tracking",minAuth:90,roles:["admin"]}],addSeparator:!0},{id:"system-admin",tab:"common",kind:"section",title:"시스템 관리",icon:"settings",minAuth:90,roles:["admin"],items:[{label:"코드관리",to:"/admin/common/code-management",minAuth:90,roles:["admin"]},{label:"파일관리",to:"/admin/common/backup-management",minAuth:90,roles:["admin"]},{label:"DB 스키마 스냅샷",to:"/admin/common/schema-snapshots",minAuth:90,roles:["admin"]},{label:"운영 샘플 데이터",to:"/admin/common/logis-sample-data",minAuth:90,roles:["admin"]}],addSeparator:!0},{id:"beta-test",tab:"common",kind:"section",title:"베타 테스트",icon:"build",authEq:99,roles:["admin"],items:[{label:"임시 기능 테스트",to:"/admin/lab",authEq:99,roles:["admin"]}]}]}},computed:{isAdmin(){return 90<=Number(this.session?.authLevel)},isPartner(){return 80===Number(this.session?.authLevel)},accountName(){return(""+(this.session?.lName||"")+(this.session?.fName||"")).trim()||this.session?.memberId||"사용자"},accountInitial(){return this.accountName.charAt(0).toUpperCase()},accountOrganization(){return this.session?.partner_name||"AONE"},accountRoleLabel(){return this.isAdmin?"관리자":this.isPartner?"파트너":"사용자"},activeServiceInfo(){return this.workspaceServices.find(e=>e.key===this.activeService)||this.workspaceServices[0]},quickActions(){return 80!==Number(this.session?.authLevel)||n(this.session,this.activeService)?"logis"===this.activeService?[{label:"ORDER 등록",icon:"add",action:"newParcel"},{label:"엑셀 등록",icon:"upload_file",action:"uploadExcel"},{label:"ORDER 등록 QR",icon:"qr_code",action:"orderQr"},{label:"무게 계산기",icon:"scale",action:"calculator"}]:"fulfillment"===this.activeService?[{label:"상품 요청 등록",icon:"add_box",to:90<=Number(this.session?.authLevel)?"/admin/fulfillment/products/register":"/admin/fulfillment/request/new"}]:[]:[]},menuBlocks(){let t=Number(this.session?.authLevel??0),a=90<=t?"admin":80===t?"partner":"guest",l=e=>!e||"both"===e||"partner"!==a||n(this.session,e),i=e=>!(Array.isArray(e?.roles)&&e.roles.length&&!e.roles.includes(a)||void 0!==e?.minAuth&&t{var t,a,l;"common"!==e.tab&&e.tab!==this.activeService||"common"!==e.tab&&!s||!i(e)||(a=0<(t=(e.items||[]).filter(i)).length,l="section"===e.kind&&0===(e.items||[]).length,"section"===e.kind&&(a||l)&&o.push({type:"section",title:e.title,icon:e.icon,isCommonHeader:"common-header"===e.id}),"list"!==e.kind&&!a)||t.forEach(e=>{o.push({type:"item",label:e.label,to:e.to,action:e.action})})}),o}},methods:{openPartnerAccount(){this.accountMenuOpen=!1,this.partnerModifyModalShow=!0},requestSignOut(){this.accountMenuOpen=!1,this.$emit("sign-out")},handleQuickAction(e){e?.to?this.$router.push(e.to):this.$emit("quick-action",e?.action)},handleMenuAction(e){e?.to?this.$router.push(e.to):"openPartnerModal"===e?.action&&(this.partnerModifyModalShow=!0)},async getPartnerInfo(){let t={method:"POST",url:"/api/partner/getPartnerInfo",name:"[ Axios / 파트너사 정보조회 ]"};await this.$http(t).then(e=>{this.$log.debug("/partner/getPartnerInfo 실행됨",e),200===e.status?this.partnerInfo=e.data:alert(e.info.reason)}).catch(e=>{this.$log.debug("/admin/signOut 실패함 catch",e),alert(t.name+" 발생했습니다.")})},async init(){this.authLevel=this.$getAuthLevel(),void 0!==JSON.parse(sessionStorage.getItem("vuexStore"))?.user?this.authLevel<80?(alert("관리자 또는 파트너가 아닙니다."),this.$router.push("/")):this.$log.debug("관리자입니다."):(alert("오류가 발생했습니다. 다시 로그인 해주세요."),this.$router.push("/")),80==this.authLevel&&await this.getPartnerInfo()}},mounted(){this.init()}},At=(v(92271),(0,e.A)(At,[["render",function(a,e,t,l,i,o){let s=(0,V.g2)("q-avatar"),r=(0,V.g2)("q-item-section"),n=(0,V.g2)("q-item-label"),d=(0,V.g2)("q-icon"),c=(0,V.g2)("q-item"),u=(0,V.g2)("q-separator"),m=(0,V.g2)("q-list");var p=(0,V.g2)("q-slide-transition");let g=(0,V.g2)("q-btn");var h=(0,V.g2)("q-scroll-area");let b=(0,V.g2)("PartnerInfoForm");var f=(0,V.g2)("q-dialog");let v=(0,V.gN)("ripple");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.Lk)("div",he,[(0,V.Lk)("div",be,[(0,V.bo)(((0,V.uX)(),(0,V.Wv)(c,{clickable:"",class:"sidebar-account-toggle","aria-expanded":i.accountMenuOpen?"true":"false",onClick:e[0]||(e[0]=e=>i.accountMenuOpen=!i.accountMenuOpen)},{default:(0,V.k6)(()=>[(0,V.bF)(r,{avatar:""},{default:(0,V.k6)(()=>[(0,V.bF)(s,{color:"cyan-8","text-color":"white",size:"42px"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(o.accountInitial),1)]),_:1})]),_:1}),(0,V.bF)(r,null,{default:(0,V.k6)(()=>[(0,V.bF)(n,{class:"sidebar-title"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(o.accountOrganization),1)]),_:1}),(0,V.bF)(n,{caption:"",class:"sidebar-account-name"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(o.accountName)+" · "+(0,R.v_)(o.accountRoleLabel),1)]),_:1}),(0,V.bF)(n,{caption:"",class:"sidebar-email"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(i.session.email),1)]),_:1})]),_:1}),(0,V.bF)(r,{side:""},{default:(0,V.k6)(()=>[(0,V.bF)(d,{name:i.accountMenuOpen?"expand_less":"expand_more"},null,8,["name"])]),_:1})]),_:1},8,["aria-expanded"])),[[v]]),(0,V.bF)(p,null,{default:(0,V.k6)(()=>[(0,V.bo)((0,V.bF)(m,{dense:"",class:"sidebar-account-menu"},{default:(0,V.k6)(()=>[o.isPartner?(0,V.bo)(((0,V.uX)(),(0,V.Wv)(c,{key:0,clickable:"",onClick:o.openPartnerAccount},{default:(0,V.k6)(()=>[(0,V.bF)(r,{avatar:""},{default:(0,V.k6)(()=>[(0,V.bF)(d,{name:"business"})]),_:1}),(0,V.bF)(r,null,{default:(0,V.k6)(()=>e[2]||(e[2]=[(0,V.eW)("파트너 정보관리")])),_:1,__:[2]})]),_:1},8,["onClick"])),[[v]]):(0,V.Q3)("",!0),(0,V.bF)(u),(0,V.bo)(((0,V.uX)(),(0,V.Wv)(c,{clickable:"",class:"sidebar-sign-out",onClick:o.requestSignOut},{default:(0,V.k6)(()=>[(0,V.bF)(r,{avatar:""},{default:(0,V.k6)(()=>[(0,V.bF)(d,{name:"logout",color:"negative"})]),_:1}),(0,V.bF)(r,null,{default:(0,V.k6)(()=>e[3]||(e[3]=[(0,V.eW)("로그아웃")])),_:1,__:[3]})]),_:1},8,["onClick"])),[[v]])]),_:1},512),[[I.aG,i.accountMenuOpen]])]),_:1})]),(0,V.bF)(h,{ref:"scroll-area",class:"sidebar-scroll"},{default:(0,V.k6)(()=>[(0,V.bF)(m,{class:"list-background"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",fe,[(0,V.Lk)("div",ve,[(0,V.bF)(d,{name:o.activeServiceInfo.icon,color:"cyan-9",size:"28px",class:"q-mr-sm"},null,8,["name"]),(0,V.Lk)("div",null,[(0,V.Lk)("div",ke,(0,R.v_)(o.activeServiceInfo.title),1),(0,V.Lk)("div",ye,(0,R.v_)(o.activeServiceInfo.description),1)])])]),o.quickActions.length?((0,V.uX)(),(0,V.CE)("div",Le,[e[4]||(e[4]=(0,V.Lk)("div",{class:"text-caption text-weight-bold text-grey-7 q-px-sm q-pb-xs"},"빠른 실행",-1)),((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(o.quickActions,t=>((0,V.uX)(),(0,V.Wv)(g,{key:t.label,flat:"","no-caps":"",align:"left",color:"cyan-9",class:"full-width quick-action-button",icon:t.icon,label:t.label,onClick:e=>o.handleQuickAction(t)},null,8,["icon","label","onClick"]))),128))])):(0,V.Q3)("",!0),((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(o.menuBlocks,(t,e)=>((0,V.uX)(),(0,V.CE)(V.FK,{key:t.type+"-"+e},["section"===t.type?(0,V.bo)(((0,V.uX)(),(0,V.Wv)(c,{key:0,class:(0,R.C4)(["class-divider",{"sidebar-common-break":t.isCommonHeader}])},{default:(0,V.k6)(()=>[(0,V.bF)(r,{avatar:""},{default:(0,V.k6)(()=>[(0,V.bF)(d,{name:t.icon},null,8,["name"])]),_:2},1024),(0,V.bF)(r,null,{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.title),1)]),_:2},1024)]),_:2},1032,["class"])),[[v]]):"item"===t.type?(0,V.bo)(((0,V.uX)(),(0,V.Wv)(c,{key:1,clickable:"",active:Boolean(t.to)&&a.$route.path===t.to,"active-class":"sidebar-item-active",onClick:e=>o.handleMenuAction(t)},{default:(0,V.k6)(()=>[(0,V.bF)(r,null,{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.label),1)]),_:2},1024)]),_:2},1032,["active","onClick"])),[[v]]):(0,V.Q3)("",!0)],64))),128))]),_:1})]),_:1},512)]),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(f,{modelValue:i.partnerModifyModalShow,"onUpdate:modelValue":e[1]||(e[1]=e=>i.partnerModifyModalShow=e)},{default:(0,V.k6)(()=>[(0,V.bF)(b,{partnerInfo:i.partnerInfo,authLevel:i.authLevel,mode:i.partnerModifyModalMode},null,8,["partnerInfo","authLevel","mode"])]),_:1},8,["modelValue"])]))],64)}],["__scopeId","data-v-28ca4650"]]));let Tt={class:"admin-notification-panel"},Nt={class:"panel-header"},Et={class:"panel-actions"},Dt={class:"summary-badges"},Ot={class:"action-buttons"},Vt={key:0,class:"notification-empty"};var d={name:"AdminNotificationPanel",emits:["close","refresh","read","read-all","open-target"],props:{notifications:{type:Array,default:()=>[]},summary:{type:Object,default:()=>({unread:0,errors:0,warnings:0,today:0})}},methods:{notificationIcon(e){return{error:"error",warning:"warning",success:"check_circle",info:"info"}[e]||"notifications"},notificationColor(e){return{error:"negative",warning:"warning",success:"positive",info:"primary"}[e]||"primary"}}},d=(v(6253),(0,e.A)(d,[["render",function(a,e,t,l,i,o){let s=(0,V.g2)("q-tooltip"),r=(0,V.g2)("q-btn");var n=(0,V.g2)("q-badge");let d=(0,V.g2)("q-icon"),c=(0,V.g2)("q-item-section"),u=(0,V.g2)("q-item-label"),m=(0,V.g2)("q-item");var p=(0,V.g2)("q-list");return(0,V.uX)(),(0,V.CE)("div",Tt,[(0,V.Lk)("div",Nt,[e[4]||(e[4]=(0,V.Lk)("div",null,[(0,V.Lk)("div",{class:"text-h6"},"운영 알림"),(0,V.Lk)("div",{class:"text-caption text-grey-7"}," 실시간 운영 이벤트와 최근 알림 이력입니다. ")],-1)),(0,V.bF)(r,{flat:"",round:"",dense:"",icon:"close",onClick:e[0]||(e[0]=e=>a.$emit("close"))},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>e[3]||(e[3]=[(0,V.eW)("닫기")])),_:1,__:[3]})]),_:1})]),(0,V.Lk)("div",Et,[(0,V.Lk)("div",Dt,[(0,V.bF)(n,{color:"primary"},{default:(0,V.k6)(()=>[(0,V.eW)("미확인 "+(0,R.v_)(t.summary.unread),1)]),_:1}),(0,V.bF)(n,{color:"negative"},{default:(0,V.k6)(()=>[(0,V.eW)("오류 "+(0,R.v_)(t.summary.errors),1)]),_:1}),(0,V.bF)(n,{color:"warning"},{default:(0,V.k6)(()=>[(0,V.eW)("주의 "+(0,R.v_)(t.summary.warnings),1)]),_:1}),(0,V.bF)(n,{color:"grey-7"},{default:(0,V.k6)(()=>[(0,V.eW)("오늘 "+(0,R.v_)(t.summary.today),1)]),_:1})]),(0,V.Lk)("div",Ot,[(0,V.bF)(r,{flat:"",round:"",dense:"",icon:"done_all",color:"primary",disable:0===t.summary.unread,onClick:e[1]||(e[1]=e=>a.$emit("read-all"))},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>e[5]||(e[5]=[(0,V.eW)("전체 읽음 처리")])),_:1,__:[5]})]),_:1},8,["disable"]),(0,V.bF)(r,{flat:"",round:"",dense:"",icon:"refresh",color:"primary",onClick:e[2]||(e[2]=e=>a.$emit("refresh"))},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>e[6]||(e[6]=[(0,V.eW)("새로고침")])),_:1,__:[6]})]),_:1})])]),0===t.notifications.length?((0,V.uX)(),(0,V.CE)("div",Vt," 최근 운영 알림이 없습니다. ")):((0,V.uX)(),(0,V.Wv)(p,{key:1,class:"notification-list"},{default:(0,V.k6)(()=>[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(t.notifications,t=>((0,V.uX)(),(0,V.Wv)(m,{key:t.id,clickable:"",class:(0,R.C4)(["notification-item",{"notification-item--unread":!t.isRead}]),onClick:e=>a.$emit("open-target",t)},{default:(0,V.k6)(()=>[(0,V.bF)(c,{avatar:""},{default:(0,V.k6)(()=>[(0,V.bF)(d,{name:o.notificationIcon(t.severity),color:o.notificationColor(t.severity)},null,8,["name","color"])]),_:2},1024),(0,V.bF)(c,null,{default:(0,V.k6)(()=>[(0,V.bF)(u,{class:"text-weight-medium"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.title),1)]),_:2},1024),(0,V.bF)(u,{caption:""},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.caption||t.message||"-"),1)]),_:2},1024),(0,V.bF)(u,{caption:"",class:"text-grey-6"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.createdAt)+" · "+(0,R.v_)(t.source||"system"),1)]),_:2},1024)]),_:2},1024),(0,V.bF)(c,{side:""},{default:(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",dense:"",round:"",size:"sm",icon:"done",disable:t.isRead,onClick:(0,I.D$)(e=>a.$emit("read",t),["stop"])},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>e[7]||(e[7]=[(0,V.eW)("읽음 처리")])),_:1,__:[7]})]),_:2},1032,["disable","onClick"])]),_:2},1024)]),_:2},1032,["class","onClick"]))),128))]),_:1}))])}],["__scopeId","data-v-1ca1a637"]]));let Rt={class:"row q-col-gutter-sm"},Mt={class:"col col-min-w col-xs-12 col-sm-6"},$t={class:"col col-min-w col-xs-12 col-sm-6"},Ut={class:"col col-min-w col-12"},Wt={class:"row q-gutter-sm"},Bt={class:"col col-min-w"},zt={class:"col col-min-w"},Xt={class:"row q-gutter-sm"},Kt={class:"col col-min-w"},Qt={class:"col col-min-w"},Gt={class:"row q-gutter-sm q-mb-lg"},Ht={class:"col col-min-w"},jt={class:"col col-min-w"},Yt={class:"row q-gutter-sm q-mb-lg"},Zt={class:"col col-min-w"},Jt={class:"col-12"},ea={class:"col-12"},ta={class:"row q-gutter-sm q-mt-sm"},aa={class:"col col-min-w"},la={class:"row"},ia={class:"col-sm-6 col-xs-12"},oa={class:"row q-gutter-sm"},sa={class:"col col-min-w"},ra={class:"col col-min-w"},na={class:"row q-mb-sm q-mt-lg"},da={class:"col"},ca={class:"col flex justify-end items-center"},ua={class:"row q-mb-sm q-gutter-sm flex flex-wrap"};var c=v(50953),u={name:"NewOrderComponent",components:{OrderItemRegiFormUnit:v(59917).A},emits:["close-modal","refresh-list"],props:{memberId:String,partnerId:String},computed:{totalItemPrice(){return this.itemList.reduce((e,t)=>e+t.unitPrice*t.itemQty,0)},canUseFulfillmentBarcode(){return 90<=Number(this.session?.authLevel)||this.toBool(this.session?.has_fulfillment_contract)}},data(){return{mode:0,idx:0,regType:"admin",session:this.$store.getters.getLocalSession,step:(0,c.KR)(0),confirmed:!1,orderItemModalShow:!1,orderForm:{orderId:"",customerNum:999999999,freightMethod:"",consoleId:null,hblNo:"",needClearance:"N",customsCategory:"D",courierCode:"",courierNum:"",ecommerceType:"",overSeasSellerCode:"",overSeasSellerName:"",shippingAgencyCode:"",shippingAgencyName:"",sellerAgencyCode:"",sellerAgencyName:"",width:10,length:10,height:10,weight:0,boxQty:1,siteUrl:"",shipperName:"",shipperMobile:"",shipperAddress:"",receiverType:null,receiverName:"",receiverTel:"",receiverMobile:"",receiverZipcode:"",receiverAddress1:"",receiverAddress2:"",pcc:"",orderMemo:"",customsRequest:"",deliveryRequest:""},orderFormDef:{orderId:"",customerNum:999999999,freightMethod:"",consoleId:null,hblNo:"",needClearance:"N",customsCategory:"D",courierCode:"",courierNum:"",ecommerceType:"",overSeasSellerCode:"",overSeasSellerName:"",shippingAgencyCode:"",shippingAgencyName:"",sellerAgencyCode:"",sellerAgencyName:"",width:10,length:10,height:10,weight:0,boxQty:1,siteUrl:"",shipperName:"",shipperMobile:"",shipperAddress:"",receiverType:null,receiverName:"",receiverTel:"",receiverMobile:"",receiverZipcode:"",receiverAddress1:"",receiverAddress2:"",pcc:"",orderMemo:"",customsRequest:"",deliveryRequest:""},itemList:[],itemListOrigin:{barcode:"",itemName:"",brand:"",itemQty:"",unit:"",currency:"USD",unitPrice:"",weight:10,height:10,length:10,width:0,volumeWeight:0,url:"",hsCode:""},columns:[{name:"itemName",label:"품명",field:"itemName",align:"center",sortable:!1},{name:"brand",label:"브랜드",field:"brand",align:"center",sortable:!1},{name:"itemQty",label:"수량",field:"itemQty",align:"center",sortable:!1},{name:"unitPrice",label:"단가",field:"unitPrice",align:"center",sortable:!1},{name:"action",label:"삭제",field:"action",align:"center"}]}},methods:{toBool(e){return"boolean"==typeof e?e:"number"==typeof e?1===e:(e=String(e??"").trim().toLowerCase(),["1","true","y","yes"].includes(e))},async regOrder(){var e={partnerId:this.partnerId,memberId:this.memberId,customerNum:this.orderForm.customerNum,freightMethod:this.orderForm.freightMethod,consoleId:this.orderForm.consoleId,orderId:this.orderForm.orderId,hblNo:this.orderForm.hblNo,needClearance:this.orderForm.needClearance,customsCategory:this.orderForm.customsCategory,courierCode:this.orderForm.courierCode,courierNum:this.orderForm.courierNum,ecommerceType:this.orderForm.ecommerceType,overSeasSellerCode:this.orderForm.overSeasSellerCode,overSeasSellerName:this.orderForm.overSeasSellerName,shippingAgencyCode:this.orderForm.shippingAgencyCode,shippingAgencyName:this.orderForm.shippingAgencyName,sellerAgencyCode:this.orderForm.sellerAgencyCode,sellerAgencyName:this.orderForm.sellerAgencyName,width:this.orderForm.width,length:this.orderForm.length,height:this.orderForm.height,weight:this.orderForm.weight,boxQty:this.orderForm.boxQty,siteUrl:this.orderForm.siteUrl,shipperName:this.orderForm.shipperName,shipperMobile:this.orderForm.shipperMobile,shipperAddress:this.orderForm.shipperAddress,receiverType:this.orderForm.receiverType,receiverName:this.orderForm.receiverName,receiverTel:this.orderForm.receiverTel,receiverMobile:this.orderForm.receiverMobile,receiverZipcode:this.orderForm.receiverZipcode,receiverAddress1:this.orderForm.receiverAddress1,receiverAddress2:this.orderForm.receiverAddress2,pcc:this.orderForm.pcc,orderMemo:this.orderForm.orderMemo,customsRequest:this.orderForm.customsRequest,deliveryRequest:this.orderForm.deliveryRequest,itemList:this.itemList.map(e=>({barcode:e.barcode,itemName:e.itemName,brand:e.brand,itemQty:e.itemQty,unit:e.unit,currency:e.currency,unitPrice:e.unitPrice,weight:e.weight,height:e.height,length:e.length,width:e.width,volumeWeight:this.calculateVolumeWeight(e),url:e.url,hsCode:e.hsCode}))},e=(e.regType=this.regType,{method:"POST",url:"/api/parcel/registerOrderByCustomer",data:e,name:"[ Axios / 오더 등록 ]"});this.$http(e).then(e=>{this.$log.debug("오더 등록 번째 등록내용",e),this.orderForm=this.orderFormDef,this.itemList=[this.itemListOrigin],this.step=0,this.confirmed=!1,this.$q.dialog({title:"customer"===this.regType?"배송요청 접수 완료":"확인",message:"customer"===this.regType?"배송요청이 접수되었습니다. 담당자가 확인 후 운송장과 진행상태를 업데이트합니다.":"상품등록에 성공했습니다.",cancel:!1,persistent:!0}).onOk(()=>{this.$emit("close-modal"),this.$emit("refresh-list")})}).catch(e=>{this.$log.debug("/parcel/registerOrder 실패",e),this.$q.dialog({message:"customer"===this.regType?"배송요청 제출에 실패했습니다.":"상품등록을 실패했습니다."})})},validateOrderForm(){var e,t,a;for({field:e,label:t}of[{field:"needClearance",label:"일반통관 여부"},{field:"customsCategory",label:"통관 구분 코드"},{field:"shipperName",label:"보내는 사람 이름"},{field:"shipperMobile",label:"보내는 사람 전화번호"},{field:"shipperAddress",label:"보내는 사람 주소"},{field:"receiverType",label:"받는 사람 구분"},{field:"receiverName",label:"받는 사람 이름"},{field:"receiverTel",label:"받는 사람 전화번호"},{field:"receiverMobile",label:"받는 사람 휴대폰"},{field:"receiverZipcode",label:"받는 사람 우편번호"},{field:"receiverAddress1",label:"받는 사람 주소"},{field:"receiverAddress2",label:"받는 사람 상세주소"},{field:"pcc",label:"개인통관고유부호"}])if(!this.orderForm[e])return this.$q.dialog({message:t+"은(는) 필수 입력 항목입니다."}),!1;for(a of this.itemList){if(!a.itemName)return this.$q.dialog({message:"상품 목록의 품명은 필수 입력 항목입니다."}),!1;if(!a.itemQty||a.itemQty<=0)return this.$q.dialog({message:"상품 목록의 수량은 1 이상이어야 합니다."}),!1}return!0},async preValidateOrderForm(){this.validateOrderForm()&&(this.confirmed=!0,this.$q.dialog({title:"customer"===this.regType?"입력내용 확인 완료":"확인",message:"customer"===this.regType?"입력내용을 확인했습니다. 배송요청 제출 버튼을 눌러 접수를 완료해 주세요.":"등록 가능합니다"}))},calculateVolumeWeight(e){var{length:e,width:t,height:a}=e;return Number((e*t*a/6e3).toFixed(3))},removeRow(e){1i.step=e),ref:"stepper","alternative-labels":"",color:"primary",animated:"",id:"stepper"},{navigation:(0,V.k6)(()=>[(0,V.bF)(g,{class:"flex justify-center items-center"},{default:(0,V.k6)(()=>[(0,V.bF)(p,null,{default:(0,V.k6)(()=>[(0,V.bo)((0,V.bF)(u,{size:"md",color:"primary",onClick:o.movePrevStep,outline:"",label:"이전",class:"full-width q-mr-sm"},null,8,["onClick"]),[[I.aG,0[(0,V.bF)(n,{name:0,title:"약관 동의",icon:"agree",done:0["customer"===i.regType?((0,V.uX)(),(0,V.Wv)(r,{key:0,rounded:"",class:"customer-guide-card q-mb-lg"},{avatar:(0,V.k6)(()=>[(0,V.bF)(s,{name:"info",color:"primary"})]),default:(0,V.k6)(()=>[t[18]||(t[18]=(0,V.eW)(" 배송요청 전 통관, 금액, 포장, 금지품목 관련 유의사항을 확인해 주세요. 요청 정보가 부정확하면 통관 또는 배송이 지연될 수 있습니다. "))]),_:1,__:[18]})):(0,V.Q3)("",!0),t[19]||(t[19]=(0,V.Lk)("div",{class:"row q-gutter-sm justify-center q-my-md"},[(0,V.Lk)("div",{class:"col col-min-w col-12 col-md-8"},[(0,V.Lk)("ol",{id:"terms"},[(0,V.Lk)("li",null,[(0,V.eW)(" 내품가(NEW,USED)가 USD 150.00 초과할 경우 과세되며, 내품가격의 측정은 발송인 본인의 책임하에 작성합니다. 이로 인하여 발생하는 "),(0,V.Lk)("strong",null,"통관불가/가격 불인정"),(0,V.eW)("으로 인한 "),(0,V.Lk)("strong",null,"통관지연 / 내품분할 / 배송지연"),(0,V.eW)(" 등에 대하여 보내는 사람에게 모든 책임이 있음을 확인합니다. ")]),(0,V.Lk)("li",null,[(0,V.eW)(" 송장의 정확한 작성은 발송자의 책임이고, "),(0,V.Lk)("strong",null,"제조사, 제품명, 수량, 가격"),(0,V.eW)(" 등을 정확하게 기재하여야 하며. 부실하게 작성된 부분에 있어서 택배사에서 발송자의 동의 없이 내용을 보완할 수 있습니다. 이로 인해서 발생한 직접, 간접적 피해해 대하여 택배사는 "),(0,V.Lk)("strong",null,"책임지지 않습니다.")]),(0,V.Lk)("li",null,[(0,V.eW)(" 화물의 포장은 "),(0,V.Lk)("strong",null,"보내는 사람 책임"),(0,V.eW)("이고, 내품은 움직임이 없이 고정되어야 합니다. 유리병 및 파손위험이 높은 경우 보내는사람은 택배사로 "),(0,V.Lk)("strong",null,"파손면책동의"),(0,V.eW)("를 한 것으로 인정 됩니다. ")]),(0,V.Lk)("li",null,[(0,V.eW)(" 분실을 제외한 "),(0,V.Lk)("strong",null,"화물의 파손, 오염"),(0,V.eW)("의 경우 화물 포장이 완전하지 않은 상태로 발송된 것으로 간주되며 이에 대한 클레임은 택배사에서 진행되지 않습니다. ")]),(0,V.Lk)("li",null," 베터리 및 화기성 제품은 발송할 수 없으며, 만약 속여서 발송하는 과정에서 적발시에 민 형사상의 책임은 전적으로 보내는 사람에게 있습니다. "),(0,V.Lk)("li",null,[(0,V.eW)(" 국제택배의 특성상 비행기의 "),(0,V.Lk)("strong",null,"OFF LOAD, 통관지연, 택배사가 개입할 수 없는 파업, 천재지변"),(0,V.eW)(" 등으로 발생한 배송지연에 대해서 택배사는 보상하지 않습니다. ")]),(0,V.Lk)("li",null,[(0,V.eW)(" 발송하는 택배화물에 대한 대한민국 내의 모든 통관 규정을 숙지하였으며, "),(0,V.Lk)("strong",null,"규정에 벗어난"),(0,V.eW)(" 사항으로 인하여 발생하는 직/간적접인 "),(0,V.Lk)("strong",null,"책임은 발송자 본인에게"),(0,V.eW)(" 있음을 인정합니다. ")])])])],-1))]),_:1,__:[19]},8,["done"]),(0,V.bF)(n,{name:1,title:"보내는 사람정보",icon:"file_upload",done:1["customer"===i.regType?((0,V.uX)(),(0,V.Wv)(r,{key:0,rounded:"",class:"customer-guide-card q-mb-lg"},{avatar:(0,V.k6)(()=>[(0,V.bF)(s,{name:"flight_takeoff",color:"primary"})]),default:(0,V.k6)(()=>[t[20]||(t[20]=(0,V.eW)(" 보내는 사람은 호주 발송인 정보입니다. 이름과 주소는 영문으로 입력해 주세요. "))]),_:1,__:[20]})):(0,V.Q3)("",!0),(0,V.Lk)("div",Rt,[(0,V.Lk)("div",Mt,[(0,V.bF)(d,{modelValue:i.orderForm.shipperName,"onUpdate:modelValue":t[0]||(t[0]=e=>i.orderForm.shipperName=e),ref:"shipperNameRef",label:"보내는 사람 이름(영문)",rules:[this.$validationSet.alpha]},null,8,["modelValue","rules"])]),(0,V.Lk)("div",$t,[(0,V.bF)(d,{modelValue:i.orderForm.shipperMobile,"onUpdate:modelValue":t[1]||(t[1]=e=>i.orderForm.shipperMobile=e),ref:"shipperMobileRef",type:"tel",inputmode:"tel",maxlength:"11",label:"보내는 사람 전화번호",rules:[this.$validationSet.num]},null,8,["modelValue","rules"])]),(0,V.Lk)("div",Ut,[(0,V.bF)(d,{modelValue:i.orderForm.shipperAddress,"onUpdate:modelValue":t[2]||(t[2]=e=>i.orderForm.shipperAddress=e),ref:"shipperAddressRef",type:"textarea",rows:2,label:"보내는 사람 주소(영문)",rules:[this.$validationSet.engAddr]},null,8,["modelValue","rules"])])])]),_:1},8,["done"]),(0,V.bF)(n,{name:2,title:"받는 사람정보",icon:"file_download",done:2["customer"===i.regType?((0,V.uX)(),(0,V.Wv)(r,{key:0,rounded:"",class:"customer-guide-card q-mb-lg"},{avatar:(0,V.k6)(()=>[(0,V.bF)(s,{name:"home",color:"primary"})]),default:(0,V.k6)(()=>[t[21]||(t[21]=(0,V.eW)(" 받는 사람은 한국 수취인 정보입니다. 이름과 주소는 한글로 입력하고, 개인 배송은 개인통관고유부호를 정확히 입력해 주세요. "))]),_:1,__:[21]})):(0,V.Q3)("",!0),(0,V.Lk)("div",Wt,[(0,V.Lk)("div",Bt,[(0,V.bF)(c,{modelValue:i.orderForm.receiverType,"onUpdate:modelValue":t[3]||(t[3]=e=>i.orderForm.receiverType=e),ref:"receiverTypeRef",options:[{label:"개인",value:"1"},{label:"사업자",value:"2"}],label:"받는 사람구분","emit-value":"","map-options":"",behavior:"menu"},null,8,["modelValue"])]),(0,V.Lk)("div",zt,[(0,V.bF)(d,{modelValue:i.orderForm.receiverName,"onUpdate:modelValue":t[4]||(t[4]=e=>i.orderForm.receiverName=e),ref:"receiverNameRef",label:"받는 사람 이름(한글)",rules:[this.$validationSet.korean]},null,8,["modelValue","rules"])])]),(0,V.Lk)("div",Xt,[(0,V.Lk)("div",Kt,[(0,V.bF)(d,{modelValue:i.orderForm.receiverTel,"onUpdate:modelValue":t[5]||(t[5]=e=>i.orderForm.receiverTel=e),ref:"receiverTelRef",maxlength:"11",type:"tel",rules:[this.$validationSet.maxLength(11)],label:"받는 사람 전화"},null,8,["modelValue","rules"])]),(0,V.Lk)("div",Qt,[(0,V.bF)(d,{modelValue:i.orderForm.receiverMobile,"onUpdate:modelValue":t[6]||(t[6]=e=>i.orderForm.receiverMobile=e),ref:"receiverMobileRef",maxlength:"11",type:"tel",rules:[this.$validationSet.maxLength(11)],label:"받는 사람 휴대폰"},null,8,["modelValue","rules"])])]),(0,V.Lk)("div",Gt,[(0,V.Lk)("div",Ht,[(0,V.bF)(d,{modelValue:i.orderForm.pcc,"onUpdate:modelValue":t[7]||(t[7]=e=>i.orderForm.pcc=e),ref:"pccRef",maxlength:"13",rules:[this.$validationSet.maxLength(13)],label:"개인통관고유부호"},null,8,["modelValue","rules"])]),(0,V.Lk)("div",jt,[(0,V.bF)(d,{modelValue:i.orderForm.receiverZipcode,"onUpdate:modelValue":t[8]||(t[8]=e=>i.orderForm.receiverZipcode=e),ref:"receiverZipcodeRef",maxlength:"5",type:"tel",rules:[e=>5===e.length||"5자리를 입력하세요"],label:"받는 사람 우편번호"},null,8,["modelValue","rules"])])]),(0,V.Lk)("div",Yt,[(0,V.Lk)("div",Zt,[(0,V.bF)(d,{modelValue:i.orderForm.receiverAddress1,"onUpdate:modelValue":t[9]||(t[9]=e=>i.orderForm.receiverAddress1=e),ref:"receiverAddress1Ref",label:"받는 사람 주소(한글)",rules:[this.$validationSet.korAddr]},null,8,["modelValue","rules"])]),(0,V.Lk)("div",Jt,[(0,V.bF)(d,{modelValue:i.orderForm.receiverAddress2,"onUpdate:modelValue":t[10]||(t[10]=e=>i.orderForm.receiverAddress2=e),ref:"receiverAddress2Ref",label:"받는 사람 상세주소(한글)",rules:[this.$validationSet.korAddr]},null,8,["modelValue","rules"])]),(0,V.Lk)("div",ea,[(0,V.bF)(d,{modelValue:i.orderForm.orderMemo,"onUpdate:modelValue":t[11]||(t[11]=e=>i.orderForm.orderMemo=e),maxlength:"400",type:"textarea",rows:2,rules:[e=>e.length<=400||"최대 400자까지 입력 가능합니다."],label:"배송메모"},null,8,["modelValue","rules"])])]),(0,V.Lk)("div",ta,[(0,V.Lk)("div",aa,[(0,V.bF)(d,{modelValue:i.orderForm.weight,"onUpdate:modelValue":t[12]||(t[12]=e=>i.orderForm.weight=e),type:"number",min:"0.001",step:"any",label:"중량(kg)",rules:[e=>null==e||""===e||0<=Number(e)||"중량은 0 이상이어야 합니다."]},null,8,["modelValue","rules"])])])]),_:1},8,["done"]),"admin"===i.regType?((0,V.uX)(),(0,V.Wv)(n,{key:0,name:3,title:"기본정보",icon:"list",done:3[(0,V.Lk)("div",la,[(0,V.Lk)("div",ia,[(0,V.bF)(d,{modelValue:i.orderForm.orderId,"onUpdate:modelValue":t[13]||(t[13]=e=>i.orderForm.orderId=e),class:"f-width",label:"Order No."},null,8,["modelValue"])])]),(0,V.Lk)("div",oa,[(0,V.Lk)("div",sa,[(0,V.bF)(c,{modelValue:i.orderForm.needClearance,"onUpdate:modelValue":t[14]||(t[14]=e=>i.orderForm.needClearance=e),options:[{label:"목록",value:"Y"},{label:"일반",value:"N"}],label:"일반신청","emit-value":"","map-options":"",behavior:"menu",disable:""},null,8,["modelValue"])]),(0,V.Lk)("div",ra,[(0,V.bF)(c,{modelValue:i.orderForm.customsCategory,"onUpdate:modelValue":t[15]||(t[15]=e=>i.orderForm.customsCategory=e),options:[{label:"전자상거래",value:"A"},{label:"개인",value:"D"},{label:"상업상품",value:"E"},{label:"상업서류",value:"F"}],label:"통관구분","emit-value":"","map-options":"",behavior:"menu",disable:""},null,8,["modelValue"])])])]),_:1},8,["done"])):(0,V.Q3)("",!0),(0,V.bF)(n,{name:"admin"===i.regType?4:3,title:"상품정보",icon:"add_comment"},{default:(0,V.k6)(()=>["customer"===i.regType?((0,V.uX)(),(0,V.Wv)(r,{key:0,rounded:"",class:"customer-guide-card q-mb-lg"},{avatar:(0,V.k6)(()=>[(0,V.bF)(s,{name:"inventory_2",color:"primary"})]),default:(0,V.k6)(()=>[t[22]||(t[22]=(0,V.eW)(" 상품명, 브랜드, 수량, 단가는 통관 기준 정보입니다. 총 금액이 USD 150을 초과하면 과세될 수 있습니다. "))]),_:1,__:[22]})):(0,V.Q3)("",!0),(0,V.Lk)("div",na,[(0,V.Lk)("div",da,[(0,V.bF)(u,{dense:"",flat:"",icon:"add_circle",onClick:t[16]||(t[16]=()=>{i.itemList.push({barcode:"",itemName:"",brand:"",itemQty:"",unit:"",currency:"USD",unitPrice:"",weight:10,height:10,length:10,width:0,volumeWeight:0,url:"",hsCode:""}),i.confirmed=!1})},{default:(0,V.k6)(()=>t[23]||(t[23]=[(0,V.Lk)("span",{class:"q-ml-xs"},"상품 추가",-1)])),_:1,__:[23]})]),(0,V.Lk)("div",ca,[t[24]||(t[24]=(0,V.eW)(" 총 금액: ")),(0,V.Lk)("span",{class:(0,R.C4)(149((0,V.uX)(),(0,V.CE)("div",{class:"col",style:{"min-width":"300px"},key:e.id??t},[(0,V.bF)(m,{ref_for:!0,ref:"orderItemRegiFormUnitRef",idx:t,item:e,"show-barcode":o.canUseFulfillmentBarcode,"partner-id":a.partnerId,"enable-hs-code-auto":"admin"===i.regType,onRemoveRow:o.removeRow,onUpdateItem:e=>o.updateItemAt(t,e)},null,8,["idx","item","show-barcode","partner-id","enable-hs-code-auto","onRemoveRow","onUpdateItem"])]))),128))])]),_:1},8,["name"])]),_:1},8,["modelValue"])}],["__scopeId","data-v-4f25fa13"]]));let ma={class:"q-pa-md"},pa={class:"q-mb-sm row items-center preview-toolbar"},ga={class:"row items-center q-ml-md"},ha={class:"text-caption q-ml-sm"},ba=["onClick"],fa={key:0,class:"text-negative"},va={key:1},ka={key:0,class:"text-negative text-caption"},ya={class:"text-center q-pa-xl"},La={class:"text-subtitle1 q-mb-sm"};var g=v(93230);let _a={class:"q-pa-md"},wa={class:"row q-col-gutter-md"},xa={class:"col-12 col-md-3 text-center text-h5 success-cnt"},Ca={class:"col-12 col-md-3 text-center text-h5 fail-cnt"},Sa={class:"col-12 col-md-3 text-center text-h5 success-cnt"},Fa={class:"col-12 col-md-3 text-center text-h5 success-cnt"};var m={name:"Excel-upload-result",props:{successCount:Number,failedCount:Number,successRowCount:Number,failedRowCount:Number,successOrderCount:Number,successItemRowCount:Number,failedRows:Array},data(){return{excelColumns:[{name:"rowIndex",label:"행번호",align:"center",field:"rowIndex"},{name:"orderId",label:"orderId",align:"center",field:e=>e.rowData.orderId},{name:"pcc",label:"통관번호",align:"center",field:e=>e.rowData.pcc},{name:"error",label:"실패사유",align:"left",field:"error"}]}},methods:{}};v(69070);let qa=["송하인주소","수하인주소","수하인상세주소","배송메모","URL","상품명"],Ia={name:"Modal-parcel-excel-upload-registration-form",components:{ExcelUploadResult:(0,e.A)(m,[["render",function(e,t,a,l,i,o){var s=(0,V.g2)("q-table");return(0,V.uX)(),(0,V.CE)("div",_a,[(0,V.Lk)("div",wa,[(0,V.Lk)("div",xa,[t[0]||(t[0]=(0,V.eW)("성공 행: ")),(0,V.Lk)("strong",null,(0,R.v_)(a.successRowCount??a.successCount??0),1)]),(0,V.Lk)("div",Ca,[t[1]||(t[1]=(0,V.eW)("실패 행: ")),(0,V.Lk)("strong",null,(0,R.v_)(a.failedRowCount??a.failedCount??0),1)]),(0,V.Lk)("div",Sa,[t[2]||(t[2]=(0,V.eW)("생성 주문: ")),(0,V.Lk)("strong",null,(0,R.v_)(a.successOrderCount||0),1)]),(0,V.Lk)("div",Fa,[t[3]||(t[3]=(0,V.eW)("생성 상품행: ")),(0,V.Lk)("strong",null,(0,R.v_)(a.successItemRowCount||0),1)])]),t[4]||(t[4]=(0,V.Lk)("div",{class:"q-mt-md"},[(0,V.Lk)("strong",null,"실패 항목:")],-1)),(0,V.bF)(s,{style:{width:"100%"},class:"my-sticky-virtscroll-table","virtual-scroll":"","rows-per-page-options":[0],"virtual-scroll-sticky-size-start":48,rows:a.failedRows,columns:i.excelColumns,"row-key":"id"},null,8,["rows","columns"])])}],["__scopeId","data-v-6bed3a62"]])},emits:["close-modal"],computed:{visibleRows(){var e;return this.previewRows?(e=this.previewRows.filter(e=>!e._hidden),(this.showErrorsOnly?e.filter(e=>!e._valid):e).slice(0,this.displayLimit)):[]},remainingCount(){var e=this.previewRows.filter(e=>!e._hidden),e=this.showErrorsOnly?e.filter(e=>!e._valid):e;return Math.max(0,e.length-this.displayLimit)},tableColumns(){var e=(Array.isArray(this.previewHeaders)?this.previewHeaders:[]).map(e=>{var t=String(e.label??"").trim();return{name:String(e.name??""),label:t,field:String(e.name??""),align:qa.includes(t)?"left":"center",sortable:!1,headerStyle:"min-width:160px; max-width:320px; text-align:center;",style:"min-width:160px; max-width:320px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"}});return e.unshift({name:"_rowIndex",label:"행 번호",field:"_rowIndex",align:"center",sortable:!1,headerStyle:"min-width:70px; max-width:70px; text-align:center;",style:"min-width:70px; max-width:70px; text-align:center;"}),e}},data(){return{step:1,file:null,fullDownloadUrl:"",successCount:0,failedCount:0,successRowCount:0,failedRowCount:0,successOrderCount:0,successItemRowCount:0,failedRows:[],previewHeaders:[],previewRows:[],displayLimit:200,showErrorsOnly:!1,jumpRow:null,editDialog:!1,editRow:null,editField:null,editValue:null}},methods:{movePrevStep(){1 ",this.file)},getSelectedFile(){return this.file},async parseExcelToPreview(e){if(!e)throw new Error("No file provided");e=await e.arrayBuffer(),e=g.LF(e,{type:"array"});if(!e.SheetNames||0===e.SheetNames.length)throw new Error("엑셀 시트가 없습니다");var t=e.SheetNames[0],e=e.Sheets[t],t=g.Wp.sheet_to_json(e,{header:1,defval:""}),e=t[2]||[];let i=[],a={};e.forEach((e,t)=>{e=String(e??"").trim()||"Column "+(t+1),t=e.replace(/\s+/g,"_").replace(/[^\w]/g,"")||"col_"+(t+1),this.$log.debug(`Header processing: label='${e}' => base='${t}'`),null==a[t]?a[t]=1:a[t]+=1,t=1===a[t]?t:t+"_"+a[t];i.push({name:t,label:e})}),this.$log.debug(`[ 엑셀을 읽어 프리뷰용 데이터로 변환 ] headerObjs ='${i.length}'`,i);e=t.slice(2).map((a,e)=>{let l={};return i.forEach((e,t)=>{l[e.name]=a[t]}),l._rowIndex=e+3,l._errors={},l._valid=!0,l});return 0String(e.label).trim()===String(a).trim()));return t&&(""===(e=String(e[t.name]??"").trim())?l[t.name]="필수 항목입니다":isNaN(Number(e))&&(l[t.name]="숫자여야 합니다")),l},async regiByExcel(){var e=this.getSelectedFile();if(e){this.$log.debug("[ 엑셀 파일 파싱 및 미리보기 / this.file ] => ",e);try{var{headers:t,rows:a}=await this.parseExcelToPreview(e);this.previewHeaders=t,this.previewRows=a,this.$log.debug("[ 엑셀 파일 파싱 및 미리보기 / Excel parsed for preview ] ",{headers:t,rowsCount:a.length}),this.$refs.stepper.next()}catch(e){this.$log.debug("엑셀 파싱 실패",e),this.$q.notify({type:"negative",message:"엑셀 파일을 읽는 중 오류가 발생했습니다."})}}else this.$q.notify({type:"warning",message:"파일을 선택하세요."})},async commitExcelUpload(){var e=this.previewHeaders.map(e=>e.label);let a=this.previewHeaders.map(e=>e.name);var t,l,e=[e,...this.previewRows.filter(e=>!e._hidden).map(t=>a.map(e=>t[e]))],e=g.Wp.aoa_to_sheet(e),i=g.Wp.book_new(),e=(g.Wp.book_append_sheet(i,e,"Sheet1"),g.M9(i,{bookType:"xlsx",type:"array"})),i=new Blob([e],{type:"application/octet-stream"}),e=this.file?.name?this.file.name.replace(/\.xlsx?$/i,""):"modified_upload",i=new File([i],e+"_modified.xlsx",{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}),e=new FormData;e.append("importExcel",i);for([t,l]of e.entries())this.$log.debug("[ 수정된 엑셀 업로드 / Form data ] = ",t,l?.name||l,l?.size);i={method:"POST",url:"/api/parcel/importExcel",formData:e,name:"[ AXIOS / 수정된 엑셀로 화물 업로드 ]",headers:"multipart"};try{var o,s,r,n,d,c,u,m,p=await this.$http(i);this.$log.debug(i.name+" 실행됨",p),200===p.status?({successCount:o,failedCount:s,successRowCount:r,failedRowCount:n,successOrderCount:d,successItemRowCount:c,failedRows:u,failedExcelDownloadUrl:m}=p.data,this.successCount=o,this.failedCount=s,this.successRowCount=r??o,this.failedRowCount=n??s,this.successOrderCount=d||0,this.successItemRowCount=c||0,this.failedRows=u,this.fullDownloadUrl=m,this.$refs.stepper.next()):this.$q.notify({type:"negative",message:p.info?.reason||"서버 응답 오류",position:"top",timeout:2e3})}catch(e){this.$log.debug(i.name+" 실패함 catch",e),this.$q.notify({type:"negative",message:i.name+" 중 오류가 발생했습니다.",position:"top",timeout:2e3})}},openCellEditor(e,t){this.editRow=e,this.editField=t,this.editValue=e[t],this.editDialog=!0},saveCellEdit(){this.editRow&&this.editField?(this.editRow[this.editField]=this.editValue,this.editRow._errors=this.validateRow(this.editRow,this.previewHeaders),this.editRow._valid=0===Object.keys(this.editRow._errors).length,this.editDialog=!1,this.editRow=null,this.editField=null,this.editValue=null):this.editDialog=!1},cancelCellEdit(){this.editDialog=!1,this.editRow=null,this.editField=null,this.editValue=null},jumpToRow(e){if(e&&this.previewRows&&0!==this.previewRows.length){e=Number(e);if(!(isNaN(e)||e<1)){let t=e-1;this.displayLimit<=t&&(this.displayLimit=50+t),this.$nextTick(()=>{var e=this.$refs.previewTable?.$el?.querySelector(".q-table__middle")||this.$refs.previewTable?.$el?.querySelector(".q-table__container");e&&(e.scrollTop=48*t)})}}},reset(){this.step=1,this.file=null,this.previewHeaders=[],this.previewRows=[],this.successCount=0,this.failedCount=0,this.successRowCount=0,this.failedRowCount=0,this.successOrderCount=0,this.successItemRowCount=0,this.failedRows=[],this.fullDownloadUrl="",this.displayLimit=200,this.showErrorsOnly=!1,this.jumpRow=null},close(){this.reset(),this.$emit("close-modal")},downloadFile(){var e=document.createElement("a");e.href=this.fullDownloadUrl,e.setAttribute("download",""),document.body.appendChild(e),e.click(),document.body.removeChild(e)}}};v(72302);m=(0,e.A)(Ia,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-toolbar-title"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("q-toolbar"),d=(0,V.g2)("q-uploader"),c=(0,V.g2)("q-step"),u=(0,V.g2)("q-toggle"),m=(0,V.g2)("q-input"),p=(0,V.g2)("q-tooltip"),g=(0,V.g2)("q-td"),h=(0,V.g2)("q-table"),b=(0,V.g2)("q-icon"),f=(0,V.g2)("ExcelUploadResult"),v=(0,V.g2)("q-space"),k=(0,V.g2)("q-stepper-navigation"),y=(0,V.g2)("q-stepper"),L=(0,V.g2)("q-card"),_=(0,V.g2)("q-card-section"),w=(0,V.g2)("q-card-actions");var x=(0,V.g2)("q-dialog");let C=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.bF)(L,{class:"card-size"},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[9]||(t[9]=[(0,V.Lk)("div",{class:"text-h6"},"엑셀로 대량등록",-1)])),_:1,__:[9]}),(0,V.bo)((0,V.bF)(r,{flat:"",round:"",dense:"",icon:"close",onClick:o.close},null,8,["onClick"]),[[C]])]),_:1}),(0,V.bF)(y,{modelValue:i.step,"onUpdate:modelValue":t[6]||(t[6]=e=>i.step=e),ref:"stepper",color:"primary",animated:"",flat:""},{navigation:(0,V.k6)(()=>[(0,V.bF)(k,{class:"q-pa-md"},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[2===i.step?((0,V.uX)(),(0,V.Wv)(r,{key:0,flat:"",color:"primary",onClick:o.movePrevStep,label:"다시 선택",class:"q-mr-sm"},null,8,["onClick"])):(0,V.Q3)("",!0),(0,V.bF)(v),1===i.step?((0,V.uX)(),(0,V.Wv)(r,{key:1,onClick:o.regiByExcel,color:"primary",label:"데이터 검증 및 미리보기"},null,8,["onClick"])):(0,V.Q3)("",!0),2===i.step?((0,V.uX)(),(0,V.Wv)(r,{key:2,onClick:o.commitExcelUpload,color:"primary",label:"데이터 등록"},null,8,["onClick"])):(0,V.Q3)("",!0),(0,V.bo)((0,V.bF)(r,{label:"실패 항목 엑셀 다운로드",color:"primary",onClick:o.downloadFile},null,8,["onClick"]),[[I.aG,0[(0,V.bF)(c,{name:1,title:"파일 선택",icon:"file_upload",done:1[(0,V.Lk)("div",ma,[(0,V.bF)(d,{url:"",onAdded:o.fileSelected,onRemoved:t[0]||(t[0]=e=>i.file=null),fieldName:"importExcel",method:"POST",accept:".xls,.xlsx",label:"엑셀파일을 업로드해 주세요.",class:"full-width q-mb-md","hide-upload-btn":"",square:"",flat:"",bordered:""},null,8,["onAdded"])]),t[10]||(t[10]=(0,V.Lk)("div",{class:"q-px-md q-pb-md"},[(0,V.Lk)("div",{class:"comp-box"},[(0,V.Lk)("p",{class:"q-my-sm"},[(0,V.eW)(" 1. 위 영역에 엑셀파일을 Drag & Drop을 합니다."),(0,V.Lk)("br"),(0,V.eW)(" 2. 하단의 '데이터 검증 및 미리보기' 버튼을 클릭해주세요."),(0,V.Lk)("br"),(0,V.eW)(" 3. 검증된 데이터를 확인하고 수정할 수 있습니다."),(0,V.Lk)("br"),(0,V.eW)(" 4. '데이터 등록' 버튼을 누르면 등록이 완료됩니다."),(0,V.Lk)("br")])])],-1))]),_:1,__:[10]},8,["done"]),(0,V.bF)(c,{name:2,title:"미리보기 및 검증",icon:"visibility",class:"q-stepper-excel-upload-list",done:2[(0,V.Lk)("div",pa,[(0,V.bF)(u,{modelValue:i.showErrorsOnly,"onUpdate:modelValue":t[1]||(t[1]=e=>i.showErrorsOnly=e),label:"오류 행만 보기",dense:""},null,8,["modelValue"]),0i.displayLimit+=200)})):(0,V.Q3)("",!0),i.previewRows.length>i.displayLimit?((0,V.uX)(),(0,V.Wv)(r,{key:1,flat:"",size:"sm",label:"모두 보기",onClick:t[3]||(t[3]=e=>i.displayLimit=i.previewRows.length)})):(0,V.Q3)("",!0),(0,V.Lk)("div",ga,[(0,V.bF)(m,{dense:"",modelValue:i.jumpRow,"onUpdate:modelValue":t[4]||(t[4]=e=>i.jumpRow=e),modelModifiers:{number:!0},type:"number",placeholder:"행번호",style:{width:"100px"}},null,8,["modelValue"]),(0,V.bF)(r,{flat:"",size:"sm",label:"이동",onClick:t[5]||(t[5]=e=>o.jumpToRow(i.jumpRow))})]),(0,V.Lk)("div",ha,"총 "+(0,R.v_)(i.previewRows.length)+" 행 / 표시 "+(0,R.v_)(o.visibleRows.length),1)]),(0,V.bF)(h,{ref:"previewTable",rows:o.visibleRows,columns:o.tableColumns,"row-key":"_rowIndex",flat:"",dense:"","virtual-scroll":"","table-header-class":"sticky-header","rows-per-page-options":[],pagination:{rowsPerPage:0},class:"my-sticky-table"},{"body-cell":(0,V.k6)(t=>[(0,V.bF)(g,{props:t,style:(0,R.Tr)(t.col.style)},{default:(0,V.k6)(()=>[(0,V.Lk)("div",{onClick:e=>o.openCellEditor(t.row,t.col.name),style:{cursor:"pointer"}},[t.row._errors&&t.row._errors[t.col.name]?((0,V.uX)(),(0,V.CE)("span",fa,(0,R.v_)(t.row[t.col.name]),1)):((0,V.uX)(),(0,V.CE)("span",va,(0,R.v_)(t.row[t.col.name]),1)),(0,V.bF)(p,{delay:700,anchor:"bottom middle",self:"top middle"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row[t.col.name]),1)]),_:2},1024)],8,ba),t.row._errors&&t.row._errors[t.col.name]?((0,V.uX)(),(0,V.CE)("div",ka,(0,R.v_)(t.row._errors[t.col.name]),1)):(0,V.Q3)("",!0)]),_:2},1032,["props","style"])]),_:1},8,["rows","columns"])]),_:1},8,["done"]),(0,V.bF)(c,{name:3,title:"업로드 완료",icon:"cloud_done"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",ya,[(0,V.bF)(b,{name:"cloud_done",color:"primary",size:"xl"}),t[11]||(t[11]=(0,V.Lk)("div",{class:"text-h6 q-mt-md"},"업로드를 완료했습니다.",-1)),(0,V.bF)(f,{"success-count":i.successCount,"failed-count":i.failedCount,"success-row-count":i.successRowCount,"failed-row-count":i.failedRowCount,"success-order-count":i.successOrderCount,"success-item-row-count":i.successItemRowCount,"failed-rows":i.failedRows},null,8,["success-count","failed-count","success-row-count","failed-row-count","success-order-count","success-item-row-count","failed-rows"])])]),_:1})]),_:1},8,["modelValue"])]),_:1}),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(x,{modelValue:i.editDialog,"onUpdate:modelValue":t[8]||(t[8]=e=>i.editDialog=e),persistent:""},{default:(0,V.k6)(()=>[(0,V.bF)(L,{style:{"min-width":"320px"}},{default:(0,V.k6)(()=>[(0,V.bF)(_,null,{default:(0,V.k6)(()=>[(0,V.Lk)("div",La,"편집: "+(0,R.v_)(i.editField),1),(0,V.bF)(m,{modelValue:i.editValue,"onUpdate:modelValue":t[7]||(t[7]=e=>i.editValue=e),autofocus:"",onKeyup:(0,I.jR)(o.saveCellEdit,["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),(0,V.bF)(w,{align:"right"},{default:(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",label:"취소",onClick:o.cancelCellEdit},null,8,["onClick"]),(0,V.bF)(r,{color:"primary",label:"저장",onClick:o.saveCellEdit},null,8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]))],64)}],["__scopeId","data-v-1f4f6585"]]);let Pa={id:"calculator"},Aa={class:"row"},Ta={class:"col col-sm-6 q-pr-sm q-pl-sm q-mt-md q-mb-xl"},Na={class:"q-mb-xs"},Ea={class:"q-mb-xs"},Da={class:"q-mb-xs"},Oa={class:"col-6 col-sm-6 q-pr-sm q-pl-sm q-mt-md q-mb-xl"},Va={class:"q-mb-xs"},Ra={class:"q-mb-xs"};var p=(0,e.A)({name:"Parcel-fee-calculator",components:{},watch:{calculator:{handler:function(e){this.$log.debug("[ Calculator / Watch ] val = ",e);e=Object.values(e),this.$log.debug("[ Calculator / Watch ] data = ",e),e=e.reduce((e,t)=>e*t);this.$log.debug("flightWeight = "+e/6e3),this.$log.debug("oceanWeight = "+e/1e6);let a=100;function t(e,t){return Math.round(e/t*a)/a}this.flightWeight=t(e,6e3),this.oceanWeight=t(e,1e6)},deep:!0}},computed:{},data(){return{calculator:{width:0,height:0,depth:0},flightWeight:0,oceanWeight:0}},emits:["delete-from-list","modal-modify"],methods:{removeParcel(e){this.$emit("delete-from-list",e)},modalModify(e){this.$log.debug("Click for edit with parcel id = "+e),this.$emit("modal-modify",e)}}},[["render",function(e,t,a,l,i,o){var s=(0,V.g2)("q-input");return(0,V.uX)(),(0,V.CE)("div",Pa,[(0,V.Lk)("div",Aa,[(0,V.Lk)("div",Ta,[t[8]||(t[8]=(0,V.Lk)("div",{class:"cal-section-title q-mb-lg"}," box 크기 ",-1)),(0,V.Lk)("div",Na,[(0,V.bF)(s,{"bottom-slots":"",modelValue:i.calculator.width,"onUpdate:modelValue":t[0]||(t[0]=e=>i.calculator.width=e),label:"가로 : ",type:"number"},{append:(0,V.k6)(()=>t[5]||(t[5]=[(0,V.eW)(" cm ")])),_:1},8,["modelValue"])]),(0,V.Lk)("div",Ea,[(0,V.bF)(s,{"bottom-slots":"",modelValue:i.calculator.depth,"onUpdate:modelValue":t[1]||(t[1]=e=>i.calculator.depth=e),label:"세로 : ",type:"number"},{append:(0,V.k6)(()=>t[6]||(t[6]=[(0,V.eW)(" cm ")])),_:1},8,["modelValue"])]),(0,V.Lk)("div",Da,[(0,V.bF)(s,{"bottom-slots":"",modelValue:i.calculator.height,"onUpdate:modelValue":t[2]||(t[2]=e=>i.calculator.height=e),label:"높이 : ",type:"number"},{append:(0,V.k6)(()=>t[7]||(t[7]=[(0,V.eW)(" cm ")])),_:1},8,["modelValue"])])]),(0,V.Lk)("div",Oa,[t[11]||(t[11]=(0,V.Lk)("div",{class:"cal-section-title q-mb-lg"}," 예상무게 ",-1)),(0,V.Lk)("div",Va,[(0,V.bF)(s,{"bottom-slots":"",modelValue:i.flightWeight,"onUpdate:modelValue":t[3]||(t[3]=e=>i.flightWeight=e),label:"항공 무게 : ",readonly:""},{append:(0,V.k6)(()=>t[9]||(t[9]=[(0,V.eW)(" kg ")])),_:1},8,["modelValue"])]),(0,V.Lk)("div",Ra,[(0,V.bF)(s,{"bottom-slots":"",modelValue:i.oceanWeight,"onUpdate:modelValue":t[4]||(t[4]=e=>i.oceanWeight=e),label:"해상 무게 : ",readonly:""},{append:(0,V.k6)(()=>t[10]||(t[10]=[(0,V.eW)(" CBM ")])),_:1},8,["modelValue"])])])]),t[12]||(t[12]=(0,V.Lk)("div",{class:"row"},[(0,V.Lk)("div",{class:"col-12 d-flex justify-content-center"},[(0,V.Lk)("p",{class:"info text-center"},[(0,V.eW)(" ** 항공부피무게 (가로*세로*높이/6000) (단위 cm)"),(0,V.Lk)("br"),(0,V.eW)(" ** 해상부피측정 (가로*세로*높이) (단위 m)"),(0,V.Lk)("br"),(0,V.eW)(" 항공의 경우 실제 무게 / 부피 무게 중 더 큰 쪽으로 청구됩니다. ")])])],-1))])}]]);let Ma=[{ver:"0.16.15",reports:["익스프레스 처리 실패 시 HTTP 오류 코드 대신 서버가 전달한 실제 오류 사유를 화면과 스캔 로그에 표시"]},{ver:"0.16.14",reports:["포장 화면에 임시콘솔 + 포장완료 백업 버튼 추가: 오더·최종 중량 확인 후 수동 완료 및 임시콘솔 대기를 함께 저장","수동 완료는 운송장 재출력 없이 출력 상태를 유지하며 처리 이력을 기록하고, 콘솔 연결·가등록 미확정 상품을 차단","통합조회 서버 페이징 복구: 전체 조회 건수와 페이지 이동을 제공해 100건 이후 주문도 조회 가능","페이지 이동 시 검색조건 유지, 페이지별 50·100·200건 선택 및 전체 결과 기준 정렬 지원","조회 중 선택 초기화와 중복 요청 방지, 늦게 도착한 이전 응답이 최신 목록을 덮어쓰는 문제 방지"]},{ver:"0.16.13",reports:["이미 실제 콘솔에 연결된 주문은 일반·익스프레스 포장 자동선택과 수동조회에서 제외","조회 후 콘솔에 연결된 주문의 포장 출력·진행·완료 요청도 서버에서 재검증해 차단"]},{ver:"0.16.12",reports:["익스프레스 가등록 상품의 스펙·중량 확정창 복구: 확정 후 같은 주문의 자동 출력과 포장완료를 이어서 처리","가등록 상품 확인 중 다음 스캔은 순서대로 대기하며, 확인 취소·저장 실패 시 출력하지 않도록 보강"]},{ver:"0.16.11",reports:["개발 서버에서 화면 스타일이 적용되지 않는 문제 수정"]},{ver:"0.16.10",reports:["포장 익스프레스 출력 후 포장완료 저장 오류 수정","출력 후 완료 요청 재시도에 성공하면 화면을 다음 상품 스캔 대기 상태로 자동 복구","개발 서버 업데이트 후 이전 화면 코드가 남는 브라우저 캐시 문제 수정"]},{ver:"0.16.9",reports:["익스프레스 서버 배정 기능 제거: 상품 바코드로 미완료 주문을 조회하고 운송장 출력 후 포장완료하는 기본 흐름으로 정리","익스프레스 완료 복구: 출력 접수 후 저장 실패 시 같은 브라우저에서 완료 요청만 재시도","익스프레스 작업 안내: 서버의 다중 작업자 선점·만료·재시도 대기를 제거하고 출력 응답이 불명확한 상품은 관리자 확인 후 처리"]},{ver:"0.16.8",reports:["일반 포장 절차 강화: 최초 HBL, 주문 상품 전량, 최종 HBL, 실측 무게 순서가 완료된 경우에만 포장 완료 가능","포장 작업 복원 추가: 포장 화면을 다시 열어도 최근 포장 시작 이후의 상품 스캔 수량과 진행 단계를 서버 이력에서 복원","포장 완료 안정성 강화: 저장 무게와 풀필먼트 완료 상태를 하나의 트랜잭션으로 반영하고 운송장에는 서버에 저장된 무게만 출력"]},{ver:"0.16.7",reports:["파트너 오더 관리자 예외 입고 추가: 장애 또는 AONE 포장 불가 상황에서 포장주체와 관계없이 입고 처리할 수 있는 관리자 전용 토글 제공","예외 입고 안전장치 추가: 위험 안내 확인 후에만 기능이 활성화되며 예외 사용 여부와 기존 포장주체를 포장 이력에 기록"]},{ver:"0.16.6",reports:["통합조회 목록 요약 개선: 조회·선택 건수와 진행·포장·콘솔 상태 단계 안내를 목록 상단에 표시","통합조회 상세 접근성 개선: Order No. 버튼으로 상세 화면을 열고 행 내부 선택·배송조회 조작과 클릭 동작이 충돌하지 않도록 보강","통합조회 운송장 출력 표시 개선: 출력 여부를 읽기 쉬운 배지와 접근성 설명으로 제공하고 모바일 요약 배치를 정리"]},{ver:"0.16.5",reports:["통합조회 상태 정보 가독성 개선: 진행상태, 포장주체, 포장상태, 콘솔상태, 배송조회를 연속 배치하고 상태별 배지로 구분","통합조회 목록 표시 개선: 셀 경계선, 헤더 배경, 행 강조, 빈 결과 안내를 보강하고 포장상태 정렬 기준을 실제 상태값으로 정리"]},{ver:"0.16.4",reports:["통합조회 Description 표시 개선: 긴 상품 설명은 한 줄로 줄여 표시하고 마우스를 올리면 전체 내용을 확인할 수 있도록 변경","통합조회 상세 조건 UI 개선: 주문 처리 상태, 콘솔 구분, 콘솔 상태, 포장 상태, 파트너 조건을 영역별로 정리하고 적용 조건 수와 일괄 초기화를 제공","통합조회 포장완료 필터 추가: 포장완료된 주문만 빠르게 조회할 수 있도록 상세 검색 조건을 보강","통합조회 콘솔 상태 표시 추가: 각 주문의 미등록, 연결대기, 연결완료 상태를 목록에서 배지로 바로 확인하도록 개선","임시콘솔 등록 검증 강화: 포장완료 상태이고 아직 콘솔에 연결되지 않은 주문만 등록되도록 사전 검증하고 부적합 사유를 안내","임시콘솔 등록 동시성 안정화: 등록 도중 주문 상태가 변경되면 전체 처리를 취소하고 목록을 새로고침하도록 트랜잭션 검증 보강","통합조회 콘솔 상태 일관성 개선: 실제 콘솔에 연결된 주문은 임시 상태와 관계없이 연결완료로 표시하도록 보정","구형 묶음화물 관리 기능 정리: 더 이상 사용하지 않는 묶음화물 화면과 API를 제거하고 현재 사용 중인 엑셀 오더 등록은 유지"]},{ver:"0.16.3",reports:["관리자 워크스페이스 상단 탐색 개선: 패키지 전환과 구분된 대시보드 바로가기 아이콘을 제공","로그인 화면 통합: 고객, 파트너, 관리자가 같은 화면에서 로그인하고 계정 권한과 계약 서비스에 따라 알맞은 초기 화면으로 자동 이동하도록 개선","로그인 화면 UI 개선: 모바일 대응 레이아웃, 입력 오류 안내, 비밀번호 표시, 로그인 진행 상태를 제공하도록 정리","기존 파트너 로그인 주소 호환: /partnerAdmin 접근 시 통합 로그인 화면으로 자동 이동하도록 변경","익스프레스 규칙 관리 추가: 관리자가 파트너·브랜드·카테고리별 포장 익스프레스 허용 범위를 등록·수정·비활성화할 수 있도록 지원","회원가입 화면 개선: 로그인 화면과 일관된 반응형 UI, 항목별 검증, 약관 확인, 비밀번호 표시, 제출 진행 상태를 제공","회원가입 검증 강화: 서버에서 이메일, 비밀번호, 이름, 휴대폰번호, 국가 및 필수 동의를 검증하고 중복 이메일을 명확하게 안내"]},{ver:"0.16.2",reports:["통합조회와 오더등록정보에 포장주체를 표시해 AONE 포장 대상과 파트너 포장 대상을 구분하도록 개선","관리자 대시보드 통계 고도화: 오더생성 단계는 제외하고 오더접수 이력이 있는 화물만 주간·월간 통계에 반영","관리자 대시보드 비교 통계 추가: 이번 주/이번 달 오더접수 및 수령완료 건수를 전주·전월 동기와 비교","관리자 대시보드 지연 화물 표시 추가: 오더접수 후 30일 이상 수령완료되지 않은 화물을 현재 지연 건수로 표시","관리자 대시보드 처리 목록 추가: 지연 화물, 주간·월간 접수·수령완료, 현재 상태, 일별 추이에서 동일 기준의 상세 목록으로 이동","관리자 대시보드 상태 정체 경고 추가: 최근 상태 변경 후 7일 이상 수령완료되지 않은 화물과 처리 목록 제공","관리자 대시보드 파트너별 운영 비교 추가: 주간·월간 접수/수령완료, 지연, 상태 정체 현황을 파트너별로 비교하고 상세 목록 이동 지원","관리자 대시보드 처리 품질 지표 추가: 파트너별 주간·월간 완료율과 수령완료 주문 기준 평균 처리일을 비교","관리자 대시보드 운영 경고 기준 설정 추가: 공통 및 파트너별 상태 정체·지연 기준일을 저장하고 대시보드 집계에 반영","관리자 대시보드 최근 7일 오더접수 추이 개선: 오늘을 포함한 최근 7일을 표시하고 주문이 없는 날짜는 0건으로 보정하며 그래프 선과 포인트의 시인성을 강화"]},{ver:"0.16.1",reports:["우체국 배송조회 연동 추가: H/BL No. 우체국 등기번호 기준으로 우체국 종적조회 API 결과를 별도 배송조회 상태로 저장","배송완료 자동 반영 추가: 우체국 응답이 배달완료일 때만 ORDER 상태를 배송완료 코드로 자동 변경하고 관리자 수동상태를 우선","배송조회 배치 추가: 매일 새벽 3시 우체국 배송조회 대상 오더를 선별해 상태를 갱신","통합조회 배송조회 UI 추가: 배송조회 상태 표시, 진행 내역 확인, 15분 제한 수동 재조회 지원"]},{ver:"0.16.0",reports:["포장완료 후 콘솔대기 DB 전환: 포장 완료 건을 브라우저 임시 목록이 아닌 PACKING_TASK 임시콘솔 상태로 저장하도록 변경","임시콘솔 상태 관리 추가: temp_consol_status를 NONE, READY, LINKED로 관리하고 포장완료 시 READY, 실제 콘솔 연결 시 LINKED로 전환","콘솔 해제 흐름 보강: 실제 콘솔에서 해제된 포장완료 건은 다시 임시콘솔 대기 상태로 복귀하도록 변경","통합조회 임시콘솔상태 필터 추가: 없음, 콘솔대기, 연결완료 기준으로 오더를 조회할 수 있도록 검색 조건 보강","임시콘솔목록 DB 조회 전환: 임시콘솔목록을 새로고침과 사용자 PC에 영향을 받지 않는 DB 기준 목록으로 조회하도록 변경","임시콘솔목록 선택 해제 추가: 임시콘솔 대기 건 중 선택한 항목만 대기 상태에서 해제할 수 있도록 지원","임시콘솔 팝업 UI 개선: 대기 오더 수, 선택 수, 파트너 수, 총 수량/중량 요약과 전용 컬럼을 제공하도록 정리","콘솔 선택 팝업 UI 개선: 선택 오더 요약, 콘솔별 MBL, 편명/선명, 구간, 일정, 오더 수, 수량, 중량 정보를 확인 후 연결하도록 개선","포장관리 파트너 경계 검증 강화: 동일 바코드가 여러 파트너에 존재해도 선택 파트너의 오더만 출력, 포장완료, 임시콘솔 처리되도록 서버와 화면 검증 보강","포장관리 조회기간 프리셋 변경: 바코드 자동선택과 수동조회 기간 버튼을 최근 1달, 최근 2달 기준으로 단순화","포장관리 스캔 확인 보강: 상품 바코드 성공 스캔 10회마다 스캔된 상품명을 확인한 뒤 다음 스캔을 진행하도록 변경","포장관리 선택근거 표시 개선: 자동 선택된 상품명과 선택 기준, 상태 기준을 작업자가 읽기 쉬운 문장으로 표시","포장관리 가등록 상품 확정 추가: 가등록 상품 바코드 스캔 시 현장 실측 스펙을 입력하고 확정등록으로 전환한 뒤 포장을 진행하도록 변경","포장관리 익스프레스 모드 추가: 허용된 파트너와 상품 규칙에서는 상품 바코드 스캔만으로 운송장 출력 후 자동 포장완료 처리 지원","포장관리 모드별 UI 구분 강화: 일반 모드와 익스프레스 모드의 배너, 단계 표시, 입력 영역을 분리해 현장 작업자가 현재 흐름을 명확히 구분하도록 개선","포장관리 일반 모드 운송장 중복 출력 수정: 상품 바코드 최초 스캔에서만 자동 출력하고 HBL 1차 스캔은 포장 시작만 처리하도록 변경","엑셀 업로드 실패 파일 다운로드 보안 강화: 업로드를 수행한 로그인 세션에서만 제한 시간 동안 실패 파일을 다운로드하도록 변경","관리자 파일·스키마 기능 접근 제어 강화: 백업 파일, 업로드 파일, 스키마 스냅샷은 관리자 권한에서만 조회·다운로드하도록 변경","파트너 API 보호 강화: 파트너 API에 호출 제한을 적용하고, 운영 설정에 따라 허용된 출발 IP만 접근하도록 지원","물류 샘플 Bundle 처리 개선: 샘플 데이터의 날짜 형식을 일관되게 처리하고 Bundle JSON 파일 선택·해제 과정을 명확하게 개선","풀필먼트 기본 물류값 분리: 중량, 부피, 가로/세로/높이를 규격 타입이 아닌 마스터 상품 기본값으로 관리하도록 변경","풀필먼트 상품 옵션 규격 추가: 모델코드, 색상, 사이즈를 분리 관리하는 PRODUCT_OPTION 규격 타입 지원","풀필먼트 UGG 상품 엑셀 등록 보강: AONE 표준 등록 양식에 모델코드, 색상, 사이즈, 바코드 정보를 입력해 일괄 등록 가능하도록 정리","풀필먼트 바코드 기준 등록 보강: 동일 모델/색상/사이즈라도 바코드가 다르면 별도 마스터 상품으로 등록 가능하도록 조회와 검증 기준 조정","통합조회 검색 개선: 관리자 배송상품조회에서 콘솔/비콘솔 화물을 기본적으로 함께 조회하고 필요 시 구분 필터를 선택하도록 변경","풀필먼트 등록상태 조회 추가: 마스터 SKU 목록과 상세 화면에서 가등록/확정등록 상태 확인 및 필터링 지원","파트너 API 오더 등록 안정화: 주문 등록 요청 timeout과 DB query timeout을 적용하고 timeout, DB 경합, DB 실패 오류 코드를 표준화","풀필먼트 상품 바코드 관리 추가: 마스터 상품 기본정보에 바코드번호를 저장하고 목록, 상세, 승인, 매핑 화면에서 조회 지원","풀필먼트 관리자 신규 등록 보강: 단건 신규 등록 시 바코드번호를 입력하면 마스터 SKU를 자동 제안하고 필요 시 직접 수정 가능","풀필먼트 파트너 SKU 연결 보강: 관리자 신규 등록에서 파트너 연결 정보는 선택 입력으로 유지하고, 입력 시 기준 상품 생성과 동시에 연결","풀필먼트 마스터 SKU 자동 코드 개선: 신규 마스터 SKU를 브랜드/카테고리 코드와 바코드 또는 순번 조합으로 생성하도록 변경","풀필먼트 바코드 중복 방지: 마스터 상품 바코드는 전역 중복을 막고, 파트너 SKU는 같은 파트너 안에서 중복 등록되지 않도록 서버 검증 추가","풀필먼트 상품 검색 보강: 파트너 상품, 승인 요청, 매핑 현황, 마스터 SKU 목록에서 바코드 검색 지원","오더 상품명 입력 보강: 오더 수동 등록과 통합조회 상품 수정에서 상품명 괄호 입력 허용","오더 엑셀 등록 바코드 매핑 추가: 엑셀 상품코드 컬럼 값을 상품 바코드로 저장하도록 변경"]},{ver:"0.15.4",reports:["고객 배송조회 보안 강화: H/BL 번호와 수취인 전화번호 뒷자리 4자리로 조회하도록 변경하고 공개 응답 개인정보를 최소화","고객 배송조회 페이지 임시 제한: 검증 기간 동안 LOCAL 환경에서만 배송조회 페이지와 진입 버튼을 노출","고객 배송조회 API 임시 제한: 백엔드 LOCAL 환경에서만 공개 조회 API가 응답하도록 제한"]},{ver:"0.15.3",reports:["파트너 API 오더 등록 상태 보정: API로 등록된 오더는 파트너가 출력 책임을 가진 것으로 보고 등록 즉시 출력됨 상태로 처리"]},{ver:"0.15.2",reports:["파트너 API 우편번호/화물집하코드 조회 추가: 외부 파트너가 API Key 인증으로 운송장 출력용 집하코드 정보를 조회할 수 있도록 제공","파트너 API Key 기본 권한 보강: 신규 발급 기본 scope에 orders:create와 postcode:lookup을 함께 제안하도록 수정","파트너 API Key 권한 수정 추가: 기존 API Key를 재발급하지 않고 scope만 업데이트할 수 있도록 관리 기능 추가"]},{ver:"0.15.1",reports:["오더 등록 운영 알림 보강: 일반 오더 등록 성공/실패와 파트너 API 등록 시도 알림에 파트너명을 표시하고 통합조회 바로가기를 제공","파트너 계정 오더 등록 알림 수정: 파트너 화면에서 ORDER 등록 시 세션의 파트너 정보가 등록 컴포넌트에 전달되도록 보강"]},{ver:"0.15.0",reports:["관리자 전역 운영 알림 센터 추가: SSE 기반 운영 이벤트를 관리자 레이아웃에서 전역 수신하고 Quasar Notify로 즉시 표시","상단 알림 버튼 추가: 관리자 헤더의 ORDER 등록 버튼 우측에 독립 알림 버튼과 미확인 알림 배지 표시","우측 알림 패널 추가: 왼쪽 메뉴처럼 본문 영역을 밀어내는 방식으로 최근 알림 목록, 전체 읽음, 새로고침, 개별 읽음, 바로가기 지원","운영 알림 API 호출 분리: 알림 목록 갱신은 대시보드 전체 조회와 분리하고 백그라운드 갱신 시 전역 스피너를 띄우지 않도록 처리","BIZ 라우트 1차 정리: 기존 비즈니스 소개 화면을 /biz 경로에서도 접근 가능하게 하고 상단 메뉴와 홈 주요 링크를 BIZ 경로 기준으로 정리"]},{ver:"0.14.0",reports:["파트너 삭제 API 안정화: 프론트엔드 DELETE 호출과 백엔드 라우트 방식을 맞춰 파트너 삭제 404 오류 수정","파트너 관리 화면 개선: 파트너 요약 카드, 계약 서비스/계약 상태 필터, 통합 검색, 등록·수정·삭제 후 목록 자동 갱신 지원","파트너 정보 모달 1차 개선: 상단 요약 헤더, 기본정보·계약정보·담당자·API 연동 탭 분리, 삭제 작업 위험 영역 분리 적용","고객 배송요청/조회 화면 개선: 고객용 제출 문구 정리, 단계별 안내 카드, 접수 완료 안내, 배송조회 검색 전 안내와 상태 배지 추가"]},{ver:"0.13.0",reports:["오더 등록 HS CODE 자동입력 1차 적용: Fulfillment 등록 상품과 HS CODE 매핑 기준을 조회해 상품명 입력 시 HS CODE 자동 반영","HS CODE 매핑 기준 DB 추가: 정확히 일치, 키워드 포함, 우선순위, 활성 여부 기준으로 자동입력 규칙 관리","HS CODE 관리 페이지 추가: 관리자 화면에서 매칭 기준 목록 조회, 등록, 수정, 비활성화, 상품명 매칭 테스트 지원","HS CODE 관리 내장 가이드 추가: 매칭방식, 우선순위, 테스트 방법과 통관 정보 관리 주의사항 안내","HS CODE 매칭 테스트 유사어 추천 추가: 자동 매칭 실패 시 기존 활성 매핑값 중 비슷한 단어를 추천하고 해당 기준으로 재테스트 지원"]},{ver:"0.12.0",reports:["파트너 외부 API 인증 기반 추가: 외부 파트너 연동을 위한 API Key 테이블, 해시 저장, 인증 미들웨어, 인증 확인 API 구성","파트너사 정보관리 API Key 관리 추가: 관리자 정보관리 팝업에서 외부 연동 키 목록 조회, 발급, 1회 원문 복사, 비활성화 지원","파트너 API 연동 가이드 추가: 관리자용 API 연동 도움말 팝업과 파트너 개발자 전달용 Markdown 스펙 문서 다운로드 제공","파트너 외부 오더 등록 API 추가: API Key 인증 기반으로 파트너 주문 등록, 필수값 검증, 파트너별 외부 주문번호 중복 차단 지원"]},{ver:"0.11.0",reports:["FULFILLMENT 상품 관리 메뉴 개편: 상품 운영 현황, 요청/매핑 관리, 목록 조회, 신규 등록, 브랜드/카테고리 관리 구조로 정리","상품 운영 현황 UI 개선: 상태 요약 카드, 전체 요청 대기 목록, 연결 검토 목록, 장기 미처리 요청, 최근 반려 목록 제공","상품 운영 현황 바로가기 개선: 정상 연결 및 미연결 상품 카드에서 해당 필터가 적용된 목록으로 이동","요청/매핑 관리 UI 개선: 요청 탭과 매핑 탭을 구분하고 요청 대기, 반려, 연결 검토, 정상 연결 상태별 조회 제공","요청 상세 처리 UI 개선: 연결요청과 신규등록요청을 구분하고 권장 처리, 예외 처리, 반려 처리를 분리","목록 조회 UI 개선: 검색 중심 화면, 연결 상태 빠른 필터, 상세 조건, 적용 조건 표시, 초기화, 조회 건수, 상세보기 액션 추가","상품 상세 UI 개선: 기본 정보 수정, 연결된 파트너 SKU 확인 및 연결 해제, 관련 요청 바로 연결 승인 기능 제공","관리자 신규 등록 기능 추가: 단건 등록과 엑셀 일괄 등록을 지원하고 엑셀 미리보기, 직접 수정, 재검증, 저장 흐름 적용","브랜드/카테고리 관리 UI 통합: 탭 전환 방식으로 브랜드와 카테고리를 관리하고 등록, 수정, 활성 상태 변경 지원","상품관리 내장형 사용 가이드 추가: 관리자 주요 메뉴와 상세 화면, 파트너 내 상품 현황, 내 상품목록 관리, 내 상품 상세, SKU 요청 생성 화면에서 도움말 아이콘 기반 가이드 팝업 제공","파트너 상품관리 UI 개선: 내 상품 현황과 내 상품목록 관리 역할을 분리하고 브랜드, 카테고리, 상태 검색 필터 제공","파트너 내 상품 현황 개편: 취급 상품 지표와 브랜드·카테고리 분포를 주영역으로 배치하고 등록·연결 요청 현황을 보조영역으로 분리","파트너 상품 요청 등록 팝업 개선: 화면 내부 버튼으로 팝업을 열 때 현재 경로를 유지하고 직접 URL 접근 시에만 목록으로 복귀","파트너 내 상품 상세 추가: 목록 행 또는 상세보기 아이콘에서 내 SKU의 기준 상품 정보, 규격, 처리 상태, 반려 사유 확인 지원","콘솔 관리 안정화 및 UI 개선: 관리자 권한 강제, 안전한 검색 조건 처리, 콘솔·오더 상태 트랜잭션 적용, 운영 요약 카드와 상태 배지 제공","포장 자동 출력 테스트 개선: 로컬 프린트 에이전트를 기본 출력 경로로 사용해 상품 바코드 스캔 후 운송장 즉시 출력 요청","오더관리 운송장 미리보기 개선: PDF 다운로드와 별도로 로컬 에이전트 즉시 출력 버튼을 추가해 프린터 연동 테스트 지원","로컬 프린트 에이전트 연동 개선: HTML 출력 대신 웹솔루션에서 생성한 운송장 PDF를 에이전트로 전달하는 방식으로 전환","로컬 프린트 에이전트 1차 검증 완료: Windows 무설치 실행파일과 포터블 SumatraPDF 조합으로 테스트 출력 및 오더관리 운송장 PDF 출력 성공","관리자 상단 버전 배지 개선: 환경변수 대신 업데이트 리포트 최신 버전을 기준으로 표시","포장관리 자동 출력 연결: 상품 바코드 스캔 후 오더관리 운송장 출력 양식 기준의 PDF를 로컬 중계프로그램으로 즉시 전송하고 수동 재출력도 동일 경로로 처리","운송장 출력 렌더러 공통화: 오더관리 미리보기와 포장 자동출력이 동일한 운송장 컴포넌트와 PDF 생성 함수를 사용하도록 정리","포장 스캔 안내 개선: 대기 중인 상품이 없을 때는 스캔 실패 대신 안내 메시지를 표시하도록 수정","포장 수동 운송장 출력 확인 추가: 출력 버튼 클릭 시 확인 팝업을 띄우고 사용자 승인 후에만 강제 출력하도록 변경","상품관리 상태 용어 통일: 요청 대기, 연결 검토, 정상 연결, 부분 연결, 미연결, 반려, 활성, 비활성 표현 정리","오더관리 실무게 수정 오류 수정: 상품 단가 0원 검증, 부피무게/실무게 필드 혼선, 서버 무게 검증 누락 및 중복 업데이트 처리 정리"]},{ver:"0.10.2",reports:["FULFILLMENT 상품 관리 고도화: SKU 관리 메뉴를 상품 관리 관점으로 재구성","상품 목록/상품 상세 개편: 마스터 SKU를 상품 기준 정보로 보고 파트너 SKU 연결 현황을 함께 표시","상품 운영 구조 정리: 승인 대기, 연결 처리 현황, 운영 현황 화면 신설","FULFILLMENT 운영 현황 보드 추가: 승인 대기 건수, 연결 처리 필요 건수, 정상 연결/미연결 상품 수 및 처리 큐 제공","상품 운영 IA 개선: 공통 대시보드와 별도로 FULFILLMENT 운영 현황 진입점 구성","승인 대기 화면 개선: 요청 상품 정보, 기존 상품 후보, 처리 액션 중심으로 재구성","연결 처리 현황 화면 개선: 상품 목록과 분리된 관계 처리 화면으로 재정의","백엔드 집계/API 보강: partner_sku_count, mapping_status, partner_skus, relation_source, request_id 기반 응답 추가","메인 DB(aone)와 fulfillment DB 분리 구조 반영: PARTNER 조인을 메인 DB 기준으로 수정"]},{ver:"0.10.1",reports:["화물번호 대역폭관리 기능 고도화: round 기반 탐색에서 다음 연결 대역(next_sequence_id) 기반 체인 구조로 전환","시퀀스 현재 활성 대역 포인터(SEQUENCE_GROUP_STATE) 도입 및 대역 전환 시 자동 포인터 갱신 구조 반영","화물번호 채번 프로시저(get_next_order_number) 개선: 현재 대역 소진 시 연결된 다음 대역 시작번호로 전환되도록 변경","시퀀스 관리 백엔드 계약 개편: id, next_sequence_id, is_active, is_current, current_sequence_id 기준으로 저장/조회/비활성화 처리","시퀀스 관리 화면 개선: 현재 대역 설정, 다음 대역 연결, 비활성화, 수정 기능 추가"]},{ver:"0.10.0",reports:["풀필먼트 포장 기능 본격 반영(프로토타입 → 운영 기능 전환)","포장 화면 자동선택/수동조회 로직 정비 및 manualLookup 쿼리 이슈 수정","포장 권한 정책 반영: 풀필먼트 계약 파트너만 포장업무 메뉴/기능 접근 가능","사이드바 메뉴 노출 정책 개선: 파트너 계약(logis/fulfillment) 기준으로 메뉴 분기","파트너 계약 관리 기능 추가: 파트너 등록/수정 화면에서 로지스틱스/풀필먼트 계약 설정 가능","비밀번호 재설정 방식 변경: 이메일 발송 방식에서 관리자 링크 생성/복사 전달 방식으로 전환","관리자 비밀번호 재설정 링크 생성 API 추가 및 30분 만료/1회성 토큰 정책 적용","비밀번호 재설정 링크 팝업 UI 개선: 긴 URL이 화면을 벗어나지 않도록 모달 크기/줄바꿈/스크롤 처리 및 Copy to clipboard 버튼 추가","로그 이력 확장: 비밀번호 재설정 링크 생성 성공/실패 이벤트(auth.password_reset_link_create*) 기록","로그인 이력 관리/유저 행동 추적 화면에 신규 이벤트 필터 추가","메일 발송 경로 및 nodemailer 의존성 제거"]},{ver:"0.9.27",reports:["콘솔 엑셀 다운로드 시 파트너 별 그룹핑 기능 추가"]},{ver:"0.9.26",reports:["유저 행동 추적 기능 추가"]},{ver:"0.9.25",reports:["PDF 변환 시 QR 코드 추가","콘솔 다운로드시 - HS CODE 엑셀 다운로드시 편의기능 추가","콘솔 다운로드시 - 오더번호에 파트너사 구분을 위한 접두사 추가"]},{ver:"0.9.24",reports:["로그인 이력조회 기능 추가"]},{ver:"0.9.23",reports:["통합조회 - 파트너사 별 조회 필터 추가","대쉬보드 및 사이드바 디자인 수정"]},{ver:"0.9.22",reports:["파트너사 정보 직접 확인 및 수정 기능 추가"]},{ver:"0.9.21",reports:["긴급 배포 : 파트너사 조회시 콘솔된 오더도 조회되도록 수정"]},{ver:"0.9.20",reports:["엑셀 업로드 시 데이터를 미리보기로 확인할 수 있는 기능 추가","엑셀 업로드 시 미리보기에서 데이터 수정이 가능한 기능 추가","엑셀 업로드 시 미리보기에서 오류 데이터만 필터링하여 볼 수 있는 기능 추가"]},{ver:"0.9.19",reports:['오더가 콘솔이 된 경우. 상태를 "출발지-반출" 로 변경',"콘솔 상태 변경을 수정 창이 아닌 목록에서 변경할 수 있도록 수정"]},{ver:"0.9.18",reports:["오더 삭제 이후 선택된 목록을 초기화 하도록 수정","삭제된 상품 관리에 콘솔 해제 기능 추가"]},{ver:"0.9.17",reports:["대쉬보드에 리프레시 버튼 생성","화물대역폭관리 - 타입과 회차에 대한 정의 변경","콘솔관리에서 엑셀 다운로드 시 파트너별 분리"]},{ver:"0.9.16",reports:["콘솔에 있는 오더 삭제 시 콘솔 해제"]},{ver:"0.9.15",reports:["고객 오더 수정시 접수자 Validation 강화","PDF 가시성 보완","삭제 아이템 관리 - 관리자 레벨 노출"]},{ver:"0.9.14",reports:["고객오더 입력 시 Validation 보완 - 수취인 연락처 필수 입력"]},{ver:"0.9.13",reports:["통합조회 시 출력여부 컬럼 추가","오더상세 아이템목록에 주요컬럼 제외 숨김처리"]},{ver:"0.9.12",reports:["영문, 한글 입력 가이드 추가","https:// 자동 입력 제거"]},{ver:"0.9.11",reports:["대시보드 - 1주일간 오더 상태별 현황으로 변경","대시보드 - 조회기능을 단순화"]},{ver:"0.9.10",reports:["고객 오더 상품 조회 기능 개선 - 송장번호 또는 HBL번호로 조회 가능하도록 수정"]},{ver:"0.9.9",reports:["오더추가 UI 개선","오더추가 시 관리자와 고객의 화면을 구분하여 처리","오더추가 시 약관추가"]},{ver:"0.9.8",reports:["운송장 pdf 변환 시 페이지 하단에 생성시점 표기 추가","홈페이지 항목에 빈값이 있을 경우 유효성 검사 통과하도록 수정"]},{ver:"0.9.7",reports:["G1 업로드양식으로 엑셀 컬럼오류추가","세션의 오류 수정"]},{ver:"0.9.6",reports:["G1 업로드양식으로 엑셀 다운로드 기능 추가(콘솔관리 화면)","파트너 로그인 화면 추가","통합조회시 최대 1page에서 500건까지 조회 가능하도록 변경"]},{ver:"0.9.5",reports:["오더 등록시 전자상거래 유형 코드 추가","오더 등록시 입력한 사이즈값이 아이템으로 잘못 입력되는 문제 수정"]},{ver:"0.9.4",reports:["운송장 pdf 변환 시 위치 최적화 및 우편물 분류를 위해 지정된 “행낭(행선지별 운송 자루)” 코드 적용","관리자 로그인(최초진입 시) 통합조회 화면에서 기본으로 검색이 되지 않고 이동하도록 변경","엑셀업로드 시 성공한 건수와 실패한 건수를 보여주도록 변경","콘솔이 추가된 경우 스케쥴러 페이지에 일정을 표기"]},{ver:"0.9.3",reports:["ORDER등록 - 상품(Item) 등록 형식을 table에서 form으로 변경","콘솔관리 - 콘솔 검색기능 추가","모바일에서 접근 시 왼쪽 메뉴 숨김을 default으로 설정","모바일에서 접근 시 상단 메뉴에서 텍스트 숨김을 default으로 설정","모바일에서 입력창 포커스 시 화면 확대 방지"]},{ver:"0.9.2",reports:["ORDER등록 - Order number 자동 채번 기능 추가","통합조회 - Consol 시 [출항 대기] 상태만 조회","공통 - QR 등록 시 AONE 파트너 ID 자동 입력"]},{ver:"0.9.1",reports:["고객 비밀번호 변경 기능 추가"]},{ver:"0.9.0",reports:["통합조회","콘솔관리","운송편 관리","화물 대역폭 관리","파트너 기능 개선 - 파트너가 등록한 배송상품을 조회할 수 있는 기능 추가","파트너 기능 개선 - QR로 고객 오더 등록화면 진입 및 등록"]},{ver:"0.8.2",reports:["데일리 백업파일 다운로드 기능 추가"]},{ver:"0.8.1",reports:["엑셀 업로드 기능 보완 및 새로운 모달로 분리","배송상품조회 목록에서 row 선택시 모달을 띄우는 형식으로 변경. 수정 버튼 삭제됨."]},{ver:"0.8.0",reports:["파트너 기능 추가 - 고객의 계정을 파트너로 등급업이 가능하며 파트너는 관리자 화면에 접근이 가능하지만 파트너 본인이 등록한 상품만 볼 수 있음","파트너 로그인","파트너 배송상품 등록"]},{ver:"0.7.3",reports:["픽업지 추가시 폼 코드영역 셀렉트 리스트로 변경","배송등록 폼 디자인 보완"]},{ver:"0.7.2",reports:["코드관리에 부모코드 컬럼 생성"]},{ver:"0.7.1",reports:["브라우져 탭에 페이지 명 각 페이지별 적용","페이지 이동시 스크롤을 항상 페이지 상단으로 이동"]},{ver:"0.7.0",reports:["코드관리 기능 추가"]},{ver:"0.6.0",reports:["업데이트 리포트 메뉴 생성"]},{ver:"0.5.9",reports:["배송상품조회 최초 진입시 날짜설정 오류 수정","소통관리 공지사항 기능 강화"]}],$a=Ma[0]?.ver||"";var Ua=v(87583),Wa=String("DEVELOPMENT").toUpperCase();let Ba=["LOCAL","DEVELOPMENT"].includes(Wa),za=xt.filter(e=>"inventory"!==e.key||Ba),Xa={name:"LayoutAdmin",computed:{mobile(){return 700({...e,status:It(this.session,e.key)}))},activeServiceInfo(){return this.serviceTabs.find(e=>e.key===this.selectedService)||this.serviceTabs[0]}},data(){let t=this.$store.getters.getLocalSession;var e=Pt(this.$route.path);let a=localStorage.getItem("aoneWorkspaceService");var l=za.find(e=>"active"===It(t,e.key))?.key||"logis",e=e||(a&&za.some(e=>e.key===a)&&"active"===It(t,a)?a:l);return{drawer:700({active:"사용 중",pending:"승인 대기",suspended:"이용 중지",unregistered:"미등록"})[e]||"미등록",openDashboard(){"/admin/dashboard"!==this.$route.path&&this.$router.push("/admin/dashboard")},openUpdateReport(){"/admin/common/update-report"!==this.$route.path&&this.$router.push("/admin/common/update-report")},switchService(e){"active"!==e.status?(this.blockedService=e,this.serviceAccessDialog=!0):(this.selectedService=e.key,localStorage.setItem("aoneWorkspaceService",e.key),e=((e,t={})=>{t=90<=Number(t?.authLevel??0);return"fulfillment"===e?t?"/admin/fulfillment/operations":"/admin/fulfillment/home":"inventory"===e?"/admin/inventory":"/admin/parcel-info"})(e.key,this.session),this.$route.path!==e&&this.$router.push(e))},handleQuickAction(e){["newParcel","calculator","uploadExcel","orderQr"].includes(e)&&(this[e]=!0)},async signOut(){try{var e=await this.$http({method:"POST",url:"/api/admin/signOut",name:"[ Axios / 로그아웃 ]"});if(200!==e.status)throw new Error(e.info?.reason||"로그아웃 실패");this.$store.dispatch("destroyCustomerInfo"),sessionStorage.clear(),this.$router.push("/admin")}catch(e){this.$log.debug("/admin/signOut 실패",e),this.$q.notify({type:"negative",message:"로그아웃 중 오류가 발생했습니다."})}},getAdminEventSourceUrl(){return"https://aidenport.com".replace(/\/$/,"")+"/api/events/admin"},notificationType(e){return{error:"negative",warning:"warning",success:"positive",info:"info"}[e]||"info"},notificationIcon(e){return{error:"error",warning:"warning",success:"check_circle",info:"info"}[e]||"notifications"},async loadAdminNotifications(e=!1){Number(this.session.authLevel)<90||await this.$http({method:"GET",url:"/api/notifications/admin?limit=20",name:"[ Axios / 관리자 운영 알림 목록 ]",skipSpinner:e}).then(e=>{e=e.data?.data||{};this.notificationRows=e.rows||[],this.notificationSummary={unread:Number(e.summary?.unread||0),errors:Number(e.summary?.errors||0),warnings:Number(e.summary?.warnings||0),today:Number(e.summary?.today||0)}}).catch(e=>{this.$log.debug("[ AdminLayout / loadAdminNotifications ]",e)})},async markAdminNotificationAsRead(e){e?.id&&await this.$http({method:"POST",url:`/api/notifications/admin/${e.id}/read`,name:"[ Axios / 관리자 운영 알림 읽음 ]",skipSpinner:!0}).then(()=>{e.isRead=!0,this.loadAdminNotifications(!0)}).catch(e=>{this.$log.debug("[ AdminLayout / markAdminNotificationAsRead ]",e)})},async markAllAdminNotificationsAsRead(){await this.$http({method:"POST",url:"/api/notifications/admin/read-all",name:"[ Axios / 관리자 운영 알림 전체 읽음 ]",skipSpinner:!0}).then(()=>{this.loadAdminNotifications(!0)}).catch(e=>{this.$log.debug("[ AdminLayout / markAllAdminNotificationsAsRead ]",e)})},openNotificationTarget(e){e?.targetRoute?(this.markAdminNotificationAsRead(e),this.notificationDrawer=!1,this.$router.push({path:e.targetRoute,query:e.targetPayload||{}})):this.markAdminNotificationAsRead(e)},handleAdminNotification(t){t?.id&&(this.notificationRows=[t,...this.notificationRows.filter(e=>e.id!==t.id)].slice(0,20),this.notificationSummary.unread+=1,this.notificationSummary.today+=1,"error"===t.severity&&(this.notificationSummary.errors+=1),"warning"===t.severity&&(this.notificationSummary.warnings+=1),window.dispatchEvent(new CustomEvent("admin-notification-received",{detail:t})),this.$q.notify({type:this.notificationType(t.severity),icon:this.notificationIcon(t.severity),message:t.title,caption:t.caption||t.message||"",position:"top-right",timeout:"error"===t.severity?7e3:5e3,actions:[{label:"확인",color:"white",handler:()=>this.markAdminNotificationAsRead(t)}]}))},connectAdminNotificationEvents(){Number(this.session.authLevel)<90||this.adminNotificationEventSource||window.EventSource&&(this.adminNotificationEventSource=new EventSource(this.getAdminEventSourceUrl(),{withCredentials:!0}),this.adminNotificationEventSource.addEventListener("notification",e=>{try{this.handleAdminNotification(JSON.parse(e.data))}catch(e){this.$log.debug("[ AdminLayout / SSE notification parse failed ]",e)}}),this.adminNotificationEventSource.onerror=e=>{this.$log.debug("[ AdminLayout / SSE error ]",e)})},disconnectAdminNotificationEvents(){this.adminNotificationEventSource&&(this.adminNotificationEventSource.close(),this.adminNotificationEventSource=null)},onDialogShow(){this.$nextTick(()=>{var e=`${this.registerUrl}?partnerId=${this.partnerId||"1"}&partnerName=${this.partnerName||"AONE"}&memberId=`+this.memberId;let a=this.$refs.qrContainer;a&&(a.innerHTML="",Ua.toCanvas(e,{width:220},(e,t)=>{!e&&t&&a.appendChild(t)}))})}},async mounted(){this.$log.debug("Admin layout mounted"),this.connectAdminNotificationEvents(),this.loadAdminNotifications(!0)},beforeUnmount(){this.disconnectAdminNotificationEvents()}};v(63153);Wa=(0,e.A)(Xa,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-btn"),r=(0,V.g2)("q-separator"),n=(0,V.g2)("q-tooltip"),d=(0,V.g2)("q-icon"),c=(0,V.g2)("q-badge"),u=(0,V.g2)("q-space"),m=(0,V.g2)("q-toolbar"),p=(0,V.g2)("q-header"),g=(0,V.g2)("Sidebar"),h=(0,V.g2)("q-drawer"),b=(0,V.g2)("AdminNotificationPanel"),f=(0,V.g2)("router-view"),v=(0,V.g2)("q-page-container"),k=(0,V.g2)("q-toolbar-title"),y=(0,V.g2)("RegiParcelComp"),L=(0,V.g2)("q-card"),_=(0,V.g2)("q-dialog"),w=(0,V.g2)("Calculator"),x=(0,V.g2)("ParcelExcelUpload"),C=(0,V.g2)("q-card-section"),S=(0,V.g2)("q-avatar"),F=(0,V.g2)("q-card-actions");var q=(0,V.g2)("q-layout");let I=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.Wv)(q,{view:"hHh lpR fff"},{default:(0,V.k6)(()=>[(0,V.bF)(p,{elevated:"",class:"bg-cyan-8"},{default:(0,V.k6)(()=>[(0,V.bF)(m,{class:"workspace-toolbar"},{default:(0,V.k6)(()=>[(0,V.bF)(s,{flat:"",round:"",dense:"",icon:"menu",onClick:t[0]||(t[0]=e=>i.drawer=!i.drawer)}),(0,V.Lk)("div",ie,[t[17]||(t[17]=(0,V.Lk)("div",{class:"text-weight-bold"},"AONE",-1)),(0,V.Lk)("div",oe,(0,R.v_)(90<=Number(i.session.authLevel)?"관리자":"파트너")+" 워크스페이스",1)]),(0,V.bF)(r,{vertical:"",dark:"",class:"dashboard-separator q-mx-sm"}),(0,V.bF)(s,{flat:"",round:"",dense:"",icon:"dashboard",class:(0,R.C4)(["dashboard-button",{"dashboard-button--active":e.$route.path.startsWith("/admin/dashboard")}]),"aria-label":"대시보드",onClick:o.openDashboard},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>t[18]||(t[18]=[(0,V.eW)("대시보드")])),_:1,__:[18]})]),_:1},8,["class","onClick"]),(0,V.Lk)("div",se,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(o.serviceTabs,t=>((0,V.uX)(),(0,V.Wv)(s,{key:t.key,flat:"","no-caps":"",class:(0,R.C4)(["service-tab q-px-md",{"service-tab--active":i.selectedService===t.key,"service-tab--blocked":"active"!==t.status}]),onClick:e=>o.switchService(t)},{default:(0,V.k6)(()=>[(0,V.bF)(d,{name:t.icon,size:"20px",class:"q-mr-sm"},null,8,["name"]),(0,V.Lk)("span",re,(0,R.v_)(t.label),1),"active"!==t.status?((0,V.uX)(),(0,V.Wv)(c,{key:0,rounded:"",color:"orange-3","text-color":"brown-9",class:"q-ml-sm"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(o.serviceStatusLabel(t.status)),1)]),_:2},1024)):(0,V.Q3)("",!0)]),_:2},1032,["class","onClick"]))),128))]),(0,V.bF)(u),90<=Number(i.session.authLevel)?((0,V.uX)(),(0,V.Wv)(s,{key:0,flat:"",dense:"","no-caps":"",class:"version-button q-mr-sm",icon:"new_releases",label:i.version,"aria-label":"업데이트 리포트",onClick:o.openUpdateReport},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>t[19]||(t[19]=[(0,V.eW)("업데이트 리포트")])),_:1,__:[19]})]),_:1},8,["label","onClick"])):(0,V.Q3)("",!0),90<=Number(i.session.authLevel)?((0,V.uX)(),(0,V.Wv)(s,{key:1,outline:"",round:"",dense:"",color:"white",icon:"notifications",class:"notification-button q-mr-sm",onClick:t[1]||(t[1]=e=>i.notificationDrawer=!i.notificationDrawer)},{default:(0,V.k6)(()=>[0[(0,V.eW)((0,R.v_)(99t[20]||(t[20]=[(0,V.eW)("운영 알림")])),_:1,__:[20]})]),_:1})):(0,V.Q3)("",!0)]),_:1})]),_:1}),(0,V.bF)(h,{modelValue:i.drawer,"onUpdate:modelValue":t[2]||(t[2]=e=>i.drawer=e),"show-if-above":"",width:248,breakpoint:700},{default:(0,V.k6)(()=>[(0,V.bF)(g,{"active-service":i.selectedService,onQuickAction:o.handleQuickAction,onSignOut:o.signOut},null,8,["active-service","onQuickAction","onSignOut"])]),_:1},8,["modelValue"]),90<=Number(this.session.authLevel)?((0,V.uX)(),(0,V.Wv)(h,{key:0,modelValue:i.notificationDrawer,"onUpdate:modelValue":t[5]||(t[5]=e=>i.notificationDrawer=e),side:"right",bordered:"",width:420,breakpoint:900,class:"notification-drawer"},{default:(0,V.k6)(()=>[(0,V.bF)(b,{notifications:i.notificationRows,summary:i.notificationSummary,onClose:t[3]||(t[3]=e=>i.notificationDrawer=!1),onRefresh:t[4]||(t[4]=e=>o.loadAdminNotifications(!1)),onRead:o.markAdminNotificationAsRead,onReadAll:o.markAllAdminNotificationsAsRead,onOpenTarget:o.openNotificationTarget},null,8,["notifications","summary","onRead","onReadAll","onOpenTarget"])]),_:1},8,["modelValue"])):(0,V.Q3)("",!0),(0,V.bF)(v,null,{default:(0,V.k6)(()=>[(0,V.bF)(f)]),_:1}),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(_,{modelValue:i.newParcel,"onUpdate:modelValue":t[9]||(t[9]=e=>i.newParcel=e),position:"right","full-height":""},{default:(0,V.k6)(()=>[(0,V.bF)(L,{class:"card-size full-width"},{default:(0,V.k6)(()=>[(0,V.bF)(m,null,{default:(0,V.k6)(()=>[(0,V.bF)(k,null,{default:(0,V.k6)(()=>t[21]||(t[21]=[(0,V.Lk)("div",{class:"text-h6"},"ORDER 등록",-1)])),_:1,__:[21]}),(0,V.bo)((0,V.bF)(s,{flat:"",round:"",dense:"",icon:"close",onClick:t[6]||(t[6]=e=>i.newParcel=!1)},null,512),[[I]])]),_:1}),(0,V.Lk)("div",ne,[(0,V.bF)(y,{"member-id":String(i.memberId||""),"partner-id":String(i.partnerId||""),onCloseModal:t[7]||(t[7]=e=>i.newParcel=!1),onRefreshList:t[8]||(t[8]=e=>this.$router.go(0))},null,8,["member-id","partner-id"])])]),_:1})]),_:1},8,["modelValue"])])),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(_,{modelValue:i.calculator,"onUpdate:modelValue":t[11]||(t[11]=e=>i.calculator=e)},{default:(0,V.k6)(()=>[(0,V.bF)(L,{class:"card-size sm-size"},{default:(0,V.k6)(()=>[(0,V.bF)(m,null,{default:(0,V.k6)(()=>[(0,V.bF)(k,null,{default:(0,V.k6)(()=>t[22]||(t[22]=[(0,V.Lk)("div",{class:"text-h6"},"무게 계산기",-1)])),_:1,__:[22]}),(0,V.bo)((0,V.bF)(s,{flat:"",round:"",dense:"",icon:"close",onClick:t[10]||(t[10]=e=>i.calculator=!i.calculator)},null,512),[[I]])]),_:1}),(0,V.Lk)("div",de,[(0,V.bF)(w)])]),_:1})]),_:1},8,["modelValue"])])),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(_,{modelValue:i.uploadExcel,"onUpdate:modelValue":t[13]||(t[13]=e=>i.uploadExcel=e)},{default:(0,V.k6)(()=>[(0,V.bF)(x,{onCloseModal:t[12]||(t[12]=e=>i.uploadExcel=!1)})]),_:1},8,["modelValue"])])),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(_,{modelValue:i.orderQr,"onUpdate:modelValue":t[15]||(t[15]=e=>i.orderQr=e),onShow:o.onDialogShow,"transition-show":"slide-up","transition-hide":"slide-down"},{default:(0,V.k6)(()=>[(0,V.bF)(L,{class:"card-size sm-size"},{default:(0,V.k6)(()=>[(0,V.bF)(m,null,{default:(0,V.k6)(()=>[(0,V.bF)(k,null,{default:(0,V.k6)(()=>t[23]||(t[23]=[(0,V.Lk)("div",{class:"text-h6"},"QR로 등록하기",-1)])),_:1,__:[23]}),(0,V.bo)((0,V.bF)(s,{flat:"",round:"",dense:"",icon:"close",onClick:t[14]||(t[14]=e=>i.orderQr=!i.orderQr)},null,512),[[I]])]),_:1}),(0,V.Lk)("div",ce,[(0,V.bF)(C,{class:"text-center"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",ue,null,512)]),_:1})])]),_:1})]),_:1},8,["modelValue","onShow"])])),(0,V.bF)(_,{modelValue:i.serviceAccessDialog,"onUpdate:modelValue":t[16]||(t[16]=e=>i.serviceAccessDialog=e)},{default:(0,V.k6)(()=>[(0,V.bF)(L,{style:{"min-width":"380px","max-width":"520px"}},{default:(0,V.k6)(()=>[(0,V.bF)(C,{class:"row items-center"},{default:(0,V.k6)(()=>[(0,V.bF)(S,{icon:i.blockedService?.icon||"apps",color:"cyan-8","text-color":"white"},null,8,["icon"]),(0,V.Lk)("div",me,[(0,V.Lk)("div",pe,(0,R.v_)(i.blockedService?.title),1),(0,V.Lk)("div",ge,"현재 상태: "+(0,R.v_)(o.serviceStatusLabel(i.blockedService?.status)),1)])]),_:1}),(0,V.bF)(C,null,{default:(0,V.k6)(()=>["pending"===i.blockedService?.status?((0,V.uX)(),(0,V.CE)(V.FK,{key:0},[(0,V.eW)(" 사용 등록 요청을 검토 중입니다. 승인 후 이 워크스페이스를 사용할 수 있습니다. ")],64)):"suspended"===i.blockedService?.status?((0,V.uX)(),(0,V.CE)(V.FK,{key:1},[(0,V.eW)(" 서비스 이용이 정지된 상태입니다. 담당 관리자에게 문의해 주세요. ")],64)):((0,V.uX)(),(0,V.CE)(V.FK,{key:2},[(0,V.eW)(" 이 서비스를 사용하려면 파트너별 사용 등록이 필요합니다. 관리자에게 등록을 요청해 주세요. ")],64))]),_:1}),(0,V.bF)(F,{align:"right"},{default:(0,V.k6)(()=>[(0,V.bo)((0,V.bF)(s,{flat:"",label:"확인",color:"cyan-9"},null,512),[[I]])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})}],["__scopeId","data-v-80e1e848"]]);At=(0,e.A)({name:"LayoutDefault",setup(){return{leftDrawerOpen:(0,c.KR)(!1)}}},[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-btn"),r=(0,V.g2)("q-toolbar-title"),n=(0,V.g2)("q-toolbar"),d=(0,V.g2)("q-header"),c=(0,V.g2)("q-item-label"),u=(0,V.g2)("q-icon"),m=(0,V.g2)("q-item-section"),p=(0,V.g2)("q-item"),g=(0,V.g2)("q-list"),h=(0,V.g2)("q-drawer"),b=(0,V.g2)("q-card-section"),f=(0,V.g2)("q-card"),v=(0,V.g2)("router-view"),k=(0,V.g2)("q-page-container");var y=(0,V.g2)("q-layout");return(0,V.uX)(),(0,V.Wv)(y,{view:"lHh Lpr lFf"},{default:(0,V.k6)(()=>[(0,V.bF)(d,{elevated:"",class:"glossy"},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[(0,V.bF)(s,{flat:"",dense:"",round:"",onClick:t[0]||(t[0]=e=>l.leftDrawerOpen=!l.leftDrawerOpen),"aria-label":"Menu",icon:"menu"}),(0,V.bF)(r,null,{default:(0,V.k6)(()=>t[2]||(t[2]=[(0,V.eW)(" Aone Logistics DEV Tools ")])),_:1,__:[2]}),(0,V.Lk)("div",null,"Quasar v"+(0,R.v_)(e.$q.version),1)]),_:1})]),_:1}),(0,V.bF)(h,{modelValue:l.leftDrawerOpen,"onUpdate:modelValue":t[1]||(t[1]=e=>l.leftDrawerOpen=e),"show-if-above":"",bordered:"",class:"bg-grey-2"},{default:(0,V.k6)(()=>[(0,V.bF)(g,null,{default:(0,V.k6)(()=>[(0,V.bF)(c,{header:""},{default:(0,V.k6)(()=>t[3]||(t[3]=[(0,V.eW)("Navigation")])),_:1,__:[3]}),(0,V.bF)(p,{to:"/",exact:""},{default:(0,V.k6)(()=>[(0,V.bF)(m,{avatar:""},{default:(0,V.k6)(()=>[(0,V.bF)(u,{name:"home"})]),_:1}),(0,V.bF)(m,null,{default:(0,V.k6)(()=>[(0,V.bF)(c,null,{default:(0,V.k6)(()=>t[4]||(t[4]=[(0,V.eW)("Home")])),_:1,__:[4]})]),_:1})]),_:1}),(0,V.bF)(p,{to:"/dev/dev-tools",exact:""},{default:(0,V.k6)(()=>[(0,V.bF)(m,{avatar:""},{default:(0,V.k6)(()=>[(0,V.bF)(u,{name:"Dev-tools"})]),_:1}),(0,V.bF)(m,null,{default:(0,V.k6)(()=>[(0,V.bF)(c,null,{default:(0,V.k6)(()=>t[5]||(t[5]=[(0,V.eW)("Dev tools")])),_:1,__:[5]})]),_:1})]),_:1}),(0,V.bF)(p,{to:"/dev/comp-tester",exact:""},{default:(0,V.k6)(()=>[(0,V.bF)(m,{avatar:""},{default:(0,V.k6)(()=>[(0,V.bF)(u,{name:"info"})]),_:1}),(0,V.bF)(m,null,{default:(0,V.k6)(()=>[(0,V.bF)(c,null,{default:(0,V.k6)(()=>t[6]||(t[6]=[(0,V.eW)("Comp Tester")])),_:1,__:[6]})]),_:1})]),_:1}),(0,V.bF)(c,{header:""},{default:(0,V.k6)(()=>t[7]||(t[7]=[(0,V.eW)("Essential Links")])),_:1,__:[7]}),(0,V.bF)(p,{clickable:"",tag:"a",target:"_blank",href:"https://quasar.dev"},{default:(0,V.k6)(()=>[(0,V.bF)(m,{avatar:""},{default:(0,V.k6)(()=>[(0,V.bF)(u,{name:"school"})]),_:1}),(0,V.bF)(m,null,{default:(0,V.k6)(()=>[(0,V.bF)(c,null,{default:(0,V.k6)(()=>t[8]||(t[8]=[(0,V.eW)("Docs")])),_:1,__:[8]}),(0,V.bF)(c,{caption:""},{default:(0,V.k6)(()=>t[9]||(t[9]=[(0,V.eW)("quasar.dev")])),_:1,__:[9]})]),_:1})]),_:1}),(0,V.bF)(p,{clickable:"",tag:"a",target:"_blank",href:"https://github.com/quasarframework/"},{default:(0,V.k6)(()=>[(0,V.bF)(m,{avatar:""},{default:(0,V.k6)(()=>[(0,V.bF)(u,{name:"code"})]),_:1}),(0,V.bF)(m,null,{default:(0,V.k6)(()=>[(0,V.bF)(c,null,{default:(0,V.k6)(()=>t[10]||(t[10]=[(0,V.eW)("Github")])),_:1,__:[10]}),(0,V.bF)(c,{caption:""},{default:(0,V.k6)(()=>t[11]||(t[11]=[(0,V.eW)("github.com/quasarframework")])),_:1,__:[11]})]),_:1})]),_:1}),(0,V.bF)(p,{clickable:"",tag:"a",target:"_blank",href:"https://chat.quasar.dev"},{default:(0,V.k6)(()=>[(0,V.bF)(m,{avatar:""},{default:(0,V.k6)(()=>[(0,V.bF)(u,{name:"chat"})]),_:1}),(0,V.bF)(m,null,{default:(0,V.k6)(()=>[(0,V.bF)(c,null,{default:(0,V.k6)(()=>t[12]||(t[12]=[(0,V.eW)("Discord Chat Channel")])),_:1,__:[12]}),(0,V.bF)(c,{caption:""},{default:(0,V.k6)(()=>t[13]||(t[13]=[(0,V.eW)("chat.quasar.dev")])),_:1,__:[13]})]),_:1})]),_:1}),(0,V.bF)(p,{clickable:"",tag:"a",target:"_blank",href:"https://forum.quasar.dev"},{default:(0,V.k6)(()=>[(0,V.bF)(m,{avatar:""},{default:(0,V.k6)(()=>[(0,V.bF)(u,{name:"forum"})]),_:1}),(0,V.bF)(m,null,{default:(0,V.k6)(()=>[(0,V.bF)(c,null,{default:(0,V.k6)(()=>t[14]||(t[14]=[(0,V.eW)("Forum")])),_:1,__:[14]}),(0,V.bF)(c,{caption:""},{default:(0,V.k6)(()=>t[15]||(t[15]=[(0,V.eW)("forum.quasar.dev")])),_:1,__:[15]})]),_:1})]),_:1}),(0,V.bF)(p,{clickable:"",tag:"a",target:"_blank",href:"https://twitter.com/quasarframework"},{default:(0,V.k6)(()=>[(0,V.bF)(m,{avatar:""},{default:(0,V.k6)(()=>[(0,V.bF)(u,{name:"rss_feed"})]),_:1}),(0,V.bF)(m,null,{default:(0,V.k6)(()=>[(0,V.bF)(c,null,{default:(0,V.k6)(()=>t[16]||(t[16]=[(0,V.eW)("Twitter")])),_:1,__:[16]}),(0,V.bF)(c,{caption:""},{default:(0,V.k6)(()=>t[17]||(t[17]=[(0,V.eW)("@quasarframework")])),_:1,__:[17]})]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),(0,V.bF)(k,null,{default:(0,V.k6)(()=>[(0,V.bF)(f,{class:"q-pa-md q-mb-md"},{default:(0,V.k6)(()=>[(0,V.bF)(b,null,{default:(0,V.k6)(()=>t[18]||(t[18]=[(0,V.Lk)("div",{class:"text-h6"},"🧰 개발자 도구 (Dev Tools)",-1),(0,V.Lk)("div",{class:"text-caption text-grey"}," 이 페이지는 localhost 또는 aidenport.com 에서만 접근 가능합니다. ",-1)])),_:1,__:[18]})]),_:1}),(0,V.bF)(v)]),_:1})]),_:1})}]]);let Ka={class:"section section-01"},Qa={class:"container doc-page"},Ga={class:"row"},Ha={class:"col col-sm-12 col-md-9 col-lg-8 self-center flex-wrap"},ja={class:"graphic-text-box"};d={name:"MainVisualArea",data(){return{banner1:!1,banner2:!1,isLocalEnv:"LOCAL"===String("DEVELOPMENT").toUpperCase()}},methods:{}},v(77790),m=(0,e.A)(d,[["render",function(e,t,a,l,i,o){return(0,V.uX)(),(0,V.CE)("div",Ka,[(0,V.Lk)("div",Qa,[(0,V.Lk)("div",Ga,[(0,V.Lk)("div",Ha,[(0,V.Lk)("div",ja,[t[1]||(t[1]=(0,V.Lk)("h2",{class:"main-slogan"},"Express Trend Leader",-1)),t[2]||(t[2]=(0,V.Lk)("h1",{class:"main-company-name"},"AONE LOGISTICS",-1)),i.isLocalEnv?((0,V.uX)(),(0,V.CE)("a",{key:0,onClick:t[0]||(t[0]=e=>this.$router.push("/biz/parcel-info")),href:"#",class:"btn btn-in-main q-mr-md"},"배송조회 ")):(0,V.Q3)("",!0)])])])])])}],["__scopeId","data-v-4ba025cb"]]);let Ya={class:"section section-02 pb-5"},Za={class:"container doc-page q-pb-none"},Ja={class:"row"},el={class:"section section-03"},tl={class:"container doc-page"},al={class:"row"},ll={class:"col"};d={name:"CustomerServicesSection",methods:{moveTo(e){this.$router.push("/biz/"+e)}}},v(15158),d=(0,e.A)(d,[["render",function(e,t,a,l,i,o){return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.Lk)("div",Ya,[(0,V.Lk)("div",Za,[t[5]||(t[5]=(0,V.Fv)('

services

어디든 달려가는 AONE Logistic

호주글로벌 로지스틱스

',2)),(0,V.Lk)("div",Ja,[(0,V.Lk)("div",{onClick:t[0]||(t[0]=e=>o.moveTo("service-flight")),class:"col-12 col-sm-6"},t[3]||(t[3]=[(0,V.Lk)("div",{class:"mb-3 banner banner-flight text-white"},[(0,V.Lk)("p",{class:"text-center self-center"},"FLIGHT")],-1)])),(0,V.Lk)("div",{onClick:t[1]||(t[1]=e=>o.moveTo("service-ocean")),class:"col-12 col-sm-6"},t[4]||(t[4]=[(0,V.Lk)("div",{class:"mb-3 banner banner-ocean text-white"},[(0,V.Lk)("p",{class:"text-center self-center"},"OCEAN")],-1)]))])])]),(0,V.Lk)("div",el,[(0,V.Lk)("div",tl,[(0,V.Lk)("div",al,[(0,V.Lk)("div",ll,[(0,V.Lk)("div",{onClick:t[2]||(t[2]=e=>o.moveTo("service")),class:"column banner"},t[6]||(t[6]=[(0,V.Lk)("div",{class:"col self-end"},[(0,V.Lk)("div",{class:"banner-text-01 text-right"},"성공적인 비지니스 파트너 AONE"),(0,V.Lk)("div",{class:"banner-text-02 text-right"},"전자상거래 / 풀필먼트 서비스 / 창고보관")],-1)]))])])])])],64)}],["__scopeId","data-v-26efdd42"]]);let il={class:"section section-04"},ol={class:"container doc-page q-pt-xl q-pb-xl"},sl={class:"column"},rl={class:"col col-12 text-center q-mt-md q-mb-xl"},nl={class:"display-text-1"},dl={class:"col col-12 col-sm-10 col-md-8 mt-3 mb-4"},cl={class:"ellipsis"};var h=v(15744);v(44784);let ul={name:"CustomerScheduleSection",components:{QCalendarMonth:h.u8},data(){return{thisMonth:(new Date).getMonth()+1,calDate:new Date,currYear:"",currMonth:"",events:[]}},computed:{eventsMap(){let l={};return 0{if((l[a.date]=l[a.date]||[]).push(a),void 0!==a.days){let e=(0,h.EH)(a.date),t=a.days;for(;e=(0,h.Xd)(e,{day:1}),l[e.date]||(l[e.date]=[]),l[e.date].push(a),1<--t;);}}),this.$log.debug(l),l}},methods:{async loadSchedule(){var e=new Date(this.calDate.getFullYear(),this.calDate.getMonth(),2),t=new Date(this.calDate.getFullYear(),this.calDate.getMonth()+1,1);await this.$http({method:"POST",url:"/api/schedule/loadScheduleCustomer",data:{startDate:e,endDate:t},name:"[ Axios / 스케쥴 조회 ]"}).then(e=>{this.$log.debug("스케쥴 조회했습니다",e.data),this.setEvents(e.data)}).catch(e=>{this.$log.debug(e)})},async setEvents(e){this.$log.debug("[ Methods / setEvents ] Start ",e),0({id:e.id,title:e.title,details:e.details,date:this.getCurrentDay(new Date(e.eventDate).getDate()),eventType:e.eventType,days:e.days,bgcolor:"teal",icon:1==e.eventType?"directions_boat":"flight"})),this.events=e)},getEvents(e){var l,i,o=(0,h.EH)(e),s=[];for(let a=0;a{e=e.replace("#","");return(.299*parseInt(e.substring(0,2),16)+.587*parseInt(e.substring(2,4),16)+.114*parseInt(e.substring(4,6),16))/255})(e.bgcolor)?"black":"white"),a&&(i.top=a(e.time)+"px"),l&&(i.height=l(e.duration)+"px"),i["align-items"]="flex-start",i}},mounted(){this.loadSchedule()}};v(36393);var ml=(0,e.A)(ul,[["render",function(l,e,t,a,i,o){let s=(0,V.g2)("q-icon"),r=(0,V.g2)("q-tooltip"),n=(0,V.g2)("q-badge");var d=(0,V.g2)("QCalendarMonth");return(0,V.uX)(),(0,V.CE)("div",il,[(0,V.Lk)("div",ol,[e[1]||(e[1]=(0,V.Lk)("div",{class:"column items-center"},[(0,V.Lk)("div",{class:"col mt-3"},[(0,V.Lk)("h4",{class:"section-title"},"schedule")])],-1)),(0,V.Lk)("div",sl,[(0,V.Lk)("div",rl,[(0,V.Lk)("div",nl,(0,R.v_)(i.thisMonth)+"월 항공&해상 스케줄표",1),e[0]||(e[0]=(0,V.Lk)("p",{class:"display-text-2"},"* 모든 스케줄은 항공사 및 운송사 사정에 따라 변동될 수 있습니다.",-1))]),(0,V.Lk)("div",dl,[(0,V.bF)(d,{ref:"calendar",view:"month",locale:"ko-kr","day-height":100},{day:(0,V.k6)(({scope:{timestamp:a}})=>[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(o.getEvents(a.date),(t,e)=>((0,V.uX)(),(0,V.Wv)(n,{key:t.id??a.date+"-"+e,style:(0,R.Tr)([{width:"100%",cursor:"pointer",height:"18px","max-height":"18px"},o.badgeStyles(t,"day")]),class:(0,R.C4)(o.badgeClasses(t,"day")),onClick:e=>l.selectSchedule(t)},{default:(0,V.k6)(()=>[t.icon?((0,V.uX)(),(0,V.Wv)(s,{key:0,name:t.icon,class:"q-mr-xs"},null,8,["name"])):(0,V.Q3)("",!0),(0,V.Lk)("span",cl,(0,R.v_)(t.title),1),(0,V.bF)(r,null,{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.details),1)]),_:2},1024)]),_:2},1032,["class","style","onClick"]))),128))]),_:1},512)])])])])}],["__scopeId","data-v-6177fb88"]]);let pl={class:"section section-05"},gl={class:"container doc-page pt-5 pb-5"},hl={class:"column items-center"},bl={class:"col col-12 col-md-10 col-lg-8"};p={name:"CustomerCalculatorSection",components:{Calculator:p},data(){return{}},methods:{moveTo(e){this.$router.push(e)}}},v(94017),m=(0,e.A)({name:"HomePage",components:{Main:m,Services:d,Schedule:ml,Calculator:(0,e.A)(p,[["render",function(e,t,a,l,i,o){var s=(0,V.g2)("Calculator",!0);return(0,V.uX)(),(0,V.CE)("div",pl,[(0,V.Lk)("div",gl,[t[0]||(t[0]=(0,V.Fv)('

calculator

항공&해상 부피 무게를 측정해보세요.
',1)),(0,V.Lk)("div",hl,[(0,V.Lk)("div",bl,[(0,V.bF)(s)])])])])}],["__scopeId","data-v-47c2f169"]])},methods:{moveTo(e){this.$router.push(e)}}},[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("Main"),r=(0,V.g2)("Services"),n=(0,V.g2)("Schedule"),d=(0,V.g2)("Calculator");var c=(0,V.g2)("q-page");return(0,V.uX)(),(0,V.Wv)(c,{id:"site-container"},{default:(0,V.k6)(()=>[(0,V.bF)(s),(0,V.bF)(r),(0,V.bF)(n),(0,V.bF)(d)]),_:1})}]]);let fl={class:"row no-wrap full-height"},vl={class:"login-form col-12 col-md-6"},kl=["src"],yl={key:0,class:"login-error",role:"alert"},Ll={class:"login-links row items-center justify-center q-gutter-x-md"};let _l=(e={})=>{var t=Number(e?.authLevel||0);return 90<=t?"/admin/parcel-info":80!==t?"/":n(e,"logis")?"/admin/parcel-info":n(e,"fulfillment")?"/admin/fulfillment/sku-requests":n(e,"inventory")?"/admin/inventory":"/"},wl={name:"UnifiedLoginBox",data(){return{email:"",password:"",showPassword:!1,isSubmitting:!1,errorMessage:""}},methods:{validate(){return this.email.trim()?!!this.password||!(this.errorMessage="비밀번호를 입력해 주세요."):!(this.errorMessage="이메일을 입력해 주세요.")},async signIn(){if(!this.isSubmitting&&this.validate()){this.isSubmitting=!0,this.errorMessage="";try{var e=(await this.$http({method:"POST",url:"/api/auth/signIn",data:{email:this.email.trim(),pwd:this.password},name:"[ Axios / 통합 로그인 ]",skipSpinner:!0})).data;this.$store.dispatch("setCustomerInfo",e),80<=Number(e?.authLevel)&&this.$store.dispatch("loadParcel",[]),await this.$router.replace(_l(e))}catch(e){this.$log.debug("/auth/signIn 실패",e),this.errorMessage=e?.response?.data?.message||"로그인할 수 없습니다. 잠시 후 다시 시도해 주세요."}finally{this.isSubmitting=!1}}}},mounted(){this.$store.getters.getSessionStatus&&this.$router.replace(_l(this.$store.getters.getLocalSession))}};v(37659);d=(0,e.A)(wl,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-icon"),r=(0,V.g2)("q-input"),n=(0,V.g2)("q-btn"),d=(0,V.g2)("q-form"),c=(0,V.g2)("q-card");var u=(0,V.g2)("q-page");return(0,V.uX)(),(0,V.Wv)(u,{class:"unified-login-page row items-center justify-center q-pa-md"},{default:(0,V.k6)(()=>[(0,V.bF)(c,{class:"login-card"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",fl,[t[6]||(t[6]=(0,V.Lk)("section",{class:"login-visual col-6 gt-sm"},[(0,V.Lk)("div",{class:"login-visual__overlay"},[(0,V.Lk)("div",{class:"login-visual__content"},[(0,V.Lk)("div",{class:"login-visual__eyebrow"},"AONE LOGISTICS"),(0,V.Lk)("h1",null,"성공적인 비지니스 파트너 AONE"),(0,V.Lk)("p",null,"전자상거래 | 풀필먼트 서비스 | 항공/해상 | 창고보관")])])],-1)),(0,V.Lk)("section",vl,[(0,V.Lk)("img",{class:"login-logo",src:v(34074),alt:"AONE Logistics"},null,8,kl),t[5]||(t[5]=(0,V.Lk)("div",{class:"login-heading"},[(0,V.Lk)("div",{class:"text-overline text-primary"},"AONE ACCOUNT"),(0,V.Lk)("h2",null,"로그인"),(0,V.Lk)("p",null,"가입한 이메일과 비밀번호를 입력해 주세요.")],-1)),(0,V.bF)(d,{class:"q-gutter-md",onSubmit:(0,I.D$)(o.signIn,["prevent"])},{default:(0,V.k6)(()=>[(0,V.bF)(r,{modelValue:i.email,"onUpdate:modelValue":[t[0]||(t[0]=e=>i.email=e),t[1]||(t[1]=e=>i.errorMessage="")],outlined:"",type:"email",label:"이메일",autocomplete:"username",disable:i.isSubmitting},{prepend:(0,V.k6)(()=>[(0,V.bF)(s,{name:"mail_outline"})]),_:1},8,["modelValue","disable"]),(0,V.bF)(r,{modelValue:i.password,"onUpdate:modelValue":[t[3]||(t[3]=e=>i.password=e),t[4]||(t[4]=e=>i.errorMessage="")],outlined:"",type:i.showPassword?"text":"password",label:"비밀번호",autocomplete:"current-password",disable:i.isSubmitting},{prepend:(0,V.k6)(()=>[(0,V.bF)(s,{name:"lock_outline"})]),append:(0,V.k6)(()=>[(0,V.bF)(s,{class:"cursor-pointer",name:i.showPassword?"visibility_off":"visibility",onClick:t[2]||(t[2]=e=>i.showPassword=!i.showPassword)},null,8,["name"])]),_:1},8,["modelValue","type","disable"]),i.errorMessage?((0,V.uX)(),(0,V.CE)("div",yl,[(0,V.bF)(s,{name:"error_outline"}),(0,V.Lk)("span",null,(0,R.v_)(i.errorMessage),1)])):(0,V.Q3)("",!0),(0,V.bF)(n,{class:"full-width login-submit",type:"submit",color:"primary",unelevated:"",size:"lg",label:"로그인",loading:i.isSubmitting,disable:i.isSubmitting},null,8,["loading","disable"])]),_:1},8,["onSubmit"]),(0,V.Lk)("div",Ll,[(0,V.bF)(n,{flat:"","no-caps":"",color:"grey-8",label:"회원가입",to:"/signUp"})])])])]),_:1})]),_:1})}],["__scopeId","data-v-63bb9734"]]),ml=(0,e.A)({name:"LoginPage",components:{LoginBox:d},setup(){},data(){return{navCurrent:"login"}}},[["render",function(e,t,a,l,i,o){var s=(0,V.g2)("LoginBox");return(0,V.uX)(),(0,V.Wv)(s)}]]);let xl={class:"row q-py-md q-mb-md dashboard-toolbar items-center"},Cl={class:"col-12 col-md-auto flex justify-end items-center"},Sl={key:0,class:"comp-box q-mb-md q-pa-md hs-code-alert dashboard-alert"},Fl={class:"row items-center justify-between q-col-gutter-md"},ql={class:"col-12 col-md"},Il={class:"text-subtitle1 text-weight-bold"},Pl={class:"text-caption text-grey-7"},Al={key:0},Tl={key:1},Nl={class:"col-12 col-md-auto"},El={key:1,class:"row justify-center q-py-xl"},Dl={key:2,class:"comp-box q-pa-md text-negative"},Ol={key:3,class:"row items-stretch q-col-gutter-md dashboard-content"},Vl={class:"col-12"},Rl={class:"row q-col-gutter-md items-stretch"},Ml={class:"col-12 col-sm-6 col-lg-3"},$l={class:"count"},Ul={class:"col-12 col-sm-6 col-lg-3"},Wl={class:"count"},Bl={class:"col-12 col-sm-6 col-lg-3"},zl={class:"count"},Xl={class:"col-12 col-sm-6 col-lg-3"},Kl={class:"count"},Ql={class:"col-12 col-sm-6 col-lg-3"},Gl={class:"col-12 col-sm-6 col-lg-3"},Hl={class:"col col-12 col-md-6"},jl={class:"comp-box row dashboard-panel"},Yl={class:"col-4"},Zl={class:"col-9 col-xs-12 col-sm-9"},Jl={class:"count"},ei={class:"col-3 col-xs-12 col-sm-3 text-right"},ti={class:"count q-mb-lg"},ai={class:"count"},li={class:"col col-12 col-md-6"},ii={class:"comp-box row dashboard-panel"},oi={class:"title"},si={class:"count"},ri={key:0,class:"col-12"},ni={class:"comp-box dashboard-partner-panel q-pa-md"},di={class:"partner-table-scroll"},ci={class:"col col-12 col-md-6"},ui={class:"comp-box row dashboard-panel"},mi={class:"col-12"},pi={key:1,class:"col col-12 col-md-6"},gi={class:"comp-box row"},hi={class:"col-12"};let bi={style:{height:"300px"}};p=v(44527),d=v(13468),d.t1.register(d.No,d.FN,d.kc,d.PP,d.m_,d.s$),d={name:"OrdersWeeklyChart",components:{Line:p.N1},emits:["select-date"],props:{labels:{type:Array,required:!0},series:{type:Array,required:!0}},computed:{data(){return{labels:this.labels,datasets:[{label:"최근 7일 오더접수",data:this.series,fill:!1,borderColor:"#1976d2",backgroundColor:"#1976d2",pointBackgroundColor:"#ffffff",pointBorderColor:"#1976d2",pointBorderWidth:2,pointRadius:4,pointHoverRadius:6,tension:.25}]}},options(){return{responsive:!0,maintainAspectRatio:!1,plugins:{legend:{display:!0},tooltip:{callbacks:{title:e=>this.formatDateLabel(e?.[0]?.label)}}},onClick:(e,t)=>{t=t?.[0]?.index;Number.isInteger(t)&&this.labels[t]&&this.$emit("select-date",this.labels[t])},scales:{x:{ticks:{callback:(e,t)=>this.formatDateLabel(this.labels[t])}},y:{beginAtZero:!0,grace:"10%",ticks:{callback:e=>Number.isInteger(e)?e:""}}}}}},methods:{formatDateLabel(e){var t,a,l=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e||"");return l?([,l,t,a]=l,t+`/${a}(${["일","월","화","수","목","금","토"][new Date(Number(l),Number(t)-1,Number(a)).getDay()]})`):e||""}}};let fi={key:0,style:{width:"40px"}},vi={key:1,style:{width:"100px"}},ki=["value"],yi={key:0,class:"text-center"},Li=["value"],_i={class:"text-center"},wi=["onClick"],xi={class:"text-center"},Ci={class:"text-center"},Si={key:1,class:"text-center"},Fi={key:0,"aria-label":"Page navigation",class:"q-mt-md text-center"};let qi={class:"row"},Ii={class:"col"},Pi={class:"row q-mt-lg"},Ai={class:"col"},Ti=["innerHTML"];p={name:"Modal-view-notice",props:{showModal:Boolean,selectedNotice:Object},emits:["close-modal","add-item","modify-item"],components:{},data(){return{title:this.$props.selectedNotice.title,contents:this.$props.selectedNotice.contents,delayedActive:!1}},methods:{closeModal(){this.$emit("close-modal")}}},p={name:"Notice-list",components:{ModalViewNotice:(0,e.A)(p,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-toolbar-title"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("q-toolbar"),d=(0,V.g2)("q-header"),c=(0,V.g2)("q-input"),u=(0,V.g2)("q-page"),m=(0,V.g2)("q-page-container");var p=(0,V.g2)("q-layout");let g=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.Wv)(p,{container:"",class:"bg-white",view:"lHh lpr lFf"},{default:(0,V.k6)(()=>[(0,V.bF)(d,{class:"bg-primary",elevated:""},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[1]||(t[1]=[(0,V.eW)("공지사항")])),_:1,__:[1]}),(0,V.bo)((0,V.bF)(r,{flat:"",round:"",dense:"",icon:"close",onClick:o.closeModal},null,8,["onClick"]),[[g]])]),_:1})]),_:1}),(0,V.bF)(m,null,{default:(0,V.k6)(()=>[(0,V.bF)(u,{padding:""},{default:(0,V.k6)(()=>[(0,V.Lk)("div",qi,[(0,V.Lk)("div",Ii,[(0,V.bF)(c,{modelValue:i.title,"onUpdate:modelValue":t[0]||(t[0]=e=>i.title=e),label:"제목","stack-label":"",readonly:""},null,8,["modelValue"])])]),(0,V.Lk)("div",Pi,[(0,V.Lk)("div",Ai,[(0,V.Lk)("div",{innerHTML:i.contents},null,8,Ti)])])]),_:1})]),_:1})]),_:1})}]])},props:{noticeList:Array,isHome:Boolean},data(){return{noticeId:[],paging:0,viewNoticeModalShow:!1,editNoticeModal:!1,selectedNotice:{},mode:0,authLevel:0}},emits:["load-more-list","reload-parcel-list","edit-modal"],methods:{viewContents(t){var e;this.viewNoticeModalShow=!0,e=this.noticeList.filter(e=>{if(t===e.id)return e}),this.selectedNotice=e[0],this.$log.debug("viewContents = ",this.selectedNotice)},editContents(t){var e;this.mode=1,this.editNoticeModal=!0,e=this.noticeList.filter(e=>{if(t===e.id)return e}),this.selectedNotice=e[0],this.$emit("edit-modal",this.selectedNotice)},closeModal(){this.viewNoticeModalShow=!1},async lazyLoad(){this.paging++,this.$log.debug("lazyLoad = "+this.paging),this.$emit("load-more-list",this.paging)},async modifyNotice(e){this.$log.debug(e),this.modifyModalShow=!0,this.selectedNoticeId=e},async singleDelete(e){await this.$http({method:"POST",url:"/api/board/delNotice",data:{id:e},name:"[ Axios / NoticeList / 공지사항 삭제 ]"}).then(()=>{this.$log.debug("삭제했습니다"),this.$q.notify({type:"positive",message:"삭제했습니다",position:"top",timeout:3e3}),this.$emit("reload-parcel-list")}).catch(e=>{this.$log.debug(e),this.$q.notify({type:"positive",message:"삭제에 실패했습니다",position:"top",timeout:3e3})})},init(){this.paging=0,this.authLevel=this.$getAuthLevel()}},mounted(){this.$log.info("[ Dashboard ] mounted"),this.init()}},p=(0,e.A)(p,[["render",function(e,a,t,l,i,o){let s=(0,V.g2)("q-icon"),r=(0,V.g2)("q-item-section"),n=(0,V.g2)("q-item"),d=(0,V.g2)("q-list"),c=(0,V.g2)("q-menu"),u=(0,V.g2)("q-btn");var m=(0,V.g2)("q-markup-table");let p=(0,V.g2)("ModalViewNotice");var g=(0,V.g2)("q-dialog");let h=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.bF)(m,null,{default:(0,V.k6)(()=>[(0,V.Lk)("thead",null,[(0,V.Lk)("tr",null,[90<=Number(this.authLevel)?((0,V.uX)(),(0,V.CE)("th",fi)):(0,V.Q3)("",!0),a[2]||(a[2]=(0,V.Lk)("th",{style:{width:"40px"}},"번호",-1)),a[3]||(a[3]=(0,V.Lk)("th",null,"제목",-1)),a[4]||(a[4]=(0,V.Lk)("th",{style:{width:"90px"}},"작성자",-1)),a[5]||(a[5]=(0,V.Lk)("th",{style:{width:"120px"}},"작성일",-1)),90<=Number(this.authLevel)?((0,V.uX)(),(0,V.CE)("th",vi,"기능")):(0,V.Q3)("",!0)])]),(0,V.Lk)("tbody",null,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(t.noticeList,(t,e)=>((0,V.uX)(),(0,V.CE)("tr",{key:e,value:t.id},[90<=Number(this.authLevel)?((0,V.uX)(),(0,V.CE)("td",yi,[(0,V.bo)((0,V.Lk)("input",{type:"checkbox",class:"form-check","onUpdate:modelValue":a[0]||(a[0]=e=>i.noticeId=e),value:t.id},null,8,Li),[[I.lH,i.noticeId]])])):(0,V.Q3)("",!0),(0,V.Lk)("td",_i,(0,R.v_)(t.rownum),1),(0,V.Lk)("td",{class:"text-left",onClick:e=>o.viewContents(t.id)},[0==t.isFixed?((0,V.uX)(),(0,V.Wv)(s,{key:0,name:"push_pin"})):(0,V.Q3)("",!0),(0,V.eW)(" "+(0,R.v_)(t.title),1)],8,wi),(0,V.Lk)("td",xi,(0,R.v_)(t.writer),1),(0,V.Lk)("td",Ci,(0,R.v_)(t.regDate),1),90<=Number(this.authLevel)?((0,V.uX)(),(0,V.CE)("td",Si,[((0,V.uX)(),(0,V.Wv)(u,{color:"primary",key:"btn_size_sq_sm",size:"sm",label:"Action"},{default:(0,V.k6)(()=>[(0,V.bF)(c,null,{default:(0,V.k6)(()=>[(0,V.bF)(d,{style:{"min-width":"100px"}},{default:(0,V.k6)(()=>[(0,V.bo)(((0,V.uX)(),(0,V.Wv)(n,{clickable:""},{default:(0,V.k6)(()=>[(0,V.bF)(r,{onClick:e=>o.editContents(t.id)},{default:(0,V.k6)(()=>a[6]||(a[6]=[(0,V.eW)("수정")])),_:2,__:[6]},1032,["onClick"])]),_:2},1024)),[[h]]),(0,V.bo)(((0,V.uX)(),(0,V.Wv)(n,{clickable:""},{default:(0,V.k6)(()=>[(0,V.bF)(r,{onClick:e=>o.singleDelete(t.id)},{default:(0,V.k6)(()=>a[7]||(a[7]=[(0,V.eW)("삭제")])),_:2,__:[7]},1032,["onClick"])]),_:2},1024)),[[h]])]),_:2},1024)]),_:2},1024)]),_:2},1024))])):(0,V.Q3)("",!0)],8,ki))),128))])]),_:1}),t.isHome?(0,V.Q3)("",!0):((0,V.uX)(),(0,V.CE)("div",Fi,[(0,V.bF)(u,{color:"primary",onClick:o.lazyLoad,label:"더 불러오기"},null,8,["onClick"])])),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(g,{modelValue:i.viewNoticeModalShow,"onUpdate:modelValue":a[1]||(a[1]=e=>i.viewNoticeModalShow=e)},{default:(0,V.k6)(()=>[(0,V.bF)(p,{"selected-notice":i.selectedNotice,onCloseModal:o.closeModal},null,8,["selected-notice","onCloseModal"])]),_:1},8,["modelValue"])]))],64)}]]),d={name:"Page-dashboard",meta:{title:"어드민 - 관리자 대쉬보드"},components:{OrdersWeeklyChart:(0,e.A)(d,[["render",function(e,t,a,l,i,o){var s=(0,V.g2)("Line");return(0,V.uX)(),(0,V.CE)("div",bi,[(0,V.bF)(s,{data:o.data,options:o.options},null,8,["data","options"])])}]]),NoticeList:p},computed:{labels(){return(this.dbData.orderCntInAWeek||[]).map(e=>e.date)},series(){return(this.dbData.orderCntInAWeek||[]).map(e=>e.order_count)},sum(){return this.series.reduce((e,t)=>e+t,0)},weeklyStats(){return this.dbData.weeklyStats||this.emptyComparison()},monthlyStats(){return this.dbData.monthlyStats||this.emptyComparison()},partnerStats(){return(this.dbData.partnerStats||[]).map(e=>({...e,weekly_received:Number(e.weekly_received||0),weekly_completed:Number(e.weekly_completed||0),monthly_received:Number(e.monthly_received||0),monthly_completed:Number(e.monthly_completed||0),weekly_completion_rate:0Number(e.partner_id)===Number(t))||this.alertPolicies.find(e=>0===Number(e.partner_id))||{stalled_days:7,delayed_days:30};this.alertPolicyForm.stalledDays=Number(e.stalled_days),this.alertPolicyForm.delayedDays=Number(e.delayed_days)},async openAlertPolicyDialog(){this.alertPolicyDialog=!0,await this.loadAlertPolicies()},async saveAlertPolicy(){this.alertPolicyLoading=!0;try{await this.$http({method:"PUT",url:"/api/dashboard/alert-policies/"+this.alertPolicyForm.partnerId,data:{stalledDays:Number(this.alertPolicyForm.stalledDays),delayedDays:Number(this.alertPolicyForm.delayedDays)},name:"[ Axios / 운영 경고 기준 저장 ]"}),this.$q.notify({type:"positive",message:"운영 경고 기준을 저장했습니다.",position:"top"}),await this.loadAlertPolicies(),await this.loadDashboard()}catch(e){this.$log.error("[ 운영 경고 기준 저장 ]",e),this.$q.notify({type:"negative",message:e?.response?.data||"운영 경고 기준 저장에 실패했습니다.",position:"top"})}finally{this.alertPolicyLoading=!1}},async loadDashboard(){this.loadingDashboard=!0,this.dashboardError=!1;var e={authLv:this.authLevel,partnerId:this.partnerId,proxyDate:this.proxyDate},e=(this.$log.debug("payload = ",e),{method:"POST",url:"/api/dashboard/",data:e,name:"[ Axios / 대쉬보드 / 기본 설정 호출 ]"});await this.$http(e).then(e=>{this.$log.debug("불러오기 성공",e.data),this.dbData=e.data}).catch(e=>{this.$log.debug("/api/dashboard/",e),this.dashboardError=!0}).finally(()=>{this.loadingDashboard=!1})},async loadNoticeList(e,t){await this.$http({method:"POST",url:"/api/board/getNoticeList",data:{paging:e,brdTyp:t},name:"[ Axios / 공지사항목록조회 ]"}).then(e=>{this.$log.debug(e.data);e=e?.data?.items;0===e.length||void 0===e.length?this.$q.notify({type:"positive",message:"더 불러올 공지글이 없습니다.",position:"top",timeout:3e3}):e.map(e=>{"2"===t?this.noticeListAdmin.push(e):"1"===t&&this.noticeListCustomer.push(e)})}).catch(e=>{this.$log.debug(e),this.$q.notify({type:"negative",message:"공지글 불러오기에 실패했습니다.",position:"top",timeout:3e3})})},lookupParcel(){this.$router.push({name:"Admin-parcel-infomation",query:{departure:"dashboard",hblNo:this.hblNo}})},goHsCodeManage(){this.$router.push({path:"/admin/hs-code-manage",query:{tab:"candidates"}})},lPad(e,t){return this.$log.debug("[ Parcel lookup form / lPad ] num = ",e,", length = ",t),String(e).padStart(t,"0")},getToday(){var e=(new Date).toDateString(),e=new Date(e),t=e.getFullYear(),a=e.getMonth()+1,e=e.getDate(),t=t+"-"+this.lPad(a,2)+"-"+this.lPad(e,2);return this.$log.debug("[ Parcel lookup form / getToday ] = ",t),t},getAWeekAgo(){var e=(new Date).toDateString(),e=new Date(e),e=(e.getFullYear(),e.getMonth(),e.getDate()),t=new Date((new Date).setDate(e-7)),t=new Date(t),a=t.getFullYear(),l=t.getMonth()+1,e=t.getDate(),t=a+"-"+this.lPad(l,2)+"-"+this.lPad(e,2);return this.$log.debug("[ Parcel lookup form / getAWeekAgo ] = ",t),t},async initCalendar(){this.$log.debug("[ Parcel lookup form / initCalendar ]");var e=this.getAWeekAgo(),t=this.getToday();this.datepicker={from:e,to:t},this.proxyDate={from:e,to:t}},callModalEditNotice(e){this.noticeModal=!0,this.editorMode=1,this.noticeData=e,this.$log.debug("Edit notice executed => noticeModal : "+this.noticeModal+", editorMode : "+this.editorMode),this.$log.debug("noticeData => ",e)},async init(){this.$log.info("[ Dashboard ] init() called"),this.authLevel=this.$getAuthLevel(),await this.initCalendar(),await this.loadDashboard(),this.noticeListAdmin=[],await this.loadNoticeList(0,"2"),90<=Number(this.authLevel)&&(this.$getPartnerList(),this.noticeListCustomer=[],await this.loadNoticeList(0,"1"))}},mounted(){this.$log.info("[ Dashboard ] mounted"),this.init()}},v(37517),d=(0,e.A)(d,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-btn"),r=(0,V.g2)("q-input"),n=(0,V.g2)("q-badge"),d=(0,V.g2)("q-spinner"),c=(0,V.g2)("q-select"),u=(0,V.g2)("OrdersWeeklyChart"),m=(0,V.g2)("q-card-section"),p=(0,V.g2)("q-card"),g=(0,V.g2)("q-table"),h=(0,V.g2)("NoticeList"),b=(0,V.g2)("q-card-actions"),f=(0,V.g2)("q-dialog");var v=(0,V.g2)("q-page");let k=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.Wv)(v,{class:"q-pa-lg dashboard-page"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",xl,[t[18]||(t[18]=(0,V.Lk)("div",{class:"col-12 col-md text-h5 text-weight-bold q-mb-sm q-mb-md-none"},"운영 대시보드",-1)),(0,V.Lk)("div",Cl,[(0,V.bF)(r,{class:"bar-search",modelValue:i.hblNo,"onUpdate:modelValue":t[0]||(t[0]=e=>i.hblNo=e),outlined:"",rounded:"",label:"H/BL No."},{append:(0,V.k6)(()=>[(0,V.bF)(s,{round:"",color:"primary",icon:"search",onClick:o.lookupParcel},null,8,["onClick"])]),_:1},8,["modelValue"]),(0,V.bF)(s,{class:"btn-refresh q-ml-md",round:"",size:"md",color:"secondary",icon:"refresh",onClick:t[1]||(t[1]=e=>o.init())}),90<=Number(i.authLevel)?((0,V.uX)(),(0,V.Wv)(s,{key:0,class:"q-ml-sm",outline:"",color:"secondary",icon:"tune",label:"운영 경고 기준",onClick:o.openAlertPolicyDialog},null,8,["onClick"])):(0,V.Q3)("",!0)])]),90<=Number(i.authLevel)&&i.dbData.hsCodeCandidateSummary&&(i.dbData.hsCodeCandidateSummary.pending||i.dbData.hsCodeCandidateSummary.needsReview||"failed"===i.dbData.hsCodeCandidateSummary.lastRun?.status)?((0,V.uX)(),(0,V.CE)("div",Sl,[(0,V.Lk)("div",Fl,[(0,V.Lk)("div",ql,[(0,V.Lk)("div",Il,[t[20]||(t[20]=(0,V.eW)(" 검토해야 할 HS CODE 매핑 후보가 있습니다. ")),"failed"===i.dbData.hsCodeCandidateSummary.lastRun?.status?((0,V.uX)(),(0,V.Wv)(n,{key:0,color:"negative",class:"q-ml-sm"},{default:(0,V.k6)(()=>t[19]||(t[19]=[(0,V.eW)(" 최근 추출 실패 ")])),_:1,__:[19]})):(0,V.Q3)("",!0)]),(0,V.Lk)("div",Pl,[(0,V.eW)(" 검토 대기 "+(0,R.v_)(i.dbData.hsCodeCandidateSummary.pending)+"건, 검수 필요 "+(0,R.v_)(i.dbData.hsCodeCandidateSummary.needsReview)+"건, 등록 완료 "+(0,R.v_)(i.dbData.hsCodeCandidateSummary.mapped)+"건, 제외 "+(0,R.v_)(i.dbData.hsCodeCandidateSummary.ignored)+"건 ",1),i.dbData.hsCodeCandidateSummary.lastRun?.finishedAt?((0,V.uX)(),(0,V.CE)("span",Al," · 마지막 추출 "+(0,R.v_)(i.dbData.hsCodeCandidateSummary.lastRun.finishedAt),1)):(0,V.Q3)("",!0),i.dbData.hsCodeCandidateSummary.lastRun?.message?((0,V.uX)(),(0,V.CE)("span",Tl," · "+(0,R.v_)(i.dbData.hsCodeCandidateSummary.lastRun.message),1)):(0,V.Q3)("",!0)])]),(0,V.Lk)("div",Nl,[(0,V.bF)(s,{color:"primary",unelevated:"",icon:"arrow_forward",label:"HS CODE 관리로 이동",onClick:o.goHsCodeManage},null,8,["onClick"])])])])):(0,V.Q3)("",!0),i.loadingDashboard?((0,V.uX)(),(0,V.CE)("div",El,[(0,V.bF)(d,{color:"primary",size:"36px"})])):i.dashboardError?((0,V.uX)(),(0,V.CE)("div",Dl," 대시보드 통계를 불러오지 못했습니다. 새로고침 후 다시 시도해 주세요. ")):((0,V.uX)(),(0,V.CE)("div",Ol,[(0,V.Lk)("div",Vl,[t[29]||(t[29]=(0,V.Lk)("div",{class:"section-title"},"핵심 통계 및 운영 경고",-1)),(0,V.Lk)("div",Rl,[(0,V.Lk)("div",Ml,[(0,V.Lk)("div",{class:"comp-box dashboard-summary dashboard-summary--action q-pa-md",onClick:t[2]||(t[2]=e=>o.goToDashboardOrders("received",{period:"weekly",comparison:"current"}))},[t[21]||(t[21]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"이번 주 오더접수",-1)),(0,V.Lk)("div",$l,(0,R.v_)(o.weeklyStats.current.received)+"건",1),(0,V.Lk)("div",{class:(0,R.C4)(["text-caption",o.rateColor(o.weeklyStats.receivedRate)])}," 전주 동기 "+(0,R.v_)(o.weeklyStats.previous.received)+"건 · "+(0,R.v_)(o.formatRate(o.weeklyStats.receivedRate)),3)])]),(0,V.Lk)("div",Ul,[(0,V.Lk)("div",{class:"comp-box dashboard-summary dashboard-summary--action q-pa-md",onClick:t[3]||(t[3]=e=>o.goToDashboardOrders("completed",{period:"weekly",comparison:"current"}))},[t[22]||(t[22]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"이번 주 수령완료",-1)),(0,V.Lk)("div",Wl,(0,R.v_)(o.weeklyStats.current.completed)+"건",1),(0,V.Lk)("div",{class:(0,R.C4)(["text-caption",o.rateColor(o.weeklyStats.completedRate)])}," 전주 동기 "+(0,R.v_)(o.weeklyStats.previous.completed)+"건 · "+(0,R.v_)(o.formatRate(o.weeklyStats.completedRate)),3)])]),(0,V.Lk)("div",Bl,[(0,V.Lk)("div",{class:"comp-box dashboard-summary dashboard-summary--action q-pa-md",onClick:t[4]||(t[4]=e=>o.goToDashboardOrders("received",{period:"monthly",comparison:"current"}))},[t[23]||(t[23]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"이번 달 오더접수",-1)),(0,V.Lk)("div",zl,(0,R.v_)(o.monthlyStats.current.received)+"건",1),(0,V.Lk)("div",{class:(0,R.C4)(["text-caption",o.rateColor(o.monthlyStats.receivedRate)])}," 전월 동기 "+(0,R.v_)(o.monthlyStats.previous.received)+"건 · "+(0,R.v_)(o.formatRate(o.monthlyStats.receivedRate)),3)])]),(0,V.Lk)("div",Xl,[(0,V.Lk)("div",{class:"comp-box dashboard-summary dashboard-summary--action q-pa-md",onClick:t[5]||(t[5]=e=>o.goToDashboardOrders("completed",{period:"monthly",comparison:"current"}))},[t[24]||(t[24]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"이번 달 수령완료",-1)),(0,V.Lk)("div",Kl,(0,R.v_)(o.monthlyStats.current.completed)+"건",1),(0,V.Lk)("div",{class:(0,R.C4)(["text-caption",o.rateColor(o.monthlyStats.completedRate)])}," 전월 동기 "+(0,R.v_)(o.monthlyStats.previous.completed)+"건 · "+(0,R.v_)(o.formatRate(o.monthlyStats.completedRate)),3)])]),(0,V.Lk)("div",Ql,[(0,V.Lk)("div",{class:"comp-box dashboard-summary dashboard-summary--action q-pa-md",onClick:t[6]||(t[6]=e=>o.goToDashboardOrders("delayed"))},[t[25]||(t[25]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"현재 지연 화물",-1)),(0,V.Lk)("div",{class:(0,R.C4)(["count",0o.goToDashboardOrders("stalled"))},[t[27]||(t[27]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"상태 정체 화물",-1)),(0,V.Lk)("div",{class:(0,R.C4)(["count",0i.partnerId=e),o.loadDashboard],options:[{label:"전체",value:null},...e.$store.getters.getPartnerList],label:"파트너 선택",outlined:"",dense:"","emit-value":"","map-options":""},null,8,["modelValue","options","onUpdate:modelValue"])):(0,V.Q3)("",!0)]),(0,V.Lk)("div",Zl,[(0,V.Lk)("div",Jl,[(0,V.bF)(u,{labels:o.labels,series:o.series,onSelectDate:o.goToDailyReceivedOrders},null,8,["labels","series","onSelectDate"])])]),(0,V.Lk)("div",ei,[t[30]||(t[30]=(0,V.Lk)("h3",{class:"title q-mb-xs"},"이번 주 오더접수",-1)),(0,V.Lk)("div",ti,(0,R.v_)(o.weeklyStats.current.received),1),t[31]||(t[31]=(0,V.Lk)("h3",{class:"title q-mb-xs"},"이번 주 수령완료",-1)),(0,V.Lk)("div",ai,(0,R.v_)(o.weeklyStats.current.completed),1)])])]),(0,V.Lk)("div",li,[(0,V.Lk)("div",ii,[t[33]||(t[33]=(0,V.Lk)("h3",{class:"title col-12"},"현재 오더 상태별 현황",-1)),((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(i.dbData.statusCnt,t=>((0,V.uX)(),(0,V.CE)("div",{class:"col col-2 col-xs-6 col-md-4 col-lg-2 text-center",key:t.status},[(0,V.bF)(p,{flat:"",class:"my-card cursor-pointer",onClick:e=>o.goToStatusOrders(t.status)},{default:(0,V.k6)(()=>[(0,V.bF)(m,{class:(0,R.C4)(0===t.count?" text-grey":"")},{default:(0,V.k6)(()=>[(0,V.Lk)("div",oi,(0,R.v_)(t.status_name),1),(0,V.Lk)("div",si,(0,R.v_)(t.count)+" 건 ",1)]),_:2},1032,["class"])]),_:2},1032,["onClick"])]))),128))])]),90<=Number(i.authLevel)?((0,V.uX)(),(0,V.CE)("div",ri,[(0,V.Lk)("div",ni,[t[34]||(t[34]=(0,V.Lk)("h3",{class:"title q-mb-md"},"파트너별 운영 비교",-1)),(0,V.Lk)("div",di,[(0,V.bF)(g,{flat:"",dense:"","row-key":"partner_id",rows:o.partnerStats,columns:[{name:"partner_name",label:"파트너",field:e=>e.partner_name||"#"+e.partner_id,align:"left"},{name:"weekly_received",label:"이번 주 접수",field:"weekly_received",align:"right"},{name:"weekly_completed",label:"이번 주 완료",field:"weekly_completed",align:"right"},{name:"weekly_completion_rate",label:"이번 주 완료율",field:e=>null===e.weekly_completion_rate?"-":e.weekly_completion_rate+"%",align:"right"},{name:"weekly_avg_processing_days",label:"이번 주 평균 처리일",field:e=>null===e.weekly_avg_processing_days?"-":e.weekly_avg_processing_days+"일",align:"right"},{name:"monthly_received",label:"이번 달 접수",field:"monthly_received",align:"right"},{name:"monthly_completed",label:"이번 달 완료",field:"monthly_completed",align:"right"},{name:"monthly_completion_rate",label:"이번 달 완료율",field:e=>null===e.monthly_completion_rate?"-":e.monthly_completion_rate+"%",align:"right"},{name:"monthly_avg_processing_days",label:"이번 달 평균 처리일",field:e=>null===e.monthly_avg_processing_days?"-":e.monthly_avg_processing_days+"일",align:"right"},{name:"delayed_count",label:"지연",field:"delayed_count",align:"right"},{name:"stalled_count",label:"상태 정체",field:"stalled_count",align:"right"}],pagination:{rowsPerPage:10},"no-data-label":"비교할 파트너 데이터가 없습니다.",class:"cursor-pointer",onRowClick:t[9]||(t[9]=(e,t)=>o.goToPartnerOrders(t))},null,8,["rows","columns"])]),t[35]||(t[35]=(0,V.Lk)("div",{class:"text-caption text-grey-7 q-mt-sm"},"완료율은 해당 기간 접수 주문 중 현재 수령완료 비율이며, 평균 처리일은 해당 기간 수령완료된 주문의 오더접수부터 수령완료까지 평균입니다. 행을 클릭하면 해당 파트너의 이번 달 오더접수 목록으로 이동합니다.",-1))])])):(0,V.Q3)("",!0),(0,V.Lk)("div",ci,[(0,V.Lk)("div",ui,[(0,V.Lk)("div",mi,[t[36]||(t[36]=(0,V.Lk)("h3",{class:"title"},"공지사항 - 관리자",-1)),(0,V.bF)(h,{"notice-list":i.noticeListAdmin,onReloadParcelList:t[10]||(t[10]=e=>o.loadNoticeList(0,"2")),onLoadMoreList:t[11]||(t[11]=e=>o.loadNoticeList(i.currPageAdmin+1,"2")),onEditModal:o.callModalEditNotice},null,8,["notice-list","onEditModal"])])])]),90<=Number(this.authLevel)?((0,V.uX)(),(0,V.CE)("div",pi,[(0,V.Lk)("div",gi,[t[37]||(t[37]=(0,V.Lk)("div",{class:"col-12"},[(0,V.Lk)("h3",{class:"title"},"공지사항 - 고객")],-1)),(0,V.Lk)("div",hi,[(0,V.bF)(h,{"notice-list":i.noticeListCustomer,onReloadParcelList:t[12]||(t[12]=e=>o.loadNoticeList(0,"1")),onLoadMoreList:t[13]||(t[13]=e=>o.loadNoticeList(i.currPageAdmin+1,"1")),onEditModal:o.callModalEditNotice},null,8,["notice-list","onEditModal"])])])])):(0,V.Q3)("",!0)])),(0,V.bF)(f,{modelValue:i.alertPolicyDialog,"onUpdate:modelValue":t[17]||(t[17]=e=>i.alertPolicyDialog=e)},{default:(0,V.k6)(()=>[(0,V.bF)(p,{style:{width:"480px","max-width":"95vw"}},{default:(0,V.k6)(()=>[(0,V.bF)(m,null,{default:(0,V.k6)(()=>t[38]||(t[38]=[(0,V.Lk)("div",{class:"text-h6"},"운영 경고 기준",-1),(0,V.Lk)("div",{class:"text-caption text-grey-7"},"파트너 예외가 없으면 공통 기준이 적용됩니다.",-1)])),_:1,__:[38]}),(0,V.bF)(m,{class:"q-gutter-md"},{default:(0,V.k6)(()=>[(0,V.bF)(c,{modelValue:i.alertPolicyForm.partnerId,"onUpdate:modelValue":[t[14]||(t[14]=e=>i.alertPolicyForm.partnerId=e),o.applyAlertPolicy],options:[{label:"공통 기준",value:0},...e.$store.getters.getPartnerList],"emit-value":"","map-options":"",outlined:"",label:"적용 대상"},null,8,["modelValue","options","onUpdate:modelValue"]),(0,V.bF)(r,{modelValue:i.alertPolicyForm.stalledDays,"onUpdate:modelValue":t[15]||(t[15]=e=>i.alertPolicyForm.stalledDays=e),modelModifiers:{number:!0},type:"number",min:"1",max:"365",outlined:"",label:"상태 정체 기준(일)"},null,8,["modelValue"]),(0,V.bF)(r,{modelValue:i.alertPolicyForm.delayedDays,"onUpdate:modelValue":t[16]||(t[16]=e=>i.alertPolicyForm.delayedDays=e),modelModifiers:{number:!0},type:"number",min:"1",max:"365",outlined:"",label:"지연 기준(일)"},null,8,["modelValue"])]),_:1}),(0,V.bF)(b,{align:"right"},{default:(0,V.k6)(()=>[(0,V.bo)((0,V.bF)(s,{flat:"",label:"닫기"},null,512),[[k]]),(0,V.bF)(s,{color:"primary",label:"저장",loading:i.alertPolicyLoading,onClick:o.saveAlertPolicy},null,8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})}],["__scopeId","data-v-9fc68bc8"]]);let Ni={class:"row q-mb-lg"},Ei={class:"col"},Di={key:0,class:"row q-mb-md"},Oi={class:"col"},Vi={class:"recent-packed-notice"},Ri={class:"recent-packed-notice__main"},Mi={class:"recent-packed-notice__caption"},$i={key:0,class:"recent-packed-preview"},Ui={class:"recent-packed-notice__actions"},Wi={class:"row q-mb-sm"},Bi={class:"col-12 q-mb-md"},zi={class:"row"},Xi={class:"col"},Ki={class:"comp-box"};v(33110);let Qi={class:"comp-box"},Gi={class:"row"},Hi={class:"col"},ji={class:"q-my-sm title-heading"},Yi={style:{"text-align":"right"},class:"col self-center"};var b={name:"Title-area",props:{desc:{title:{type:String,default:"관리"}}},components:{},watch:{},emits:[],data(){return{}},methods:{},mounted(){}},b=(v(94925),(0,e.A)(b,[["render",function(e,t,a,l,i,o){return(0,V.uX)(),(0,V.CE)("div",Qi,[(0,V.Lk)("div",Gi,[(0,V.Lk)("div",Hi,[(0,V.Lk)("h5",ji,[(0,V.eW)((0,R.v_)(a.desc.title)+" ",1),(0,V.RG)(e.$slots,"title-action",{},void 0,!0)])]),(0,V.Lk)("div",Yi,[(0,V.RG)(e.$slots,"default",{},void 0,!0)])])])}],["__scopeId","data-v-24386274"]]));let Zi={class:"comp-box parcel-lookup"},Ji={class:"row q-col-gutter-lg items-stretch"},eo={class:"col-12 lookup-date-column"},to={class:"range-picker"},ao={class:"row q-col-gutter-sm items-start"},lo={class:"col-12 col-sm-6"},io={class:"row items-center justify-end q-gutter-sm"},oo={class:"col-12 col-sm-6"},so={class:"row items-center justify-end q-gutter-sm"},ro={class:"row q-col-gutter-sm q-mt-sm quick-range-buttons"},no={class:"col-auto"},co={class:"col-auto"},uo={class:"col-auto"},mo={class:"col-auto"},po={class:"text-caption text-grey q-mt-sm"},go={class:"col-12 lookup-search-column"},ho={class:"search-panel"},bo={class:"row q-col-gutter-sm"},fo={class:"col-xs-12 col-sm-6"},vo={class:"col-xs-12 col-sm-6"},ko={class:"col-12"},yo={class:"advanced-filter","aria-labelledby":"advanced-filter-title"},Lo={class:"advanced-filter-panel"},_o={class:"advanced-filter-toolbar"},wo={id:"advanced-filter-title",class:"advanced-filter-title"},xo={class:"advanced-filter-grid"},Co={class:"advanced-filter-section advanced-filter-section--wide"},So={class:"order-status-options"},Fo={class:"advanced-filter-section advanced-filter-section--console"},qo={class:"advanced-filter-control-grid"},Io={class:"advanced-filter-control"},Po={class:"advanced-filter-control"},Ao={class:"advanced-filter-control"},To={class:"advanced-filter-section"},No={class:"col-12"};var Eo={name:"Biz-parcel-lookup-form-by-parcel",emits:["lookup-opt-sync","lookup-parcel"],watch:{"$store.getters.getCourierList"(e){this.courierList=e}},computed:{parcelLocationList(){return this.$store.getters.getParcelLocationListImport},shippingList(){return this.$store.getters.getFreightMethodList},advancedFilterItems(){let e=this.$store.getters.getOrderStatusCodeList||[];var t,a=this.$store.getters.getPartnerList||[],l=(Array.isArray(this.statusCode)?this.statusCode:[]).map(t=>e.find(e=>e.value===t)?.label||t);return this.consoleFilter&&l.push("Y"===this.consoleFilter?"콘솔":"비콘솔"),this.tempConsolStatus&&(t=this.tempConsolStatusOptions.find(e=>e.value===this.tempConsolStatus),l.push("콘솔상태: "+(t?.label||this.tempConsolStatus))),this.packingStatus&&l.push("포장완료"),this.partnerId&&(t=a.find(e=>e.value===this.partnerId),l.push("파트너: "+(t?.label||this.partnerId))),l}},components:{ModalCustomerSearch:t},data(){return{authLevel:"00",courierList:this.$store.getters.getCourierList,byParcel:!0,byReceiver:!1,byMember:!1,mobileCountry:"",mobileNum:"",customerEmail:"",receiver:"",courierCode:"",courierNum:"",customerName:"",customerId:"",statusCode:[],orderNum:"",hblNo:"",mblNo:"",consoleFilter:"",consoleFilterOptions:[{label:"전체",value:""},{label:"비콘솔",value:"N"},{label:"콘솔",value:"Y"}],tempConsolStatus:"",tempConsolStatusOptions:[{label:"전체",value:""},{label:"미등록",value:"NONE"},{label:"연결대기",value:"READY"},{label:"연결완료",value:"LINKED"}],packingStatus:"",packingStatusOptions:[{label:"전체",value:""},{label:"포장완료",value:"COMPLETED"}],startDate:"",endDate:"",datepicker:{from:"",to:""},proxyDate:{from:"",to:""},startDatePopup:!1,endDatePopup:!1,modifyModalShow:!1,tab:"order-info",partnerId:""}},methods:{syncDateRange(){var e;this.startDate&&this.endDate&&this.startDate>this.endDate&&(e=this.startDate,this.startDate=this.endDate,this.endDate=e),this.proxyDate={from:this.startDate,to:this.endDate},this.datepicker={from:this.startDate,to:this.endDate},this.lookupOptSync()},saveStartDate(){this.startDatePopup=!1,this.syncDateRange()},saveEndDate(){this.endDatePopup=!1,this.syncDateRange()},getDateMonthsAgo(e){var t=new Date;return t.setMonth(t.getMonth()-e),this.formatDate(t)},formatDate(e){return e.getFullYear()+`-${this.lPad(e.getMonth()+1,2)}-`+this.lPad(e.getDate(),2)},setQuickRange(e){this.startDate=this.getDateMonthsAgo(e),this.endDate=this.getToday(),this.syncDateRange()},tabToggle(e){1===e?(this.byParcel=!0,this.byReceiver=!1,this.byMember=!1):2===e?(this.byParcel=!1,this.byReceiver=!0,this.byMember=!1):3!==e&&4!==e&&5!==e&&6!==e||(this.byParcel=!1,this.byReceiver=!1,this.byMember=!0),this.courierCode="",this.courierNum="",this.mobileCountry="",this.mobileNum="",this.customerEmail="",this.receiver="",this.customerName="",this.customerId="",this.orderNum="",this.hblNo="",this.mblNo="",this.lookupOptSync()},lookupOptSync(){this.$log.debug("[ Parcel lookup form / lookupOptSync ]");var e={courierCode:this.courierCode,courierNum:this.courierNum,mobileCountry:this.mobileCountry,mobileNum:this.mobileNum,customerEmail:this.customerEmail,receiver:this.receiver,customerId:this.customerId,orderNum:this.orderNum&&0i.startDate=e),label:"시작 날짜",outlined:"",dense:"",readonly:""},{append:(0,V.k6)(()=>[(0,V.bF)(s,{flat:"",round:"",icon:"event",color:"primary"},{default:(0,V.k6)(()=>[(0,V.bF)(n,{cover:"","transition-show":"scale","transition-hide":"scale"},{default:(0,V.k6)(()=>[(0,V.bF)(r,{modelValue:i.startDate,"onUpdate:modelValue":t[0]||(t[0]=e=>i.startDate=e),mask:"YYYY-MM-DD"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",io,[(0,V.bo)((0,V.bF)(s,{label:"Cancel",color:"primary",flat:""},null,512),[[w]]),(0,V.bo)((0,V.bF)(s,{label:"OK",color:"primary",flat:"",onClick:o.saveStartDate},null,8,["onClick"]),[[w]])])]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),(0,V.Lk)("div",oo,[(0,V.bF)(d,{modelValue:i.endDate,"onUpdate:modelValue":t[3]||(t[3]=e=>i.endDate=e),label:"끝 날짜",outlined:"",dense:"",readonly:""},{append:(0,V.k6)(()=>[(0,V.bF)(s,{flat:"",round:"",icon:"event",color:"primary"},{default:(0,V.k6)(()=>[(0,V.bF)(n,{cover:"","transition-show":"scale","transition-hide":"scale"},{default:(0,V.k6)(()=>[(0,V.bF)(r,{modelValue:i.endDate,"onUpdate:modelValue":t[2]||(t[2]=e=>i.endDate=e),mask:"YYYY-MM-DD"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",so,[(0,V.bo)((0,V.bF)(s,{label:"Cancel",color:"primary",flat:""},null,512),[[w]]),(0,V.bo)((0,V.bF)(s,{label:"OK",color:"primary",flat:"",onClick:o.saveEndDate},null,8,["onClick"]),[[w]])])]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"])])]),(0,V.Lk)("div",ro,[(0,V.Lk)("div",no,[(0,V.bF)(s,{outline:"",dense:"",color:"primary",label:"최근 1달",onClick:t[4]||(t[4]=e=>o.setQuickRange(1))})]),(0,V.Lk)("div",co,[(0,V.bF)(s,{outline:"",dense:"",color:"primary",label:"최근 3달",onClick:t[5]||(t[5]=e=>o.setQuickRange(3))})]),(0,V.Lk)("div",uo,[(0,V.bF)(s,{outline:"",dense:"",color:"primary",label:"최근 6개월",onClick:t[6]||(t[6]=e=>o.setQuickRange(6))})]),(0,V.Lk)("div",mo,[(0,V.bF)(s,{outline:"",dense:"",color:"primary",label:"최근 1년",onClick:t[7]||(t[7]=e=>o.setQuickRange(12))})])]),(0,V.Lk)("div",po,(0,R.v_)(i.datepicker.from)+" ~ "+(0,R.v_)(i.datepicker.to),1)])]),(0,V.Lk)("div",go,[(0,V.Lk)("div",ho,[t[27]||(t[27]=(0,V.Lk)("div",{class:"lookup-section-title"},"검색조건",-1)),(0,V.bF)(u,{modelValue:i.tab,"onUpdate:modelValue":t[12]||(t[12]=e=>i.tab=e),class:"text-grey search-tabs","active-color":"primary","indicator-color":"primary",dense:"","narrow-indicator":""},{default:(0,V.k6)(()=>[(0,V.bF)(c,{name:"order-info",onClick:t[8]||(t[8]=e=>o.tabToggle(4)),label:"Order정보"}),(0,V.bF)(c,{name:"person-info",onClick:t[9]||(t[9]=e=>o.tabToggle(2)),label:"받는 사람정보"}),(0,V.bF)(c,{name:"hbl-info",onClick:t[10]||(t[10]=e=>o.tabToggle(5)),label:"H/BL No."}),(0,V.bF)(c,{name:"mbl-info",onClick:t[11]||(t[11]=e=>o.tabToggle(6)),label:"M/BL No."})]),_:1},8,["modelValue"]),(0,V.bF)(m),(0,V.bF)(g,{modelValue:i.tab,"onUpdate:modelValue":t[19]||(t[19]=e=>i.tab=e),animated:"",class:"search-panels"},{default:(0,V.k6)(()=>[(0,V.bF)(p,{name:"order-info",class:"q-pa-sm"},{default:(0,V.k6)(()=>[(0,V.bF)(d,{modelValue:i.orderNum,"onUpdate:modelValue":[t[13]||(t[13]=e=>i.orderNum=e),o.lookupOptSync],label:"오더번호",outlined:"",dense:""},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),(0,V.bF)(p,{name:"person-info",class:"q-pa-sm"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",bo,[(0,V.Lk)("div",fo,[(0,V.bF)(d,{modelValue:i.receiver,"onUpdate:modelValue":[t[14]||(t[14]=e=>i.receiver=e),o.lookupOptSync],label:"받는 사람명",placeholder:"받는 사람명을 입력해주세요",outlined:"",dense:""},null,8,["modelValue","onUpdate:modelValue"])]),(0,V.Lk)("div",vo,[(0,V.bF)(d,{modelValue:i.mobileNum,"onUpdate:modelValue":[t[15]||(t[15]=e=>i.mobileNum=e),o.lookupOptSync],onBlur:t[16]||(t[16]=e=>this.$validMobile(i.mobileNum)),label:"전화번호",placeholder:"'-'을 제외한 전화번호를 입력해주세요",outlined:"",dense:""},null,8,["modelValue","onUpdate:modelValue"])])])]),_:1}),(0,V.bF)(p,{name:"hbl-info",class:"q-pa-sm"},{default:(0,V.k6)(()=>[(0,V.bF)(d,{modelValue:i.hblNo,"onUpdate:modelValue":[t[17]||(t[17]=e=>i.hblNo=e),o.lookupOptSync],label:"H/BL No.",outlined:"",dense:""},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),(0,V.bF)(p,{name:"mbl-info",class:"q-pa-sm"},{default:(0,V.k6)(()=>[(0,V.bF)(d,{modelValue:i.mblNo,"onUpdate:modelValue":[t[18]||(t[18]=e=>i.mblNo=e),o.lookupOptSync],label:"M/BL No.",outlined:"",dense:""},null,8,["modelValue","onUpdate:modelValue"])]),_:1})]),_:1},8,["modelValue"])])]),(0,V.Lk)("div",ko,[(0,V.bF)(m,{class:"lookup-divider"}),(0,V.Lk)("section",yo,[(0,V.Lk)("div",Lo,[(0,V.Lk)("div",_o,[(0,V.Lk)("div",wo,[(0,V.bF)(h,{name:"tune",size:"20px"}),t[28]||(t[28]=(0,V.Lk)("span",null,"상세 조건",-1))]),0((0,V.uX)(),(0,V.Wv)(v,{key:e.value,modelValue:i.statusCode,"onUpdate:modelValue":[t[20]||(t[20]=e=>i.statusCode=e),o.lookupOptSync],val:e.value,label:e.label,color:"primary",dense:""},null,8,["modelValue","val","label","onUpdate:modelValue"]))),128))])]),90<=Number(i.authLevel)?((0,V.uX)(),(0,V.CE)(V.FK,{key:0},[(0,V.Lk)("section",Fo,[t[33]||(t[33]=(0,V.Lk)("div",{class:"advanced-filter-section__title"},"콘솔 및 포장",-1)),(0,V.Lk)("div",qo,[(0,V.Lk)("div",Io,[t[30]||(t[30]=(0,V.Lk)("div",{class:"advanced-filter-control__label"},"콘솔 구분",-1)),(0,V.bF)(k,{class:"advanced-filter-btn-group",modelValue:i.consoleFilter,"onUpdate:modelValue":[t[21]||(t[21]=e=>i.consoleFilter=e),o.lookupOptSync],options:i.consoleFilterOptions,color:"white","text-color":"grey-8","toggle-color":"primary",unelevated:"",dense:"","no-caps":""},null,8,["modelValue","options","onUpdate:modelValue"])]),(0,V.Lk)("div",Po,[t[31]||(t[31]=(0,V.Lk)("div",{class:"advanced-filter-control__label"},"콘솔 상태",-1)),(0,V.bF)(k,{class:"advanced-filter-btn-group",modelValue:i.tempConsolStatus,"onUpdate:modelValue":[t[22]||(t[22]=e=>i.tempConsolStatus=e),o.lookupOptSync],options:i.tempConsolStatusOptions,color:"white","text-color":"grey-8","toggle-color":"primary",unelevated:"",dense:"","no-caps":""},null,8,["modelValue","options","onUpdate:modelValue"])]),(0,V.Lk)("div",Ao,[t[32]||(t[32]=(0,V.Lk)("div",{class:"advanced-filter-control__label"},"포장 상태",-1)),(0,V.bF)(k,{class:"advanced-filter-btn-group",modelValue:i.packingStatus,"onUpdate:modelValue":[t[23]||(t[23]=e=>i.packingStatus=e),o.lookupOptSync],options:i.packingStatusOptions,color:"white","text-color":"grey-8","toggle-color":"primary",unelevated:"",dense:"","no-caps":""},null,8,["modelValue","options","onUpdate:modelValue"])])])]),(0,V.Lk)("section",To,[t[34]||(t[34]=(0,V.Lk)("div",{class:"advanced-filter-section__title"},"파트너",-1)),(0,V.bF)(y,{modelValue:i.partnerId,"onUpdate:modelValue":[t[24]||(t[24]=e=>i.partnerId=e),o.lookupOptSync],options:[{label:"전체",value:null},...e.$store.getters.getPartnerList],label:"파트너 선택",outlined:"",dense:"",clearable:"","emit-value":"","map-options":""},null,8,["modelValue","options","onUpdate:modelValue"])])],64)):(0,V.Q3)("",!0)])])])]),(0,V.Lk)("div",No,[(0,V.bF)(s,{color:"primary",size:"lg",label:"배송상품검색",class:"full-width lookup-submit-btn",onClick:o.lookupParcel},null,8,["onClick"])])])]),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(_,{modelValue:i.modifyModalShow,"onUpdate:modelValue":t[25]||(t[25]=e=>i.modifyModalShow=e),persistent:""},{default:(0,V.k6)(()=>[(0,V.bF)(L,{onChangeCustomer:o.changeCustomer,onCloseModalSearch:o.closeModalSearch},null,8,["onChangeCustomer","onCloseModalSearch"])]),_:1},8,["modelValue"])]))],64)}],["__scopeId","data-v-a4f27e88"]]));let Do={class:"row q-mb-sm"},Oo={class:"col col-8"},Vo={class:"col text-right"},Ro={class:"row q-mb-sm"},Mo={class:"col"},$o={class:"parcel-list-summary row items-center justify-between q-mb-sm q-px-xs"},Uo={class:"parcel-list-counts row items-center"},Wo={class:"text-body2 text-grey-8"},Bo={class:"text-dark"},zo={class:"parcel-state-help row items-center text-caption text-grey-7"},Xo={key:1,class:"text-grey-5","aria-label":"운송장 미출력"},Ko={key:4,class:"row items-center justify-center no-wrap q-gutter-xs"},Qo={key:7,class:"parcel-description-text"},Go={class:"row items-start justify-between q-col-gutter-md"},Ho={class:"col"},jo={class:"text-caption text-grey-7"},Yo={class:"col-auto"},Zo={key:0,class:"row justify-center q-py-lg"},Jo={class:"row q-col-gutter-sm q-mb-md"},es={class:"col-12 col-sm-4"},ts={class:"tracking-summary"},as={class:"col-12 col-sm-4"},ls={class:"tracking-summary"},is={class:"col-12 col-sm-4"},os={class:"tracking-summary"},ss={class:"text-grey-7 q-ml-sm"},rs={key:2,class:"text-grey-7 q-py-md"},ns={class:"row items-start justify-between q-col-gutter-md"},ds={class:"col-auto"},cs={class:"row q-col-gutter-sm q-mb-md"},us={class:"col-6 col-md-3"},ms={class:"temp-consol-summary"},ps={class:"text-h6"},gs={class:"col-6 col-md-3"},hs={class:"temp-consol-summary"},bs={class:"text-h6"},fs={class:"col-6 col-md-3"},vs={class:"temp-consol-summary"},ks={class:"text-h6"},ys={class:"col-6 col-md-3"},Ls={class:"temp-consol-summary"},_s={class:"text-h6"},ws={class:"row q-mb-sm"},xs={class:"col"},Cs={class:"col-auto"},Ss={class:"row"},Fs={class:"col"};let qs={class:"order-summary","aria-labelledby":"order-summary-title"},Is={class:"order-summary__identity"},Ps={class:"text-caption text-grey-7"},As={class:"order-summary__statuses"},Ts={class:"summary-status"},Ns={class:"summary-status"},Es={class:"summary-status"},Ds={class:"order-summary__meta text-caption"},Os={class:"section-nav","aria-label":"오더등록정보 섹션 이동"},Vs={id:"order-operation",class:"order-section"},Rs={class:"q-pa-md"},Ms={class:"form-column-wrap"},$s={class:"form-column-wrap"},Us={class:"q-pa-md"},Ws={class:"form-column-wrap"},Bs={class:"packing-action-card"},zs={class:"packing-action-card__summary"},Xs={class:"row items-center q-gutter-sm"},Ks={class:"text-caption text-grey-7"},Qs={key:0,class:"packing-action-card__controls"},Gs={key:1,class:"text-caption text-grey-7"},Hs={id:"cargo-info",class:"order-section"},js={class:"q-pa-md"},Ys={class:"form-column-wrap"},Zs={class:"form-column-wrap"},Js={class:"q-pa-md"},er={class:"form-column-wrap"},tr={class:"q-pa-md"},ar={class:"form-column-wrap"},lr={id:"shipper-info",class:"order-section"},ir={class:"q-pa-md"},or={class:"form-column-wrap"},sr={class:"form-column-wrap"},rr={key:0,class:"form-column-wrap"},nr={id:"receiver-info",class:"order-section"},dr={class:"q-pa-md"},cr={class:"form-column-wrap q-mb-md"},ur={class:"form-column-wrap q-mb-md"},mr={class:"form-column-wrap"},pr={id:"item-info",class:"order-section"},gr={class:"section-heading"},hr={class:"text-caption text-grey-7"},br={class:"q-pa-md"},fr={class:"col col-12 text-right text-h6"},vr={id:"delivery-info",class:"order-section"},kr={class:"q-pa-md"},yr={class:"form-column-wrap"},Lr={class:"q-pa-md"},_r={class:"form-column-wrap"},wr={class:"q-pa-md"},xr={class:"form-column-wrap"},Cr={id:"history-info",class:"order-section"},Sr={class:"row q-pa-md"},Fr={class:"form-column-wrap col-md-6 col-xs-12"},qr={class:"footer-actions__inner"};let Ir={class:"row q-col-gutter-sm q-pa-sm"},Pr={class:"col-12 col-sm-6"},Ar={class:"col-12 col-sm-6"},Tr={class:"row"},Nr={class:"col"},Er={class:"row",style:{"margin-top":"0cm"}},Dr={class:"col col-4",style:{"margin-top":"0.9cm",width:"5.8cm"}},Or={class:"waybill-list"},Vr={style:{position:"relative"}},Rr={style:{position:"absolute",bottom:"0",right:"0",width:"58px",height:"58px"}},Mr={class:"waybill-list",style:{"font-size":"12px","font-weight":"700",height:"1.8cm","margin-top":"0.1cm","line-height":"1.2"}},$r={class:"waybill-list",style:{"font-size":"9px","margin-top":"0.3cm",height:"2.2cm"}},Ur={class:"text-center"},Wr={class:"waybill-list",style:{"font-size":"16px",height:"4cm"}},Br={class:"col col-5",style:{width:"8.8cm"}},zr={class:"waybill-list",style:{"padding-left":"0.2cm","padding-right":"0.2cm",height:"1.4cm"}},Xr={class:"row",style:{"font-size":"16px","font-weight":"700","align-items":"center","line-height":"1","letter-spacing":"-1px"}},Kr={class:"col",style:{"font-size":"42px","font-weight":"900","text-align":"center"}},Qr={class:"col col-auto",style:{"text-align":"center"}},Gr={class:"col",style:{"font-size":"42px","font-weight":"900","text-align":"center","letter-spacing":"-2px"}},Hr={class:"col col-auto",style:{"text-align":"center"}},jr={class:"col col-3",style:{"font-size":"26px","font-weight":"700",width:"25%","text-align":"center"}},Yr={class:"waybill-list",style:{"font-size":"14px","font-weight":"700","padding-left":"0.55cm","padding-right":"0.7cm","padding-top":"0.4cm",height:"1.8cm"}},Zr={class:"row"},Jr={class:"col"},en={class:"col text-right"},tn={class:"waybill-list",style:{"padding-left":"0.55cm","padding-right":"0.6cm","padding-top":"0.2cm",height:"4cm"}},an={class:"waybill-list",style:{"padding-top":"0.1cm"}},ln={class:"text-center"},on={class:"col wb-right-col"},sn={class:"wb-rotor"},rn={class:"wb-line"},nn={class:"wb-value"},dn={class:"wb-line"},cn={class:"wb-value"},un={class:"wb-line"},mn={class:"wb-value"};var pn=v(86129);var f={name:"BarcodeGenerator",props:{value:[String,Number],format:[String],width:[String,Number],height:[String,Number],displayValue:{type:[String,Boolean],default:!0},text:[String,Number],fontOptions:[String],font:[String],textAlign:[String],textPosition:[String],textMargin:[String,Number],fontSize:[String,Number],background:[String],lineColor:[String],margin:[String,Number],marginTop:[String,Number],marginBottom:[String,Number],marginLeft:[String,Number],marginRight:[String,Number],flat:[Boolean],ean128:[String,Boolean],elementTag:{type:String,default:"svg",validator:function(e){return-1!==["canvas","svg","img"].indexOf(e)}}},render(){return(0,V.h)(this.elementTag,{id:["barcodegen"]})},mounted:function(){!function(){var t=this,e={format:this.format,width:this.width,height:this.height,displayValue:this.displayValue,text:this.text,fontOptions:void 0!==this.fontOptions?this.fontOptions:"bold",font:void 0!==this.font?this.font:"Arial",textAlign:this.textAlign,textPosition:this.textPosition,textMargin:this.textMargin,fontSize:this.fontSize,background:this.background,lineColor:this.lineColor,margin:this.margin,marginTop:this.marginTop,marginBottom:this.marginBottom,marginLeft:this.marginLeft,marginRight:this.marginRight,flat:this.flat,ean128:this.ean128,valid:function(e){t.valid=e},elementTag:this.elementTag};(t=>{Object.keys(t).forEach(e=>void 0===t[e]?delete t[e]:{})})(e),pn(this.$el,this.value,e)}.call(this)}},gn=v(80739),k=v(20354),hn=v.n(k);k=new Date;let bn=k.getFullYear(),fn=k.getMonth()+1,vn=k.getDate(),kn=k.getTime(),yn={name:"Pdf-preview",props:{parcelList:Array,hideBackground:{type:Boolean,default:!1}},emits:["close-modal"],components:{BarcodeGenerator:f},data(){return{pdfKey:0,addrResults:{},qrGenerationPromises:{},printing:!1,agentPrinting:!1,browserPrinting:!1,timestamp:""}},watch:{parcelList:{immediate:!0,deep:!0,handler(e){Array.isArray(e)&&this.$nextTick(()=>{e.forEach((e,t)=>{this.$log.debug("[ watch / parcelList / item ]",e.hblNo),this.fetchAddr(e.receiverZipcode).catch(e=>{this.$log.error("[ watch / parcelList / fetchAddr ]",e)}),this.getOrCreateQRCodePromise(e.hblNo,t).catch(e=>{this.$log.error("[ watch / parcelList / generateQRCode ]",e)})})})}}},methods:{createWaybillPrintClaimToken(){return`pdf-${Date.now()}-${Math.random().toString(36).slice(2)}-`+Math.random().toString(36).slice(2)},getWaybillPrintClaimStorageKey(e){return"aone:pdf-preview:waybill-print-claim:v1:"+Number(e)},readStoredWaybillPrintClaim(e){if("undefined"==typeof localStorage)return null;try{var t=JSON.parse(localStorage.getItem(this.getWaybillPrintClaimStorageKey(e))||"null");return t?.orderId&&t?.claimToken?t:null}catch(e){return null}},persistWaybillPrintClaim(e){"undefined"!=typeof localStorage&&localStorage.setItem(this.getWaybillPrintClaimStorageKey(e.orderId),JSON.stringify(e))},clearStoredWaybillPrintClaim(e,t){"undefined"!=typeof localStorage&&this.readStoredWaybillPrintClaim(e)?.claimToken===t&&localStorage.removeItem(this.getWaybillPrintClaimStorageKey(e))},getOrCreateWaybillPrintClaim(e){var t,a=Number(e?.id),e=Number(e?.partnerId);if(a&&e)return(t=this.readStoredWaybillPrintClaim(a))&&Number(t.partnerId)===e?t:(t={orderId:a,partnerId:e,claimToken:this.createWaybillPrintClaimToken(),createdAt:(new Date).toISOString()},this.persistWaybillPrintClaim(t),t);throw new Error("운송장 출력 claim에 필요한 주문 또는 파트너 정보가 없습니다.")},async requestWaybillPrintClaim(e){var t=(await this.$http({method:"POST",url:"/api/fulfillment/packing/waybill-print-claim",data:{id:e.orderId,partnerId:e.partnerId,claimToken:e.claimToken},name:"[ Axios / PDF preview / 운송장 출력 claim ]"}))?.data||{};if(!0!==t.ok)throw new Error(t.message||"운송장 출력 claim에 실패했습니다.");t=t.data||{};if(t.alreadyPrinted)throw new Error("이미 출력 처리된 주문이 포함되어 있습니다.");if(t.claimToken!==e.claimToken)throw new Error("서버 claim 토큰이 요청 토큰과 일치하지 않습니다.")},async releaseWaybillPrintClaim(e){var t=await this.$http({method:"POST",url:"/api/fulfillment/packing/waybill-print-release",data:{id:e.orderId,partnerId:e.partnerId,claimToken:e.claimToken},name:"[ Axios / PDF preview / 운송장 출력 claim 해제 ]"});if(!0!==t?.data?.ok)throw new Error(t?.data?.message||"운송장 출력 claim 해제에 실패했습니다.");this.clearStoredWaybillPrintClaim(e.orderId,e.claimToken)},async finalizeWaybillPrintClaim(e){var t=await this.$http({method:"POST",url:"/api/fulfillment/packing/waybill-print",data:{id:e.orderId,partnerId:e.partnerId,claimToken:e.claimToken},name:"[ Axios / PDF preview / 운송장 출력 완료 ]"});if(!0!==t?.data?.ok)throw new Error(t?.data?.message||"운송장 출력 완료 처리에 실패했습니다.");this.clearStoredWaybillPrintClaim(e.orderId,e.claimToken)},closeModal(){this.$emit("close-modal")},getFileName(){var e=""+bn+(10<=fn?fn:"0"+fn)+(10<=vn?vn:"0"+vn)+kn;return-1!==navigator.userAgent.indexOf("MSIE")||-1setTimeout(e,100));(await this.createWaybillPdf()).save(this.getFileName()+".pdf");var e={id:this.parcelList.map(e=>e.id)},t={method:"POST",url:"/api/parcel/setOrderPrinted",data:e,name:"[ Axios / setOrderPrinted ]"},a=await this.$http(t);this.$log.debug("출력완료",a.data),this.parcelList.forEach(e=>{e.isPrinted=1})}catch(e){this.$log.error("[ exportAllWaybillsToPDF ]",e),this.$q?.notify?.({type:"negative",message:e?.message||"PDF 생성에 실패했습니다.",position:"top",timeout:3e3})}finally{this.printing=!1,this.timestamp=""}}},async prepareForCapture(){Array.isArray(this.parcelList)&&0!==this.parcelList.length&&(await Promise.all(this.parcelList.map(e=>this.fetchAddr(e.receiverZipcode))),await this.$nextTick(),await Promise.all(this.parcelList.map((e,t)=>this.getOrCreateQRCodePromise(e.hblNo,t))),await this.$nextTick())},async createWaybillPdf(){await this.prepareForCapture();var t=new gn.Ay({orientation:"landscape",unit:"cm",format:[17,11]}),a=this.$refs.pdfArea.querySelectorAll(".waybill");for(let e=0;e AONE Waybill Browser Print
${e.innerHTML}
`;throw new Error("운송장 영역을 찾을 수 없습니다.")},async printWaybillsInBrowser(){if(!this.browserPrinting){this.browserPrinting=!0,this.timestamp=(new Date).toLocaleString(),await this.$nextTick();let e=document.createElement("iframe");e.setAttribute("title","AONE Waybill Browser Print"),e.style.position="fixed",e.style.right="0",e.style.bottom="0",e.style.width="0",e.style.height="0",e.style.border="0",e.style.opacity="0",document.body.appendChild(e);try{var t=e.contentWindow,a=e.contentDocument||t?.document;if(!t||!a)throw new Error("출력 프레임을 생성할 수 없습니다.");a.open(),a.write(this.buildBrowserPrintHtml()),a.close(),await new Promise(e=>setTimeout(e,300)),t.focus(),t.print(),this.$q.notify({type:"positive",message:"브라우저 즉시 출력 요청을 전송했습니다.",position:"top",timeout:2e3})}catch(e){this.$q.notify({type:"negative",message:e?.message||"브라우저 즉시 출력에 실패했습니다.",position:"top",timeout:3e3})}finally{setTimeout(()=>{e.remove(),this.browserPrinting=!1},1e3)}}},async printWaybillsViaAgent(){if(!this.agentPrinting){this.agentPrinting=!0,this.timestamp=(new Date).toLocaleString();var a=[];let t=!1;try{for(var e of this.parcelList||[]){var l=this.getOrCreateWaybillPrintClaim(e);await this.requestWaybillPrintClaim(l),a.push(l)}if(0===a.length)throw new Error("출력할 운송장이 없습니다.");await this.$nextTick();var i,o=await this.createWaybillPdf(),s=(t=!0,await fetch("http://127.0.0.1:18181/print/pdf",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({pdfBase64:o.output("datauristring")})})),r=await s.json().catch(()=>({}));if(!s.ok||!0!==r?.ok)throw new Error(r?.message||"로컬 프린트 에이전트 출력 요청에 실패했습니다.");for(i of a)await this.finalizeWaybillPrintClaim(i);this.$q.notify({type:"positive",message:"로컬 에이전트로 출력 요청을 전송했습니다.",position:"top",timeout:2e3})}catch(e){if(!t)for(var n of a.reverse())await this.releaseWaybillPrintClaim(n).catch(e=>{this.$log?.error?.("[ PDF preview / 출력 전 claim 해제 실패 ]",e)});this.$q.notify({type:"negative",message:e?.message||"로컬 에이전트 출력에 실패했습니다.",position:"top",timeout:3e3})}finally{this.agentPrinting=!1}}},async addrApi(t){return this.$log.debug("[addrApi] 주소 API 호출 시작. Zipcode: "+t),this.$http({method:"GET",url:"/api/parcel/lookup/"+t,name:"[ Axios / 주소조회-프록시 ]"}).then(e=>(this.$log.debug(`[addrApi] 주소 조회 성공. Zipcode: ${t}, 응답 데이터:`,e.data),this.$log.debug("주소 조회 성공",e.data),e.data)).catch(e=>{throw console.error(`[addrApi] 주소 조회 실패. Zipcode: ${t}, 오류:`,e),this.$log.error("주소 조회 실패",e),e})},async fetchAddr(e){var t;return this.$log.debug("[fetchAddr] 주소 가져오기 시작. Zipcode: "+e),e?this.addrResults[e]?(this.$log.debug("[fetchAddr] 캐시된 주소 사용. Zipcode: "+e),this.addrResults[e]):(t=await this.addrApi(e),t=(new DOMParser).parseFromString(t,"text/xml"),t=this.bagCodeBuilder(t),this.addrResults[e]=t):(console.warn("[fetchAddr] Zipcode가 없습니다."),"")},getAddrResult(e){return this.addrResults[e]||{}},bagCodeBuilder(e){var t=e.getElementsByTagName("cod3")[0]?.textContent||"",a=t.slice(0,2),l=e.getElementsByTagName("cod1")[0]?.textContent||"",i=e.getElementsByTagName("cod2")[0]?.textContent||"",o=t.slice(2,4),s=t.slice(4,6),t=t.slice(6,9);return{bunryuCode:a,bagName:l,destinationCode:e.getElementsByTagName("cod0")[0]?.textContent||"",destinationName:i,detailCode1:o,detailCode2:s,detailCode3:t}},async getOrCreateQRCodePromise(e,t){var a=t+":"+String(e??"").trim();if(this.qrGenerationPromises[a])return this.qrGenerationPromises[a];e=this.generateQRCode(e,t);this.qrGenerationPromises[a]=e;try{await e}finally{this.qrGenerationPromises[a]===e&&delete this.qrGenerationPromises[a]}},async generateQRCode(e,t){this.$log.debug("[ generateQRCode ]",e);var a=this.$refs.qrContainer;let i=Array.isArray(a)?a[t]:a;if(!i)throw new Error("QR 컨테이너를 찾을 수 없습니다. index="+t);let o=String(e??"").trim();if(o)return i.innerHTML="",new Promise((a,l)=>{Ua.toCanvas(o,{width:58},(e,t)=>{this.$log.debug("[ generateQRCode ] !err && canvas = ",!e&&t,e,t),e||!t?l(e||new Error("QR canvas 생성에 실패했습니다.")):(this.$log.debug("[ generateQRCode ]",o,t),i.appendChild(t),a())})});throw this.$log.debug("[ generateQRCode ] invalid data",e),new Error("QR 생성에 필요한 운송장 번호가 없습니다.")},async generateAllQRCodes(){Array.isArray(this.parcelList)&&this.$nextTick(()=>{this.parcelList.forEach((e,t)=>{this.getOrCreateQRCodePromise(e.hblNo,t).catch(e=>{this.$log.error("[ generateAllQRCodes / generateQRCode ]",e)})})})}},mounted(){this.$log.debug("[ mounted ] parcelList = ",this.parcelList)}};v(82232);k=(0,e.A)(yn,[["render",function(e,a,l,t,i,o){let s=(0,V.g2)("q-toolbar-title"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("q-toolbar"),d=(0,V.g2)("q-header"),c=(0,V.g2)("q-footer"),u=(0,V.g2)("BarcodeGenerator"),m=(0,V.g2)("q-card-section"),p=(0,V.g2)("q-card"),g=(0,V.g2)("q-page"),h=(0,V.g2)("q-page-container");var b=(0,V.g2)("q-layout");let f=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.Wv)(b,{container:"",view:"lHh lpr lFf"},{default:(0,V.k6)(()=>[(0,V.bF)(d,{class:"bg-primary",elevated:""},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>a[0]||(a[0]=[(0,V.eW)("운송장 출력 미리보기")])),_:1,__:[0]}),(0,V.bo)((0,V.bF)(r,{flat:"",round:"",dense:"",icon:"close",onClick:o.closeModal},null,8,["onClick"]),[[f]])]),_:1})]),_:1}),(0,V.bF)(c,{class:"bg-white text-black",elevated:""},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Ir,[(0,V.Lk)("div",Pr,[(0,V.bF)(r,{label:"PDF 다운로드",size:"lg",class:"full-width",color:"primary",loading:i.printing,onClick:o.exportAllWaybillsToPDF},null,8,["loading","onClick"])]),(0,V.Lk)("div",Ar,[(0,V.bF)(r,{label:"로컬 에이전트 즉시 출력",size:"lg",class:"full-width",color:"secondary",loading:i.agentPrinting,onClick:o.printWaybillsViaAgent},null,8,["loading","onClick"])])])]),_:1}),(0,V.bF)(h,null,{default:(0,V.k6)(()=>[(0,V.bF)(g,{padding:""},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Tr,[(0,V.Lk)("div",Nr,[((0,V.uX)(),(0,V.CE)("div",{class:"pdfArea",ref:"pdfArea",key:i.pdfKey},[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(l.parcelList,(e,t)=>((0,V.uX)(),(0,V.Wv)(p,{key:t,class:(0,R.C4)(["waybill",{"none-background":l.hideBackground||i.printing||i.agentPrinting}]),cellpadding:"0",cellmargin:"0"},{default:(0,V.k6)(()=>[(0,V.bF)(m,null,{default:(0,V.k6)(()=>[(0,V.Lk)("div",Er,[(0,V.Lk)("div",Dr,[(0,V.Lk)("ul",Or,[(0,V.Lk)("li",Vr,[a[1]||(a[1]=(0,V.eW)(" 접수국 : 국제우편물류센터 ")),(0,V.Lk)("div",Rr,[(0,V.Lk)("div",{ref_for:!0,ref:"qrContainer"},null,512)])])]),(0,V.Lk)("ul",Mr,[(0,V.Lk)("li",null,"주문인 : "+(0,R.v_)(e.shipperName),1),(0,V.Lk)("li",null,"고객 주문처 : "+(0,R.v_)(e.shippingAgencyName),1),a[2]||(a[2]=(0,V.Lk)("li",null,"문의처 : 02-2665-4008",-1)),(0,V.Lk)("li",null,"주문번호 : "+(0,R.v_)(e.orderId),1),(0,V.Lk)("li",null,"BOX : "+(0,R.v_)(e.boxQty)+" 중량 : "+(0,R.v_)(e.weight)+" CM 요금 : 계약",1)]),(0,V.Lk)("ul",$r,[(0,V.Lk)("li",Ur,[(0,V.bF)(u,{value:e.receiverZipcode,lineColor:"#000",width:1.4,height:40,elementTag:"img"},null,8,["value"])])]),(0,V.Lk)("ul",Wr,[(0,V.bo)((0,V.Lk)("li",null," 배송메시지 : "+(0,R.v_)(e.orderMemo),513),[[I.aG,""!==e.orderMemo&&null!==e.orderMemo]]),(0,V.bo)((0,V.Lk)("li",null," 아이템 목록: "+(0,R.v_)(e.itemNames),513),[[I.aG,""!==e.itemNames&&null!==e.itemNames]])])]),(0,V.Lk)("div",Br,[(0,V.Lk)("ul",zr,[(0,V.Lk)("li",null,[(0,V.Lk)("div",Xr,[(0,V.Lk)("div",Kr,(0,R.v_)(o.getAddrResult(e.receiverZipcode).bunryuCode),1),(0,V.Lk)("div",Qr,(0,R.v_)(o.getAddrResult(e.receiverZipcode).bagName),1),(0,V.Lk)("div",Gr,(0,R.v_)(o.getAddrResult(e.receiverZipcode).destinationCode),1),(0,V.Lk)("div",Hr,(0,R.v_)(o.getAddrResult(e.receiverZipcode).destinationName),1),(0,V.Lk)("div",jr,[(0,V.eW)((0,R.v_)(o.getAddrResult(e.receiverZipcode).detailCode1)+" "+(0,R.v_)(o.getAddrResult(e.receiverZipcode).detailCode2),1),a[3]||(a[3]=(0,V.Lk)("br",null,null,-1)),(0,V.eW)((0,R.v_)(o.getAddrResult(e.receiverZipcode).detailCode3),1)])])])]),(0,V.Lk)("ul",Yr,[(0,V.Lk)("li",null,[(0,V.Lk)("div",Zr,[(0,V.Lk)("div",Jr,(0,R.v_)(e.partnerName||e.shipperName),1),(0,V.Lk)("div",en,(0,R.v_)(this.$formatPhoneNumber(e.shipperMobile,"mobile")),1)])]),(0,V.Lk)("li",null,(0,R.v_)(e.shipperAddress),1)]),(0,V.Lk)("ul",tn,[(0,V.Lk)("li",null,(0,R.v_)(e.receiverAddress1+" "+e.receiverAddress2),1),(0,V.Lk)("li",null,(0,R.v_)(e.receiverName),1),(0,V.Lk)("li",null,(0,R.v_)(this.$formatPhoneNumber(e.receiverMobile,"mobile")),1)]),(0,V.Lk)("ul",an,[(0,V.Lk)("li",ln,[(0,V.bF)(u,{value:e.hblNo,lineColor:"#000",width:1.6,height:45,elementTag:"img"},null,8,["value"])])])]),(0,V.Lk)("div",on,[(0,V.Lk)("div",sn,[(0,V.bF)(u,{value:e.hblNo,format:"CODE128",width:2,height:40,"line-color":"#000",background:"#fff"},null,8,["value"]),(0,V.Lk)("div",rn,[(0,V.Lk)("div",nn,(0,R.v_)(e.orderId||"오더번호 없음"),1)]),(0,V.Lk)("div",dn,[(0,V.Lk)("div",cn,(0,R.v_)(e.receiverName),1)]),(0,V.Lk)("div",un,[(0,V.Lk)("div",mn,(0,R.v_)(i.timestamp),1)])])])])]),_:2},1024)]),_:2},1032,["class"]))),128))]))])])]),_:1})]),_:1})]),_:1})}],["__scopeId","data-v-99370c6e"]]);let Ln={barcode:"",itemName:"",brand:"",itemQty:1,unit:"",currency:"USD",unitPrice:0,weight:0,url:"",hsCode:""},_n={name:"ModalParcelInfoForm",props:{selectedParcel:Array,user:String},components:{ModalCustomerSearch:t,PdfPreviewer:k},computed:{isAdmin(){return 90<=Number(this.authLevel)},packingStatusChanged(){return this.packingStatusDraft!==this.originalPackingStatus},packingStatusLabel(){var e=String(this.parcelInfo?.packingStatus||"").trim().toUpperCase();return"COMPLETED"===e?"포장완료":"IN_PROGRESS"===e?"포장중":"READY"===e?"대기":"-"},packingStatusColor(){var e=String(this.parcelInfo?.packingStatus||"").trim().toUpperCase();return"COMPLETED"===e?"positive":"IN_PROGRESS"===e?"warning":"READY"===e?"primary":"grey-6"},orderStatusLabel(){return this.parcelInfo?.statusName?this.parcelInfo.statusName:(this.$store.getters.getOrderStatusCodeList||[]).find(e=>String(e.value)===String(this.parcelInfo?.status))?.label||this.parcelInfo?.status||"-"},orderStatusColor(){return"primary"},consoleStatusLabel(){return this.parcelInfo?.consoleId||"LINKED"===this.parcelInfo?.tempConsolStatus?"연결됨":"READY"===this.parcelInfo?.tempConsolStatus?"연결 대기":"미연결"},consoleStatusColor(){return this.parcelInfo?.consoleId||"LINKED"===this.parcelInfo?.tempConsolStatus?"positive":"READY"===this.parcelInfo?.tempConsolStatus?"warning":"grey-6"},itemTotalQty(){return this.itemList.reduce((e,t)=>e+Number(t.itemQty||0),0)},packingOwnerLabel(){var e=String(this.parcelInfo?.packingOwner||"PARTNER").trim().toUpperCase();return"AONE"===e?"AONE":"PARTNER"===e?"파트너":"-"},itemAmountsByCurrency(){var e=this.itemList.reduce((e,t)=>{var a=String(t.currency||"-").trim().toUpperCase()||"-",l=Number(t.itemQty||0),t=Number(t.unitPrice||0),l=Number.isFinite(l*t)?l*t:0;return e[a]=(e[a]||0)+l,e},{});return Object.entries(e)},itemAmountSummary(){if(0===this.itemAmountsByCurrency.length)return"-";let a=new Intl.NumberFormat("ko-KR",{maximumFractionDigits:2});return this.itemAmountsByCurrency.map(([e,t])=>e+" "+a.format(t)).join(" · ")},itemAmountWarning(){return 1===this.itemAmountsByCurrency.length&&"USD"===this.itemAmountsByCurrency[0][0]&&150{if(Number(e.value)<3)return e})},canUseFulfillmentBarcode(){var e=this.$store.getters.getLocalSession||{};return 90<=Number(e?.authLevel)||90<=Number(this.authLevel)||this.toBool(e?.has_fulfillment_contract)},itemColumns(){return this.canUseFulfillmentBarcode?this.columns:this.columns.filter(e=>"barcode"!==e.name)}},emits:["close-modal","refresh-list"],data(){return{authLevel:"00",parcelInfo:this.selectedParcel[0],originalStatus:this.selectedParcel[0].status,originalPackingStatus:String(this.selectedParcel[0].packingStatus||"").trim().toUpperCase(),packingStatusDraft:String(this.selectedParcel[0].packingStatus||"").trim().toUpperCase(),packingStatusUpdating:!1,packingStatusOptions:[{label:"포장 대기",value:"READY"},{label:"포장중",value:"IN_PROGRESS"},{label:"포장 완료",value:"COMPLETED"}],parcelIds:[],customerModal:!1,pdfModalShow:!1,columns:[{name:"barcode",label:"바코드",align:"center",field:"barcode"},{name:"itemName",label:"상품명",align:"center",field:"itemName"},{name:"brand",label:"브랜드",align:"center",field:"brand"},{name:"itemQty",label:"수량",align:"center",field:"itemQty"},{name:"unit",label:"단위",align:"center",field:"unit"},{name:"currency",label:"통화",align:"center",field:"currency"},{name:"unitPrice",label:"단가",align:"center",field:"unitPrice"},{name:"weight",label:"중량",align:"center",field:"weight"},{name:"hsCode",label:"HS CODE",align:"center",field:"hsCode",format:e=>e&&6e.value===this.packingStatusDraft),t=this.packingStatusOptions.find(e=>e.value===this.originalPackingStatus),a="READY"===this.packingStatusDraft?" 완료시각, 작업자, 출력 상태가 초기화될 수 있습니다.":"",this.$q.dialog({title:"포장상태 변경",message:`${t?.label||this.originalPackingStatus||"-"} → ${e?.label||this.packingStatusDraft}.${a} 변경 사유를 입력해 주세요.`,prompt:{model:"",type:"textarea",maxlength:255,counter:!0,isValid:e=>{e=String(e||"").trim().length;return 0this.changePackingStatus(e)))},async changePackingStatus(e){this.packingStatusUpdating=!0;e={method:"PATCH",url:`/api/parcel/${encodeURIComponent(this.parcelInfo.id)}/packing-status`,data:{targetStatus:this.packingStatusDraft,reason:String(e||"").trim()},name:"[ Axios / ParcelInfoForm / 관리자 포장상태 변경 ]"};try{var t=(await this.$http(e)).data?.data?.packingStatus||this.packingStatusDraft;this.parcelInfo.packingStatus=t,this.parcelInfo.tempConsolStatus="COMPLETED"===t?this.parcelInfo.consoleId||"LINKED"===this.parcelInfo.tempConsolStatus?"LINKED":"READY":"NONE",this.originalPackingStatus=t,this.packingStatusDraft=t,this.$emit("refresh-list"),this.$q.notify({type:"positive",message:"포장상태가 변경되었습니다."})}catch(e){this.packingStatusDraft=this.originalPackingStatus,this.$log.debug(e),this.$q.notify({type:"negative",message:e.response?.data?.message||"포장상태 변경에 실패했습니다."})}finally{this.packingStatusUpdating=!1}},toBool(e){return"boolean"==typeof e?e:"number"==typeof e?1===e:(e=String(e??"").trim().toLowerCase(),["1","true","y","yes"].includes(e))},hasPrintableWeight(e){e=Number(e);return Number.isFinite(e)&&0{this.itemList=e.data}).catch(e=>{this.$log.debug(e),alert("Order 내 상품목록 조회에 실패했습니다")})},async getOrderHistory(){var e={orderId:this.parcelInfo.id};await this.$http({method:"POST",url:"/api/parcel/getOrderHistory",data:e,name:"[ Axios / ParcelInfoForm / Order 상태변경 이력조회 ]"}).then(e=>{this.$log.debug("Order 상태변경 이력조회 결과 = ",e.data),this.historyList=e.data}).catch(e=>{this.$log.debug(e),alert("Order 상태변경 이력조회에 실패했습니다")})},async onSubmit(){var e;this.$log.debug("Order update exectued"),await this.$refs.orderForm.validate()?(e=this.validateExtras())?this.$q.notify({type:"negative",message:e}):this.updateOrderConfirm():this.$q.notify({type:"negative",message:"필수 항목을 확인해 주세요."})},validateExtras(){if(!this.itemList||0===this.itemList.length)return"상품은 최소 1개 이상이어야 합니다.";for(var[e,t]of this.itemList.entries()){if(!t.itemName)return e+1+"번째 상품의 상품명을 입력해 주세요.";if(!t.itemQty||Number(t.itemQty)<=0)return e+1+"번째 상품의 수량은 1 이상이어야 합니다.";if(null==t.unitPrice||""===t.unitPrice||Number.isNaN(Number(t.unitPrice)))return e+1+"번째 상품의 금액을 입력해 주세요."}return"02"===this.parcelInfo.status&&this.parcelInfo.orderId,null},async updateOrderConfirm(){"02"!==this.parcelInfo.status||""!==this.parcelInfo.orderId&&null!==this.parcelInfo.orderId?this.updateOrder():this.$q.dialog({title:"확인",message:"Order number가 없습니다.\n직접 입력 하시겠습니까?",ok:{label:"직접입력",color:"primary"},cancel:{label:"자동채번",color:"secondary"},persistent:!0}).onOk(()=>!1).onCancel(async()=>{this.updateOrder(),this.$emit("close-modal")})},async updateOrder(){var e={id:this.parcelInfo.id,partnerId:this.parcelInfo.partnerId,freightMethod:this.parcelInfo.freightMethod,orderId:this.parcelInfo.orderId,status:this.parcelInfo.status,courierCode:this.parcelInfo.courierCode,courierNum:this.parcelInfo.courierNum,shipperName:this.parcelInfo.shipperName,shipperMobile:this.parcelInfo.shipperMobile?.replaceAll(/-/g,"")||null,shipperAddress:this.parcelInfo.shipperAddress,receiverName:this.parcelInfo.receiverName,receiverTel:this.parcelInfo.receiverTel,receiverMobile:this.parcelInfo.receiverMobile?.replaceAll(/-/g,"")||null,receiverAddress1:this.parcelInfo.receiverAddress1,receiverAddress2:this.parcelInfo.receiverAddress2,pcc:this.parcelInfo.pcc,orderMemo:this.parcelInfo.orderMemo,receiverType:this.parcelInfo.receiverType,needClearance:this.parcelInfo.needClearance,customsCategory:this.parcelInfo.customsCategory,siteUrl:this.parcelInfo.siteUrl,width:this.parcelInfo.width,length:this.parcelInfo.length,height:this.parcelInfo.height,weight:this.parcelInfo.weight,volumeWeight:this.parcelInfo.volumeWeight,boxQty:this.parcelInfo.boxQty,ecommerceType:this.parcelInfo.ecommerceType,overSeasSellerCode:this.parcelInfo.overSeasSellerCode,overSeasSellerName:this.parcelInfo.overSeasSellerName,shippingAgencyCode:this.parcelInfo.shippingAgencyCode,shippingAgencyName:this.parcelInfo.shippingAgencyName,sellerAgencyCode:this.parcelInfo.sellerAgencyCode,sellerAgencyName:this.parcelInfo.sellerAgencyName,customsRequest:this.parcelInfo.customsRequest,deliveryRequest:this.parcelInfo.deliveryRequest,updateHistoryFlag:this.parcelInfo.status!==this.originalStatus?"Y":"N",itemList:this.itemList};await this.$http({method:"POST",url:"/api/parcel/updateOrder",data:e,name:"[ Axios / ParcelInfoForm / 상품정보수정 ]"}).then(()=>{this.$emit("refresh-list"),this.$q.notify({type:"info",message:"상품정보가 수정되었습니다."})}).catch(e=>{this.$log.debug(e),this.$q.notify({type:"negative",message:"수정에 실패하였습니다."})})},closeModalThis(){this.$emit("close-modal")},changeCustomer(e){this.$log.debug("[ Parcel info form / 고객변경 ] = ",e),this.parcelInfo.customerName=e.name,this.parcelInfo.customerNum=e.id},customerSearch(){this.customerModal=!0},closeModalSearch(){this.customerModal=!1},calculateVolumeWeight(e){var{length:e,width:t,height:a}=e;return Number((e*t*a/6e3).toFixed(3))},removeRow(e){1e*t);this.$log.debug("flightWeight = "+e/6e3),this.$log.debug("oceanWeight = "+e/1e6);let a=100;function t(e,t){return Math.round(e/t*a)/a}"1"==this.parcelInfo.freightMethod?this.parcelInfo.volumeWeight=t(e,1e6):this.parcelInfo.volumeWeight=t(e,6e3)},async askDelete(){this.$q.dialog({title:"확인",message:"삭제하시겠습니까?
삭제 이후에는 관리자에게 문의하셔야 합니다.",cancel:!0,persistent:!0,html:!0}).onOk(()=>{var e={id:[this.parcelInfo.id]};this.delete(e,"1")})},async delete(e,t){e=Object.assign(e,{isDel:t});await this.$http({method:"POST",url:"/api/parcel/delete",data:e,name:"[ Axios / ParcelList / 배송상품 삭제 실행 ]"}).then(()=>{this.$log.debug("삭제했습니다."),this.$emit("reload-parcel-list"),this.$q.notify({type:"positive",message:"0"==this.isDel?"삭제되었습니다":"복구되었습니다",position:"top",timeout:3e3})}).catch(e=>{this.$log.debug(e),alert("불러오기 실패!")})},async pdfModalControl(){await this.$refs.orderForm.validate()?this.hasPrintableWeight(this.parcelInfo.weight)?this.pdfModalShow=!this.pdfModalShow:this.$q.notify({type:"negative",message:"실제 무게가 입력되지 않아 운송장을 출력할 수 없습니다. 오더 상세에서 실제 무게를 입력한 뒤 다시 출력해 주세요.",position:"top",timeout:5e3}):this.$q.notify({type:"negative",message:"필수 항목을 확인해 주세요."})},init(){this.authLevel=this.$getAuthLevel(),this.$getCourierList(),this.$getCodeList("CIT"),this.$getFreightList(),this.$getCodeList("ORDSTT"),this.$getCodeList("BIZTYP"),this.getItemList(),this.getOrderHistory()}},mounted(){this.init()}};v(28263);f=(0,e.A)(_n,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-toolbar-title"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("q-toolbar"),d=(0,V.g2)("q-header"),c=(0,V.g2)("q-badge"),u=(0,V.g2)("q-icon"),m=(0,V.g2)("q-select"),p=(0,V.g2)("q-input"),g=(0,V.g2)("q-td"),h=(0,V.g2)("q-table"),b=(0,V.g2)("q-page"),f=(0,V.g2)("q-page-container"),v=(0,V.g2)("q-space"),k=(0,V.g2)("q-footer"),y=(0,V.g2)("q-form");var L=(0,V.g2)("q-layout");let _=(0,V.g2)("ModalCustomerSearch");var w=(0,V.g2)("q-dialog");let x=(0,V.g2)("PdfPreviewer"),C=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.bF)(L,{container:"",class:"lg-width",view:"lHh lpr lFf"},{default:(0,V.k6)(()=>[(0,V.bF)(d,{class:"bg-primary",elevated:""},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[51]||(t[51]=[(0,V.eW)(" 오더등록정보 ")])),_:1,__:[51]}),(0,V.bo)((0,V.bF)(r,{flat:"",round:"",dense:"",icon:"close",onClick:o.closeModalThis},null,8,["onClick"]),[[C]])]),_:1})]),_:1}),(0,V.bF)(y,{ref:"orderForm"},{default:(0,V.k6)(()=>[(0,V.bF)(f,null,{default:(0,V.k6)(()=>[(0,V.bF)(b,{padding:""},{default:(0,V.k6)(()=>[(0,V.Lk)("section",qs,[(0,V.Lk)("div",Is,[t[52]||(t[52]=(0,V.Lk)("div",{id:"order-summary-title",class:"text-h6 text-weight-bold"},"오더 운영 요약",-1)),(0,V.Lk)("div",Ps," Order No. "+(0,R.v_)(i.parcelInfo.orderId||"-")+" · H.B/L "+(0,R.v_)(i.parcelInfo.hblNo||"-"),1)]),(0,V.Lk)("div",As,[(0,V.Lk)("div",Ts,[t[53]||(t[53]=(0,V.Lk)("span",null,"진행",-1)),(0,V.bF)(c,{color:o.orderStatusColor,label:o.orderStatusLabel},null,8,["color","label"])]),(0,V.Lk)("div",Ns,[t[54]||(t[54]=(0,V.Lk)("span",null,"포장",-1)),(0,V.bF)(c,{color:o.packingStatusColor,label:o.packingStatusLabel},null,8,["color","label"])]),(0,V.Lk)("div",Es,[t[55]||(t[55]=(0,V.Lk)("span",null,"콘솔",-1)),(0,V.bF)(c,{color:o.consoleStatusColor,label:o.consoleStatusLabel},null,8,["color","label"])])]),(0,V.Lk)("div",Ds,[(0,V.Lk)("span",null,[(0,V.bF)(u,{name:"person"}),(0,V.eW)(" "+(0,R.v_)(i.parcelInfo.customerName||"-"),1)]),(0,V.Lk)("span",null,[(0,V.bF)(u,{name:"business"}),(0,V.eW)(" "+(0,R.v_)(i.parcelInfo.partnerName||"-"),1)]),(0,V.Lk)("span",null,[(0,V.bF)(u,{name:"event"}),(0,V.eW)(" "+(0,R.v_)(i.parcelInfo.modiDate||i.parcelInfo.regDate||"-"),1)]),(0,V.Lk)("span",null,[(0,V.bF)(u,{name:"tag"}),(0,V.eW)(" ID "+(0,R.v_)(i.parcelInfo.id),1)])])]),(0,V.Lk)("nav",Os,[(0,V.bF)(r,{flat:"",dense:"","no-caps":"",label:"주문·작업",onClick:t[0]||(t[0]=e=>o.scrollToSection("order-operation"))}),(0,V.bF)(r,{flat:"",dense:"","no-caps":"",label:"화물·박스",onClick:t[1]||(t[1]=e=>o.scrollToSection("cargo-info"))}),(0,V.bF)(r,{flat:"",dense:"","no-caps":"",label:"보내는 사람",onClick:t[2]||(t[2]=e=>o.scrollToSection("shipper-info"))}),(0,V.bF)(r,{flat:"",dense:"","no-caps":"",label:"받는 사람",onClick:t[3]||(t[3]=e=>o.scrollToSection("receiver-info"))}),(0,V.bF)(r,{flat:"",dense:"","no-caps":"",label:"상품",onClick:t[4]||(t[4]=e=>o.scrollToSection("item-info"))}),(0,V.bF)(r,{flat:"",dense:"","no-caps":"",label:"배송·요청",onClick:t[5]||(t[5]=e=>o.scrollToSection("delivery-info"))}),(0,V.bF)(r,{flat:"",dense:"","no-caps":"",label:"변경 이력",onClick:t[6]||(t[6]=e=>o.scrollToSection("history-info"))})]),(0,V.Lk)("section",Vs,[t[57]||(t[57]=(0,V.Lk)("div",{class:"section-heading"},[(0,V.Lk)("div",null,[(0,V.Lk)("div",{class:"text-subtitle1 text-weight-bold"},"주문 및 작업 상태"),(0,V.Lk)("div",{class:"text-caption text-grey-7"},"주문 진행 상태와 주요 식별 정보를 확인합니다.")])],-1)),(0,V.Lk)("div",Rs,[(0,V.Lk)("div",Ms,["80"===i.authLevel?((0,V.uX)(),(0,V.Wv)(m,{key:0,modelValue:i.parcelInfo.status,"onUpdate:modelValue":t[7]||(t[7]=e=>i.parcelInfo.status=e),options:o.orderStatusCodeListForPartner,behavior:"menu",label:"진행상태","emit-value":"","map-options":"",disable:2<=Number(i.originalStatus)},null,8,["modelValue","options","disable"])):(0,V.Q3)("",!0),80i.parcelInfo.status=e),options:this.$store.getters.getOrderStatusCodeList,behavior:"menu",label:"진행상태","emit-value":"","map-options":""},null,8,["modelValue","options"])):(0,V.Q3)("",!0),(0,V.bF)(p,{modelValue:i.parcelInfo.mblNo,"onUpdate:modelValue":t[9]||(t[9]=e=>i.parcelInfo.mblNo=e),label:"M.B/L번호",disable:""},null,8,["modelValue"]),(0,V.bF)(p,{"model-value":o.packingOwnerLabel,label:"포장주체",disable:""},null,8,["model-value"]),(0,V.bF)(m,{modelValue:i.parcelInfo.freightMethod,"onUpdate:modelValue":t[10]||(t[10]=e=>i.parcelInfo.freightMethod=e),options:this.$store.getters.getFreightMethodList,behavior:"menu",label:"운송수단","emit-value":"","map-options":"",disable:""},null,8,["modelValue","options"])]),(0,V.Lk)("div",$s,[(0,V.bF)(p,{modelValue:i.parcelInfo.orderId,"onUpdate:modelValue":t[11]||(t[11]=e=>i.parcelInfo.orderId=e),label:"Order No.",disable:!o.editable},null,8,["modelValue","disable"]),(0,V.bF)(p,{modelValue:i.parcelInfo.round,"onUpdate:modelValue":t[12]||(t[12]=e=>i.parcelInfo.round=e),label:"회차",disable:""},null,8,["modelValue"]),(0,V.bF)(p,{modelValue:i.parcelInfo.hblNo,"onUpdate:modelValue":t[13]||(t[13]=e=>i.parcelInfo.hblNo=e),label:"H.B/L번호",disable:""},null,8,["modelValue"])])]),(0,V.Lk)("div",Us,[(0,V.Lk)("div",Ws,[(0,V.bF)(p,{modelValue:i.parcelInfo.regName,"onUpdate:modelValue":t[14]||(t[14]=e=>i.parcelInfo.regName=e),label:"등록자명",disable:""},null,8,["modelValue"]),(0,V.bF)(p,{modelValue:i.parcelInfo.partnerName,"onUpdate:modelValue":t[15]||(t[15]=e=>i.parcelInfo.partnerName=e),label:"파트너명",disable:""},null,8,["modelValue"]),(0,V.bF)(p,{modelValue:i.parcelInfo.customerName,"onUpdate:modelValue":t[16]||(t[16]=e=>i.parcelInfo.customerName=e),label:"고객명",disable:""},null,8,["modelValue"]),(0,V.bo)((0,V.bF)(r,{label:"고객조회",onClick:o.customerSearch,color:"primary"},null,8,["onClick"]),[[I.aG,!o.editable]])])]),(0,V.Lk)("div",Bs,[(0,V.Lk)("div",zs,[t[56]||(t[56]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"현재 포장상태",-1)),(0,V.Lk)("div",Xs,[(0,V.bF)(c,{color:o.packingStatusColor,"text-color":"white",class:"status-badge"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(o.packingStatusLabel),1)]),_:1},8,["color"]),(0,V.Lk)("span",Ks,"담당: "+(0,R.v_)(o.packingOwnerLabel),1)])]),o.isAdmin?((0,V.uX)(),(0,V.CE)("div",Qs,[(0,V.bF)(m,{modelValue:i.packingStatusDraft,"onUpdate:modelValue":t[17]||(t[17]=e=>i.packingStatusDraft=e),options:i.packingStatusOptions,label:"변경할 상태",outlined:"",dense:"","emit-value":"","map-options":"",behavior:"menu",disable:i.packingStatusUpdating},null,8,["modelValue","options","disable"]),(0,V.bF)(r,{label:"포장상태 변경",color:"primary",unelevated:"",loading:i.packingStatusUpdating,disable:!o.packingStatusChanged||i.packingStatusUpdating,onClick:o.confirmPackingStatusChange},null,8,["loading","disable","onClick"])])):((0,V.uX)(),(0,V.CE)("div",Gs," 포장상태는 관리자만 변경할 수 있습니다. "))])]),(0,V.Lk)("section",Hs,[t[64]||(t[64]=(0,V.Lk)("div",{class:"section-heading"},[(0,V.Lk)("div",null,[(0,V.Lk)("div",{class:"text-subtitle1 text-weight-bold"},"화물 및 박스 정보"),(0,V.Lk)("div",{class:"text-caption text-grey-7"},"크기, 중량과 전자상거래 부가정보를 관리합니다.")])],-1)),t[65]||(t[65]=(0,V.Lk)("div",{class:"q-pa-md"},[(0,V.Lk)("h6",{class:"q-mb-none q-mt-sm"},"박스 크기")],-1)),(0,V.Lk)("div",js,[(0,V.Lk)("div",Ys,[(0,V.bF)(p,{"bottom-slots":"",modelValue:i.parcelInfo.width,"onUpdate:modelValue":t[18]||(t[18]=e=>i.parcelInfo.width=e),label:"가로 : ",disable:!o.editable},{append:(0,V.k6)(()=>t[58]||(t[58]=[(0,V.eW)(" cm ")])),_:1},8,["modelValue","disable"]),(0,V.bF)(p,{"bottom-slots":"",modelValue:i.parcelInfo.length,"onUpdate:modelValue":t[19]||(t[19]=e=>i.parcelInfo.length=e),label:"세로 : ",disable:!o.editable},{append:(0,V.k6)(()=>t[59]||(t[59]=[(0,V.eW)(" cm ")])),_:1},8,["modelValue","disable"]),(0,V.bF)(p,{"bottom-slots":"",modelValue:i.parcelInfo.height,"onUpdate:modelValue":t[20]||(t[20]=e=>i.parcelInfo.height=e),label:"높이 : ",disable:!o.editable},{append:(0,V.k6)(()=>t[60]||(t[60]=[(0,V.eW)(" cm ")])),_:1},8,["modelValue","disable"])]),(0,V.Lk)("div",Zs,[(0,V.bF)(p,{modelValue:i.parcelInfo.volumeWeight,"onUpdate:modelValue":t[21]||(t[21]=e=>i.parcelInfo.volumeWeight=e),"bottom-slots":"",label:"부피 무게 : ",readonly:"",disable:!o.editable},{append:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(this.orderVolumeWeight)+" "+(0,R.v_)("1"==i.parcelInfo.freightMethod?"CBM":"kg"),1)]),_:1},8,["modelValue","disable"]),(0,V.bF)(p,{modelValue:i.parcelInfo.weight,"onUpdate:modelValue":t[22]||(t[22]=e=>i.parcelInfo.weight=e),type:"number","label-slot":"","lazy-rules":"",rules:[e=>null==e||""===e||0<=Number(e)||"실제 무게는 0 이상이어야 합니다."],disable:!o.editable},{label:(0,V.k6)(()=>t[61]||(t[61]=[(0,V.Lk)("span",{class:"custom-label"}," 실제 무게 ",-1)])),append:(0,V.k6)(()=>t[62]||(t[62]=[(0,V.eW)(" kg ")])),_:1},8,["modelValue","rules","disable"]),(0,V.bF)(p,{modelValue:i.parcelInfo.boxQty,"onUpdate:modelValue":t[23]||(t[23]=e=>i.parcelInfo.boxQty=e),label:"박스수량 : ",type:"number",min:"1",disable:!o.editable},null,8,["modelValue","disable"])]),t[63]||(t[63]=(0,V.Lk)("p",null,"부피무게는 가로x세로x높이x(항공 또는 해상)의 값에 따라 자동으로 계산됩니다.",-1))]),t[66]||(t[66]=(0,V.Lk)("div",{class:"q-pa-md"},[(0,V.Lk)("h6",{class:"q-mb-none q-mt-sm"},"유형별 추가정보")],-1)),(0,V.Lk)("div",Js,[(0,V.Lk)("div",er,[(0,V.bF)(m,{modelValue:i.parcelInfo.ecommerceType,"onUpdate:modelValue":t[24]||(t[24]=e=>i.parcelInfo.ecommerceType=e),options:this.$store.getters.getBizTypeCodeList,behavior:"menu","emit-value":"","map-options":"",label:"전자상거래 유형 코드",type:"text",disable:!o.editable},null,8,["modelValue","options","disable"]),(0,V.bF)(p,{modelValue:i.parcelInfo.overSeasSellerCode,"onUpdate:modelValue":t[25]||(t[25]=e=>i.parcelInfo.overSeasSellerCode=e),label:"해외판매자 부호",type:"text",disable:!o.editable},null,8,["modelValue","disable"]),(0,V.bF)(p,{modelValue:i.parcelInfo.overSeasSellerName,"onUpdate:modelValue":t[26]||(t[26]=e=>i.parcelInfo.overSeasSellerName=e),label:"해외판매자 상호",type:"text",disable:!o.editable},null,8,["modelValue","disable"]),(0,V.bF)(p,{modelValue:i.parcelInfo.shippingAgencyCode,"onUpdate:modelValue":t[27]||(t[27]=e=>i.parcelInfo.shippingAgencyCode=e),label:"구매/배송대행업체 부호",type:"text",disable:!o.editable},null,8,["modelValue","disable"]),(0,V.bF)(p,{modelValue:i.parcelInfo.shippingAgencyName,"onUpdate:modelValue":t[28]||(t[28]=e=>i.parcelInfo.shippingAgencyName=e),label:"구매/배송대행업체 상호",type:"text",disable:!o.editable},null,8,["modelValue","disable"]),(0,V.bF)(p,{modelValue:i.parcelInfo.sellerAgencyCode,"onUpdate:modelValue":t[29]||(t[29]=e=>i.parcelInfo.sellerAgencyCode=e),label:"판매대행업체 부호",type:"text",disable:!o.editable},null,8,["modelValue","disable"]),(0,V.bF)(p,{modelValue:i.parcelInfo.sellerAgencyName,"onUpdate:modelValue":t[30]||(t[30]=e=>i.parcelInfo.sellerAgencyName=e),label:"판매대행업체 상호",type:"text",disable:!o.editable},null,8,["modelValue","disable"])])]),(0,V.Lk)("div",tr,[(0,V.Lk)("div",ar,[(0,V.bF)(p,{modelValue:i.parcelInfo.siteUrl,"onUpdate:modelValue":t[31]||(t[31]=e=>i.parcelInfo.siteUrl=e),label:"홈페이지",type:"text",disable:!o.editable},null,8,["modelValue","disable"])])])]),(0,V.Lk)("section",lr,[t[67]||(t[67]=(0,V.Lk)("div",{class:"section-heading"},[(0,V.Lk)("div",null,[(0,V.Lk)("div",{class:"text-subtitle1 text-weight-bold"},"보내는 사람 정보"),(0,V.Lk)("div",{class:"text-caption text-grey-7"},"발송자 연락처와 출발지 주소를 확인합니다.")])],-1)),(0,V.Lk)("div",ir,[(0,V.Lk)("div",or,[(0,V.bF)(p,{modelValue:i.parcelInfo.shipperName,"onUpdate:modelValue":t[32]||(t[32]=e=>i.parcelInfo.shipperName=e),label:"보내는 사람명",disable:!o.editable},null,8,["modelValue","disable"]),(0,V.bF)(p,{modelValue:i.parcelInfo.shipperMobile,"onUpdate:modelValue":t[33]||(t[33]=e=>i.parcelInfo.shipperMobile=e),label:"보내는 사람 휴대폰번호",mask:"###-####-####",disable:!o.editable},null,8,["modelValue","disable"])]),(0,V.Lk)("div",sr,[(0,V.bF)(p,{modelValue:i.parcelInfo.shipperAddress,"onUpdate:modelValue":t[34]||(t[34]=e=>i.parcelInfo.shipperAddress=e),label:"보내는 사람주소",filled:"",type:"textarea",rows:"2",disable:!o.editable},null,8,["modelValue","disable"])]),"AONEPI03"===i.parcelInfo.pickUpLocation?((0,V.uX)(),(0,V.CE)("div",rr,[(0,V.bF)(p,{modelValue:i.parcelInfo.deliveryAddress,"onUpdate:modelValue":t[35]||(t[35]=e=>i.parcelInfo.deliveryAddress=e),label:"배송요청주소",filled:"",type:"textarea",rows:"2",disable:!o.editable},null,8,["modelValue","disable"])])):(0,V.Q3)("",!0)])]),(0,V.Lk)("section",nr,[t[68]||(t[68]=(0,V.Lk)("div",{class:"section-heading"},[(0,V.Lk)("div",null,[(0,V.Lk)("div",{class:"text-subtitle1 text-weight-bold"},"받는 사람 정보"),(0,V.Lk)("div",{class:"text-caption text-grey-7"},"통관번호, 수취인 연락처와 배송지 정보를 관리합니다.")])],-1)),(0,V.Lk)("div",dr,[(0,V.Lk)("div",cr,[(0,V.bF)(p,{modelValue:i.parcelInfo.pcc,"onUpdate:modelValue":t[36]||(t[36]=e=>i.parcelInfo.pcc=e),"label-slot":"","lazy-rules":"",rules:[e=>!!e||"* 표시 항목은 필수 입력입니다."],disable:!o.editable},{label:(0,V.k6)(()=>[(0,V.Lk)("span",{class:(0,R.C4)(["custom-label",{required:!i.parcelInfo.pcc}])}," 개인고유통관번호 * ",2)]),_:1},8,["modelValue","rules","disable"]),(0,V.bF)(p,{modelValue:i.parcelInfo.receiverName,"onUpdate:modelValue":t[37]||(t[37]=e=>i.parcelInfo.receiverName=e),"label-slot":"","lazy-rules":"",rules:[e=>!!e||"* 표시 항목은 필수 입력입니다."],disable:!o.editable},{label:(0,V.k6)(()=>[(0,V.Lk)("span",{class:(0,R.C4)(["custom-label",{required:!i.parcelInfo.receiverName}])}," 받는 사람명 * ",2)]),_:1},8,["modelValue","rules","disable"]),(0,V.bF)(p,{modelValue:i.parcelInfo.receiverMobile,"onUpdate:modelValue":t[38]||(t[38]=e=>i.parcelInfo.receiverMobile=e),"label-slot":"",mask:"###-####-####","lazy-rules":"",rules:[e=>!!e||"* 표시 항목은 필수 입력입니다."],disable:!o.editable},{label:(0,V.k6)(()=>[(0,V.Lk)("span",{class:(0,R.C4)(["custom-label",{required:!i.parcelInfo.receiverMobile}])}," 받는 사람 휴대폰번호 * ",2)]),_:1},8,["modelValue","rules","disable"]),(0,V.bF)(p,{modelValue:i.parcelInfo.receiverZipcode,"onUpdate:modelValue":t[39]||(t[39]=e=>i.parcelInfo.receiverZipcode=e),"label-slot":"","lazy-rules":"",rules:[e=>!!e||"* 표시 항목은 필수 입력입니다."],disable:!o.editable},{label:(0,V.k6)(()=>[(0,V.Lk)("span",{class:(0,R.C4)(["custom-label",{required:!i.parcelInfo.receiverZipcode}])}," 받는 사람 우편번호 * ",2)]),_:1},8,["modelValue","rules","disable"])]),(0,V.Lk)("div",ur,[(0,V.bF)(p,{modelValue:i.parcelInfo.receiverAddress1,"onUpdate:modelValue":t[40]||(t[40]=e=>i.parcelInfo.receiverAddress1=e),"label-slot":"",filled:"",type:"textarea",rows:"2",disable:!o.editable},{label:(0,V.k6)(()=>[(0,V.Lk)("span",{class:(0,R.C4)(["custom-label",{required:!i.parcelInfo.receiverAddress1}])}," 받는 사람주소 * ",2)]),_:1},8,["modelValue","disable"])]),(0,V.Lk)("div",mr,[(0,V.bF)(p,{modelValue:i.parcelInfo.receiverAddress2,"onUpdate:modelValue":t[41]||(t[41]=e=>i.parcelInfo.receiverAddress2=e),"label-slot":"",filled:"",disable:!o.editable},{label:(0,V.k6)(()=>[(0,V.Lk)("span",{class:(0,R.C4)(["custom-label",{required:!i.parcelInfo.receiverAddress2}])}," 받는 사람 상세주소 * ",2)]),_:1},8,["modelValue","disable"])])])]),(0,V.Lk)("section",pr,[(0,V.Lk)("div",gr,[(0,V.Lk)("div",null,[(0,V.Lk)("div",{class:(0,R.C4)(["text-subtitle1 text-weight-bold",{"text-negative":0===i.itemList.length}])}," 상품 목록 ",2),(0,V.Lk)("div",hr,(0,R.v_)(i.itemList.length)+"개 품목 · 총 수량 "+(0,R.v_)(o.itemTotalQty)+"개 · 총 금액 "+(0,R.v_)(o.itemAmountSummary),1)]),(0,V.bF)(r,{outline:"",color:"primary",icon:"add",label:"상품 추가",onClick:t[42]||(t[42]=()=>{i.itemList.push({...i.defaultItemSet})}),disable:!o.editable},null,8,["disable"])]),(0,V.Lk)("div",br,[(0,V.bF)(h,{flat:"",bordered:"",separator:i.separator,"rows-per-page-options":[0],rows:i.itemList,columns:o.itemColumns,"row-key":"id"},{"body-cell-barcode":(0,V.k6)(t=>[(0,V.bF)(g,{style:{"min-width":"180px"}},{default:(0,V.k6)(()=>[(0,V.bF)(p,{modelValue:t.row.barcode,"onUpdate:modelValue":e=>t.row.barcode=e,dense:"",borderless:"","hide-bottom-space":"",disable:!o.editable},null,8,["modelValue","onUpdate:modelValue","disable"])]),_:2},1024)]),"body-cell-itemName":(0,V.k6)(t=>[(0,V.bF)(g,{style:{"min-width":"300px"}},{default:(0,V.k6)(()=>[(0,V.bF)(p,{modelValue:t.row.itemName,"onUpdate:modelValue":e=>t.row.itemName=e,dense:"",borderless:"","lazy-rules":"",rules:[e=>!!e||"상품명은 필수입니다.",this.$validationSet.itemName],"hide-bottom-space":"",disable:!o.editable},null,8,["modelValue","onUpdate:modelValue","rules","disable"])]),_:2},1024)]),"body-cell-brand":(0,V.k6)(t=>[(0,V.bF)(g,{style:{"min-width":"200px"}},{default:(0,V.k6)(()=>[(0,V.bF)(p,{modelValue:t.row.brand,"onUpdate:modelValue":e=>t.row.brand=e,dense:"",borderless:"","lazy-rules":"","hide-bottom-space":"",disable:!o.editable,rules:[e=>!!e||"브랜드는 필수입니다.",this.$validationSet.alphaNum]},null,8,["modelValue","onUpdate:modelValue","disable","rules"])]),_:2},1024)]),"body-cell-itemQty":(0,V.k6)(t=>[(0,V.bF)(g,{style:{"text-align":"right","min-width":"80px"}},{default:(0,V.k6)(()=>[(0,V.bF)(p,{modelValue:t.row.itemQty,"onUpdate:modelValue":e=>t.row.itemQty=e,modelModifiers:{number:!0},type:"number",dense:"",borderless:"",maxlength:"5",min:"1","lazy-rules":"",rules:[e=>null!=e||"수량은 필수입니다.",e=>0[(0,V.bF)(g,{style:{"text-align":"right","min-width":"80px"}},{default:(0,V.k6)(()=>[(0,V.bF)(p,{modelValue:t.row.unit,"onUpdate:modelValue":e=>t.row.unit=e,dense:"",borderless:"",maxlength:"5",disable:!o.editable},null,8,["modelValue","onUpdate:modelValue","disable"])]),_:2},1024)]),"body-cell-currency":(0,V.k6)(t=>[(0,V.bF)(g,{style:{"min-width":"100px"}},{default:(0,V.k6)(()=>[(0,V.bF)(m,{modelValue:t.row.currency,"onUpdate:modelValue":e=>t.row.currency=e,options:["USD","KRW","JPY"],dense:"",borderless:"","emit-value":"","map-options":"",disable:!o.editable},null,8,["modelValue","onUpdate:modelValue","disable"])]),_:2},1024)]),"body-cell-unitPrice":(0,V.k6)(t=>[(0,V.bF)(g,{style:{"min-width":"100px"}},{default:(0,V.k6)(()=>[(0,V.bF)(p,{modelValue:t.row.unitPrice,"onUpdate:modelValue":e=>t.row.unitPrice=e,modelModifiers:{number:!0},type:"number",dense:"",borderless:"",min:"0",step:"any","input-class":"text-right",disable:!o.editable},null,8,["modelValue","onUpdate:modelValue","disable"])]),_:2},1024)]),"body-cell-weight":(0,V.k6)(t=>[(0,V.bF)(g,{style:{"min-width":"100px"}},{default:(0,V.k6)(()=>[(0,V.bF)(p,{modelValue:t.row.weight,"onUpdate:modelValue":e=>t.row.weight=e,modelModifiers:{number:!0},type:"number",dense:"",borderless:"","lazy-rules":"","input-class":"text-right",rules:[e=>null==e||""===e||0<=Number(e)||"무게는 0 이상이어야 합니다."],disable:!o.editable},null,8,["modelValue","onUpdate:modelValue","rules","disable"])]),_:2},1024)]),"body-cell-height":(0,V.k6)(t=>[(0,V.bF)(g,{style:{"min-width":"100px"}},{default:(0,V.k6)(()=>[(0,V.bF)(p,{modelValue:t.row.height,"onUpdate:modelValue":e=>t.row.height=e,modelModifiers:{number:!0},type:"number",dense:"",borderless:"","input-class":"text-right",disable:!o.editable},null,8,["modelValue","onUpdate:modelValue","disable"])]),_:2},1024)]),"body-cell-length":(0,V.k6)(t=>[(0,V.bF)(g,{style:{"min-width":"100px"}},{default:(0,V.k6)(()=>[(0,V.bF)(p,{modelValue:t.row.length,"onUpdate:modelValue":e=>t.row.length=e,modelModifiers:{number:!0},type:"number",dense:"",borderless:"","input-class":"text-right",disable:!o.editable},null,8,["modelValue","onUpdate:modelValue","disable"])]),_:2},1024)]),"body-cell-width":(0,V.k6)(t=>[(0,V.bF)(g,{style:{"min-width":"100px"}},{default:(0,V.k6)(()=>[(0,V.bF)(p,{modelValue:t.row.width,"onUpdate:modelValue":e=>t.row.width=e,modelModifiers:{number:!0},type:"number",dense:"",borderless:"","input-class":"text-right",disable:!o.editable},null,8,["modelValue","onUpdate:modelValue","disable"])]),_:2},1024)]),"body-cell-volumeWeight":(0,V.k6)(e=>[(0,V.bF)(g,{class:"text-right"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(o.calculateVolumeWeight(e.row)),1)]),_:2},1024)]),"body-cell-url":(0,V.k6)(t=>[(0,V.bF)(g,{style:{"min-width":"100px"}},{default:(0,V.k6)(()=>[(0,V.bF)(p,{modelValue:t.row.url,"onUpdate:modelValue":e=>t.row.url=e,dense:"",borderless:"",disable:!o.editable},null,8,["modelValue","onUpdate:modelValue","disable"])]),_:2},1024)]),"body-cell-hsCode":(0,V.k6)(t=>[(0,V.bF)(g,{style:{"min-width":"150px"}},{default:(0,V.k6)(()=>[(0,V.bF)(p,{modelValue:t.row.hsCode,"onUpdate:modelValue":e=>t.row.hsCode=e,dense:"",type:"text",borderless:"",maxlength:"6","hide-bottom-space":"",disable:!o.editable,rules:[e=>!e||6===e.length||"HS CODE는 6자리입니다.",this.$validationSet.num]},null,8,["modelValue","onUpdate:modelValue","disable","rules"])]),_:2},1024)]),"body-cell-action":(0,V.k6)(t=>[(0,V.bF)(g,{class:"text-center"},{default:(0,V.k6)(()=>[(0,V.bF)(r,{dense:"",flat:"",color:"negative",icon:"delete","aria-label":"상품 삭제",onClick:e=>o.removeRow(t.row),disable:!o.editable},null,8,["onClick","disable"])]),_:2},1024)]),bottom:(0,V.k6)(()=>[(0,V.Lk)("div",fr,[t[69]||(t[69]=(0,V.eW)(" 총 금액 : ")),(0,V.Lk)("span",{class:(0,R.C4)(o.itemAmountWarning?"text-orange":"")},(0,R.v_)(o.itemAmountSummary),3)])]),_:1},8,["separator","rows","columns"])])]),(0,V.Lk)("section",vr,[t[70]||(t[70]=(0,V.Lk)("div",{class:"section-heading"},[(0,V.Lk)("div",null,[(0,V.Lk)("div",{class:"text-subtitle1 text-weight-bold"},"배송 및 요청사항"),(0,V.Lk)("div",{class:"text-caption text-grey-7"},"통관 유형, 배송업체와 작업 요청을 관리합니다.")])],-1)),(0,V.Lk)("div",kr,[(0,V.Lk)("div",yr,[(0,V.bF)(m,{modelValue:i.parcelInfo.needClearance,"onUpdate:modelValue":t[43]||(t[43]=e=>i.parcelInfo.needClearance=e),options:[{label:"목록",value:"Y"},{label:"일반",value:"N"}],"emit-value":"","map-options":"","label-slot":"","lazy-rules":"",rules:[e=>!!e||"* 표시 항목은 필수 입력입니다."],behavior:"menu",disable:!o.editable},{label:(0,V.k6)(()=>[(0,V.Lk)("span",{class:(0,R.C4)(["custom-label",{required:!i.parcelInfo.needClearance}])}," 일반신청 * ",2)]),_:1},8,["modelValue","rules","disable"])])]),(0,V.Lk)("div",Lr,[(0,V.Lk)("div",_r,[(0,V.bF)(m,{modelValue:i.parcelInfo.courierCode,"onUpdate:modelValue":t[44]||(t[44]=e=>i.parcelInfo.courierCode=e),label:"배송업체",options:this.$store.getters.getCourierList,behavior:"menu","emit-value":"","map-options":"",disable:!o.editable},null,8,["modelValue","options","disable"]),(0,V.bF)(p,{modelValue:i.parcelInfo.courierNum,"onUpdate:modelValue":t[45]||(t[45]=e=>i.parcelInfo.courierNum=e),label:"운송장번호",disable:!o.editable},null,8,["modelValue","disable"])])]),(0,V.Lk)("div",wr,[(0,V.Lk)("div",xr,[(0,V.bF)(p,{modelValue:i.parcelInfo.orderMemo,"onUpdate:modelValue":t[46]||(t[46]=e=>i.parcelInfo.orderMemo=e),"bottom-slots":"",ref:"note",label:"고객메모",type:"textarea",placeholder:"배송물품 정보를 적어주세요. (의류/전자기기/가전)",rows:2,disable:!o.editable},null,8,["modelValue","disable"]),(0,V.bF)(p,{modelValue:i.parcelInfo.customsRequest,"onUpdate:modelValue":t[47]||(t[47]=e=>i.parcelInfo.customsRequest=e),"bottom-slots":"",ref:"note",label:"통관시 요청사항",type:"textarea",placeholder:"배송물품 정보를 적어주세요. (의류/전자기기/가전)",rows:2,disable:!o.editable},null,8,["modelValue","disable"]),(0,V.bF)(p,{modelValue:i.parcelInfo.deliveryRequest,"onUpdate:modelValue":t[48]||(t[48]=e=>i.parcelInfo.deliveryRequest=e),"bottom-slots":"",ref:"note",label:"배송 요청사항",type:"textarea",placeholder:"배송물품 정보를 적어주세요. (의류/전자기기/가전)",rows:2,disable:!o.editable},null,8,["modelValue","disable"])])])]),(0,V.Lk)("section",Cr,[t[71]||(t[71]=(0,V.Lk)("div",{class:"section-heading"},[(0,V.Lk)("div",null,[(0,V.Lk)("div",{class:"text-subtitle1 text-weight-bold"},"상태변경 이력"),(0,V.Lk)("div",{class:"text-caption text-grey-7"},"일반 정보변경은 이력에 저장되지 않습니다.")])],-1)),(0,V.Lk)("div",Sr,[(0,V.Lk)("div",Fr,[(0,V.bF)(h,{class:"my-sticky-virtscroll-table",style:{"min-width":"250px",width:"100%","max-width":"100%"},"virtual-scroll":"","rows-per-page-options":[0],"virtual-scroll-sticky-size-start":48,rows:i.historyList,columns:i.historyColumns,"row-key":"id"},null,8,["rows","columns"])])])])]),_:1})]),_:1}),(0,V.bF)(k,{class:"bg-white text-black footer-actions"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",qr,[(0,V.bo)((0,V.bF)(r,{icon:"delete",label:"주문 삭제",outline:"",color:"negative",onClick:o.askDelete},null,8,["onClick"]),[[I.aG,o.editable]]),(0,V.bF)(v),"admin"===a.user?((0,V.uX)(),(0,V.Wv)(r,{key:0,icon:"print",label:"운송장 출력",flat:"",color:"info",onClick:o.pdfModalControl},null,8,["onClick"])):(0,V.Q3)("",!0),(0,V.bF)(r,{label:"닫기",flat:"",color:"grey-8",onClick:o.closeModalThis},null,8,["onClick"]),(0,V.bo)((0,V.bF)(r,{icon:"save",label:"변경사항 저장",unelevated:"",color:"secondary",type:"button",onClick:o.onSubmit},null,8,["onClick"]),[[I.aG,o.editable]])])]),_:1})]),_:1},512)]),_:1}),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(w,{modelValue:i.customerModal,"onUpdate:modelValue":t[49]||(t[49]=e=>i.customerModal=e)},{default:(0,V.k6)(()=>[(0,V.bF)(_,{onChangeCustomer:o.changeCustomer,onCloseModalSearch:o.closeModalSearch},null,8,["onChangeCustomer","onCloseModalSearch"])]),_:1},8,["modelValue"])])),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(w,{modelValue:i.pdfModalShow,"onUpdate:modelValue":t[50]||(t[50]=e=>i.pdfModalShow=e),persistent:""},{default:(0,V.k6)(()=>[(0,V.bF)(x,{style:{width:"100%"},parcelList:a.selectedParcel,onCloseModal:o.pdfModalControl},null,8,["parcelList","onCloseModal"])]),_:1},8,["modelValue"])]))],64)}],["__scopeId","data-v-7b5c6d94"]]);let wn={class:"row items-start justify-between q-col-gutter-md"},xn={class:"col"},Cn={class:"consol-range-notice q-mt-sm"},Sn={class:"col-auto"},Fn={class:"row q-col-gutter-sm q-mb-md"},qn={class:"col-6 col-md-3"},In={class:"consol-summary"},Pn={class:"text-h6"},An={class:"col-6 col-md-3"},Tn={class:"consol-summary"},Nn={class:"text-h6"},En={class:"col-6 col-md-3"},Dn={class:"consol-summary"},On={class:"text-h6"},Vn={class:"col-6 col-md-3"},Rn={class:"consol-summary"},Mn={class:"text-h6"},$n={class:"row items-center q-mb-sm"},Un={class:"col"},Wn={class:"col-auto"},Bn={class:"row"},zn={class:"col"},Xn={key:2,class:"consol-memo"};var t={name:"Modal-consol-list",props:{selectedOrders:Array},emits:["close-modal","refresh-list"],data(){return{consolList:(0,c.KR)([]),selectedConsol:null,loading:!1,etdRange:this.getDefaultEtdRange(),columns:[{name:"statusLabel",label:"상태",align:"center",field:"statusLabel",sortable:!0},{name:"mblNo",label:"M B/L No.",align:"center",field:"mblNo",sortable:!0},{name:"freightCode",label:"편명(선명)",align:"center",field:"freightCode",sortable:!0},{name:"route",label:"구간",align:"center",field:e=>`${e.departCity||"-"} -> `+(e.arrivalCity||"-")},{name:"schedule",label:"일정",align:"center",field:e=>`${e.etd||"-"} / `+(e.eta||"-")},{name:"totalOrderQty",label:"오더",align:"center",field:"totalOrderQty",sortable:!0},{name:"totalQty",label:"수량",align:"center",field:"totalQty",sortable:!0},{name:"totalWeight",label:"중량",align:"center",field:"totalWeight",sortable:!0},{name:"totalVolumeWeight",label:"부피중량",align:"center",field:"totalVolumeWeight",sortable:!0},{name:"memo",label:"메모",align:"left",field:"memo"},{name:"action",label:"연결",align:"center",field:"action"}]}},computed:{selectedSummary(){var e=Array.isArray(this.selectedOrders)?this.selectedOrders:[];let a=new Set;var t=e.reduce((e,t)=>(t.partnerName&&a.add(t.partnerName),e+Number(t.totalQty||t.boxQty||0)),0),l=e.reduce((e,t)=>e+Number(t.weight||t.totalWeight||0),0);return{orderCount:e.length,partnerCount:a.size,totalQty:t,totalWeight:Math.round(100*l)/100}},selectedConsolLabel(){return this.selectedConsol?`${this.selectedConsol.mblNo||"-"} / `+(this.selectedConsol.freightCode||"-"):"선택된 콘솔 없음"}},methods:{formatDate(e){var t=e=>String(e).padStart(2,"0");return`${e.getFullYear()}-${t(e.getMonth()+1)}-`+t(e.getDate())},getDefaultEtdRange(){var e=new Date,t=new Date;return t.setMonth(t.getMonth()+1),{from:this.formatDate(e),to:this.formatDate(t)}},async loadConsolList(){var e={method:"POST",url:"/api/consol/getConsolList",data:{status:"001",etd:this.etdRange},name:"[ Axios / 콘솔목록 불러오기 ]"};this.loading=!0,await this.$http(e).then(e=>{this.$log.info("콘솔목록 불러오기"),this.consolList=e.data,this.$log.debug("[ Axios / 콘솔목록 불러오기 ] 성공 => ",e.data)}).catch(e=>{this.$log.error("[ Axios / 콘솔목록 불러오기 ] 실패 =>",e)}).finally(()=>{this.loading=!1})},onRowClick(e,t){this.$log.debug("[ 선택된 콘솔 ] = ",t),this.selectedConsol=t},async linkSelectedConsol(e=this.selectedConsol){var t;e&&(t=[`선택한 ${this.selectedSummary.orderCount}건을 콘솔에 연결하시겠습니까?`,"MBL: "+(e.mblNo||"-"),"편명/선명: "+(e.freightCode||"-"),`일정: ${e.etd||"-"} / `+(e.eta||"-")].join("\n"),confirm(t))&&(t=this.selectedOrders.map(e=>e.id),e={consolId:e.id,orderList:t},await this.$http({method:"POST",url:"/api/consol/linkConsol",data:e,name:"[ Axios / 콘솔에 연결하기 ]"}).then(e=>{this.$log.info("콘솔에 연결하기"),this.consolList=e.data,this.$emit("refresh-list"),this.$emit("close-modal"),this.$log.debug("[ Axios / 콘솔에 연결하기 ] 성공 => ",e.data)}).catch(e=>{this.$log.error("[ Axios / 콘솔에 연결하기 ] 실패 =>",e)}))},closeModal(){this.$emit("close-modal")}},mounted(){this.loadConsolList()}},t=(v(87578),(0,e.A)(t,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-icon"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("q-card-section"),d=(0,V.g2)("q-badge"),c=(0,V.g2)("q-td"),u=(0,V.g2)("q-tr"),m=(0,V.g2)("q-table");var p=(0,V.g2)("q-card");let g=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.Wv)(p,{style:{width:"1180px","max-width":"95vw"}},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[(0,V.Lk)("div",wn,[(0,V.Lk)("div",xn,[t[1]||(t[1]=(0,V.Lk)("div",{class:"text-h6"},"콘솔 선택",-1)),t[2]||(t[2]=(0,V.Lk)("div",{class:"text-caption text-grey-7"}," 선택한 임시콘솔 대기 건을 출항 대기 콘솔에 연결합니다. ",-1)),(0,V.Lk)("div",Cn,[(0,V.bF)(s,{name:"event",size:"16px"}),(0,V.Lk)("span",null," ETD 기준 "+(0,R.v_)(i.etdRange.from)+" ~ "+(0,R.v_)(i.etdRange.to)+" 출항대기 콘솔만 표시됩니다. ",1)])]),(0,V.Lk)("div",Sn,[(0,V.bo)((0,V.bF)(r,{onClick:t[0]||(t[0]=e=>o.closeModal()),flat:"",round:"",dense:"",icon:"close"},null,512),[[g]])])]),t[3]||(t[3]=(0,V.Lk)("div",null,null,-1))]),_:1,__:[3]}),(0,V.bF)(n,{class:"q-pt-none"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Fn,[(0,V.Lk)("div",qn,[(0,V.Lk)("div",In,[t[4]||(t[4]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"선택 오더",-1)),(0,V.Lk)("div",Pn,(0,R.v_)(o.selectedSummary.orderCount),1)])]),(0,V.Lk)("div",An,[(0,V.Lk)("div",Tn,[t[5]||(t[5]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"파트너",-1)),(0,V.Lk)("div",Nn,(0,R.v_)(o.selectedSummary.partnerCount),1)])]),(0,V.Lk)("div",En,[(0,V.Lk)("div",Dn,[t[6]||(t[6]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"총 수량",-1)),(0,V.Lk)("div",On,(0,R.v_)(o.selectedSummary.totalQty),1)])]),(0,V.Lk)("div",Vn,[(0,V.Lk)("div",Rn,[t[7]||(t[7]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"총 중량",-1)),(0,V.Lk)("div",Mn,(0,R.v_)(o.selectedSummary.totalWeight)+"kg",1)])])]),(0,V.Lk)("div",$n,[(0,V.Lk)("div",Un,[(0,V.bF)(d,{color:"primary",outline:"",class:"q-pa-sm"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(o.selectedConsolLabel),1)]),_:1})]),(0,V.Lk)("div",Wn,[(0,V.bF)(r,{color:"grey-7",outline:"",icon:"refresh",label:"새로고침",class:"q-mr-sm",loading:i.loading,onClick:o.loadConsolList},null,8,["loading","onClick"]),(0,V.bF)(r,{color:"primary",icon:"link",label:"선택 콘솔에 연결",disable:!i.selectedConsol||0===o.selectedSummary.orderCount,onClick:o.linkSelectedConsol},null,8,["disable","onClick"])])]),(0,V.Lk)("div",Bn,[(0,V.Lk)("div",zn,[(0,V.bF)(m,{class:"my-sticky-virtscroll-table","virtual-scroll":"",loading:i.loading,"rows-per-page-options":[0],"virtual-scroll-sticky-size-start":48,rows:i.consolList,columns:i.columns,onRowClick:o.onRowClick,"row-key":"id"},{body:(0,V.k6)(t=>[(0,V.bF)(u,{props:t,class:(0,R.C4)(i.selectedConsol&&i.selectedConsol.id===t.row.id?"bg-blue-1 text-blue-10":""),onClick:e=>o.onRowClick(e,t.row)},{default:(0,V.k6)(()=>[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(t.cols,e=>((0,V.uX)(),(0,V.Wv)(c,{key:e.name,props:t},{default:(0,V.k6)(()=>["statusLabel"===e.name?((0,V.uX)(),(0,V.Wv)(d,{key:0,color:"teal","text-color":"white"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(e.value||"-"),1)]),_:2},1024)):"action"===e.name?((0,V.uX)(),(0,V.Wv)(r,{key:1,color:"primary",dense:"",outline:"",icon:"link",label:"연결",onClick:(0,I.D$)(e=>o.linkSelectedConsol(t.row),["stop"])},null,8,["onClick"])):"memo"===e.name?((0,V.uX)(),(0,V.CE)("div",Xn,(0,R.v_)(e.value||"-"),1)):((0,V.uX)(),(0,V.CE)(V.FK,{key:3},[(0,V.eW)((0,R.v_)(e.value||"-"),1)],64))]),_:2},1032,["props"]))),128))]),_:2},1032,["props","class","onClick"])]),_:1},8,["loading","rows","columns","onRowClick"])])])]),_:1})]),_:1})}],["__scopeId","data-v-05d0c444"]])),y=v(11013),t={name:"ParcelList",components:{ParcelInfoForm:f,ConsolListModal:t,PdfPreviewer:k,ExportJsonCsv:v.n(y)()},props:{isDel:String,pagination:{type:Object,default:()=>({page:1,rowsPerPage:100,rowsNumber:0,sortBy:null,descending:!0})},loading:Boolean},computed:{tablePagination:{get(){return this.pagination},set(e){this.$emit("request-page",e)}},parcelList(){return this.$store.getters.getParcelList},parcelLocationList(){return this.$store.getters.getParcelLocationListImport},tempConsolSummary(){let a=new Set;var e=this.tempConsolList.reduce((e,t)=>(t.partnerName&&a.add(t.partnerName),e+Number(t.totalQty||t.boxQty||0)),0),t=this.tempConsolList.reduce((e,t)=>e+Number(t.weight||t.totalWeight||0),0);return{orderCount:this.tempConsolList.length,selectedCount:this.selectedTempConsolList.length,partnerCount:a.size,totalQty:e,totalWeight:Math.round(100*t)/100}}},emits:["reload-parcel-list","request-page"],data(){return{authLevel:"00",modifyModalShow:!1,pdfModalShow:!1,consolModalShow:!1,tempListModalShow:!1,trackingModalShow:!1,trackingLoading:!1,trackingTarget:null,trackingInfo:null,tempConsolList:[],tempConsolLoading:!1,selectedTempConsolList:(0,c.KR)([]),tempConsolColumns:[{name:"tempConsolReadyAt",label:"대기등록",align:"center",field:"tempConsolReadyAt",sortable:!0},{name:"packingCompletedAt",label:"포장완료",align:"center",field:"packingCompletedAt",sortable:!0},{name:"partnerName",label:"파트너",align:"center",field:"partnerName",sortable:!0},{name:"orderId",label:"Order No.",align:"center",field:"orderId",sortable:!0},{name:"hblNo",label:"H B/L No.",align:"center",field:"hblNo",sortable:!0},{name:"receiverName",label:"수취인",align:"center",field:"receiverName"},{name:"itemNames",label:"상품명",align:"left",field:"itemNames"},{name:"totalQty",label:"수량",align:"center",field:"totalQty"},{name:"weight",label:"실무게",align:"center",field:"weight"},{name:"freightMethod",label:"운송",align:"center",field:"freightMethod",format:e=>1==e?"해상":2==e?"항공":"-"}],selectedList:(0,c.KR)([]),columns:[{name:"rownum",label:"ID",align:"center",field:"id",format:e=>""+e,sortable:!0},{name:"출력여부",label:"출력여부",align:"center",field:"isPrinted",format:e=>""+e},{name:"statusName",label:"진행상태",align:"center",field:"statusName",sortable:!0},{name:"packingOwner",label:"포장주체",align:"center",field:"packingOwner",format:e=>this.getPackingOwnerLabel(e),sortable:!0},{name:"packingStatus",label:"포장상태",align:"center",field:"packingStatus",sortable:!0},{name:"tempConsolStatus",label:"콘솔상태",align:"center",field:"tempConsolStatus",sortable:!0},{name:"trackingState",label:"배송조회",align:"center",field:"trackingState",sortable:!0},{name:"regName",label:"등록자명",align:"center",field:"regName"},{name:"partnerName",label:"파트너명",align:"center",field:"partnerName"},{name:"orderId",label:"Order No.",align:"center",field:"orderId"},{name:"hblNo",label:"H B/L No.",align:"center",field:"hblNo"},{name:"mblNo",label:"M B/L No.",align:"center",field:"mblNo"},{name:"shipperName",label:"보내는 사람명",align:"center",field:"shipperName"},{name:"receiverName",label:"받는 사람명",align:"center",field:"receiverName"},{name:"pcc",label:"개인통관고유번호",align:"center",field:"pcc"},{name:"receiverMobile",label:"받는 사람 연락처",align:"center",field:"receiverMobile",format:e=>this.$formatPhoneNumber(e,"mobile")},{name:"itemNames",label:"Description",align:"left",field:"itemNames"},{name:"totalPrice",label:"총가격",align:"center",field:"totalPrice"},{name:"totalQty",label:"박스수량",align:"center",field:"totalQty"},{name:"totalWeight",label:"상품무게(kg/CBM)",align:"center",field:"totalWeight"},{name:"weight",label:"실무게(kg)",align:"center",field:"weight"},{name:"freightMethod",label:"운송수단",align:"center",field:"freightMethod",format:e=>1==e?"해상":2==e?"항공":""},{name:"courierCode",label:"택배사",align:"center",field:"courierCode",format:e=>""+this.$getCourierName(e)},{name:"courierNum",label:"송장번호",align:"center",field:"courierNum"},{name:"modiDate",label:"최종수정일",align:"center",field:"modiDate"},{name:"regDate",label:"등록일",align:"center",field:"regDate"}],csvName:"backup-data-"+(new Date).toLocaleDateString()+".csv",csvHeaders:{id:"ID",freightMethod:"운송수단",regName:"등록업체",customerNum:"회원번호",customerName:"회원명",bulkShipping:"묶음배송여부",bulkSeq:"묶음배송번호",bulkCnt:"묶음배송갯수",courierCode:"택배사코드",courierName:"택배사",courierNum:"송장번호",parcelStatus:"화물상태",parcelLocation:"화물위치코드",parcelLocationName:"화물위치명",parcelCode:"화물코드",destiCity:"도착지(도시)",pickUpLocation:"픽업위치코드",pickUpLocationName:"픽업위치명",deliveryAddress:"도착지주소",email:"수취인 이메일",eatable:"음식물여부",length:"길이(cm)",height:"높이(cm)",width:"넓이(cm)",memo:"메모",isDel:"삭제여부",actualWeight:"실무게(kg)",weight:"부피무게(kg/CBM)",receiver:"수취인",mobileCountry:"수취인 국가코드",mobileNum:"수취인 전화번호",pickupLocation:"픽업지",parcelLocatonName:"위치",regDateOriginal:"등록일전체",regDate:"등록일"},userType:"admin"}},methods:{clearSelection(){this.selectedList=[]},requestPage({pagination:e}){this.loading||this.$emit("request-page",e)},getPackingStatusColor(e){return"COMPLETED"===e?"positive":"IN_PROGRESS"===e?"warning":"READY"===e?"primary":"grey-6"},getPackingStatusLabel(e={}){e=String(e.packingStatus||"").trim().toUpperCase();return"COMPLETED"===e?"포장완료":"IN_PROGRESS"===e?"포장중":"READY"===e?"대기":"-"},getTempConsolStatusLabel(e){return"READY"===e?"연결대기":"LINKED"===e?"연결완료":"미등록"},getTempConsolStatusColor(e){return"READY"===e?"yellow-9":"LINKED"===e?"teal-7":"grey-6"},getTempConsolIneligibleReason(e){return"COMPLETED"!==String(e?.packingStatus||"").toUpperCase()?"포장 미완료":null!=e?.consoleId?"이미 콘솔 연결됨":"READY"===(e=String(e?.tempConsolStatus||"NONE").toUpperCase())?"이미 임시콘솔 대기 중":"LINKED"===e?"이미 콘솔 연결 완료":""},getPackingOwnerLabel(e){e=String(e||"PARTNER").trim().toUpperCase();return"AONE"===e?"AONE":"PARTNER"===e?"파트너":"-"},getPackingOwnerColor(e){e=String(e||"PARTNER").trim().toUpperCase();return"AONE"===e?"deep-purple-7":"PARTNER"===e?"blue-grey-7":"grey-6"},getTrackingStatusColor(e){return"배달완료"===e?"positive":e?String(e).includes("오류")?"negative":"blue-7":"grey-5"},normalizeTrackingResponse(e={}){e=e.status||e.tracking||e;let t=e.detail_json||e.details||[];if("string"==typeof t)try{t=JSON.parse(t)}catch{t=[]}return{...e,details:Array.isArray(t)?t:[]}},async openTrackingModal(e){if(e?.id&&e?.hblNo){this.trackingTarget=e,this.trackingInfo=null,this.trackingModalShow=!0,this.trackingLoading=!0;try{var t=await this.$http({method:"GET",url:"/api/parcel/tracking/"+e.id,name:"[ Axios / 배송조회 상태 조회 ]",skipSpinner:!0});this.trackingInfo=this.normalizeTrackingResponse(t?.data?.data?.status||{})}catch(e){this.$log.error("[ 배송조회 상태 조회 실패 ]",e),this.$q.notify({type:"negative",message:e?.response?.data?.message||"배송조회 상태 조회에 실패했습니다.",position:"top",timeout:3e3})}finally{this.trackingLoading=!1}}else this.$q.notify({type:"warning",message:"조회할 H/BL 번호가 없습니다.",position:"top",timeout:3e3})},async refreshTracking(){if(this.trackingTarget?.id&&!this.trackingLoading){this.trackingLoading=!0;try{var e=await this.$http({method:"POST",url:`/api/parcel/tracking/${this.trackingTarget.id}/refresh`,data:{},name:"[ Axios / 배송조회 수동 재조회 ]",skipSpinner:!0});this.trackingInfo=this.normalizeTrackingResponse(e?.data?.data?.tracking||{}),this.$q.notify({type:"positive",message:"배송조회 정보를 갱신했습니다.",position:"top",timeout:3e3}),this.$emit("reload-parcel-list")}catch(e){this.$log.error("[ 배송조회 수동 재조회 실패 ]",e),this.$q.notify({type:"negative",message:e?.response?.data?.message||"배송조회 수동 재조회에 실패했습니다.",position:"top",timeout:4e3})}finally{this.trackingLoading=!1}}},bulkDelete(){let e=[];var t=this.selectedList.filter(e=>e.mblNo),t=(0e.hblNo).filter(Boolean)),this.$log.debug("[ hblNos ] = ",e),"삭제 이후에는 삭제목록으로 관리할 수 있습니다.");t+=e.length?`

!! H B/L No: ${e.join(", ")} 은 콘솔에 포함되어 있습니다.
삭제하는 경우 콘솔에서 제외됩니다. `:"",this.$q.dialog({title:"삭제하시겠습니까?",message:t,cancel:!0,persistent:!0,html:!0}).onOk(()=>{var e=this.selectedList.map(e=>e.id),e=(this.$log.debug("[ 일괄삭제 실행 / idArr ] = ",e),{id:e});this.delete(e,"1")})},reactivate(){var e=this.selectedList.map(e=>e.id),e=(this.$log.debug("[ 일괄복구 실행 / idArr ] = ",e),{id:e});this.delete(e,"0")},async delete(e,t){e=Object.assign(e,{isDel:t});await this.$http({method:"POST",url:"/api/parcel/delete",data:e,name:"[ Axios / ParcelList / 배송상품 삭제 실행 ]"}).then(()=>{this.$log.debug("삭제했습니다."),this.$emit("reload-parcel-list"),this.$q.notify({type:"positive",message:"0"==t?"복구되었습니다":"삭제되었습니다",position:"top",timeout:3e3})}).catch(e=>{this.$log.debug(e),this.$q.notify({type:"negative",message:"불러오기 실패!",position:"top",timeout:3e3})}).finally(()=>{this.selectedList=[]})},async bulkChangeStatus(e){var t=this.selectedList.map(e=>e.id),t=(this.$log.debug(e),this.$log.debug("idArr = ",t),{id:t,status:e});await this.$http({method:"POST",url:"/api/parcel/modifyOrderStatus",data:t,name:"[ Axios / ParcelList / 배송상품 위치 일괄 변경 ]"}).then(()=>{this.$log.debug("위치정보를 변경했습니다."),this.selectedList=[],this.$emit("reload-parcel-list"),this.$q.notify({type:"positive",message:"선택된 ORDER의 진행상태가 변경되었습니다.",position:"top",timeout:3e3})}).catch(e=>{this.$q.notify({type:"positive",message:"선택된 ORDER의 진행상태가 변경을 실패했습니다.",position:"top",timeout:3e3}),this.$log.debug(e)})},pdfModalControl(){var e;return 0===this.selectedList.length?(this.$q.notify({type:"positive",message:"선택된 ORDER가 없습니다",position:"top",timeout:3e3}),!1):0<(e=this.selectedList.filter(e=>{e=Number(e.weight);return!Number.isFinite(e)||e<=0})).length?(e=e.map(e=>e.hblNo||e.orderId||e.id).filter(Boolean).join(", "),this.$q.notify({type:"negative",message:"실제 무게가 입력되지 않아 운송장을 출력할 수 없습니다."+(e?" 대상: "+e:""),position:"top",timeout:5e3}),!1):void(this.pdfModalShow=!this.pdfModalShow)},closePdfPreview(){this.pdfModalShow=!this.pdfModalShow},reloadParcelList(){this.$emit("reload-parcel-list"),this.loadTempConsolList()},closeModal(){this.modifyModalShow=!1,this.tempListModalShow=!1},onRowClick(e,t){this.loading||e?.target?.closest?.('button, a, input, select, textarea, [role="button"], [role="checkbox"]')||this.openParcelDetails(t)},openParcelDetails(e){this.$log.debug("선택된 화물 = ",e),this.selectedList=[e],this.modifyModalShow=!0},callConsolModal(e){if(this.$log.debug("[ 묶을 콘솔 목록 호출 ]"),"inList"===e&&0===this.selectedList.length)return this.$q.notify({type:"positive",message:"선택된 ORDER가 없습니다",position:"top",timeout:3e3}),!1;if("inTemp"===e){if(0===this.selectedTempConsolList.length)return this.$q.notify({type:"positive",message:"선택된 임시콘솔 대상이 없습니다",position:"top",timeout:3e3}),!1;this.selectedList=this.selectedTempConsolList}this.consolModalShow=!0},async deConsolize(){if(this.$log.debug("[ De consolize ]"),0===this.selectedList.length)return this.$q.notify({type:"positive",message:"선택된 ORDER가 없습니다",position:"top",timeout:3e3}),!1;var e={orderList:this.selectedList.map(e=>e.id)};await this.$http({method:"POST",url:"/api/consol/deConsolize",data:e,name:"[ Axios / deConsolize ]"}).then(e=>{this.$log.debug("콘솔이 해제되었습니다.",e.data),this.$emit("reload-parcel-list"),this.selectedList=[],this.$q.notify({type:"positive",message:"콘솔이 해제되었습니다",position:"top",timeout:3e3})}).catch(e=>{this.$log.debug(e),this.$q.notify({type:"negative",message:"deConsolize 실패!",position:"top",timeout:3e3})})},async loadTempConsolList(){this.tempConsolLoading=!0;try{var e={method:"POST",url:"/api/consol/getTempConsolOrderList",data:{},name:"[ Axios / 임시콘솔목록조회 ]"},t=await this.$http(e);this.tempConsolList=Array.isArray(t.data)?t.data:[],this.selectedTempConsolList=[]}catch(e){this.$log.error("[ Axios / 임시콘솔목록조회 ] 실패 =>",e),this.$q.notify({type:"negative",message:"임시콘솔목록 조회에 실패했습니다",position:"top",timeout:3e3})}finally{this.tempConsolLoading=!1}},async listingTempConsolList(){if(this.$log.debug("[ 임시 콘솔목록에 추가 ]"),0===this.selectedList.length)return this.$q.notify({type:"warning",message:"선택된 ORDER가 없습니다",position:"top",timeout:3e3}),!1;var e=this.selectedList.map(e=>({row:e,reason:this.getTempConsolIneligibleReason(e)})).filter(e=>e.reason);if(0`${e.orderId||e.id}: `+t).join(", "),e=3e.id)},name:"[ Axios / 임시콘솔목록등록 ]"};try{await this.$http(t),await this.loadTempConsolList(),this.$emit("reload-parcel-list"),this.selectedList=[],this.$q.notify({type:"positive",message:"임시콘솔목록에 등록되었습니다",position:"top",timeout:3e3})}catch(e){this.$log.error("[ Axios / 임시콘솔목록등록 ] 실패 =>",e),this.$q.notify({type:"negative",message:e?.response?.data?.message||"임시콘솔목록 등록에 실패했습니다",position:"top",timeout:5e3})}},async callTempConsolList(){if(this.$log.debug("[ 임시 콘솔목록 호출 ]"),await this.loadTempConsolList(),0===this.tempConsolList.length)return this.$q.notify({type:"positive",message:"임시 콘솔목록이 없습니다",position:"top",timeout:3e3}),!1;this.tempListModalShow=!this.tempListModalShow},emptyConsol(){this.$log.debug("[ 임시 콘솔 목록 삭제 ]"),this.$q.dialog({message:"임시 콘솔 목록을 비우시겠습니까?",ok:{label:"삭제",color:"negative"},cancel:{label:"취소",color:"grey-5"},persistent:!0}).onOk(async()=>{var e={method:"POST",url:"/api/consol/clearTempConsolReady",data:{orderList:this.tempConsolList.map(e=>e.id)},name:"[ Axios / 임시콘솔목록비우기 ]"};try{await this.$http(e),await this.loadTempConsolList(),this.$q.notify({type:"positive",message:"임시 콘솔 목록이 삭제되었습니다",position:"top",timeout:3e3})}catch(e){this.$log.error("[ Axios / 임시콘솔목록비우기 ] 실패 =>",e),this.$q.notify({type:"negative",message:"임시 콘솔 목록 삭제에 실패했습니다",position:"top",timeout:3e3})}}).onCancel(async()=>!1)},clearSelectedTempConsol(){if(this.$log.debug("[ 임시 콘솔 선택 해제 ]"),0===this.selectedTempConsolList.length)return this.$q.notify({type:"positive",message:"선택된 임시콘솔 대상이 없습니다",position:"top",timeout:3e3}),!1;this.$q.dialog({message:"선택한 임시콘솔 대기 건을 해제하시겠습니까?",ok:{label:"해제",color:"negative"},cancel:{label:"취소",color:"grey-5"},persistent:!0}).onOk(async()=>{var e={method:"POST",url:"/api/consol/clearTempConsolReady",data:{orderList:this.selectedTempConsolList.map(e=>e.id)},name:"[ Axios / 임시콘솔선택해제 ]"};try{await this.$http(e),await this.loadTempConsolList(),this.$q.notify({type:"positive",message:"선택한 임시콘솔 대기 건이 해제되었습니다",position:"top",timeout:3e3})}catch(e){this.$log.error("[ Axios / 임시콘솔선택해제 ] 실패 =>",e),this.$q.notify({type:"negative",message:"임시콘솔 선택 해제에 실패했습니다",position:"top",timeout:3e3})}}).onCancel(async()=>!1)},init(){this.authLevel=this.$getAuthLevel(),this.$getCodeList("ORDSTT"),this.$getCourierList(),90<=Number(this.authLevel)&&this.loadTempConsolList()}},mounted(){this.init()}},y=(v(33757),{name:"AdminParcelInfomation",meta:{title:"어드민-배송상품조회"},components:{Title:b,ParcelLookupForm:Eo,ParcelList:(0,e.A)(t,[["render",function(e,a,l,t,i,o){let s=(0,V.g2)("q-btn");var r=(0,V.g2)("ExportJsonCsv");let n=(0,V.g2)("q-badge");var d=(0,V.g2)("q-icon");let c=(0,V.g2)("q-checkbox"),u=(0,V.g2)("q-td"),m=(0,V.g2)("q-tooltip"),p=(0,V.g2)("q-tr"),g=(0,V.g2)("q-table"),h=(0,V.g2)("ParcelInfoForm");var b=(0,V.g2)("q-dialog");let f=(0,V.g2)("ConsolListModal"),v=(0,V.g2)("PdfPreviewer"),k=(0,V.g2)("q-card-section"),y=(0,V.g2)("q-spinner"),L=(0,V.g2)("q-banner"),_=(0,V.g2)("q-item-label"),w=(0,V.g2)("q-item-section"),x=(0,V.g2)("q-item"),C=(0,V.g2)("q-list"),S=(0,V.g2)("q-card-actions"),F=(0,V.g2)("q-card"),q=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.Lk)("div",Do,[(0,V.Lk)("div",Oo,[(0,V.bF)(s,{color:"red",class:"q-mr-sm q-mb-sm",icon:"picture_as_pdf",onClick:o.pdfModalControl,disable:0===i.selectedList.length},null,8,["onClick","disable"]),(0,V.bo)((0,V.bF)(s,{color:"teal-7",label:"Consol",class:"q-mr-sm q-mb-sm",icon:"link",onClick:a[0]||(a[0]=e=>o.callConsolModal("inList")),disable:0===i.selectedList.length},null,8,["disable"]),[[I.aG,"0"==l.isDel&&90<=i.authLevel]]),(0,V.bo)((0,V.bF)(s,{color:"teal-5",label:"De-consol",class:"q-mr-sm q-mb-sm",icon:"link_off",onClick:o.deConsolize,disable:0===i.selectedList.length},null,8,["onClick","disable"]),[[I.aG,90<=i.authLevel]]),a[15]||(a[15]=(0,V.Lk)("br",null,null,-1)),(0,V.bo)((0,V.bF)(s,{color:"yellow-9",label:"임시콘솔로 이동하기 =>",class:"q-mr-sm q-mb-sm",onClick:o.listingTempConsolList,disable:0===i.selectedList.length},null,8,["onClick","disable"]),[[I.aG,"0"==l.isDel&&90<=i.authLevel]]),(0,V.bo)((0,V.bF)(s,{color:"yellow-9",label:0===i.tempConsolList.length?"임시콘솔목록":"임시콘솔목록("+i.tempConsolList.length+")",class:"q-mr-sm q-mb-sm",icon:"list",onClick:o.callTempConsolList,loading:i.tempConsolLoading},null,8,["label","onClick","loading"]),[[I.aG,"0"==l.isDel&&90<=i.authLevel]])]),(0,V.Lk)("div",Vo,[(0,V.bF)(r,{style:{display:"inline-block"},data:o.parcelList,labels:i.csvHeaders,name:i.csvName},{default:(0,V.k6)(()=>[(0,V.bF)(s,{color:"cyan-7",label:"현재목록백업",icon:"download",class:"q-ml-sm q-mb-sm",disable:0===o.parcelList.length},null,8,["disable"])]),_:1},8,["data","labels","name"]),"1"==l.isDel?((0,V.uX)(),(0,V.Wv)(s,{key:0,color:"orange",label:"복구",class:"q-ml-sm q-mb-sm",onClick:o.reactivate},null,8,["onClick"])):(0,V.Q3)("",!0),(0,V.bo)((0,V.bF)(s,{color:"red",class:"q-ml-sm q-mb-sm",icon:"delete",onClick:o.bulkDelete,disable:0===i.selectedList.length},null,8,["onClick","disable"]),[[I.aG,"0"==l.isDel&&90<=i.authLevel]])])]),(0,V.Lk)("div",Ro,[(0,V.Lk)("div",Mo,[(0,V.Lk)("div",$o,[(0,V.Lk)("div",Uo,[(0,V.Lk)("div",Wo,[a[16]||(a[16]=(0,V.eW)(" 전체 ")),(0,V.Lk)("strong",Bo,(0,R.v_)(l.pagination.rowsNumber),1),(0,V.eW)("건 / 현재 페이지 "+(0,R.v_)(o.parcelList.length)+"건 ",1)]),0i.selectedList=e),selection:"multiple","rows-per-page-options":[50,100,200],rows:o.parcelList,columns:i.columns,pagination:o.tablePagination,"onUpdate:pagination":a[3]||(a[3]=e=>o.tablePagination=e),loading:l.loading,onRequest:o.requestPage,"no-data-label":"조회된 배송상품이 없습니다.","row-key":"id"},{"header-selection":(0,V.k6)(t=>[(0,V.bF)(c,{modelValue:t.selected,"onUpdate:modelValue":e=>t.selected=e,disable:l.loading},null,8,["modelValue","onUpdate:modelValue","disable"])]),body:(0,V.k6)(t=>[(0,V.bF)(p,{props:t,class:"parcel-table-row",onClick:e=>o.onRowClick(e,t.row)},{default:(0,V.k6)(()=>[(0,V.bF)(u,{"auto-width":""},{default:(0,V.k6)(()=>[(0,V.bF)(c,{modelValue:t.selected,"onUpdate:modelValue":e=>t.selected=e,disable:l.loading,onClick:a[1]||(a[1]=(0,I.D$)(()=>{},["stop"]))},null,8,["modelValue","onUpdate:modelValue","disable"])]),_:2},1024),((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(t.cols,e=>((0,V.uX)(),(0,V.Wv)(u,{key:e.name,props:t,class:(0,R.C4)({"parcel-description-cell":"itemNames"===e.name,"parcel-state-cell":["statusName","packingOwner","packingStatus","tempConsolStatus","trackingState"].includes(e.name)})},{default:(0,V.k6)(()=>["orderId"===e.name?((0,V.uX)(),(0,V.Wv)(s,{key:0,flat:"",dense:"","no-caps":"",color:"primary",label:e.value||"ID "+t.row.id,"aria-label":`주문 ${e.value||t.row.id} 상세 열기`,onClick:(0,I.D$)(e=>o.openParcelDetails(t.row),["stop"])},null,8,["label","aria-label","onClick"])):"isPrinted"===e.field?((0,V.uX)(),(0,V.CE)(V.FK,{key:1},[1==e.value?((0,V.uX)(),(0,V.Wv)(n,{key:0,color:"red",label:"출력","aria-label":"운송장이 출력된 주문"},{default:(0,V.k6)(()=>[(0,V.bF)(m,null,{default:(0,V.k6)(()=>a[18]||(a[18]=[(0,V.eW)("운송장이 출력된 주문입니다.")])),_:1,__:[18]})]),_:1})):((0,V.uX)(),(0,V.CE)("span",Xo,"-"))],64)):"packingStatus"===e.name?((0,V.uX)(),(0,V.Wv)(n,{key:2,color:o.getPackingStatusColor(t.row.packingStatus),"text-color":"white"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(o.getPackingStatusLabel(t.row)),1)]),_:2},1032,["color"])):"tempConsolStatus"===e.field?((0,V.uX)(),(0,V.Wv)(n,{key:3,color:o.getTempConsolStatusColor(t.row.tempConsolStatus),"text-color":"white"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(o.getTempConsolStatusLabel(t.row.tempConsolStatus)),1)]),_:2},1032,["color"])):"trackingState"===e.field?((0,V.uX)(),(0,V.CE)("div",Ko,[(0,V.bF)(n,{color:o.getTrackingStatusColor(t.row.trackingState),"text-color":"white"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.trackingState||"미조회"),1)]),_:2},1032,["color"]),(0,V.bF)(s,{dense:"",round:"",flat:"",size:"sm",icon:"local_shipping","aria-label":`${t.row.hblNo||"H/BL 미등록"} 배송조회`,disable:!t.row.hblNo,onClick:(0,I.D$)(e=>o.openTrackingModal(t.row),["stop"])},{default:(0,V.k6)(()=>[(0,V.bF)(m,null,{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.hblNo?"배송조회":"H/BL 번호 없음"),1)]),_:2},1024)]),_:2},1032,["aria-label","disable","onClick"])])):"packingOwner"===e.name?((0,V.uX)(),(0,V.Wv)(n,{key:5,outline:"",color:o.getPackingOwnerColor(t.row.packingOwner)},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(o.getPackingOwnerLabel(t.row.packingOwner)),1)]),_:2},1032,["color"])):"statusName"===e.name?((0,V.uX)(),(0,V.Wv)(n,{key:6,outline:"",color:"primary"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(e.value||"-"),1)]),_:2},1024)):"itemNames"===e.field?((0,V.uX)(),(0,V.CE)("div",Qo,[(0,V.eW)((0,R.v_)(e.value||"-")+" ",1),e.value?((0,V.uX)(),(0,V.Wv)(m,{key:0,anchor:"bottom middle",self:"top middle",offset:[0,8],style:{"max-width":"500px","white-space":"normal","overflow-wrap":"anywhere"}},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(e.value),1)]),_:2},1024)):(0,V.Q3)("",!0)])):((0,V.uX)(),(0,V.CE)(V.FK,{key:8},[(0,V.eW)((0,R.v_)(e.value),1)],64))]),_:2},1032,["props","class"]))),128))]),_:2},1032,["props","onClick"])]),_:1},8,["selected","rows","columns","pagination","loading","onRequest"])])]),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(b,{modelValue:i.modifyModalShow,"onUpdate:modelValue":a[5]||(a[5]=e=>i.modifyModalShow=e)},{default:(0,V.k6)(()=>[(0,V.bF)(h,{selectedParcel:i.selectedList,user:i.userType,onRefreshList:o.reloadParcelList,onCloseModal:a[4]||(a[4]=e=>i.modifyModalShow=!1)},null,8,["selectedParcel","user","onRefreshList"])]),_:1},8,["modelValue"])])),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(b,{modelValue:i.consolModalShow,"onUpdate:modelValue":a[7]||(a[7]=e=>i.consolModalShow=e)},{default:(0,V.k6)(()=>[(0,V.bF)(f,{selectedOrders:i.selectedList,onRefreshList:o.reloadParcelList,onCloseModal:a[6]||(a[6]=e=>{i.consolModalShow=!1,i.selectedList=[]})},null,8,["selectedOrders","onRefreshList"])]),_:1},8,["modelValue"])])),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(b,{modelValue:i.pdfModalShow,"onUpdate:modelValue":a[8]||(a[8]=e=>i.pdfModalShow=e),persistent:""},{default:(0,V.k6)(()=>[(0,V.bF)(v,{parcelList:i.selectedList,onCloseModal:o.closePdfPreview},null,8,["parcelList","onCloseModal"])]),_:1},8,["modelValue"])])),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(b,{modelValue:i.trackingModalShow,"onUpdate:modelValue":a[10]||(a[10]=e=>i.trackingModalShow=e),persistent:""},{default:(0,V.k6)(()=>[(0,V.bF)(F,{style:{width:"760px","max-width":"95vw"}},{default:(0,V.k6)(()=>[(0,V.bF)(k,null,{default:(0,V.k6)(()=>[(0,V.Lk)("div",Go,[(0,V.Lk)("div",Ho,[a[19]||(a[19]=(0,V.Lk)("div",{class:"text-h6"},"배송조회",-1)),(0,V.Lk)("div",jo,(0,R.v_)(i.trackingTarget?.orderId||i.trackingTarget?.id)+" / "+(0,R.v_)(i.trackingTarget?.hblNo),1)]),(0,V.Lk)("div",Yo,[(0,V.bo)((0,V.bF)(s,{onClick:a[9]||(a[9]=e=>i.trackingModalShow=!1),flat:"",round:"",dense:"",icon:"close"},null,512),[[q]])])])]),_:1}),(0,V.bF)(k,{class:"q-pt-none"},{default:(0,V.k6)(()=>[i.trackingLoading?((0,V.uX)(),(0,V.CE)("div",Zo,[(0,V.bF)(y,{color:"primary",size:"32px"})])):((0,V.uX)(),(0,V.CE)(V.FK,{key:1},[(0,V.Lk)("div",Jo,[(0,V.Lk)("div",es,[(0,V.Lk)("div",ts,[a[20]||(a[20]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"현재 상태",-1)),(0,V.bF)(n,{color:o.getTrackingStatusColor(i.trackingInfo?.track_state||i.trackingInfo?.trackState),"text-color":"white"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(i.trackingInfo?.track_state||i.trackingInfo?.trackState||"미조회"),1)]),_:1},8,["color"])])]),(0,V.Lk)("div",as,[(0,V.Lk)("div",ls,[a[21]||(a[21]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"마지막 조회",-1)),(0,V.Lk)("div",null,(0,R.v_)(i.trackingInfo?.last_checked_at||i.trackingInfo?.lastCheckedAt||"-"),1)])]),(0,V.Lk)("div",is,[(0,V.Lk)("div",os,[a[22]||(a[22]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"마지막 처리",-1)),(0,V.Lk)("div",null,(0,R.v_)(i.trackingInfo?.last_event_status||i.trackingInfo?.lastEventStatus||"-"),1)])])]),i.trackingInfo?.last_error_message||i.trackingInfo?.errorMessage?((0,V.uX)(),(0,V.Wv)(L,{key:0,class:"q-mb-md bg-red-1 text-red-9"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(i.trackingInfo?.last_error_message||i.trackingInfo?.errorMessage),1)]),_:1})):(0,V.Q3)("",!0),i.trackingInfo?.details?.length?((0,V.uX)(),(0,V.Wv)(C,{key:1,bordered:"",separator:""},{default:(0,V.k6)(()=>[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(i.trackingInfo.details,(e,t)=>((0,V.uX)(),(0,V.Wv)(x,{key:`${e.sortNo||t}-${e.date}-`+e.time},{default:(0,V.k6)(()=>[(0,V.bF)(w,null,{default:(0,V.k6)(()=>[(0,V.bF)(_,null,{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(e.status||"-")+" ",1),(0,V.Lk)("span",ss,(0,R.v_)(e.location||"-"),1)]),_:2},1024),(0,V.bF)(_,{caption:""},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(e.date||"-")+" "+(0,R.v_)(e.time||""),1)]),_:2},1024),e.remark?((0,V.uX)(),(0,V.Wv)(_,{key:0,caption:""},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(e.remark),1)]),_:2},1024)):(0,V.Q3)("",!0)]),_:2},1024)]),_:2},1024))),128))]),_:1})):((0,V.uX)(),(0,V.CE)("div",rs," 저장된 배송 진행 내역이 없습니다. "))],64))]),_:1}),(0,V.bF)(S,{align:"right"},{default:(0,V.k6)(()=>[(0,V.bF)(s,{flat:"",color:"primary",icon:"refresh",label:"수동 재조회",loading:i.trackingLoading,onClick:o.refreshTracking},null,8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])])),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(b,{modelValue:i.tempListModalShow,"onUpdate:modelValue":a[14]||(a[14]=e=>i.tempListModalShow=e),persistent:""},{default:(0,V.k6)(()=>[(0,V.bF)(F,{style:{width:"1180px","max-width":"95vw"}},{default:(0,V.k6)(()=>[(0,V.bF)(k,null,{default:(0,V.k6)(()=>[(0,V.Lk)("div",ns,[a[23]||(a[23]=(0,V.Lk)("div",{class:"col"},[(0,V.Lk)("div",{class:"text-h6"},"임시콘솔목록"),(0,V.Lk)("div",{class:"text-caption text-grey-7"}," 포장완료 후 실제 콘솔 연결을 기다리는 DB 기준 대기 목록입니다. ")],-1)),(0,V.Lk)("div",ds,[(0,V.bo)((0,V.bF)(s,{onClick:a[11]||(a[11]=e=>o.closeModal()),flat:"",round:"",dense:"",icon:"close"},null,512),[[q]])])])]),_:1}),(0,V.bF)(k,{class:"q-pt-none"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",cs,[(0,V.Lk)("div",us,[(0,V.Lk)("div",ms,[a[24]||(a[24]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"대기 오더",-1)),(0,V.Lk)("div",ps,(0,R.v_)(o.tempConsolSummary.orderCount),1)])]),(0,V.Lk)("div",gs,[(0,V.Lk)("div",hs,[a[25]||(a[25]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"선택",-1)),(0,V.Lk)("div",bs,(0,R.v_)(o.tempConsolSummary.selectedCount),1)])]),(0,V.Lk)("div",fs,[(0,V.Lk)("div",vs,[a[26]||(a[26]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"파트너",-1)),(0,V.Lk)("div",ks,(0,R.v_)(o.tempConsolSummary.partnerCount),1)])]),(0,V.Lk)("div",ys,[(0,V.Lk)("div",Ls,[a[27]||(a[27]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"총 수량 / 중량",-1)),(0,V.Lk)("div",_s,(0,R.v_)(o.tempConsolSummary.totalQty)+" / "+(0,R.v_)(o.tempConsolSummary.totalWeight)+"kg",1)])])]),(0,V.Lk)("div",ws,[(0,V.Lk)("div",xs,[(0,V.bF)(s,{color:"primary",size:"md",label:"선택 건 콘솔 연결",disable:0===i.selectedTempConsolList.length,onClick:a[12]||(a[12]=e=>o.callConsolModal("inTemp"))},null,8,["disable"]),(0,V.bF)(s,{color:"negative",outline:"",size:"md",label:"선택 해제",class:"q-ml-sm",disable:0===i.selectedTempConsolList.length,onClick:o.clearSelectedTempConsol},null,8,["disable","onClick"])]),(0,V.Lk)("div",Cs,[(0,V.bF)(s,{color:"grey-7",outline:"",size:"md",icon:"refresh",label:"새로고침",loading:i.tempConsolLoading,onClick:o.loadTempConsolList},null,8,["loading","onClick"]),(0,V.bF)(s,{color:"grey-7",size:"md",label:"전체 비우기",class:"q-ml-sm",disable:0===i.tempConsolList.length,onClick:o.emptyConsol},null,8,["disable","onClick"])])]),(0,V.Lk)("div",Ss,[(0,V.Lk)("div",Fs,[(0,V.bF)(g,{class:"my-sticky-virtscroll-table","virtual-scroll":"",selected:i.selectedTempConsolList,"onUpdate:selected":a[13]||(a[13]=e=>i.selectedTempConsolList=e),selection:"multiple",loading:i.tempConsolLoading,"rows-per-page-options":[0],"virtual-scroll-sticky-size-start":48,rows:i.tempConsolList,columns:i.tempConsolColumns,"row-key":"id"},{"body-cell-itemNames":(0,V.k6)(e=>[(0,V.bF)(u,{props:e,class:"temp-consol-item-name"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(e.value||"-"),1)]),_:2},1032,["props"])]),_:1},8,["selected","loading","rows","columns"])])])]),_:1})]),_:1})]),_:1},8,["modelValue"])]))],64)}],["__scopeId","data-v-82fc77c4"]])},data(){return{description:{title:"통합조회"},regId:this.$store.getters.getLocalSession.id,receiver:"",mobileCountry:"",mobileNum:"",customerEmail:"",courierCode:"",courierNum:"",customerId:"",orderNum:"",hblNo:"",mblNo:"",statusCode:[],shippingMethod:[],proxyDate:{},isDel:"0",partnerId:"",consoleFilter:"",tempConsolStatus:"",packingStatus:"",session:this.$store.getters.getLocalSession,authLevel:Number(this.$store.getters.getLocalSession.authLevel),isRefreshingRecent:!1,recentPackedLoading:!1,recentPatchAt:"",parcelLoading:!1,parcelRequestId:0,activeParcelFilters:null,parcelPagination:{page:1,rowsPerPage:100,rowsNumber:0,sortBy:null,descending:!0}}},computed:{recentPackedOrders(){return this.$store.getters.getRecentPackedOrders||[]},recentPackedOrderNos(){return this.recentPackedOrders.map(e=>e.orderNo).filter(Boolean)},recentPackedPreview(){return this.recentPackedOrders.slice(0,3)},hasRecentPackedOrders(){return 0String(e).trim()).filter(Boolean)),e={receiverName:this.receiver,regId:this.regId,receiverMobile:this.mobileNum,email:this.customerEmail,courierCode:this.courierCode,courierNum:this.courierNum,customerNum:this.customerId,orderId:e(this.orderNum),hblNo:e(this.hblNo),mblNo:e(this.mblNo),status:this.statusCode,freightMethod:this.shippingMethod,regDate:this.proxyDate,isDel:this.isDel,partnerId:this.partnerId,tempConsolStatus:this.tempConsolStatus,packingStatus:this.packingStatus};return 90<=this.authLevel&&""!==this.consoleFilter&&(e.consoleId="Y"===this.consoleFilter),JSON.parse(JSON.stringify(e))},async loadParcelList(){return this.fetchParcelPage({...this.parcelPagination,page:1},this.buildParcelFilters())},async reloadParcelPage(){if(this.activeParcelFilters)return this.fetchParcelPage(this.parcelPagination)},async requestParcelPage(e){var t;if(!this.parcelLoading&&this.activeParcelFilters)return t=e.rowsPerPage!==this.parcelPagination.rowsPerPage||e.sortBy!==this.parcelPagination.sortBy||e.descending!==this.parcelPagination.descending,this.fetchParcelPage({...e,page:t?1:e.page})},async fetchParcelPage(e,t=this.activeParcelFilters){if(t){var a=++this.parcelRequestId,t=JSON.parse(JSON.stringify(t));this.parcelLoading=!0,this.$refs.parcelListCompRef?.clearSelection?.();try{var l=await this.$http({method:"POST",url:"/api/parcel/parcel",data:{...t,includePagination:!0,paging:e.page-1,pageSize:e.rowsPerPage,sortBy:e.sortBy,descending:e.descending},name:"[ AXIOS / 통합조회 / 페이지 조회 ]"});if(a===this.parcelRequestId){var i=l.data;if(!Array.isArray(i?.rows)||!Number.isFinite(Number(i?.pagination?.total)))throw new Error("통합조회 페이지 정보를 확인할 수 없습니다.");var o=i.pagination;if(0=o.totalPages)return await this.fetchParcelPage({...e,page:o.totalPages},t);this.$store.dispatch("loadParcel",i.rows),this.activeParcelFilters=t,this.parcelPagination={...e,page:0===o.total?1:o.page+1,rowsPerPage:o.pageSize,rowsNumber:o.total},this.recentPatchAt=""}}catch(e){a===this.parcelRequestId&&(this.$log.error("[ 통합조회 / 페이지 조회 실패 ]",e),this.$q.notify({type:"negative",message:"목록 조회에 실패했습니다. 다시 조회해 주세요.",position:"top"}))}finally{a===this.parcelRequestId&&(this.parcelLoading=!1)}}},formatDateTime(e=new Date){var t=e=>String(e).padStart(2,"0");return e.getFullYear()+`-${t(e.getMonth()+1)}-${t(e.getDate())} ${t(e.getHours())}:${t(e.getMinutes())}:`+t(e.getSeconds())},quoteList(e){return e.map(e=>`'${String(e).replace(/'/g,"\\'")}'`)},getRecentLookupDateRange(){if(this.proxyDate?.from&&this.proxyDate?.to)return this.proxyDate;let t=e=>String(e).padStart(2,"0");var e=new Date,a=new Date,l=(a.setMonth(a.getMonth()-2),e=>`${e.getFullYear()}-${t(e.getMonth()+1)}-`+t(e.getDate()));return{from:l(a),to:l(e)}},normalizeRecentPackedRows(e=[]){return Array.isArray(e)?e.map(e=>({orderId:e.orderId||null,orderNo:e.orderNo||"-",hblNo:e.hblNo||"-",itemNames:e.itemNames||"-",partnerId:e.partnerId||null,partnerName:e.partnerName||"-",packingStatus:e.packingStatus||"COMPLETED",tempConsolStatus:e.tempConsolStatus||"READY",packingCompletedAt:e.packingCompletedAt||"",tempConsolReadyAt:e.tempConsolReadyAt||"",totalQty:Number(e.totalQty||0),totalWeight:Number(e.totalWeight||0)})):[]},async loadRecentPackedOrders(){if(!this.recentPackedLoading)try{this.recentPackedLoading=!0;var e=await this.$http({method:"POST",url:"/api/fulfillment/packing/recent-completed",data:{hours:24,limit:30},name:"[ AXIOS / 통합조회 / 최근 포장완료 조회 ]"}),t=this.normalizeRecentPackedRows(e?.data?.data?.rows||[]);this.$store.dispatch("setRecentPackedOrders",t)}catch(e){this.$log.warn("[ 통합조회 / 최근 포장완료 조회 실패 ]",e)}finally{this.recentPackedLoading=!1}},async refreshRecentPackedRows(){var e=this.recentPackedOrderNos;if(0!==e.length&&!this.isRefreshingRecent){e={receiverName:"",regId:this.regId,receiverMobile:"",email:"",courierCode:"",courierNum:"",customerNum:"",orderId:this.quoteList(e),hblNo:[],mblNo:[],status:[],freightMethod:[],regDate:this.getRecentLookupDateRange(),isDel:this.isDel,partnerId:"",tempConsolStatus:"",paging:"0"};try{this.isRefreshingRecent=!0;var a=await this.$http({method:"POST",url:"/api/parcel/parcel",data:e,name:"[ AXIOS / 최근 포장완료 변경건 조회 ]"}),l=Array.isArray(a.data)?a.data:[];let t=new Set((this.$store.getters.getParcelList||[]).map(e=>String(e.orderId)));var i=l.map(e=>String(e.orderId)).filter(e=>t.has(e));this.$store.dispatch("patchParcelRows",l),this.$store.dispatch("removeRecentPackedOrders",i),this.recentPatchAt=this.formatDateTime(),this.$q.notify({type:0[(0,V.Lk)("div",Ni,[(0,V.Lk)("div",Ei,[(0,V.bF)(r,{desc:i.description},{default:(0,V.k6)(()=>[90<=Number(i.session.authLevel)?((0,V.uX)(),(0,V.Wv)(s,{key:0,modelValue:i.isDel,"onUpdate:modelValue":[t[0]||(t[0]=e=>i.isDel=e),t[1]||(t[1]=e=>o.modeChange())],"true-value":"1","false-value":"0","checked-icon":"check",color:"red",label:"0"==i.isDel?"삭제된 상품 관리":"삭제된 상품 관리 해제","left-label":"","unchecked-icon":"clear"},null,8,["modelValue","label"])):(0,V.Q3)("",!0)]),_:1},8,["desc"])])]),i.recentPackedLoading||o.hasRecentPackedOrders||i.recentPatchAt?((0,V.uX)(),(0,V.CE)("div",Di,[(0,V.Lk)("div",Oi,[(0,V.Lk)("div",Vi,[(0,V.Lk)("div",Ri,[(0,V.bF)(n,{name:"inventory_2",size:"28px",color:"yellow-9"}),(0,V.Lk)("div",null,[t[2]||(t[2]=(0,V.Lk)("div",{class:"recent-packed-notice__title"}," 포장 화면에서 변경된 건이 있습니다 ",-1)),(0,V.Lk)("div",Mi,[i.recentPackedLoading?((0,V.uX)(),(0,V.CE)(V.FK,{key:0},[(0,V.eW)(" 최근 24시간 포장완료 콘솔대기 건을 확인하는 중입니다. ")],64)):o.hasRecentPackedOrders?((0,V.uX)(),(0,V.CE)(V.FK,{key:1},[(0,V.eW)(" 최근 24시간 포장완료 "+(0,R.v_)(o.recentPackedOrders.length)+"건이 콘솔대기 상태로 반영되었습니다. 현재 목록은 이전 조회 결과일 수 있습니다. ",1)],64)):i.recentPatchAt?((0,V.uX)(),(0,V.CE)(V.FK,{key:2},[(0,V.eW)(" 변경 건 반영 완료: "+(0,R.v_)(i.recentPatchAt)+". 전체 조건 기준 확인은 배송상품검색을 실행하세요. ",1)],64)):(0,V.Q3)("",!0)]),o.hasRecentPackedOrders?((0,V.uX)(),(0,V.CE)("div",$i,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(o.recentPackedPreview,e=>((0,V.uX)(),(0,V.CE)("span",{key:e.orderNo,class:"recent-packed-preview__item"},(0,R.v_)(e.orderNo)+" / "+(0,R.v_)(e.hblNo),1))),128))])):(0,V.Q3)("",!0)])]),(0,V.Lk)("div",Ui,[i.recentPackedLoading?((0,V.uX)(),(0,V.Wv)(d,{key:0,color:"primary",size:"24px"})):(0,V.Q3)("",!0),(0,V.bF)(c,{color:"yellow-9","text-color":"white",icon:"sync",label:"변경 건만 조회",loading:i.isRefreshingRecent,disable:!o.hasRecentPackedOrders,onClick:o.refreshRecentPackedRows},null,8,["loading","disable","onClick"]),(0,V.bF)(c,{color:"primary",outline:"",icon:"inventory",label:"임시콘솔 보기",onClick:o.openTempConsolList},null,8,["onClick"]),(0,V.bF)(c,{color:"grey-8",outline:"",icon:"refresh",label:"전체 재조회",onClick:o.lookupParcel},null,8,["onClick"]),(0,V.bF)(c,{flat:"",color:"grey-7",icon:"close",label:"닫기",onClick:o.clearRecentPackedNotice},null,8,["onClick"])])])])])):(0,V.Q3)("",!0),(0,V.Lk)("div",Wi,[(0,V.Lk)("div",Bi,[(0,V.bF)(u,{onLookupOptSync:o.lookupOptSync,onLookupParcel:o.lookupParcel},null,8,["onLookupOptSync","onLookupParcel"])])]),(0,V.Lk)("div",zi,[(0,V.Lk)("div",Xi,[(0,V.Lk)("div",Ki,[(0,V.bF)(m,{ref:"parcelListCompRef","is-del":i.isDel,pagination:i.parcelPagination,loading:i.parcelLoading,onReloadParcelList:o.reloadParcelPage,onRequestPage:o.requestParcelPage},null,8,["is-del","pagination","loading","onReloadParcelList","onRequestPage"])])])])]),_:1})}],["__scopeId","data-v-2aa1c308"]]));let Kn={class:"row q-mb-lg"},Qn={class:"col"},Gn={key:1,class:"row justify-center q-mt-md"};let Hn={delayed:"지연 화물 처리 목록",stalled:"상태 정체 화물 목록",received:"오더접수 목록",completed:"수령완료 목록",status:"현재 상태별 화물 목록"},jn={name:"AdminDashboardOrderList",components:{Title:b},data(){return{loading:!1,error:!1,total:0,rows:[],page:1,pageSize:50,description:{title:Hn[this.$route.query.view]||"대시보드 조회 목록"},columns:[{name:"delayed_days",label:"접수 경과일",field:e=>`${e.delayed_days||0}일`,align:"center"},{name:"stalled_days",label:"정체일",field:e=>`${e.stalled_days||0}일`,align:"center"},{name:"statusName",label:"현재 상태",field:e=>e.statusName||"-",align:"center"},{name:"hblNo",label:"H/BL No.",field:"hblNo",align:"left"},{name:"orderId",label:"Order No.",field:"orderId",align:"left"},{name:"partnerName",label:"파트너",field:e=>e.partnerName||"-",align:"left"},{name:"acceptedAt",label:"오더접수 시각",field:"acceptedAt",align:"left"},{name:"lastStatusChangedAt",label:"최근 상태 변경",field:"lastStatusChangedAt",align:"left"},{name:"trackingState",label:"배송조회 상태",field:e=>e.trackingState||"미조회",align:"center"},{name:"actions",label:"",field:"actions",align:"center"}]}},computed:{maxPage(){return Math.max(Math.ceil(this.total/this.pageSize),1)},criteria(){return"delayed"===this.$route.query.view?"오더접수 후 30일 이상이며 현재 수령완료가 아닌 화물":"stalled"===this.$route.query.view?"최근 상태 변경 후 7일 이상이며 현재 수령완료가 아닌 화물":"status"===this.$route.query.view?"오더접수 이력이 있고 현재 선택한 상태인 화물":"completed"===this.$route.query.view?"선택 기간에 오더접수됐고 현재 수령완료인 화물":"선택 기간에 오더접수 이력이 최초로 발생한 화물"}},methods:{async loadRows(){this.loading=!0,this.error=!1;try{var e=await this.$http({method:"POST",url:"/api/dashboard/orders",data:{view:this.$route.query.view,period:this.$route.query.period,comparison:this.$route.query.comparison,date:this.$route.query.date,status:this.$route.query.status,partnerId:this.$route.query.partnerId,page:this.page,pageSize:this.pageSize},name:"[ Axios / 대시보드 상세 목록 ]"});this.rows=e?.data?.items||[],this.total=Number(e?.data?.total||0)}catch(e){this.$log.error("[ 대시보드 상세 목록 ]",e),this.rows=[],this.total=0,this.error=!0}finally{this.loading=!1}},goToOrder(e){e?.hblNo&&this.$router.push({name:"Admin-parcel-infomation",query:{departure:"dashboard",hblNo:e.hblNo}})},goBack(){this.$router.push("/admin/dashboard")}},mounted(){this.loadRows()}};t=(0,e.A)(jn,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-tooltip"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("Title"),d=(0,V.g2)("q-banner"),c=(0,V.g2)("q-td"),u=(0,V.g2)("q-table"),m=(0,V.g2)("q-pagination");var p=(0,V.g2)("q-page");return(0,V.uX)(),(0,V.Wv)(p,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Kn,[(0,V.Lk)("div",Qn,[(0,V.bF)(n,{desc:i.description},{default:(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",round:"",dense:"",color:"primary",icon:"arrow_back","aria-label":"대시보드로 돌아가기",onClick:o.goBack},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[1]||(t[1]=[(0,V.eW)("대시보드로 돌아가기")])),_:1,__:[1]})]),_:1},8,["onClick"]),(0,V.bF)(r,{flat:"",round:"",dense:"",color:"primary",icon:"refresh","aria-label":"새로고침",onClick:o.loadRows},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[2]||(t[2]=[(0,V.eW)("새로고침")])),_:1,__:[2]})]),_:1},8,["onClick"])]),_:1},8,["desc"])])]),(0,V.bF)(d,{class:"bg-blue-1 text-blue-10 q-mb-md",rounded:""},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(o.criteria)+" · "+(0,R.v_)(i.total)+"건 ",1)]),_:1}),i.error?((0,V.uX)(),(0,V.Wv)(d,{key:0,class:"bg-red-1 text-negative q-mb-md",rounded:""},{default:(0,V.k6)(()=>t[3]||(t[3]=[(0,V.eW)(" 목록을 불러오지 못했습니다. 새로고침 후 다시 시도해 주세요. ")])),_:1,__:[3]})):(0,V.Q3)("",!0),(0,V.bF)(u,{flat:"",bordered:"","row-key":"id",rows:i.rows,columns:i.columns,loading:i.loading,pagination:{rowsPerPage:i.pageSize},"no-data-label":"조회된 화물이 없습니다."},{"body-cell-actions":(0,V.k6)(t=>[(0,V.bF)(c,{props:t},{default:(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",dense:"",color:"primary",label:"통합조회",onClick:e=>o.goToOrder(t.row)},null,8,["onClick"])]),_:2},1032,["props"])]),_:1},8,["rows","columns","loading","pagination"]),1i.page=e),o.loadRows],max:o.maxPage,color:"primary"},null,8,["modelValue","max","onUpdate:modelValue"])])):(0,V.Q3)("",!0)]),_:1})}]]);let Yn={class:"row q-mb-lg"},Zn={class:"col"},Jn={class:"title-meta"},ed={class:"meta-chip"},td={class:"meta-chip"},ad={class:"row q-mb-md"},ld={class:"col"},id={class:"row q-mb-sm"},od={class:"col"},sd={class:"lookup-range-bar"},rd={class:"partner-context-bar q-mt-sm"},nd={class:"partner-context-control"},dd={class:"row q-col-gutter-sm"},cd={class:"col-12 col-lg-7"},ud={class:"row q-col-gutter-sm q-mb-sm top-equal-row"},md={class:"col-12 col-lg-5"},pd={key:0,class:"recent-packed-panel q-mt-sm"},gd={class:"recent-packed-header"},hd={class:"recent-packed-caption"},bd={key:0,class:"recent-packed-list"},fd={class:"recent-packed-main"},vd={class:"recent-packed-order"},kd={class:"recent-packed-sub"},yd={key:1,class:"recent-packed-empty"},Ld={class:"text-body2 q-mt-sm"},_d={class:"text-body2"},wd={key:0,role:"alert",class:"text-negative q-mt-md"},xd={class:"text-body2 q-mt-sm"},Cd={class:"scan-milestone-product"},Sd={class:"scan-milestone-name"},Fd={class:"text-caption text-grey-7 q-mt-xs"},qd={key:0},Id={class:"text-body2 q-mt-sm"},Pd={key:0,role:"alert",class:"text-negative q-mt-sm"},Ad={class:"draft-sku-list"},Td={class:"draft-sku-item__header"},Nd={class:"draft-sku-item__name"},Ed={class:"draft-sku-item__meta"},Dd={class:"draft-sku-section"},Od={class:"row q-col-gutter-sm"},Vd={class:"col-12 col-sm-4"},Rd={class:"col-12 col-sm-4"},Md={class:"col-12 col-sm-4"},$d={class:"draft-sku-section"},Ud={class:"draft-logistics-grid"},Wd={class:"draft-logistics-group"},Bd={class:"row q-col-gutter-sm"},zd={class:"col-12 col-sm-6"},Xd={class:"col-12 col-sm-6"},Kd={class:"draft-logistics-group draft-logistics-group--wide"},Qd={class:"row q-col-gutter-sm items-end"},Gd={class:"col-12 col-sm-4 col-md"},Hd={class:"col-12 col-sm-4 col-md"},jd={class:"col-12 col-sm-4 col-md"},Yd={class:"col-12 col-sm-6 col-md"},Zd={class:"col-12 col-sm-6 col-md-auto"},Jd={class:"packing-waybill-capture"};v(16573),v(78100),v(77936),v(79577),v(41549),v(49797),v(49631),v(35623),v(64979);let ec={class:"text-center"},tc={key:0};y={name:"ManualLookupDialog",props:{modelValue:{type:Boolean,default:!1},keyword:{type:String,default:""},rows:{type:Array,default:()=>[]},loading:{type:Boolean,default:!1}},emits:["update:modelValue","update:keyword","search","select","close"],watch:{modelValue(e){e&&this.$nextTick(()=>{var e=this.$refs.manualLookupInputRef;e&&"function"==typeof e.focus&&e.focus()})}},methods:{onClose(){this.$emit("update:modelValue",!1),this.$emit("close")},onKeywordInput(e){this.$emit("update:keyword",e)},onSearch(){this.$emit("search")},onSelect(e){this.$emit("select",e)}}},v(52283),y=(0,e.A)(y,[["render",function(t,e,a,l,i,o){let s=(0,V.g2)("q-space"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("q-card-section"),d=(0,V.g2)("q-input"),c=(0,V.g2)("q-spinner"),u=(0,V.g2)("q-markup-table"),m=(0,V.g2)("q-card");var p=(0,V.g2)("q-dialog");let g=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.Wv)(p,{"model-value":a.modelValue,"onUpdate:modelValue":e[0]||(e[0]=e=>t.$emit("update:modelValue",e)),onHide:o.onClose},{default:(0,V.k6)(()=>[(0,V.bF)(m,{class:"manual-lookup-modal"},{default:(0,V.k6)(()=>[(0,V.bF)(n,{class:"row items-center q-pb-sm"},{default:(0,V.k6)(()=>[e[1]||(e[1]=(0,V.Lk)("div",{class:"text-h6"},"수동 조회",-1)),(0,V.bF)(s),(0,V.bo)((0,V.bF)(r,{flat:"",round:"",dense:"",icon:"close"},null,512),[[g]])]),_:1,__:[1]}),(0,V.bF)(n,{class:"q-pt-none"},{default:(0,V.k6)(()=>[(0,V.bF)(d,{ref:"manualLookupInputRef","model-value":a.keyword,clearable:"",label:"오더번호 / HBL / 고객명 / 바코드 검색","onUpdate:modelValue":o.onKeywordInput,onKeyup:(0,I.jR)(o.onSearch,["enter"])},{append:(0,V.k6)(()=>[(0,V.bF)(r,{color:"primary",label:"검색",loading:a.loading,onClick:o.onSearch},null,8,["loading","onClick"])]),_:1},8,["model-value","onUpdate:modelValue","onKeyup"])]),_:1}),a.loading?((0,V.uX)(),(0,V.Wv)(n,{key:0,class:"q-pt-none text-center"},{default:(0,V.k6)(()=>[(0,V.bF)(c,{color:"primary",size:"28px"}),e[2]||(e[2]=(0,V.Lk)("div",{class:"text-caption text-grey-7 q-mt-xs"},"수동조회 목록 불러오는 중...",-1))]),_:1,__:[2]})):((0,V.uX)(),(0,V.Wv)(n,{key:1,class:"q-pt-none"},{default:(0,V.k6)(()=>[(0,V.bF)(u,{flat:"",bordered:""},{default:(0,V.k6)(()=>[e[4]||(e[4]=(0,V.Lk)("thead",null,[(0,V.Lk)("tr",null,[(0,V.Lk)("th",{class:"text-left"},"오더번호"),(0,V.Lk)("th",{class:"text-left"},"HBL"),(0,V.Lk)("th",{class:"text-left"},"고객명"),(0,V.Lk)("th",{class:"text-left"},"목적지"),(0,V.Lk)("th",{class:"text-left"},"첫 바코드"),(0,V.Lk)("th",{class:"text-left"},"생성시각"),(0,V.Lk)("th",{class:"text-center"},"선택")])],-1)),(0,V.Lk)("tbody",null,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(a.rows,t=>((0,V.uX)(),(0,V.CE)("tr",{key:t.orderNo},[(0,V.Lk)("td",null,(0,R.v_)(t.orderNo),1),(0,V.Lk)("td",null,(0,R.v_)(t.hblNo),1),(0,V.Lk)("td",null,(0,R.v_)(t.customerName),1),(0,V.Lk)("td",null,(0,R.v_)(t.destination),1),(0,V.Lk)("td",null,(0,R.v_)(t.firstBarcode),1),(0,V.Lk)("td",null,(0,R.v_)(t.createdAt),1),(0,V.Lk)("td",ec,[(0,V.bF)(r,{dense:"",color:"primary",label:"선택",onClick:e=>o.onSelect(t)},null,8,["onClick"])])]))),128)),a.rows.length?(0,V.Q3)("",!0):((0,V.uX)(),(0,V.CE)("tr",tc,e[3]||(e[3]=[(0,V.Lk)("td",{colspan:"7",class:"text-center text-grey-7"}," 조회 결과가 없습니다. ",-1)])))])]),_:1,__:[4]})]),_:1}))]),_:1})]),_:1},8,["model-value","onHide"])}],["__scopeId","data-v-aa4fbd80"]]);var L={name:"CompletionActionDialog",props:{modelValue:{type:Boolean,default:!1}},emits:["update:modelValue","next-order","reset"],methods:{onNextOrder(){this.$emit("next-order")},onReset(){this.$emit("reset")}}},L=(v(12266),(0,e.A)(L,[["render",function(t,e,a,l,i,o){let s=(0,V.g2)("q-card-section"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("q-card-actions"),d=(0,V.g2)("q-card");var c=(0,V.g2)("q-dialog");return(0,V.uX)(),(0,V.Wv)(c,{"model-value":a.modelValue,"onUpdate:modelValue":e[0]||(e[0]=e=>t.$emit("update:modelValue",e)),persistent:""},{default:(0,V.k6)(()=>[(0,V.bF)(d,{class:"confirm-modal"},{default:(0,V.k6)(()=>[(0,V.bF)(s,{class:"q-pb-sm"},{default:(0,V.k6)(()=>e[1]||(e[1]=[(0,V.Lk)("div",{class:"text-h6"},"포장 완료",-1)])),_:1,__:[1]}),(0,V.bF)(s,{class:"q-pt-none"},{default:(0,V.k6)(()=>e[2]||(e[2]=[(0,V.eW)(" 현재 오더 포장이 완료되었습니다. 다음 오더를 시작하거나 화면을 초기화하세요. ")])),_:1,__:[2]}),(0,V.bF)(n,{align:"right",class:"q-pa-md q-pt-none"},{default:(0,V.k6)(()=>[(0,V.bF)(r,{color:"red",flat:"",label:"초기화",onClick:o.onReset},null,8,["onClick"]),(0,V.bF)(r,{color:"primary",label:"다음 오더 시작",onClick:o.onNextOrder},null,8,["onClick"])]),_:1})]),_:1})]),_:1},8,["model-value"])}],["__scopeId","data-v-d4888380"]]));var ac={name:"ResetConfirmDialog",props:{modelValue:{type:Boolean,default:!1}},emits:["update:modelValue","confirm","cancel"],methods:{onCancel(){this.$emit("cancel")},onConfirm(){this.$emit("confirm")}}},ac=(v(74536),(0,e.A)(ac,[["render",function(t,e,a,l,i,o){let s=(0,V.g2)("q-card-section"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("q-card-actions"),d=(0,V.g2)("q-card");var c=(0,V.g2)("q-dialog");return(0,V.uX)(),(0,V.Wv)(c,{"model-value":a.modelValue,"onUpdate:modelValue":e[0]||(e[0]=e=>t.$emit("update:modelValue",e))},{default:(0,V.k6)(()=>[(0,V.bF)(d,{class:"confirm-modal"},{default:(0,V.k6)(()=>[(0,V.bF)(s,{class:"q-pb-sm"},{default:(0,V.k6)(()=>e[1]||(e[1]=[(0,V.Lk)("div",{class:"text-h6"},"초기화 확인",-1)])),_:1,__:[1]}),(0,V.bF)(s,{class:"q-pt-none"},{default:(0,V.k6)(()=>e[2]||(e[2]=[(0,V.eW)(" 현재 진행 중인 포장 화면 상태를 초기화할까요? ")])),_:1,__:[2]}),(0,V.bF)(n,{align:"right",class:"q-pa-md q-pt-none"},{default:(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",label:"취소",onClick:o.onCancel},null,8,["onClick"]),(0,V.bF)(r,{color:"red",label:"초기화 실행",onClick:o.onConfirm},null,8,["onClick"])]),_:1})]),_:1})]),_:1},8,["model-value"])}],["__scopeId","data-v-12a93442"]]));let lc={class:"comp-box"},ic={key:0};var _={name:"ScanLogsPanel",props:{logs:{type:Array,default:()=>[]}}},_=(v(64116),(0,e.A)(_,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-badge");var r=(0,V.g2)("q-markup-table");return(0,V.uX)(),(0,V.CE)("div",lc,[t[2]||(t[2]=(0,V.Lk)("h6",{class:"section-title q-mt-none q-mb-sm"},"최근 스캔 로그 (최대 10건)",-1)),(0,V.bF)(r,{flat:"",bordered:"",dense:""},{default:(0,V.k6)(()=>[t[1]||(t[1]=(0,V.Lk)("thead",null,[(0,V.Lk)("tr",null,[(0,V.Lk)("th",{class:"text-left"},"시각"),(0,V.Lk)("th",{class:"text-left"},"유형"),(0,V.Lk)("th",{class:"text-left"},"입력값"),(0,V.Lk)("th",{class:"text-left"},"결과"),(0,V.Lk)("th",{class:"text-left"},"상세")])],-1)),(0,V.Lk)("tbody",null,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(a.logs,e=>((0,V.uX)(),(0,V.CE)("tr",{key:e.id},[(0,V.Lk)("td",null,(0,R.v_)(e.at),1),(0,V.Lk)("td",null,(0,R.v_)(e.type),1),(0,V.Lk)("td",null,(0,R.v_)(e.input),1),(0,V.Lk)("td",null,[(0,V.bF)(s,{color:"SUCCESS"===e.result?"positive":"negative"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(e.result),1)]),_:2},1032,["color"])]),(0,V.Lk)("td",null,(0,R.v_)(e.detail),1)]))),128)),a.logs.length?(0,V.Q3)("",!0):((0,V.uX)(),(0,V.CE)("tr",ic,t[0]||(t[0]=[(0,V.Lk)("td",{colspan:"5",class:"text-center text-grey-7"},"아직 기록이 없습니다.",-1)])))])]),_:1,__:[1]})])}],["__scopeId","data-v-0ce224a8"]]));let oc={class:"flow-mode-row"},sc={class:"flow-mode-summary"},rc={class:"flow-step-row"},nc={class:"flow-step-index"},dc={class:"flow-main"},cc={class:"flow-next"},uc={key:0,class:"flow-progress"},mc={class:"flow-action-row"},pc={key:1,class:"text-caption text-primary"};var w={name:"FlowBanner",props:{pageState:{type:String,default:"IDLE"},packingMode:{type:String,default:"NORMAL"},isExpressMode:{type:Boolean,default:!1},isExpressAvailable:{type:Boolean,default:!1},messageType:{type:String,default:"info"},nextActionText:{type:String,default:""},progressText:{type:String,default:""},selectedOrder:{type:Object,default:null},selectedPartnerLabel:{type:String,default:""},waybillPrintRequested:{type:Boolean,default:!1}},computed:{stateColor(){return"negative"===this.messageType?"negative":"positive"===this.messageType?"positive":this.isExpressMode?"orange-8":"primary"},modeLabel(){return this.isExpressMode?"익스프레스 모드":"일반 모드"},modeColor(){return this.isExpressMode?"orange-8":"primary"},modeSummary(){return this.isExpressMode?"상품 바코드 스캔 즉시 운송장 출력 후 포장완료됩니다.":"상품 바코드, HBL 시작, 상품 확인, HBL 완료 순서로 진행합니다."},steps(){return this.isExpressMode?["상품 바코드","자동 출력","자동 완료"]:["상품 바코드","HBL 시작","상품 확인","HBL 완료"]}}},w=(v(56174),(0,e.A)(w,[["render",function(e,t,a,l,i,o){var s=(0,V.g2)("q-badge"),r=(0,V.g2)("q-space");return(0,V.uX)(),(0,V.CE)("div",{class:(0,R.C4)(["comp-box flow-banner",{"flow-banner--express":a.isExpressMode}])},[(0,V.Lk)("div",oc,[(0,V.bF)(s,{color:o.modeColor,"text-color":"white",class:"flow-mode-badge"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(o.modeLabel),1)]),_:1},8,["color"]),(0,V.Lk)("span",sc,(0,R.v_)(o.modeSummary),1),(0,V.bF)(r),a.isExpressMode?((0,V.uX)(),(0,V.Wv)(s,{key:0,color:"red-8","text-color":"white"},{default:(0,V.k6)(()=>t[0]||(t[0]=[(0,V.eW)(" 스캔 즉시 완료 ")])),_:1,__:[0]})):((0,V.uX)(),(0,V.Wv)(s,{key:1,color:"blue-grey-7","text-color":"white"},{default:(0,V.k6)(()=>t[1]||(t[1]=[(0,V.eW)(" HBL 확인 필요 ")])),_:1,__:[1]}))]),(0,V.Lk)("div",rc,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(o.steps,(e,t)=>((0,V.uX)(),(0,V.CE)("div",{key:e,class:(0,R.C4)(["flow-step",{"flow-step--express":a.isExpressMode}])},[(0,V.Lk)("span",nc,(0,R.v_)(t+1),1),(0,V.Lk)("span",null,(0,R.v_)(e),1)],2))),128))]),(0,V.Lk)("div",dc,[(0,V.bF)(s,{color:o.stateColor,class:"q-mr-sm"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(a.pageState),1)]),_:1},8,["color"]),(0,V.Lk)("span",cc,"다음 행동: "+(0,R.v_)(a.nextActionText),1),(0,V.bF)(r),a.selectedOrder?((0,V.uX)(),(0,V.CE)("span",uc,(0,R.v_)(a.progressText),1)):(0,V.Q3)("",!0)]),(0,V.Lk)("div",mc,[(0,V.bF)(s,{color:a.selectedPartnerLabel?"indigo-7":"grey-6","text-color":"white"},{default:(0,V.k6)(()=>[(0,V.eW)(" 파트너: "+(0,R.v_)(a.selectedPartnerLabel||"선택 필요"),1)]),_:1},8,["color"]),(0,V.bF)(s,{color:a.waybillPrintRequested?"positive":"grey-6","text-color":"white"},{default:(0,V.k6)(()=>[(0,V.eW)(" 운송장 출력 상태: "+(0,R.v_)(a.waybillPrintRequested?"요청됨":"미요청"),1)]),_:1},8,["color"]),"EXPRESS"!==a.packingMode||a.isExpressAvailable?(0,V.Q3)("",!0):((0,V.uX)(),(0,V.Wv)(s,{key:0,color:"grey-7","text-color":"white"},{default:(0,V.k6)(()=>t[2]||(t[2]=[(0,V.eW)(" 익스프레스 비활성 ")])),_:1,__:[2]})),"COMPLETED"===a.pageState?((0,V.uX)(),(0,V.CE)("div",pc," 포장 완료: 아래 안내 모달에서 다음 액션을 선택하세요. ")):(0,V.Q3)("",!0)])],2)}],["__scopeId","data-v-014d3caa"]]));let gc={class:"row items-center q-mb-sm"},hc={class:"col"},bc={class:"section-title q-mt-none q-mb-none"},fc={class:"col-auto"},vc={class:"text-caption text-grey-7 q-mb-sm"},kc={key:0,class:"text-caption text-grey-7 q-mb-sm"},yc={class:"text-caption q-mt-sm"},Lc={class:"scan-sub-action"};var _c={name:"BarcodeScanCard",props:{barcode:{type:String,default:""},lastScannedBarcode:{type:String,default:""},selectedPartnerLabel:{type:String,default:""},partnerSelectionRequired:{type:Boolean,default:!1},isExpressMode:{type:Boolean,default:!1},canReset:{type:Boolean,default:!1},isComposing:{type:Boolean,default:!1}},emits:["update:barcode","update:isComposing","scan","open-manual","reset"],methods:{onBarcodeInput(e){this.$emit("update:barcode",e)},onEnterScan(){this.$emit("scan")},onSelectClick(){this.$emit("scan")},onOpenManual(){this.$emit("open-manual")},onReset(){this.$emit("reset")}}},_c=(v(99921),(0,e.A)(_c,[["render",function(t,e,a,l,i,o){var s=(0,V.g2)("q-badge");let r=(0,V.g2)("q-btn");var n=(0,V.g2)("q-input");return(0,V.uX)(),(0,V.CE)("div",{class:(0,R.C4)(["comp-box scan-compact",{"scan-compact--express":a.isExpressMode}])},[(0,V.Lk)("div",gc,[(0,V.Lk)("div",hc,[(0,V.Lk)("h6",bc," 1) "+(0,R.v_)(a.isExpressMode?"상품 바코드 스캔 즉시 처리":"바코드 스캔"),1)]),(0,V.Lk)("div",fc,[(0,V.bF)(s,{color:a.isExpressMode?"orange-8":"primary","text-color":"white"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(a.isExpressMode?"익스프레스":"일반"),1)]),_:1},8,["color"])])]),(0,V.Lk)("div",vc,(0,R.v_)(a.isExpressMode?"스캔하면 허용 규칙 확인 후 출력과 포장완료를 자동 처리합니다.":a.selectedPartnerLabel?a.selectedPartnerLabel+" 오더만 조회됩니다.":"파트너 선택 후 스캔하세요."),1),a.isExpressMode?((0,V.uX)(),(0,V.CE)("div",kc," 같은 주문의 중복 출력을 피하도록 한 작업자씩 진행하세요. 출력 결과가 불명확하면 관리자에게 확인하세요. ")):(0,V.Q3)("",!0),(0,V.bF)(n,{ref:"barcodeInput","model-value":a.barcode,clearable:"",autofocus:"",label:"상품 바코드",disable:a.partnerSelectionRequired,hint:a.partnerSelectionRequired?"먼저 파트너를 선택하세요.":"","onUpdate:modelValue":o.onBarcodeInput,onKeyup:(0,I.jR)(o.onEnterScan,["enter"]),onCompositionstart:e[0]||(e[0]=e=>t.$emit("update:isComposing",!0)),onCompositionend:e[1]||(e[1]=e=>t.$emit("update:isComposing",!1))},{append:(0,V.k6)(()=>[(0,V.bF)(r,{color:a.isExpressMode?"orange-8":"primary",label:a.isExpressMode?"즉시 처리":"선택",disable:a.partnerSelectionRequired,onClick:o.onSelectClick},null,8,["color","label","disable","onClick"])]),_:1},8,["model-value","disable","hint","onUpdate:modelValue","onKeyup"]),(0,V.Lk)("div",yc,[e[2]||(e[2]=(0,V.eW)(" 최근: ")),(0,V.Lk)("strong",null,(0,R.v_)(a.lastScannedBarcode||"-"),1)]),(0,V.Lk)("div",Lc,[(0,V.bF)(r,{flat:"",dense:"",size:"sm",color:"negative",icon:"refresh",label:"초기화",disable:!a.canReset,onClick:o.onReset},null,8,["disable","onClick"]),(0,V.bF)(r,{flat:"",dense:"",size:"sm",color:"grey-7",icon:"manage_search",label:"수동 조회",disable:a.partnerSelectionRequired,onClick:o.onOpenManual},null,8,["disable","onClick"])])],2)}],["__scopeId","data-v-e9feffd8"]]));let wc={class:"row items-center q-mb-sm"},xc={class:"col"},Cc={class:"section-title q-mt-none q-mb-none"},Sc={class:"col-auto"},Fc={class:"row q-gutter-sm"},qc={key:0,class:"row q-col-gutter-sm"},Ic={class:"col-12"},Pc={class:"meta-grid"},Ac={class:"meta-row"},Tc={class:"meta-value"},Nc={class:"meta-row"},Ec={class:"meta-value"},Dc={class:"meta-row"},Oc={class:"meta-value"},Vc={class:"meta-row"},Rc={class:"meta-value"},Mc={class:"meta-row"},$c={class:"meta-value"},Uc={class:"meta-row selection-reason"},Wc={key:0,class:"selection-reason-box"},Bc={class:"selection-reason-label"},zc={class:"selection-reason-value"},Xc={key:1,class:"meta-value"},Kc={key:1,class:"text-grey-7"},Qc={key:2,class:"express-order-guide"},Gc={key:3};var Hc={name:"OrderStartCard",props:{selectedOrder:{type:Object,default:null},canStartByHbl:{type:Boolean,default:!1},hblStartInput:{type:String,default:""},isComposing:{type:Boolean,default:!1},isStartingPacking:{type:Boolean,default:!1},isSubmittingWaybill:{type:Boolean,default:!1},canCompleteBackup:Boolean,isSubmittingBackupCompletion:Boolean,isExpressMode:{type:Boolean,default:!1}},emits:["update:hblStartInput","update:isComposing","start-packing","print-waybill","download-waybill","complete-backup"],computed:{selectionReasonItems(){return String(this.selectedOrder?.selectionReason||"").split(/\r?\n/).map(e=>e.trim()).filter(Boolean).map(e=>{var t=e.indexOf(":");return t<0?{label:"선택근거",value:e}:{label:e.slice(0,t).trim(),value:e.slice(t+1).trim()}})}},methods:{onHblInput(e){this.$emit("update:hblStartInput",e)},onStartPacking(){this.$emit("start-packing")},onPrintWaybill(){this.$emit("print-waybill")},onCompleteBackup(){this.$emit("complete-backup")},onDownloadWaybill(){this.$emit("download-waybill")}}},Hc=(v(25185),(0,e.A)(Hc,[["render",function(t,e,a,l,i,o){let s=(0,V.g2)("q-btn");var r=(0,V.g2)("q-separator"),n=(0,V.g2)("q-icon"),d=(0,V.g2)("q-input");return(0,V.uX)(),(0,V.CE)("div",{class:(0,R.C4)(["comp-box",{"order-start--express":a.isExpressMode}])},[(0,V.Lk)("div",wc,[(0,V.Lk)("div",xc,[(0,V.Lk)("h6",Cc," 2) "+(0,R.v_)(a.isExpressMode?"익스프레스 자동 처리 결과":"오더 자동 선택 + 포장 시작"),1)]),(0,V.Lk)("div",Sc,[(0,V.Lk)("div",Fc,[(0,V.bF)(s,{color:"grey-8",class:"compact-btn",outline:"",label:"PDF 확인",disable:!a.selectedOrder||a.isSubmittingWaybill||a.isStartingPacking||a.isSubmittingBackupCompletion,loading:a.isSubmittingWaybill||a.isStartingPacking,onClick:o.onDownloadWaybill},null,8,["disable","loading","onClick"]),(0,V.bF)(s,{color:"primary",class:"compact-btn",label:"운송장 출력",disable:!a.selectedOrder||a.isSubmittingWaybill||a.isStartingPacking||a.isSubmittingBackupCompletion,loading:a.isSubmittingWaybill||a.isStartingPacking,onClick:o.onPrintWaybill},null,8,["disable","loading","onClick"]),(0,V.bF)(s,{color:"positive",class:"compact-btn",outline:"",label:"임시콘솔 + 포장완료",disable:!a.canCompleteBackup||a.isSubmittingBackupCompletion,loading:a.isSubmittingBackupCompletion,onClick:o.onCompleteBackup},null,8,["disable","loading","onClick"])])])]),a.selectedOrder?((0,V.uX)(),(0,V.CE)("div",qc,[(0,V.Lk)("div",Ic,[(0,V.Lk)("div",Pc,[(0,V.Lk)("div",Ac,[e[2]||(e[2]=(0,V.Lk)("div",{class:"meta-key"},"오더번호",-1)),(0,V.Lk)("div",Tc,(0,R.v_)(a.selectedOrder.orderNo),1)]),(0,V.Lk)("div",Nc,[e[3]||(e[3]=(0,V.Lk)("div",{class:"meta-key"},"HBL",-1)),(0,V.Lk)("div",Ec,(0,R.v_)(a.selectedOrder.hblNo),1)]),(0,V.Lk)("div",Dc,[e[4]||(e[4]=(0,V.Lk)("div",{class:"meta-key"},"고객명",-1)),(0,V.Lk)("div",Oc,(0,R.v_)(a.selectedOrder.customerName),1)]),(0,V.Lk)("div",Vc,[e[5]||(e[5]=(0,V.Lk)("div",{class:"meta-key"},"목적지",-1)),(0,V.Lk)("div",Rc,(0,R.v_)(a.selectedOrder.destination),1)]),(0,V.Lk)("div",Mc,[e[6]||(e[6]=(0,V.Lk)("div",{class:"meta-key"},"생성시각",-1)),(0,V.Lk)("div",$c,(0,R.v_)(a.selectedOrder.createdAt),1)]),(0,V.Lk)("div",Uc,[e[7]||(e[7]=(0,V.Lk)("div",{class:"meta-key"},"선택근거",-1)),o.selectionReasonItems.length?((0,V.uX)(),(0,V.CE)("div",Wc,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(o.selectionReasonItems,e=>((0,V.uX)(),(0,V.CE)("div",{key:e.label+"-"+e.value,class:"selection-reason-row"},[(0,V.Lk)("span",Bc,(0,R.v_)(e.label),1),(0,V.Lk)("span",zc,(0,R.v_)(e.value||"-"),1)]))),128))])):((0,V.uX)(),(0,V.CE)("div",Xc,"-"))])])])])):((0,V.uX)(),(0,V.CE)("div",Kc," 아직 선택된 오더가 없습니다. ")),(0,V.bF)(r,{class:"q-my-md"}),a.isExpressMode?((0,V.uX)(),(0,V.CE)("div",Qc,[(0,V.bF)(n,{name:"bolt",size:"20px"}),e[8]||(e[8]=(0,V.Lk)("div",null,[(0,V.Lk)("div",{class:"express-order-guide__title"},"HBL 스캔 단계 없음"),(0,V.Lk)("div",{class:"express-order-guide__desc"}," 익스프레스 모드에서는 선택된 오더가 운송장 출력 후 자동으로 포장완료됩니다. ")],-1))])):((0,V.uX)(),(0,V.CE)("div",Gc,[e[9]||(e[9]=(0,V.Lk)("div",{class:"text-subtitle2 q-mb-sm"},"HBL 1차 스캔으로 포장 시작",-1)),(0,V.bF)(d,{ref:"hblStartInputRef","model-value":a.hblStartInput,label:"HBL 1차 스캔",disable:!a.canStartByHbl,"onUpdate:modelValue":o.onHblInput,onKeyup:(0,I.jR)(o.onStartPacking,["enter"]),onCompositionstart:e[0]||(e[0]=e=>t.$emit("update:isComposing",!0)),onCompositionend:e[1]||(e[1]=e=>t.$emit("update:isComposing",!1))},{append:(0,V.k6)(()=>[(0,V.bF)(s,{color:"secondary",label:"포장 시작",disable:!a.canStartByHbl||a.isStartingPacking,loading:a.isStartingPacking,onClick:o.onStartPacking},null,8,["disable","loading","onClick"])]),_:1},8,["model-value","disable","onUpdate:modelValue","onKeyup"])]))],2)}],["__scopeId","data-v-588cb084"]]));let jc={key:0,class:"comp-box"},Yc={class:"row items-center q-mb-sm"},Zc={class:"col-auto"},Jc={class:"row q-col-gutter-lg"},eu={class:"col-12 col-md-6"},tu={class:"col-12 col-md-6"},au={key:0,class:"col-12"},lu={class:"text-right"},iu={class:"text-right"},ou={class:"text-right"},su={class:"text-center"},ru={class:"text-center"},nu={key:0,class:"text-caption text-grey-7 q-mt-xs"},du={key:1,class:"pending-list q-mt-sm"};var cu={name:"PickingListPanel",props:{selectedOrder:{type:Object,default:null},progressText:{type:String,default:""},itemBarcodeInput:{type:String,default:""},hblCompleteInput:{type:String,default:""},finalWeightInput:{type:[String,Number],default:""},canScanItems:{type:Boolean,default:!1},canCompletePacking:{type:Boolean,default:!1},isSubmittingComplete:{type:Boolean,default:!1},completeDisabledReason:{type:String,default:""},isFinalHblConfirmed:{type:Boolean,default:!1},canSubmitPackingCompletion:{type:Boolean,default:!1},isAllItemsCompleted:{type:Boolean,default:!1},pendingItems:{type:Array,default:()=>[]},packingItems:{type:Array,default:()=>[]}},emits:["update:itemBarcodeInput","update:hblCompleteInput","update:finalWeightInput","update:isComposing","scan-item","complete-packing","submit-completion","adjust-qty"],methods:{onItemInput(e){this.$emit("update:itemBarcodeInput",e)},onCompleteInput(e){this.$emit("update:hblCompleteInput",e)},onFinalWeightInput(e){this.$emit("update:finalWeightInput",e)},onScanItem(){this.$emit("scan-item")},onCompletePacking(){this.$emit("complete-packing")},onSubmitCompletion(){this.$emit("submit-completion")},onAdjustQty(e,t){this.$emit("adjust-qty",e,t)},formatWeight(e){e=Number(e);return!Number.isFinite(e)||e<=0?"-":Math.round(1e3*e)/1e3+"kg"},weightSourceLabel(e){return"FULFILLMENT"===e?.weightSource?"풀필먼트":"주문입력"}}},cu=(v(70611),(0,e.A)(cu,[["render",function(t,e,a,l,i,o){let s=(0,V.g2)("q-badge"),r=(0,V.g2)("q-btn");var n=(0,V.g2)("q-input"),d=(0,V.g2)("q-markup-table");return a.selectedOrder?((0,V.uX)(),(0,V.CE)("div",jc,[(0,V.Lk)("div",Yc,[e[4]||(e[4]=(0,V.Lk)("div",{class:"col"},[(0,V.Lk)("h6",{class:"section-title q-mt-none q-mb-none"},"3) 상품 피킹 리스트")],-1)),(0,V.Lk)("div",Zc,[(0,V.bF)(s,{color:"primary",outline:""},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(a.progressText),1)]),_:1})])]),(0,V.Lk)("div",Jc,[(0,V.Lk)("div",eu,[(0,V.bF)(n,{ref:"itemScanInputRef","model-value":a.itemBarcodeInput,label:"상품 바코드 스캔",disable:!a.canScanItems,"onUpdate:modelValue":o.onItemInput,onKeyup:(0,I.jR)(o.onScanItem,["enter"]),onCompositionstart:e[0]||(e[0]=e=>t.$emit("update:isComposing",!0)),onCompositionend:e[1]||(e[1]=e=>t.$emit("update:isComposing",!1))},{append:(0,V.k6)(()=>[(0,V.bF)(r,{color:"primary",label:"스캔 반영",disable:!a.canScanItems,onClick:o.onScanItem},null,8,["disable","onClick"])]),_:1},8,["model-value","disable","onUpdate:modelValue","onKeyup"])]),(0,V.Lk)("div",tu,[(0,V.bF)(n,{ref:"hblCompleteInputRef","model-value":a.hblCompleteInput,label:"HBL 재스캔(최종 확인용)",disable:!a.canCompletePacking||a.isFinalHblConfirmed,"onUpdate:modelValue":o.onCompleteInput,onKeyup:(0,I.jR)(o.onCompletePacking,["enter"]),onCompositionstart:e[2]||(e[2]=e=>t.$emit("update:isComposing",!0)),onCompositionend:e[3]||(e[3]=e=>t.$emit("update:isComposing",!1))},{append:(0,V.k6)(()=>[(0,V.bF)(r,{color:"positive",label:"HBL 확인",disable:!a.canCompletePacking||a.isSubmittingComplete,loading:a.isSubmittingComplete,onClick:o.onCompletePacking},null,8,["disable","loading","onClick"])]),_:1},8,["model-value","disable","onUpdate:modelValue","onKeyup"])]),a.isFinalHblConfirmed?((0,V.uX)(),(0,V.CE)("div",au,[(0,V.bF)(n,{ref:"finalWeightInputRef","model-value":a.finalWeightInput,type:"number",min:"0.01",max:"9999.99",step:"0.01",label:"최종 박스 무게",suffix:"kg",autofocus:"","onUpdate:modelValue":o.onFinalWeightInput,onKeyup:(0,I.jR)(o.onSubmitCompletion,["enter"])},{append:(0,V.k6)(()=>[(0,V.bF)(r,{color:"positive",label:"포장 완료",disable:!a.canSubmitPackingCompletion,loading:a.isSubmittingComplete,onClick:o.onSubmitCompletion},null,8,["disable","loading","onClick"])]),_:1},8,["model-value","onUpdate:modelValue","onKeyup"])])):(0,V.Q3)("",!0)]),(0,V.bF)(d,{flat:"",bordered:"",class:"q-mt-md"},{default:(0,V.k6)(()=>[e[5]||(e[5]=(0,V.Lk)("thead",null,[(0,V.Lk)("tr",null,[(0,V.Lk)("th",{class:"text-left"},"상품명"),(0,V.Lk)("th",{class:"text-left"},"바코드"),(0,V.Lk)("th",{class:"text-right"},"적용무게"),(0,V.Lk)("th",{class:"text-right"},"필요수량"),(0,V.Lk)("th",{class:"text-right"},"담은수량"),(0,V.Lk)("th",{class:"text-center"},"상태"),(0,V.Lk)("th",{class:"text-center"},"수동수정")])],-1)),(0,V.Lk)("tbody",null,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(a.packingItems,t=>((0,V.uX)(),(0,V.CE)("tr",{key:t.id},[(0,V.Lk)("td",null,(0,R.v_)(t.name),1),(0,V.Lk)("td",null,(0,R.v_)(t.barcode),1),(0,V.Lk)("td",lu,[(0,V.Lk)("div",null,(0,R.v_)(o.formatWeight(t.effectiveWeight)),1),(0,V.bF)(s,{color:"FULFILLMENT"===t.weightSource?"indigo-7":"grey-6","text-color":"white",class:"weight-source-badge"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(o.weightSourceLabel(t)),1)]),_:2},1032,["color"])]),(0,V.Lk)("td",iu,(0,R.v_)(t.requiredQty),1),(0,V.Lk)("td",ou,(0,R.v_)(t.pickedQty),1),(0,V.Lk)("td",su,[(0,V.bF)(s,{color:"완료"===t.status?"positive":"진행중"===t.status?"warning":"grey-6","text-color":"진행중"===t.status?"dark":"white"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.status),1)]),_:2},1032,["color","text-color"])]),(0,V.Lk)("td",ru,[(0,V.bF)(r,{dense:"",flat:"",icon:"remove",disable:!a.canScanItems,onClick:e=>o.onAdjustQty(t,-1)},null,8,["disable","onClick"]),(0,V.bF)(r,{dense:"",flat:"",icon:"add",disable:!a.canScanItems,onClick:e=>o.onAdjustQty(t,1)},null,8,["disable","onClick"])])]))),128))])]),_:1,__:[5]}),a.canCompletePacking&&!a.isFinalHblConfirmed||!a.completeDisabledReason?(0,V.Q3)("",!0):((0,V.uX)(),(0,V.CE)("div",nu,(0,R.v_)(a.completeDisabledReason),1)),a.selectedOrder&&!a.isAllItemsCompleted&&a.pendingItems.length?((0,V.uX)(),(0,V.CE)("div",du,[e[6]||(e[6]=(0,V.Lk)("div",{class:"pending-title"},"부족 품목",-1)),((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(a.pendingItems,e=>((0,V.uX)(),(0,V.CE)("div",{key:"pending-"+e.id,class:"pending-row"},(0,R.v_)(e.name)+": "+(0,R.v_)(e.remainingQty)+"개 부족 ("+(0,R.v_)(e.pickedQty)+"/"+(0,R.v_)(e.requiredQty)+") ",1))),128))])):(0,V.Q3)("",!0)])):(0,V.Q3)("",!0)}],["__scopeId","data-v-5d3d383c"]]));let uu={class:"text-h6"};var x={name:"WaybillPrintConfirmDialog",props:{modelValue:{type:Boolean,default:!1},selectedOrder:{type:Object,default:null}},emits:["update:modelValue","confirm","cancel"],computed:{dialogTitle(){return this.selectedOrder?.waybillPrinted?"운송장 재출력 확인":"운송장 출력 확인"},dialogMessage(){return this.selectedOrder?.waybillPrinted?`${this.selectedOrder.orderNo||"-"} 오더는 이미 운송장이 출력된 상태입니다. 다시 출력하시겠습니까?`:`${this.selectedOrder?.orderNo||"-"} 오더의 운송장을 출력하시겠습니까?`}},methods:{onCancel(){this.$emit("cancel")},onConfirm(){this.$emit("confirm")}}},x=(v(96428),(0,e.A)(x,[["render",function(t,e,a,l,i,o){let s=(0,V.g2)("q-card-section"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("q-card-actions"),d=(0,V.g2)("q-card");var c=(0,V.g2)("q-dialog");return(0,V.uX)(),(0,V.Wv)(c,{"model-value":a.modelValue,persistent:"","onUpdate:modelValue":e[0]||(e[0]=e=>t.$emit("update:modelValue",e))},{default:(0,V.k6)(()=>[(0,V.bF)(d,{class:"confirm-modal"},{default:(0,V.k6)(()=>[(0,V.bF)(s,{class:"q-pb-sm"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",uu,(0,R.v_)(o.dialogTitle),1)]),_:1}),(0,V.bF)(s,{class:"q-pt-none"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(o.dialogMessage),1)]),_:1}),(0,V.bF)(n,{align:"right",class:"q-pa-md q-pt-none"},{default:(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",label:"취소",onClick:o.onCancel},null,8,["onClick"]),(0,V.bF)(r,{color:"primary",label:"출력",onClick:o.onConfirm},null,8,["onClick"])]),_:1})]),_:1})]),_:1},8,["model-value"])}],["__scopeId","data-v-e8f40eac"]]));let C={IDLE:"IDLE",ORDER_SELECTED:"ORDER_SELECTED",PACKING_STARTED:"PACKING_STARTED",READY_TO_COMPLETE:"READY_TO_COMPLETE",WEIGHT_REQUIRED:"WEIGHT_REQUIRED",COMPLETED:"COMPLETED",ERROR:"ERROR"},mu=[{label:"최근 1달",value:"1m"},{label:"최근 2달",value:"2m"}],pu=[{label:"일반 모드",value:"NORMAL"},{label:"익스프레스 모드",value:"EXPRESS"}];var gu=String("DEVELOPMENT").toUpperCase();let hu=["LOCAL","DEVELOPMENT"].includes(gu),bu={name:"AdminPacking",components:{Title:b,ManualLookupDialog:y,CompletionActionDialog:L,ResetConfirmDialog:ac,ScanLogsPanel:_,FlowBanner:w,BarcodeScanCard:_c,OrderStartCard:Hc,PickingListPanel:cu,WaybillPrintConfirmDialog:x,PdfPreview:k},data(){return{description:{title:"포장 관리"},timezoneLabel:"Australia/Sydney",lookupRangePreset:"1m",lookupRangeOptions:mu,packingMode:"NORMAL",packingModeOptions:pu,expressAvailability:{enabled:!1,rules:[]},expressAvailabilityLoading:!1,selectedPartnerId:null,barcode:"",hblStartInput:"",itemBarcodeInput:"",hblCompleteInput:"",finalWeightInput:"",lastScannedBarcode:"",pageState:C.IDLE,messageType:"info",messageText:"바코드를 스캔하면 미포장 오더를 자동 선택합니다.",selectedOrder:null,packingItems:[],waybillPrintRequested:!1,manualLookupOpen:!1,completionActionModalOpen:!1,waybillPrintConfirmOpen:!1,draftSkuConfirmOpen:!1,draftMasterSkus:[],isSubmittingDraftSkuConfirm:!1,successfulItemScanCount:0,scanMilestoneConfirmOpen:!1,scanMilestoneItem:null,resetConfirmOpen:!1,manualLookupKeyword:"",manualLookupRows:[],manualLookupLoading:!1,recentPackedLoading:!1,isAutoPrintingWaybill:!1,isRetryingExpressFinalization:!1,expressScanQueue:[],isProcessingExpressQueue:!1,expressFinalizationRecoveries:{},expressRecoveryTimer:null,expressRecoveryStopped:!1,activeExpressOrderId:null,pendingExpressDraftConfirmation:null,scanLogs:[],isSubmittingWaybill:!1,isStartingPacking:!1,isRecordingProgress:!1,isSubmittingComplete:!1,backupCompletionOpen:!1,backupCompletionTarget:null,backupCompletionWeight:"",backupCompletionError:"",isSubmittingBackupCompletion:!1,printWaybillParcelList:[],audioCtx:null,audioUnlocked:!1,audioWorkletNode:null,audioWorkletGain:null,audioWorkletReady:!1,audioWorkletModuleUrl:"",now:"",timerId:null,isComposing:!1}},computed:{session(){return this.$store.getters.getLocalSession||{}},authLevel(){return Number(this.session.authLevel||0)},actorName(){return(""+(this.session.lName||"")+(this.session.fName||"")).trim()||this.session.memberId||"-"},rawPartnerList(){return this.$store.state.storage?.partnerList||[]},partnerOptions(){return this.rawPartnerList.filter(e=>1===Number(e?.has_fulfillment_contract)).map(e=>({label:e.partner_name,value:e.id}))},lockedPartnerId(){return this.session.partnerId||this.session.partner_id||null},isPartnerLocked(){return this.authLevel<90&&Boolean(this.lockedPartnerId)},isExpressAvailable(){return Boolean(this.expressAvailability?.enabled)},isExpressMode(){return"EXPRESS"===this.packingMode&&this.isExpressAvailable},packingModeToggleColor(){return this.isExpressMode?"orange-8":"primary"},canBypassExpressPrintFailure(){return hu},selectedPartnerOption(){return this.partnerOptions.find(e=>Number(e.value)===Number(this.selectedPartnerId))||null},selectedPartnerLabel(){return this.selectedPartnerOption?.label?this.selectedPartnerOption.label:this.session.partner_name||this.session.partnerName||""},partnerSelectionRequired(){return!this.selectedPartnerId},activeInputRef(){if(!this.isExpressMode){if(this.pageState===C.ORDER_SELECTED)return"hblStartInputRef";if(this.pageState===C.PACKING_STARTED)return"itemScanInputRef";if(this.pageState===C.READY_TO_COMPLETE)return"hblCompleteInputRef";if(this.pageState===C.WEIGHT_REQUIRED)return"finalWeightInputRef";this.pageState,C}return"barcodeInput"},completedItemCount(){return this.packingItems.filter(e=>e.pickedQty>=e.requiredQty).length},totalItemCount(){return this.packingItems.length},isAllItemsCompleted(){return 0e.value===this.lookupRangePreset);return e?e.label:""},filteredManualLookupRows(){let t=(this.manualLookupKeyword||"").trim().toLowerCase();return t?this.manualLookupRows.filter(e=>[e.orderNo,e.hblNo,e.customerName,e.destination,e.firstBarcode].some(e=>String(e||"").toLowerCase().includes(t))):this.manualLookupRows},nextActionText(){return this.partnerSelectionRequired?"파트너를 먼저 선택한 뒤 바코드 스캔 또는 수동조회를 진행하세요.":this.isExpressMode?this.pageState===C.IDLE?"상품 바코드를 스캔하면 운송장 출력 후 자동 포장완료됩니다.":this.pageState===C.ORDER_SELECTED?"익스프레스 자동 출력/완료를 처리 중입니다.":this.pageState===C.COMPLETED?"다음 상품 바코드를 스캔하세요.":"익스프레스 처리 결과를 확인하고 다음 상품 바코드를 스캔하세요.":this.pageState===C.IDLE?"상품 바코드를 스캔해 오더를 선택하세요.":this.pageState===C.ORDER_SELECTED?"HBL 1차 스캔으로 포장을 시작하세요.":this.pageState===C.PACKING_STARTED?"상품 바코드를 계속 스캔해 수량을 맞추세요.":this.pageState===C.READY_TO_COMPLETE?"HBL 재스캔으로 포장을 완료하세요.":this.pageState===C.COMPLETED?"다음 오더 시작 버튼으로 다음 작업을 진행하세요.":"오류 원인을 확인하고 다시 시도하세요."},pendingItems(){return this.packingItems.filter(e=>e.pickedQty({...e,remainingQty:e.requiredQty-e.pickedQty}))},recentPackedOrders(){return this.$store.getters.getRecentPackedOrders||[]},recentPackedSummary(){return{total:this.recentPackedOrders.length,ready:this.recentPackedOrders.filter(e=>"READY"===e.tempConsolStatus).length}}},methods:{normalizeManualLookupRows(e=[]){return Array.isArray(e)?e.map((e,t)=>{var t=e.orderNo||e.order_no||e.order_id||"ORDER-"+(t+1),a=Number(e.orderId||e.order_base_id||0)||null,l=Number(e.partnerId||e.partner_id||0)||null,i=e.hblNo||e.hbl_no||"-",o=e.customerName||e.customer_name||"-",s=e.destination||e.dest||"-",r=e.createdAt||e.created_at||"-",n=e.firstBarcode||e.first_barcode||"-",d=e.selectionReason||e.selection_reason||"수동조회 선택",c=(Array.isArray(e.items)?e.items:[]).map((e,t)=>({id:e.id||e.item_id||t+1,name:e.name||e.item_name||"-",orderItemName:e.orderItemName||e.order_item_name||e.name||e.item_name||"-",barcode:e.barcode||e.item_barcode||"-",requiredQty:Number(e.requiredQty||e.required_qty||0),pickedQty:Number(e.pickedQty||e.picked_qty||0),orderItemWeight:e.orderItemWeight??e.order_item_weight??null,fulfillmentWeight:e.fulfillmentWeight??e.fulfillment_weight??null,effectiveWeight:e.effectiveWeight??e.effective_weight??null,weightSource:e.weightSource||e.weight_source||"ORDER_ITEM",masterSkuId:e.masterSkuId||e.master_sku_id||null,masterSkuCode:e.masterSkuCode||e.master_sku_code||"",fulfillmentLengthCm:e.fulfillmentLengthCm??e.fulfillment_length_cm??null,fulfillmentWidthCm:e.fulfillmentWidthCm??e.fulfillment_width_cm??null,fulfillmentHeightCm:e.fulfillmentHeightCm??e.fulfillment_height_cm??null,fulfillmentVolumeCbm:e.fulfillmentVolumeCbm??e.fulfillment_volume_cbm??null}));return{orderNo:t,orderId:a,partnerId:l,hblNo:i,customerName:o,destination:s,createdAt:r,firstBarcode:n,selectionReason:d,workflowState:{started:Boolean(e.workflowState?.started||e.workflow_state?.started),finalHblConfirmed:Boolean(e.workflowState?.finalHblConfirmed||e.workflow_state?.finalHblConfirmed)},items:c,draftMasterSkus:this.normalizeDraftMasterSkus(e.draftMasterSkus||e.draft_master_skus)}}):[]},normalizeDraftMasterSkus(e=[]){if(!Array.isArray(e))return[];let t=new Set;return e.map(e=>({masterSkuId:e.masterSkuId||e.master_sku_id||null,masterSkuCode:e.masterSkuCode||e.master_sku_code||"-",barcode:e.barcode||"-",displayName:e.displayName||e.display_name||"-",registrationStatus:e.registrationStatus||e.registration_status||"DRAFT",specType:e.specType||e.spec_type||"PRODUCT_OPTION",weightKg:e.weightKg||e.weight_kg||"",volumeCbm:e.volumeCbm||e.volume_cbm||"",lengthCm:e.lengthCm||e.length_cm||"",widthCm:e.widthCm||e.width_cm||"",heightCm:e.heightCm||e.height_cm||"",specForm:{model_code:e.modelCode||e.model_code||e.spec_detail?.model_code||"",color:e.color||e.spec_detail?.color||"",size:e.sizeValue||e.size_value||e.spec_detail?.size||"",weight_kg:e.weightKg||e.weight_kg||"",volume_cbm:e.volumeCbm||e.volume_cbm||"",length_cm:e.lengthCm||e.length_cm||"",width_cm:e.widthCm||e.width_cm||"",height_cm:e.heightCm||e.height_cm||""}})).filter(e=>{e=`${e.masterSkuId||""}-`+e.barcode;return!t.has(e)&&(t.add(e),!0)})},normalizeAutoSelectPayload(e={}){var t=e.order||{},a=Array.isArray(e.items)?e.items:[];return{selectedOrder:{orderId:t.orderId||null,orderNo:t.orderNo||"-",partnerId:t.partnerId||this.selectedPartnerId||null,hblNo:t.hblNo||"-",customerName:t.customerName||"-",destination:t.destination||"-",createdAt:t.createdAt||"-",packingStatus:t.packingStatus||"READY",waybillPrinted:Boolean(t.waybillPrinted),packingCompleted:Boolean(t.packingCompleted),scanCase:t.scanCase||"UNPRINTED_OPEN",selectionReason:t.selectionReason||"오늘/미포장/등록순",workflowState:{started:Boolean(e.workflowState?.started||e.workflow_state?.started),finalHblConfirmed:Boolean(e.workflowState?.finalHblConfirmed||e.workflow_state?.finalHblConfirmed)}},items:a.map((e,t)=>({id:e.orderItemId||e.id||t+1,name:e.itemName||e.name||"-",orderItemName:e.orderItemName||e.name||e.itemName||"-",barcode:e.barcode||"-",requiredQty:Number(e.requiredQty||0),pickedQty:Number(e.pickedQty||0),orderItemWeight:e.orderItemWeight??null,fulfillmentWeight:e.fulfillmentWeight??null,effectiveWeight:e.effectiveWeight??null,weightSource:e.weightSource||"ORDER_ITEM",masterSkuId:e.masterSkuId||null,masterSkuCode:e.masterSkuCode||"",fulfillmentLengthCm:e.fulfillmentLengthCm??null,fulfillmentWidthCm:e.fulfillmentWidthCm??null,fulfillmentHeightCm:e.fulfillmentHeightCm??null,fulfillmentVolumeCbm:e.fulfillmentVolumeCbm??null})),draftMasterSkus:this.normalizeDraftMasterSkus(e.draftMasterSkus||e.draft_master_skus)}},async fetchManualLookupRows(e=""){e={method:"POST",url:"/api/fulfillment/packing/manual-lookup",data:{keyword:e||"",rangePreset:this.lookupRangePreset,partnerId:this.selectedPartnerId},name:"[ AXIOS / 포장 / 수동조회 ]"},e=await this.$http(e),e=e?.data?.data??e?.data??[];return this.normalizeManualLookupRows(e)},async autoSelectPacking(e,t=null){e={method:"POST",url:"/api/fulfillment/packing/auto-select",...t||this.isExpressMode?{timeout:15e3}:{},data:{barcode:e,rangePreset:t?.rangePreset||this.lookupRangePreset,partnerId:t?.partnerId||this.selectedPartnerId},name:"[ AXIOS / 포장 / 자동선택 ]"},t=await this.$http(e);if(!1===t?.data?.ok)throw new Error(t?.data?.message||"autoSelect API failed");e=t?.data?.data??null;return{code:t?.data?.code||"AUTO_SELECT_OK",message:t?.data?.message||"",selected:e?this.normalizeAutoSelectPayload(e):null}},async fetchWaybillPayload(e,{expressMode:t=!1}={}){e={method:"POST",url:"/api/fulfillment/packing/waybill-payload",...t?{timeout:15e3}:{},data:{id:e,partnerId:this.selectedPartnerId,expressMode:t},name:"[ AXIOS / 포장 / 운송장 출력 payload ]"},t=await this.$http(e);if(!1===t?.data?.ok)throw new Error(t?.data?.message||"waybill payload API failed");return t?.data?.data??null},normalizeWaybillPayload(e={}){return{id:e.orderId||e.id||null,orderId:e.orderNo||e.orderId||"",hblNo:e.hblNo||"",shipperName:e.shipperName||"",shippingAgencyName:e.shippingAgencyName||"",partnerName:e.partnerName||"",shipperMobile:e.shipperMobile||"",shipperAddress:e.shipperAddress||"",receiverZipcode:e.receiverZipcode||"",receiverAddress1:e.receiverAddress1||"",receiverAddress2:e.receiverAddress2||"",receiverName:e.receiverName||"",receiverMobile:e.receiverMobile||"",orderMemo:e.orderMemo||"",itemNames:e.itemNames||"",boxQty:e.boxQty||"",weight:e.weight||""}},async printWaybillViaAgent(e){var t=await this.createWaybillPdfBase64(e),t=await(this.isExpressMode?this.fetchExpressAgent:fetch)("http://127.0.0.1:18181/print/pdf",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({pdfBase64:t,orderNo:e.orderNo||e.orderId||"",hblNo:e.hblNo||""})}),e=await t.json().catch(()=>({}));if(t.ok&&!0===e?.ok)return e;throw new Error(e?.message||"print agent request failed")},async createWaybillPdfBase64(e){e=this.normalizeWaybillPayload(e),this.printWaybillParcelList=[],await this.$nextTick(),this.printWaybillParcelList=[e],await this.$nextTick(),e=this.$refs.packingWaybillPreview;if(e)return(await e.createWaybillPdf()).output("datauristring");throw new Error("운송장 출력 영역을 생성할 수 없습니다.")},async dispatchWaybillPrint(e){return this.printWaybillViaAgent(e)},async autoPrintWaybillForSelectedOrder(e,t="스캔 직후 자동 출력"){return this.printWaybillForOrder(e,{successDetail:t,force:!1})},async printWaybillForOrder(e,{successDetail:t="운송장 출력"}={}){if(!e?.orderId||this.isAutoPrintingWaybill)return!1;if(!this.isSelectedPartnerOrder(e))throw new Error(this.getPartnerMismatchMessage());var a={orderId:Number(e.orderId),partnerId:Number(e.partnerId||this.selectedPartnerId),claimToken:this.createPrintClaimToken()};let l=!1,i=!1;try{this.isAutoPrintingWaybill=!0;var o=await this.requestWaybillPrintClaim(a);if(o.alreadyPrinted)return this.waybillPrintRequested=!0,this.addScanLog("WAYBILL_PRINT",e.orderNo,"SKIP","이미 출력 처리된 오더"),!1;if(o.claimToken!==a.claimToken)throw new Error("서버 claim 토큰이 요청 토큰과 일치하지 않습니다.");l=!0;var s=await this.fetchWaybillPayload(e.orderId);if(s)return s.waybillPrinted?(this.waybillPrintRequested=!0,this.addScanLog("WAYBILL_PRINT",e.orderNo,"SKIP","이미 출력 처리된 오더"),!1):(i=!0,await this.dispatchWaybillPrint(s),await this.requestWaybillPrint(e.orderId,a.claimToken),this.waybillPrintRequested=!0,this.addScanLog("WAYBILL_PRINT",e.orderNo,"SUCCESS",t),!0);throw new Error("waybill payload missing")}catch(e){throw l&&!i&&await this.releaseWaybillPrintClaim(a).catch(e=>{this.$log?.warn?.("[ Packing / 출력 전 실패 claim 해제 실패 ]",e)}),e}finally{this.isAutoPrintingWaybill=!1}},async printExpressWaybillForOrder(e){if(!e?.orderId)throw new Error("익스프레스 출력 대상 오더가 없습니다.");if(this.isAutoPrintingWaybill)throw new Error("다른 운송장 출력이 진행 중입니다.");if(!this.isSelectedPartnerOrder(e))throw new Error(this.getPartnerMismatchMessage());try{this.isAutoPrintingWaybill=!0;var t=await this.fetchWaybillPayload(e.orderId,{expressMode:!0});if(!t||!Number.isFinite(Number(t.weight))||Number(t.weight)<=0)throw new Error("운송장 상품 무게를 확인할 수 없습니다.");return t.waybillPrinted?{printed:!1,weight:Number(t.weight)}:(this.queuePendingExpressFinalization({...e,stage:"PRINTING",printedWeight:Number(t.weight)}),await this.dispatchWaybillPrint(t),this.waybillPrintRequested=!0,this.addScanLog("WAYBILL_PRINT",e.orderNo,"SUCCESS","익스프레스 모드 자동 출력"),{printed:!0,weight:Number(t.weight)})}finally{this.isAutoPrintingWaybill=!1}},async printWaybillAfterConfirm(){if(this.selectedOrder&&!this.isSubmittingWaybill){this.waybillPrintConfirmOpen=!1;try{this.isSubmittingWaybill=!0;var e=await this.printWaybillForOrder(this.selectedOrder,{successDetail:"수동 출력",force:!0});this.messageType=e?"positive":"info",this.messageText=e?"운송장 출력 요청이 접수되었습니다.":"운송장 출력이 취소되었거나 이미 처리된 상태입니다."}catch(e){this.waybillPrintRequested=!1,this.messageType="negative",this.messageText="로컬 중계프로그램 운송장 출력에 실패했습니다. 중계프로그램 실행 상태와 프린터 설정을 확인해 주세요.",this.addScanLog("WAYBILL_PRINT",this.selectedOrder.orderNo,"FAIL",e?.message||"중계프로그램 출력 실패"),this.$log?.warn?.("[ Packing / 운송장 중계프로그램 출력 실패 ]",e)}finally{this.isSubmittingWaybill=!1,this.focusActiveInput()}}},cancelWaybillPrintConfirm(){this.waybillPrintConfirmOpen=!1,this.messageType="info",this.messageText="운송장 출력을 취소했습니다.",this.selectedOrder?.orderNo&&this.addScanLog("WAYBILL_PRINT",this.selectedOrder.orderNo,"SKIP","사용자 취소"),this.focusActiveInput()},async requestWaybillPrintClaim({orderId:e,partnerId:t,claimToken:a}){e=(await this.$http({method:"POST",url:"/api/fulfillment/packing/waybill-print-claim",data:{id:Number(e),partnerId:Number(t),claimToken:a},name:"[ AXIOS / 포장 / 운송장 인쇄 claim ]"}))?.data||{};if(!0!==e.ok)throw new Error(e.message||"waybill print claim failed");return e.data||{}},async releaseWaybillPrintClaim({orderId:e,partnerId:t,claimToken:a}){e=(await this.$http({method:"POST",url:"/api/fulfillment/packing/waybill-print-release",data:{id:Number(e),partnerId:Number(t),claimToken:a},name:"[ AXIOS / 포장 / 운송장 인쇄 claim 해제 ]"}))?.data||{};if(!0!==e.ok)throw new Error(e.message||"waybill print claim release failed");return e.data||{}},async requestWaybillPrint(e,t){e={method:"POST",url:"/api/fulfillment/packing/waybill-print",data:{id:e,partnerId:this.selectedPartnerId,claimToken:t},name:"[ AXIOS / 포장 / 운송장 출력요청 ]"},t=await this.$http(e);if(!0!==t?.data?.ok)throw new Error(t?.data?.message||"waybill print finalize failed")},getExpressFinalizationStorageKey(e=null){var t=this.session?.memberId??this.session?.id;return t?(t=`aone:packing:express-finalization:v3:${encodeURIComponent(String(t))}:`,null===e?t:t+Number(e)):null},readPendingExpressFinalizations(){var t={},a=this.getExpressFinalizationStorageKey();if(!a)return[];try{for(let e=0;ee.toString(16).padStart(2,"0")).join("")).slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-`+t.slice(20);throw new Error("안전한 인쇄 claim 토큰을 생성할 수 없습니다.")},async requestExpressFinalization({orderId:e,partnerId:t,printedWeight:a,printInitiatorMemberId:l=null}){e=(await this.$http({method:"POST",url:"/api/fulfillment/packing/express-finalize",timeout:15e3,data:{id:Number(e),partnerId:Number(t),printInitiatorMemberId:l,...Number.isFinite(Number(a))&&0setTimeout(e,t))},async fetchExpressAgent(e,t={}){let a=new AbortController;var l=setTimeout(()=>a.abort(),15e3);try{return await fetch(e,{...t,signal:a.signal})}finally{clearTimeout(l)}},async retryPendingExpressFinalizations(){if(!(this.isRetryingExpressFinalization||this.backupCompletionOpen||this.isSubmittingBackupCompletion)){let e=!(this.isRetryingExpressFinalization=!0);try{for(var t of this.readPendingExpressFinalizations())if(Number(t.partnerId)===Number(this.selectedPartnerId)&&Number(this.activeExpressOrderId)!==Number(t.orderId)&&this.isRecoverableExpressFinalization(t))try{await this.requestExpressFinalization(t),this.removePendingExpressFinalization(t.orderId),e=!0,this.addScanLog("EXPRESS_RECOVERY",t.orderNo,"SUCCESS","출력 접수건 완료 자동 복구"),Number(this.selectedOrder?.orderId)===Number(t.orderId)&&(this.pageState=C.IDLE,this.selectedOrder=null,this.packingItems=[],this.waybillPrintRequested=!1,this.messageType="positive",this.messageText=t.orderNo+" 출력 접수건의 포장완료 저장을 복구했습니다. 다음 상품 바코드를 스캔하세요.")}catch(e){this.$log?.warn?.("[ Packing / 익스프레스 완료 자동 재시도 ]",e)}}finally{this.isRetryingExpressFinalization=!1}e&&await this.loadRecentPackedOrders()}},enqueueExpressScan(e){e={barcode:e,partnerId:this.selectedPartnerId,rangePreset:this.lookupRangePreset};return this.expressScanQueue.push(e),this.barcode="",this.focusActiveInput(!0),this.isProcessingExpressQueue||(this.expressQueuePromise=this.drainExpressScans()),this.expressQueuePromise},async drainExpressScans(){this.isProcessingExpressQueue=!0;try{for(;this.expressScanQueue.length&&!this.expressRecoveryStopped;){var t=this.expressScanQueue.shift();try{await this.processExpressScan(t)}catch(e){this.pageState=C.ERROR,this.messageType="negative",this.messageText=`${t.barcode}: ${e?.response?.data?.message||e?.message||"익스프레스 실패"} / 장애 상품의 분리·회수는 관리자가 오더 상세정보에서 처리합니다.`,this.addScanLog("BARCODE_SCAN",t.barcode,"FAIL",this.messageText),this.playErrorSound()}}}finally{this.isProcessingExpressQueue=!1,this.focusActiveInput(!0)}},async processExpressScan(e){if(Number(e.partnerId)!==Number(this.selectedPartnerId))throw new Error("스캔 이후 파트너가 변경되었습니다.");await this.retryPendingExpressFinalizations(),this.lastScannedBarcode=e.barcode;let a;for(let t=0;t<3;t+=1)try{a=await this.autoSelectPacking(e.barcode,e);break}catch(e){if(e?.response&&e.response.status<500&&![408,429].includes(e.response.status))throw e;if(2===t)throw e;await this.expressDelay(500*(t+1))}if(!a?.selected)throw new Error(a?.message||"처리 가능한 익스프레스 오더가 없습니다.");let t=a.selected;if(this.readPendingExpressFinalizations().some(e=>Number(e.orderId)===Number(t.selectedOrder?.orderId)))throw new Error("이전 출력건의 완료 저장 또는 관리자 확인이 필요합니다. 현재 상품을 다시 출력하지 않습니다.");if(this.selectedOrder=t.selectedOrder,this.packingItems=this.buildPackingItems(t.items||[]),this.draftMasterSkus=t.draftMasterSkus||[],this.pageState=C.ORDER_SELECTED,this.draftMasterSkus.length){if(this.messageType="warning",this.messageText="가등록 상품의 스펙과 중량을 확정하면 자동 출력과 포장완료가 이어집니다.",this.addScanLog("DRAFT_SKU_CHECK",e.barcode,"WAIT","가등록 상품 스펙·중량 확정 대기"),!await this.waitForExpressDraftConfirmation()||this.expressRecoveryStopped)return;if(!this.isExpressMode||Number(e.partnerId)!==Number(this.selectedPartnerId)||Number(this.selectedOrder?.orderId)!==Number(t.selectedOrder?.orderId))throw new Error("가등록 상품 확인 중 포장 대상이 변경되었습니다. 다시 스캔하세요.")}return this.completeExpressPacking(t)},waitForExpressDraftConfirmation(){return new Promise(e=>{this.pendingExpressDraftConfirmation={resolve:e},this.draftSkuConfirmOpen=!0})},settleExpressDraftConfirmation(e){var t=this.pendingExpressDraftConfirmation;this.pendingExpressDraftConfirmation=null,t&&t.resolve(e)},isSelectedPartnerOrder(e){var e=Number(e?.partnerId),t=Number(this.selectedPartnerId);return Number.isFinite(e)&&Number.isFinite(t)&&0Number(e.orderId)===Number(t.orderId));this.backupCompletionWeight=String(this.finalWeightInput||e?.printedWeight||t.weight||""),this.backupCompletionError="",this.backupCompletionOpen=!0}},cancelBackupCompletion(){this.isSubmittingBackupCompletion||(this.backupCompletionOpen=!1,this.backupCompletionTarget=null,this.focusActiveInput())},async submitBackupCompletion(){if(this.backupCompletionOpen&&!this.isSubmittingBackupCompletion&&this.canCompleteBackup){var t=this.backupCompletionTarget;if(t&&t.orderId===Number(this.selectedOrder?.orderId)&&t.partnerId===Number(this.selectedPartnerId)){var e=this.normalizedBackupCompletionWeight;if(null===e)this.backupCompletionError="최종 중량을 0.01~9999.99kg, 소수점 둘째 자리까지 입력하세요.";else{this.isSubmittingBackupCompletion=!0,this.backupCompletionError="";try{var a=await this.$http({method:"POST",url:"/api/fulfillment/packing/manual-complete",timeout:15e3,data:{id:t.orderId,partnerId:t.partnerId,weight:e,confirmed:!0,mode:this.isExpressMode?"EXPRESS":"NORMAL"},name:"[ AXIOS / 포장 / 수동 포장완료 및 임시콘솔 ]"}),l=a?.data?.data;if(!0!==a?.data?.ok||"COMPLETED"!==l?.state?.packingStatus||"READY"!==l.state.tempConsolStatus||Number(l.weight)!==e)throw new Error(a?.data?.message||"수동 완료 저장 결과를 확인할 수 없습니다.");this.removePendingExpressFinalization(t.orderId),this.selectedOrder={...this.selectedOrder,weight:l.weight,packingCompleted:!0,packingStatus:"COMPLETED",tempConsolStatus:"READY",waybillPrinted:l.state.waybillPrinted},this.recordRecentPackedOrder(this.selectedOrder,this.packingItems),await this.loadRecentPackedOrders(),this.pageState=C.COMPLETED,this.backupCompletionOpen=!1,this.backupCompletionTarget=null,this.messageType="positive",this.messageText=t.orderNo+" 오더를 수동으로 포장완료하고 임시콘솔목록에 반영했습니다.",this.addScanLog("PACKING_MANUAL_COMPLETE",t.orderNo,"SUCCESS",`최종 중량 ${e}kg / 임시콘솔 대기`),this.playSuccessSound(),this.completionActionModalOpen=!0}catch(e){this.backupCompletionError=e?.response?.data?.message||e?.message||"수동 완료 저장에 실패했습니다. 다시 시도하세요.",this.addScanLog("PACKING_MANUAL_COMPLETE",t.orderNo,"FAIL",this.backupCompletionError),this.playErrorSound()}finally{this.isSubmittingBackupCompletion=!1}}}else this.backupCompletionError="선택된 오더 또는 파트너가 변경되었습니다. 다시 조회하세요."}},async completePackingOrder(e,{expressMode:t=!1,weight:a=null}={}){e={method:"POST",url:"/api/fulfillment/packing/complete",data:{id:e,status:"03",partnerId:this.selectedPartnerId,expressMode:t,...t?{}:{weight:a}},name:"[ AXIOS / 포장 / 포장완료 ]"},t=await this.$http(e);if(!1===t?.data?.ok)throw new Error(t?.data?.message||"packing complete API failed");return t?.data?.data||{}},async recordPackingProgress(e,t={}){e=await this.$http({method:"POST",url:"/api/fulfillment/packing/progress",data:{id:this.selectedOrder?.orderId,partnerId:this.selectedPartnerId,eventType:e,...t},name:"[ AXIOS / 포장 / 진행기록 ]"});if(!1===e?.data?.ok)throw new Error(e?.data?.message||"packing progress API failed");return e?.data?.data||{}},getPackedOrderSnapshot(e,t=[]){t=t.map(e=>e.name||e.itemName).filter(Boolean).join(", ");return{orderId:e?.orderId||null,orderNo:e?.orderNo||"-",hblNo:e?.hblNo||"-",itemNames:t||"-",partnerId:e?.partnerId||this.selectedPartnerId||null,partnerName:this.selectedPartnerLabel||"-",packingStatus:"COMPLETED",tempConsolStatus:"READY"}},recordRecentPackedOrder(e,t=[]){e?.orderNo&&this.$store.dispatch("addRecentPackedOrder",this.getPackedOrderSnapshot(e,t))},normalizeRecentPackedRows(e=[]){return Array.isArray(e)?e.map(e=>({orderId:e.orderId||null,orderNo:e.orderNo||"-",hblNo:e.hblNo||"-",itemNames:e.itemNames||"-",partnerId:e.partnerId||null,partnerName:e.partnerName||"-",packingStatus:e.packingStatus||"COMPLETED",tempConsolStatus:e.tempConsolStatus||"READY",packingCompletedAt:e.packingCompletedAt||"",tempConsolReadyAt:e.tempConsolReadyAt||"",totalQty:Number(e.totalQty||0),totalWeight:Number(e.totalWeight||0)})):[]},async loadRecentPackedOrders(){if(!this.recentPackedLoading)try{this.recentPackedLoading=!0;var e=await this.$http({method:"POST",url:"/api/fulfillment/packing/recent-completed",data:{partnerId:this.selectedPartnerId||"",hours:24,limit:30},name:"[ AXIOS / 포장 / 최근 포장완료 조회 ]"}),t=this.normalizeRecentPackedRows(e?.data?.data?.rows||[]);this.$store.dispatch("setRecentPackedOrders",t)}catch(e){this.$log?.warn?.("[ Packing / 최근 포장완료 조회 실패 ]",e)}finally{this.recentPackedLoading=!1}},goParcelInfoWithRecentPacked(){this.$router.push({path:"/admin/parcel-info",query:{from:"packing",focus:"recent-packed"}})},async completeExpressPacking(e){var t=e?.selectedOrder;if(!t?.orderId)throw new Error("익스프레스 완료 대상 오더가 없습니다.");if(!this.isSelectedPartnerOrder(t))throw new Error(this.getPartnerMismatchMessage());if(this.activeExpressOrderId)throw new Error("다른 익스프레스 오더를 처리 중입니다.");this.activeExpressOrderId=t.orderId;try{return await this.completeDirectExpressPacking(e)}finally{this.activeExpressOrderId=null}},async completeDirectExpressPacking(e){let t=e.selectedOrder,a=this.readPendingExpressFinalizations().find(e=>Number(e.orderId)===Number(t.orderId)),l=!1;if(a&&!this.isRecoverableExpressFinalization(a))throw new Error("이전 출력 접수 여부를 확인할 수 없습니다. 재인쇄하지 말고 관리자에게 문의하세요.");if(!a){var i=await this.printExpressWaybillForOrder(t);if(!i||!Number.isFinite(Number(i.weight))||Number(i.weight)<=0)throw new Error("출력 무게를 확인할 수 없습니다.");l=i.printed,a={...t,stage:"FINALIZE_PENDING",printedWeight:Number(i.weight)},this.queuePendingExpressFinalization(a)}try{await this.requestExpressFinalization(a)}catch(e){throw new Error(`인쇄는 접수됐으며 같은 오더의 완료만 자동 재시도합니다. (${e?.message||"서버 완료 저장 실패"})`)}this.removePendingExpressFinalization(t.orderId);i=e?.items||[],e=i.find(e=>e.barcode===this.lastScannedBarcode)||i[0]||{name:t.itemNames||t.itemName||t.orderNo,barcode:this.lastScannedBarcode,pickedQty:1,requiredQty:1};this.recordSuccessfulItemScan({...e,pickedQty:Number(e.pickedQty||1)||1,requiredQty:Number(e.requiredQty||1)||1}),this.recordRecentPackedOrder(t,i),this.loadRecentPackedOrders().catch(e=>this.$log?.warn?.("[ Packing / 최근 완료 조회 실패 ]",e)),this.pageState=C.IDLE,this.messageType="positive",this.messageText=t.orderNo+" 오더가 익스프레스 모드로 출력 및 포장완료 처리되었고 임시콘솔목록에 추가되었습니다. 다음 상품 바코드를 스캔하세요.",this.addScanLog("EXPRESS_COMPLETE",t.orderNo,"SUCCESS",l?"익스프레스 출력/완료":"기존 출력건 최종화 복구"),this.playSuccessSound(),this.selectedOrder=null,this.packingItems=[],this.waybillPrintRequested=!1,this.hblStartInput="",this.itemBarcodeInput="",this.hblCompleteInput="",this.finalWeightInput="",this.scanMilestoneConfirmOpen||this.focusActiveInput(!0)},addScanLog(e,t,a,l=""){var i=(new Date).toLocaleTimeString("ko-KR",{hour12:!1});this.scanLogs.unshift({id:Date.now()+"-"+Math.random().toString(36).slice(2,7),at:i,type:e,input:t||"-",result:a,detail:l}),this.scanLogs=this.scanLogs.slice(0,10)},openScanMilestoneConfirm(e){this.scanMilestoneItem={name:e?.name||"-",barcode:e?.barcode||"-",pickedQty:Number(e?.pickedQty||0),requiredQty:Number(e?.requiredQty||0),count:this.successfulItemScanCount},this.scanMilestoneConfirmOpen=!0},recordSuccessfulItemScan(e){this.successfulItemScanCount+=1,!this.isExpressMode&&0{var e=this.activeInputRef;if(e){var t,a=this.$refs[e];if(!a)return(t=this.$refs.pickingListPanelRef?.$refs?.[e])&&"function"==typeof t.focus?void t.focus():void 0;"function"==typeof a.focus?a.focus():(t=a.$refs?.[e])&&"function"==typeof t.focus?t.focus():(e=a.$refs?.barcodeInput)&&"function"==typeof e.focus?e.focus():(t=(a.$el||a)?.querySelector?.("button, input, textarea, [tabindex]"))&&"function"==typeof t.focus&&t.focus()}})},handleGlobalClick(){this.focusActiveInput()},handleGlobalKeydown(e){this.isComposing||"/"!==e.key&&"Escape"!==e.key||(e.preventDefault(),this.focusActiveInput())},handleVisibilityChange(){"visible"===document.visibilityState&&this.focusActiveInput()},tickSydneyTime(){this.now=(new Date).toLocaleString("ko-KR",{timeZone:"Australia/Sydney",hour12:!1})},async unlockAudio(){var e=window.AudioContext||window.webkitAudioContext;e&&(this.audioCtx||(this.audioCtx=new e),"suspended"===this.audioCtx.state&&await this.audioCtx.resume(),this.audioUnlocked="running"===this.audioCtx.state,this.audioUnlocked)&&await this.ensureAudioWorklet()},async ensureAudioWorklet(){if(this.audioCtx&&!this.audioWorkletReady&&this.audioCtx.audioWorklet)try{var e;this.audioWorkletModuleUrl||(e=new Blob([` class PackingChimeProcessor extends AudioWorkletProcessor { constructor() { super(); this.voices = []; this.sampleCursor = 0; this.port.onmessage = (evt) => { const data = evt.data || {}; if (data.type !== 'play-pattern' || !Array.isArray(data.tones)) return; for (const tone of data.tones) { const durationMs = Math.max(20, Number(tone.durationMs || 100)); const offsetMs = Math.max(0, Number(tone.offsetMs || 0)); const frequency = Math.max(40, Number(tone.frequency || 440)); const volume = Math.max(0.001, Math.min(0.2, Number(tone.volume || 0.05))); const wave = String(tone.wave || 'sine'); this.voices.push({ startSample: this.sampleCursor + Math.floor((offsetMs / 1000) * sampleRate), totalSamples: Math.floor((durationMs / 1000) * sampleRate), remaining: Math.floor((durationMs / 1000) * sampleRate), phase: 0, phaseInc: (2 * Math.PI * frequency) / sampleRate, volume, wave }); } }; } shape(wave, phase) { if (wave === 'square') return Math.sign(Math.sin(phase)) || 1; if (wave === 'triangle') return (2 / Math.PI) * Math.asin(Math.sin(phase)); if (wave === 'sawtooth') return 2 * (phase / (2 * Math.PI) - Math.floor(phase / (2 * Math.PI) + 0.5)); return Math.sin(phase); } process(_inputs, outputs) { const output = outputs[0]; if (!output || output.length === 0) return true; const ch0 = output[0]; ch0.fill(0); for (let i = 0; i < ch0.length; i++) { let sample = 0; const nowSample = this.sampleCursor + i; const nextVoices = []; for (const voice of this.voices) { if (nowSample < voice.startSample) { nextVoices.push(voice); continue; } if (voice.remaining <= 0) continue; const progressed = voice.totalSamples - voice.remaining; const attack = Math.max(1, Math.floor(voice.totalSamples * 0.08)); const release = Math.max(1, Math.floor(voice.totalSamples * 0.18)); let env = 1; if (progressed < attack) env = progressed / attack; else if (voice.remaining < release) env = voice.remaining / release; sample += this.shape(voice.wave, voice.phase) * voice.volume * env; voice.phase += voice.phaseInc; if (voice.phase > Math.PI * 2) voice.phase -= Math.PI * 2; voice.remaining -= 1; if (voice.remaining > 0) nextVoices.push(voice); } this.voices = nextVoices; if (sample > 1) sample = 1; if (sample < -1) sample = -1; ch0[i] = sample; } for (let c = 1; c < output.length; c++) { output[c].set(ch0); } this.sampleCursor += ch0.length; return true; } } registerProcessor('packing-chime-processor', PackingChimeProcessor); `],{type:"text/javascript"}),this.audioWorkletModuleUrl=URL.createObjectURL(e)),await this.audioCtx.audioWorklet.addModule(this.audioWorkletModuleUrl),this.audioWorkletNode=new AudioWorkletNode(this.audioCtx,"packing-chime-processor"),this.audioWorkletGain=this.audioCtx.createGain(),this.audioWorkletGain.gain.value=.9,this.audioWorkletNode.connect(this.audioWorkletGain),this.audioWorkletGain.connect(this.audioCtx.destination),this.audioWorkletReady=!0}catch(e){this.$log?.warn?.("[ Packing / AudioWorklet init 실패 ]",e),this.audioWorkletReady=!1}},async handleFirstUserGesture(){try{await this.unlockAudio()}catch(e){}this.audioUnlocked&&(window.removeEventListener("pointerdown",this.handleFirstUserGesture),window.removeEventListener("keydown",this.handleFirstUserGesture))},async playBeepFallback({frequency:e=880,durationMs:t=80,volume:a=.05,type:l="sine"}={}){try{await this.unlockAudio()}catch(e){return}var i,o,s;this.audioCtx&&this.audioUnlocked&&(i=this.audioCtx.currentTime,o=this.audioCtx.createOscillator(),s=this.audioCtx.createGain(),o.type=l,o.frequency.setValueAtTime(e,i),s.gain.setValueAtTime(1e-4,i),s.gain.exponentialRampToValueAtTime(a,i+.01),s.gain.exponentialRampToValueAtTime(1e-4,i+t/1e3),o.connect(s),s.connect(this.audioCtx.destination),o.start(i),o.stop(i+t/1e3+.02))},async playPattern(e=[]){try{await this.unlockAudio()}catch(e){return}e.length&&(this.audioWorkletReady&&this.audioWorkletNode?this.audioWorkletNode.port.postMessage({type:"play-pattern",tones:e}):e.forEach(e=>{var t=Number(e.offsetMs||0);window.setTimeout(()=>{this.playBeepFallback({frequency:e.frequency,durationMs:e.durationMs,volume:e.volume,type:e.wave||"sine"})},t)}))},playSuccessSound(){this.playPattern([{frequency:1319,durationMs:120,volume:.05,wave:"triangle",offsetMs:0},{frequency:988,durationMs:180,volume:.055,wave:"triangle",offsetMs:130}])},playErrorSound(){this.playPattern([{frequency:330,durationMs:110,volume:.08,wave:"square",offsetMs:0},{frequency:330,durationMs:110,volume:.08,wave:"square",offsetMs:140},{frequency:330,durationMs:110,volume:.08,wave:"square",offsetMs:280}])},createMockItems(){return[{id:1,name:"Kitchen Towel",barcode:"KT-001",requiredQty:2,pickedQty:0,status:"미완료"},{id:2,name:"Storage Box",barcode:"SB-010",requiredQty:1,pickedQty:0,status:"미완료"},{id:3,name:"Bath Mat",barcode:"BM-777",requiredQty:3,pickedQty:0,status:"미완료"}]},createManualLookupRows(){return[{orderId:13101,orderNo:"ORD-20260304-011",hblNo:"HBL-99001991",customerName:"AONE CUSTOMER A",destination:"SYDNEY",createdAt:"2026-03-04 08:15:22",firstBarcode:"8801234567890",selectionReason:"수동조회 선택",items:[{id:101,name:"Kitchen Towel",barcode:"KT-001",requiredQty:2,pickedQty:0},{id:102,name:"Storage Box",barcode:"SB-010",requiredQty:1,pickedQty:0}]},{orderId:13102,orderNo:"ORD-20260304-012",hblNo:"HBL-99001992",customerName:"AONE CUSTOMER B",destination:"MELBOURNE",createdAt:"2026-03-04 08:22:40",firstBarcode:"8805555123456",selectionReason:"수동조회 선택",items:[{id:201,name:"Bath Mat",barcode:"BM-777",requiredQty:3,pickedQty:0},{id:202,name:"Laundry Basket",barcode:"LB-321",requiredQty:1,pickedQty:0}]},{orderId:13103,orderNo:"ORD-20260304-013",hblNo:"HBL-99001993",customerName:"AONE CUSTOMER C",destination:"BRISBANE",createdAt:"2026-03-04 08:31:03",firstBarcode:"8809999000011",selectionReason:"수동조회 선택",items:[{id:301,name:"Paper Towel",barcode:"PT-889",requiredQty:4,pickedQty:0},{id:302,name:"Dish Rack",barcode:"DR-441",requiredQty:1,pickedQty:0}]}]},async searchManualLookup(){if(this.partnerSelectionRequired)this.manualLookupRows=[],this.messageType="warning",this.messageText="수동조회 전에 파트너를 먼저 선택하세요.";else{this.manualLookupLoading=!0;try{var e=await this.fetchManualLookupRows(this.manualLookupKeyword);this.manualLookupRows=e}catch(e){this.$log?.warn?.("[ Packing / 수동조회 API 실패 ]",e),this.manualLookupRows=[],this.messageType="negative",this.messageText="수동조회 API 조회에 실패했습니다. 서버 연결 상태를 확인해 주세요."}finally{this.manualLookupLoading=!1}}},updateItemStatus(e){e.pickedQty<=0?e.status="미완료":e.pickedQty{e={id:e.id,name:e.name,barcode:e.barcode,requiredQty:e.requiredQty,pickedQty:e.pickedQty||0,status:"미완료"};return this.updateItemStatus(e),e})},restorePersistedWorkflowState(){var e=this.selectedOrder?.workflowState;return!!e?.started&&(this.successfulItemScanCount=this.packingItems.reduce((e,t)=>e+Number(t.pickedQty||0),0),e.finalHblConfirmed?(this.pageState=C.WEIGHT_REQUIRED,this.messageType="warning",this.messageText="최종 HBL 확인이 복원되었습니다. 실측 무게를 입력하세요."):this.isAllItemsCompleted?(this.pageState=C.READY_TO_COMPLETE,this.messageType="warning",this.messageText="상품 스캔 수량이 복원되었습니다. 최종 HBL을 스캔하세요."):(this.pageState=C.PACKING_STARTED,this.messageType="info",this.messageText="진행 중인 포장 수량을 복원했습니다. 남은 상품을 스캔하세요."),!0)},async simulateAutoSelect(){if(!this.backupCompletionOpen&&!this.isSubmittingBackupCompletion)if(this.scanMilestoneConfirmOpen)this.barcode="";else{if(this.partnerSelectionRequired)this.pageState=C.ERROR,this.messageType="warning",this.messageText="바코드 스캔 전에 파트너를 먼저 선택하세요.",this.addScanLog("BARCODE_SCAN","","FAIL","파트너 미선택"),this.playErrorSound();else if(this.barcode&&this.barcode.trim()){if(this.isExpressMode)return this.enqueueExpressScan(this.barcode.trim());await this.retryPendingExpressFinalizations(),this.lastScannedBarcode=this.barcode.trim();let e=null,t=!1;try{e=await this.autoSelectPacking(this.lastScannedBarcode)}catch(e){t=!0,this.$log?.warn?.("[ Packing / 자동선택 API 실패 ]",e)}var a=e?.selected||null;if(a){if(this.selectedOrder=a.selectedOrder,this.packingItems=this.buildPackingItems(a.items),this.draftMasterSkus=a.draftMasterSkus||[],this.pageState=C.ORDER_SELECTED,this.addScanLog("BARCODE_SCAN",this.lastScannedBarcode,"SUCCESS",this.selectedOrder.orderNo),this.selectedOrder.packingCompleted)return this.waybillPrintRequested=!0,this.messageType="negative",this.messageText=this.selectedOrder.orderNo+" 오더는 이미 운송장 출력과 포장이 완료된 건입니다. 자동 출력하지 않습니다.",this.addScanLog("WAYBILL_PRINT",this.selectedOrder.orderNo,"SKIP","출력 완료 / 포장 완료"),this.playErrorSound(),this.barcode="",this.hblStartInput="",this.itemBarcodeInput="",this.hblCompleteInput="",void this.focusActiveInput();if(0{e=e.specForm||{};return!String(e.model_code||"").trim()||!String(e.color||"").trim()||!String(e.size||"").trim()});if(e)return this.messageType="negative",this.messageText=e.barcode+" 가등록 상품의 모델, 색상, 사이즈를 입력하세요.",this.playErrorSound(),!1;if(this.isExpressMode){e=this.draftMasterSkus.find(e=>{e=String(e.specForm?.weight_kg??"").trim();return!/^\d+(?:\.\d{1,3})?$/.test(e)||Number(e)<=0||9999.99{var e=a.find(({key:e})=>{var e=t.specForm?.[e];return null!=e&&""!==String(e).trim()&&(e=Number(e),!Number.isFinite(e)||e<0)});return e?{item:t,field:e}:null}).find(Boolean);return!e||(this.messageType="negative",this.messageText=`${e.item.barcode} 가등록 상품의 ${e.field.label} 값을 0 이상 숫자로 입력하세요.`,this.playErrorSound(),!1)},async confirmDraftSkuSpecs(){if(!this.isSubmittingDraftSkuConfirm&&this.validateDraftSkuForms()){this.isSubmittingDraftSkuConfirm=!0;try{for(var e of this.draftMasterSkus){var t=e.specForm||{},a={method:"POST",url:"/api/fulfillment/packing/draft-master-skus/confirm",data:{masterSkuId:e.masterSkuId,expressMode:this.isExpressMode,specDetail:{model_code:String(t.model_code||"").trim(),color:String(t.color||"").trim(),size:String(t.size||"").trim()},weightKg:""===t.weight_kg?null:t.weight_kg,volumeCbm:""===t.volume_cbm?null:t.volume_cbm,lengthCm:""===t.length_cm?null:t.length_cm,widthCm:""===t.width_cm?null:t.width_cm,heightCm:""===t.height_cm?null:t.height_cm},name:"[ AXIOS / 포장 / 가등록 상품 확정 ]"},l=await this.$http(a);if(!0!==l?.data?.ok)throw new Error(l?.data?.message||"가등록 상품 확정 실패")}this.addScanLog("DRAFT_SKU_CHECK",this.selectedOrder?.orderNo||"-","CONFIRMED","가등록 상품 스펙 확정"),this.draftMasterSkus=[],await this.continueAfterDraftSkuConfirm()}catch(e){this.messageType="negative",this.messageText=e?.response?.data?.message||e?.message||"가등록 상품 확정에 실패했습니다.",this.addScanLog("DRAFT_SKU_CHECK",this.lastScannedBarcode||"-","FAIL",this.messageText),this.playErrorSound()}finally{this.isSubmittingDraftSkuConfirm=!1}}},cancelDraftSkuConfirm(){var e=this.lastScannedBarcode||"-";this.playErrorSound(),this.resetState(),this.messageType="warning",this.messageText="가등록 상품 확인이 취소되었습니다. 포장을 진행하려면 다시 스캔하세요.",this.addScanLog("DRAFT_SKU_CHECK",e,"CANCEL","가등록 상품 확인 취소")},onEnterBarcode(){this.simulateAutoSelect()},async printWaybill(){!this.selectedOrder||this.isSubmittingWaybill||(this.waybillPrintConfirmOpen=!0)},sanitizePdfFileName(e){return String(e||"waybill").trim().replace(/[\\/:*?"<>|]+/g,"_").replace(/\s+/g,"_")},dataUriToBlob(e){var[e,t]=String(e||"").split(","),e=(e?.match(/data:([^;]+);base64/i))?.[1]||"application/pdf",a=atob(t||""),l=new Uint8Array(a.length);for(let e=0;eURL.revokeObjectURL(e),1e3),this.messageType="positive",this.messageText="운송장 PDF를 다운로드했습니다. PDF를 먼저 확인한 뒤 출력하세요.",this.addScanLog("WAYBILL_PDF",this.selectedOrder.orderNo,"SUCCESS","PDF 다운로드")}catch(e){this.messageType="negative",this.messageText="운송장 PDF 다운로드에 실패했습니다.",this.addScanLog("WAYBILL_PDF",this.selectedOrder.orderNo,"FAIL",e?.message||"PDF 다운로드 실패"),this.$log?.warn?.("[ Packing / 운송장 PDF 다운로드 실패 ]",e)}finally{this.isSubmittingWaybill=!1,this.focusActiveInput()}else this.messageType="negative",this.messageText="운송장 PDF 확인 대상 orderId가 없습니다.",this.addScanLog("WAYBILL_PDF",this.selectedOrder.orderNo,"FAIL","orderId 없음"),this.focusActiveInput()}},async startPackingByHbl(){if(!this.isStartingPacking)if(this.selectedOrder)if(this.hblStartInput&&this.hblStartInput.trim())if(this.hblStartInput.trim()!==this.selectedOrder.hblNo)this.messageType="negative",this.messageText="선택된 오더와 HBL이 일치하지 않습니다.",this.addScanLog("HBL_START",this.hblStartInput.trim(),"FAIL","HBL 불일치"),this.hblStartInput="",this.playErrorSound(),this.focusActiveInput();else if(this.pageState===C.COMPLETED)this.messageType="negative",this.messageText="이미 완료된 오더입니다.",this.hblStartInput="",this.playErrorSound();else if(this.selectedOrder.packingCompleted)this.messageType="negative",this.messageText="이미 포장이 완료된 오더입니다. 포장을 다시 시작할 수 없습니다.",this.hblStartInput="",this.playErrorSound(),this.focusActiveInput();else try{this.isStartingPacking=!0,await this.recordPackingProgress("HBL_START",{hblNo:this.hblStartInput.trim()}),this.pageState=C.PACKING_STARTED,this.messageType="positive",this.messageText="포장을 시작했습니다. 이제 상품 바코드를 스캔해 주세요. 운송장은 최종 무게 입력 후 출력됩니다.",this.addScanLog("HBL_START",this.selectedOrder.hblNo,"SUCCESS",this.selectedOrder.orderNo),this.hblStartInput="",this.playSuccessSound()}catch(e){this.messageType="negative",this.messageText=e?.response?.data?.message||e?.message||"포장 시작 처리에 실패했습니다.",this.addScanLog("HBL_START",this.selectedOrder?.hblNo||"-","FAIL",this.messageText),this.hblStartInput="",this.playErrorSound()}finally{this.isStartingPacking=!1,this.focusActiveInput()}else this.messageType="negative",this.messageText="HBL 번호를 입력해 주세요.",this.addScanLog("HBL_START","","FAIL","HBL 미입력"),this.hblStartInput="",this.playErrorSound(),this.focusActiveInput();else this.messageType="negative",this.messageText="먼저 오더를 선택하세요.",this.hblStartInput="",this.playErrorSound()},async handleItemScan(){if(!this.isRecordingProgress){if(this.canScanItems){let t=(this.itemBarcodeInput||"").trim();if(t){var e=this.packingItems.filter(e=>e.barcode===t);if(e.length){e=e.find(e=>Number(e.pickedQty||0)this.retryPendingExpressFinalizations(),5e3),this.tickSydneyTime(),this.timerId=window.setInterval(this.tickSydneyTime,1e3),this.focusActiveInput(),window.addEventListener("click",this.handleGlobalClick),window.addEventListener("keydown",this.handleGlobalKeydown),window.addEventListener("pointerdown",this.handleFirstUserGesture),window.addEventListener("keydown",this.handleFirstUserGesture),document.addEventListener("visibilitychange",this.handleVisibilityChange)},beforeUnmount(){this.expressRecoveryStopped=!0,this.settleExpressDraftConfirmation(!1),this.expressScanQueue=[],this.expressRecoveryTimer&&window.clearInterval(this.expressRecoveryTimer),this.timerId&&window.clearInterval(this.timerId),window.removeEventListener("click",this.handleGlobalClick),window.removeEventListener("keydown",this.handleGlobalKeydown),window.removeEventListener("pointerdown",this.handleFirstUserGesture),window.removeEventListener("keydown",this.handleFirstUserGesture),document.removeEventListener("visibilitychange",this.handleVisibilityChange),this.audioWorkletNode&&"function"==typeof this.audioWorkletNode.disconnect&&(this.audioWorkletNode.disconnect(),this.audioWorkletNode=null),this.audioWorkletGain&&"function"==typeof this.audioWorkletGain.disconnect&&(this.audioWorkletGain.disconnect(),this.audioWorkletGain=null),this.audioWorkletModuleUrl&&(URL.revokeObjectURL(this.audioWorkletModuleUrl),this.audioWorkletModuleUrl=""),this.audioCtx&&"function"==typeof this.audioCtx.close&&(this.audioCtx.close(),this.audioCtx=null),this.audioWorkletReady=!1,this.audioUnlocked=!1}};v(47985);gu=(0,e.A)(bu,[["render",function(e,a,t,l,i,o){let s=(0,V.g2)("Title"),r=(0,V.g2)("FlowBanner"),n=(0,V.g2)("q-btn-toggle"),d=(0,V.g2)("q-select"),c=(0,V.g2)("q-badge"),u=(0,V.g2)("BarcodeScanCard"),m=(0,V.g2)("OrderStartCard"),p=(0,V.g2)("PickingListPanel"),g=(0,V.g2)("ScanLogsPanel"),h=(0,V.g2)("q-spinner"),b=(0,V.g2)("q-btn"),f=(0,V.g2)("ManualLookupDialog"),v=(0,V.g2)("CompletionActionDialog"),k=(0,V.g2)("ResetConfirmDialog"),y=(0,V.g2)("WaybillPrintConfirmDialog"),L=(0,V.g2)("q-input"),_=(0,V.g2)("q-card-section"),w=(0,V.g2)("q-card-actions"),x=(0,V.g2)("q-card"),C=(0,V.g2)("q-dialog"),S=(0,V.g2)("PdfPreview");var F=(0,V.g2)("q-page");return(0,V.uX)(),(0,V.Wv)(F,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Yn,[(0,V.Lk)("div",Zn,[(0,V.bF)(s,{desc:i.description},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Jn,[(0,V.Lk)("span",ed,[a[17]||(a[17]=(0,V.Lk)("strong",null,"작업자",-1)),(0,V.eW)(" "+(0,R.v_)(o.actorName),1)]),(0,V.Lk)("span",td,[a[18]||(a[18]=(0,V.Lk)("strong",null,"현장시간",-1)),(0,V.eW)(" "+(0,R.v_)(i.now),1)])])]),_:1},8,["desc"])])]),(0,V.Lk)("div",ad,[(0,V.Lk)("div",ld,[(0,V.bF)(r,{"page-state":i.pageState,"packing-mode":i.packingMode,"is-express-mode":o.isExpressMode,"is-express-available":o.isExpressAvailable,"message-type":i.messageType,"next-action-text":o.nextActionText,"progress-text":o.progressText,"selected-order":i.selectedOrder,"selected-partner-label":o.selectedPartnerLabel,"waybill-print-requested":i.waybillPrintRequested},null,8,["page-state","packing-mode","is-express-mode","is-express-available","message-type","next-action-text","progress-text","selected-order","selected-partner-label","waybill-print-requested"])])]),(0,V.Lk)("div",id,[(0,V.Lk)("div",od,[(0,V.Lk)("div",sd,[a[19]||(a[19]=(0,V.Lk)("div",{class:"lookup-range-copy"},[(0,V.Lk)("span",{class:"lookup-range-title"},"조회 기간"),(0,V.Lk)("span",{class:"lookup-range-desc"},"바코드 스캔과 수동조회에 동일하게 적용됩니다.")],-1)),(0,V.bF)(n,{"model-value":i.lookupRangePreset,options:i.lookupRangeOptions,unelevated:"","no-caps":"","toggle-color":"primary",color:"white","text-color":"grey-8","onUpdate:modelValue":o.handleLookupRangeChange},null,8,["model-value","options","onUpdate:modelValue"])]),(0,V.Lk)("div",rd,[a[20]||(a[20]=(0,V.Lk)("div",{class:"partner-context-copy"},[(0,V.Lk)("span",{class:"partner-context-title"},"작업 파트너"),(0,V.Lk)("span",{class:"partner-context-desc"},"파트너를 먼저 고르면 바코드 스캔과 수동조회가 해당 파트너 오더로 제한됩니다.")],-1)),(0,V.Lk)("div",nd,[(0,V.bF)(d,{"model-value":i.selectedPartnerId,options:o.partnerOptions,label:"파트너 선택",outlined:"",dense:"","emit-value":"","map-options":"",disable:o.isPartnerLocked||i.isProcessingExpressQueue,"onUpdate:modelValue":o.handlePartnerChange},null,8,["model-value","options","disable","onUpdate:modelValue"]),(0,V.bF)(c,{rounded:"",color:o.partnerSelectionRequired?"amber-8":"indigo-7","text-color":"white",class:"partner-status-badge"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(o.partnerSelectionRequired?"선택 필요":o.selectedPartnerLabel+" 고정"),1)]),_:1},8,["color"]),(0,V.bF)(n,{"model-value":i.packingMode,options:i.packingModeOptions,dense:"",unelevated:"","toggle-color":o.packingModeToggleColor,color:"white","text-color":"grey-8",loading:i.expressAvailabilityLoading,disable:i.isProcessingExpressQueue,"onUpdate:modelValue":o.handlePackingModeChange},null,8,["model-value","options","toggle-color","loading","disable","onUpdate:modelValue"]),(0,V.bF)(c,{rounded:"",color:o.isExpressAvailable?"green-7":"grey-6","text-color":"white",class:"partner-status-badge"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(o.isExpressAvailable?"익스프레스 가능":"일반만 가능"),1)]),_:1},8,["color"])])])])]),(0,V.Lk)("div",dd,[(0,V.Lk)("div",cd,[(0,V.Lk)("div",ud,[(0,V.Lk)("div",{class:(0,R.C4)(o.isExpressMode?"col-12 col-md-5":"col-12 col-md-4")},[(0,V.bF)(u,{ref:"barcodeInput",barcode:i.barcode,"onUpdate:barcode":a[0]||(a[0]=e=>i.barcode=e),isComposing:i.isComposing,"onUpdate:isComposing":a[1]||(a[1]=e=>i.isComposing=e),"last-scanned-barcode":i.lastScannedBarcode,"selected-partner-label":o.selectedPartnerLabel,"partner-selection-required":o.partnerSelectionRequired,"is-express-mode":o.isExpressMode,"can-reset":o.canResetByFlow,onScan:o.onEnterBarcode,onOpenManual:o.openManualLookup,onReset:o.openResetConfirm},null,8,["barcode","isComposing","last-scanned-barcode","selected-partner-label","partner-selection-required","is-express-mode","can-reset","onScan","onOpenManual","onReset"])],2),(0,V.Lk)("div",{class:(0,R.C4)(o.isExpressMode?"col-12 col-md-7":"col-12 col-md-8")},[(0,V.bF)(m,{ref:"hblStartInputRef",hblStartInput:i.hblStartInput,"onUpdate:hblStartInput":a[2]||(a[2]=e=>i.hblStartInput=e),isComposing:i.isComposing,"onUpdate:isComposing":a[3]||(a[3]=e=>i.isComposing=e),"selected-order":i.selectedOrder,"can-start-by-hbl":o.canStartByHbl,"is-starting-packing":i.isStartingPacking,"is-submitting-waybill":i.isSubmittingWaybill,"is-express-mode":o.isExpressMode,onPrintWaybill:o.printWaybill,"can-complete-backup":o.canCompleteBackup,"is-submitting-backup-completion":i.isSubmittingBackupCompletion,onCompleteBackup:o.openBackupCompletion,onDownloadWaybill:o.downloadWaybillPdf,onStartPacking:o.startPackingByHbl},null,8,["hblStartInput","isComposing","selected-order","can-start-by-hbl","is-starting-packing","is-submitting-waybill","is-express-mode","onPrintWaybill","can-complete-backup","is-submitting-backup-completion","onCompleteBackup","onDownloadWaybill","onStartPacking"])],2)]),o.isExpressMode?(0,V.Q3)("",!0):((0,V.uX)(),(0,V.Wv)(p,{key:0,ref:"pickingListPanelRef","selected-order":i.selectedOrder,"progress-text":o.progressText,"item-barcode-input":i.itemBarcodeInput,"hbl-complete-input":i.hblCompleteInput,"can-scan-items":o.canScanItems,"can-complete-packing":o.canCompletePacking,"is-submitting-complete":i.isSubmittingComplete,"complete-disabled-reason":o.completeDisabledReason,"final-weight-input":i.finalWeightInput,"is-final-hbl-confirmed":o.isFinalHblConfirmed,"can-submit-packing-completion":o.canSubmitPackingCompletion,"is-all-items-completed":o.isAllItemsCompleted,"pending-items":o.pendingItems,"packing-items":i.packingItems,"onUpdate:itemBarcodeInput":a[4]||(a[4]=e=>i.itemBarcodeInput=e),"onUpdate:hblCompleteInput":a[5]||(a[5]=e=>i.hblCompleteInput=e),"onUpdate:finalWeightInput":a[6]||(a[6]=e=>i.finalWeightInput=e),"onUpdate:isComposing":a[7]||(a[7]=e=>i.isComposing=e),onScanItem:o.handleItemScan,onCompletePacking:o.completePackingByHbl,onSubmitCompletion:o.submitPackingCompletion,onAdjustQty:o.adjustQty},null,8,["selected-order","progress-text","item-barcode-input","hbl-complete-input","can-scan-items","can-complete-packing","is-submitting-complete","complete-disabled-reason","final-weight-input","is-final-hbl-confirmed","can-submit-packing-completion","is-all-items-completed","pending-items","packing-items","onScanItem","onCompletePacking","onSubmitCompletion","onAdjustQty"]))]),(0,V.Lk)("div",md,[(0,V.bF)(g,{logs:i.scanLogs},null,8,["logs"]),i.recentPackedLoading||0((0,V.uX)(),(0,V.CE)("div",{key:e.orderNo,class:"recent-packed-item"},[(0,V.Lk)("div",fd,[(0,V.Lk)("span",vd,(0,R.v_)(e.orderNo),1),(0,V.bF)(c,{color:"yellow-9","text-color":"white"},{default:(0,V.k6)(()=>a[22]||(a[22]=[(0,V.eW)("콘솔대기")])),_:1,__:[22]})]),(0,V.Lk)("div",kd,(0,R.v_)(e.hblNo)+" / "+(0,R.v_)(e.itemNames),1)]))),128))])):i.recentPackedLoading?(0,V.Q3)("",!0):((0,V.uX)(),(0,V.CE)("div",yd," 최근 24시간 내 콘솔대기 포장완료 건이 없습니다. "))])):(0,V.Q3)("",!0)])]),(0,V.bF)(f,{modelValue:i.manualLookupOpen,"onUpdate:modelValue":a[8]||(a[8]=e=>i.manualLookupOpen=e),keyword:i.manualLookupKeyword,"onUpdate:keyword":a[9]||(a[9]=e=>i.manualLookupKeyword=e),rows:o.filteredManualLookupRows,loading:i.manualLookupLoading,onSearch:o.searchManualLookup,onSelect:o.selectManualLookupOrder,onClose:o.closeManualLookup},null,8,["modelValue","keyword","rows","loading","onSearch","onSelect","onClose"]),(0,V.bF)(v,{modelValue:i.completionActionModalOpen,"onUpdate:modelValue":a[10]||(a[10]=e=>i.completionActionModalOpen=e),onReset:o.openResetConfirm,onNextOrder:o.startNextOrder},null,8,["modelValue","onReset","onNextOrder"]),(0,V.bF)(k,{modelValue:i.resetConfirmOpen,"onUpdate:modelValue":a[11]||(a[11]=e=>i.resetConfirmOpen=e),onCancel:o.cancelResetConfirm,onConfirm:o.confirmResetState},null,8,["modelValue","onCancel","onConfirm"]),(0,V.bF)(y,{modelValue:i.waybillPrintConfirmOpen,"onUpdate:modelValue":a[12]||(a[12]=e=>i.waybillPrintConfirmOpen=e),"selected-order":i.selectedOrder,onCancel:o.cancelWaybillPrintConfirm,onConfirm:o.printWaybillAfterConfirm},null,8,["modelValue","selected-order","onCancel","onConfirm"]),(0,V.bF)(C,{modelValue:i.backupCompletionOpen,"onUpdate:modelValue":a[14]||(a[14]=e=>i.backupCompletionOpen=e),persistent:""},{default:(0,V.k6)(()=>[(0,V.bF)(x,{style:{width:"480px","max-width":"95vw"}},{default:(0,V.k6)(()=>[(0,V.bF)(_,null,{default:(0,V.k6)(()=>[a[23]||(a[23]=(0,V.Lk)("div",{class:"text-h6"},"임시콘솔 + 포장완료",-1)),(0,V.Lk)("div",Ld,"오더: "+(0,R.v_)(i.backupCompletionTarget?.orderNo),1),(0,V.Lk)("div",_d,"HBL: "+(0,R.v_)(i.backupCompletionTarget?.hblNo),1),a[24]||(a[24]=(0,V.Lk)("div",{class:"text-body2 q-mt-sm"}," 오류 복구용 수동 완료입니다. 상품과 포장이 완료됐는지 확인하고 최종 중량을 입력하세요. 완료하면 임시콘솔 대기로 저장됩니다. 운송장 출력은 별도로 확인하세요. ",-1)),(0,V.bF)(L,{modelValue:i.backupCompletionWeight,"onUpdate:modelValue":a[13]||(a[13]=e=>i.backupCompletionWeight=e),label:"최종 중량 (kg)",inputmode:"decimal",disable:i.isSubmittingBackupCompletion,hint:"0.01~9999.99kg, 소수점 둘째 자리까지",class:"q-mt-md"},null,8,["modelValue","disable"]),i.backupCompletionError?((0,V.uX)(),(0,V.CE)("div",wd,(0,R.v_)(i.backupCompletionError),1)):(0,V.Q3)("",!0)]),_:1,__:[23,24]}),(0,V.bF)(w,{align:"right"},{default:(0,V.k6)(()=>[(0,V.bF)(b,{flat:"",label:"취소",disable:i.isSubmittingBackupCompletion,onClick:o.cancelBackupCompletion},null,8,["disable","onClick"]),(0,V.bF)(b,{color:"positive",label:"확인 후 완료",loading:i.isSubmittingBackupCompletion,disable:null===o.normalizedBackupCompletionWeight||i.isSubmittingBackupCompletion,onClick:o.submitBackupCompletion},null,8,["loading","disable","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),(0,V.bF)(C,{modelValue:i.scanMilestoneConfirmOpen,"onUpdate:modelValue":a[15]||(a[15]=e=>i.scanMilestoneConfirmOpen=e),persistent:""},{default:(0,V.k6)(()=>[(0,V.bF)(x,{class:"scan-milestone-card"},{default:(0,V.k6)(()=>[(0,V.bF)(_,null,{default:(0,V.k6)(()=>[a[25]||(a[25]=(0,V.Lk)("div",{class:"text-h6"},"상품 스캔 확인",-1)),(0,V.Lk)("div",xd," 성공 스캔 "+(0,R.v_)(i.scanMilestoneItem?.count||0)+"번째 상품입니다. 상품명을 확인한 뒤 다음 스캔을 진행하세요. ",1)]),_:1,__:[25]}),(0,V.bF)(_,{class:"q-pt-none"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Cd,[a[26]||(a[26]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"스캔된 상품명",-1)),(0,V.Lk)("div",Sd,(0,R.v_)(i.scanMilestoneItem?.name||"-"),1),(0,V.Lk)("div",Fd,[(0,V.eW)((0,R.v_)(i.scanMilestoneItem?.barcode||"-")+" / "+(0,R.v_)(i.scanMilestoneItem?.pickedQty||0)+"개 담음 ",1),i.scanMilestoneItem?.requiredQty?((0,V.uX)(),(0,V.CE)("span",qd,"/ 필요 "+(0,R.v_)(i.scanMilestoneItem.requiredQty)+"개",1)):(0,V.Q3)("",!0)])])]),_:1}),(0,V.bF)(w,{align:"right"},{default:(0,V.k6)(()=>[(0,V.bF)(b,{unelevated:"",color:"primary",label:"확인",onClick:o.confirmScanMilestone},null,8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),(0,V.bF)(C,{modelValue:i.draftSkuConfirmOpen,"onUpdate:modelValue":a[16]||(a[16]=e=>i.draftSkuConfirmOpen=e),persistent:""},{default:(0,V.k6)(()=>[(0,V.bF)(x,{class:"draft-sku-confirm"},{default:(0,V.k6)(()=>[(0,V.bF)(_,null,{default:(0,V.k6)(()=>[a[27]||(a[27]=(0,V.Lk)("div",{class:"text-h6"},"가등록 상품 스펙 확정",-1)),(0,V.Lk)("div",Id,(0,R.v_)(o.isExpressMode?"현장 실측 스펙과 중량을 확정하면 같은 오더의 운송장 출력과 포장완료가 자동으로 이어집니다.":"선택된 오더에 가등록 상태의 상품 바코드가 포함되어 있습니다. 현장 실측값을 입력해 확정한 뒤 포장을 진행하세요."),1),"negative"===i.messageType?((0,V.uX)(),(0,V.CE)("div",Pd,(0,R.v_)(i.messageText),1)):(0,V.Q3)("",!0)]),_:1,__:[27]}),(0,V.bF)(_,{class:"q-pt-none"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Ad,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(i.draftMasterSkus,t=>((0,V.uX)(),(0,V.CE)("div",{key:`${t.masterSkuId||""}-`+t.barcode,class:"draft-sku-item"},[(0,V.Lk)("div",Td,[(0,V.Lk)("div",null,[(0,V.Lk)("div",Nd,(0,R.v_)(t.displayName),1),(0,V.Lk)("div",Ed,(0,R.v_)(t.masterSkuCode)+" / "+(0,R.v_)(t.barcode),1)]),(0,V.bF)(c,{color:"orange-8",outline:""},{default:(0,V.k6)(()=>a[28]||(a[28]=[(0,V.eW)("가등록")])),_:1,__:[28]})]),(0,V.Lk)("div",Dd,[a[29]||(a[29]=(0,V.Lk)("div",{class:"draft-sku-section__title"},"규격 상세",-1)),(0,V.Lk)("div",Od,[(0,V.Lk)("div",Vd,[(0,V.bF)(L,{modelValue:t.specForm.model_code,"onUpdate:modelValue":e=>t.specForm.model_code=e,dense:"",outlined:"",label:"모델"},null,8,["modelValue","onUpdate:modelValue"])]),(0,V.Lk)("div",Rd,[(0,V.bF)(L,{modelValue:t.specForm.color,"onUpdate:modelValue":e=>t.specForm.color=e,dense:"",outlined:"",label:"색상"},null,8,["modelValue","onUpdate:modelValue"])]),(0,V.Lk)("div",Md,[(0,V.bF)(L,{modelValue:t.specForm.size,"onUpdate:modelValue":e=>t.specForm.size=e,dense:"",outlined:"",label:"사이즈"},null,8,["modelValue","onUpdate:modelValue"])])])]),(0,V.Lk)("div",$d,[a[32]||(a[32]=(0,V.Lk)("div",{class:"draft-sku-section__title"},"물류 기본값",-1)),(0,V.Lk)("div",Ud,[(0,V.Lk)("div",Wd,[a[30]||(a[30]=(0,V.Lk)("div",{class:"draft-logistics-group__label"},"실측 값",-1)),(0,V.Lk)("div",Bd,[(0,V.Lk)("div",zd,[(0,V.bF)(L,{modelValue:t.specForm.weight_kg,"onUpdate:modelValue":e=>t.specForm.weight_kg=e,dense:"",outlined:"",type:"number",min:"0",step:"0.001",label:"중량(kg)"},null,8,["modelValue","onUpdate:modelValue"])]),(0,V.Lk)("div",Xd,[(0,V.bF)(L,{modelValue:t.specForm.volume_cbm,"onUpdate:modelValue":e=>t.specForm.volume_cbm=e,dense:"",outlined:"",type:"number",min:"0",step:"0.001",label:"부피(cbm)"},null,8,["modelValue","onUpdate:modelValue"])])])]),(0,V.Lk)("div",Kd,[a[31]||(a[31]=(0,V.Lk)("div",{class:"draft-logistics-group__label"},"치수 및 항공 부피무게",-1)),(0,V.Lk)("div",Qd,[(0,V.Lk)("div",Gd,[(0,V.bF)(L,{modelValue:t.specForm.length_cm,"onUpdate:modelValue":e=>t.specForm.length_cm=e,dense:"",outlined:"",type:"number",min:"0",step:"0.001",label:"가로(cm)"},null,8,["modelValue","onUpdate:modelValue"])]),(0,V.Lk)("div",Hd,[(0,V.bF)(L,{modelValue:t.specForm.width_cm,"onUpdate:modelValue":e=>t.specForm.width_cm=e,dense:"",outlined:"",type:"number",min:"0",step:"0.001",label:"세로(cm)"},null,8,["modelValue","onUpdate:modelValue"])]),(0,V.Lk)("div",jd,[(0,V.bF)(L,{modelValue:t.specForm.height_cm,"onUpdate:modelValue":e=>t.specForm.height_cm=e,dense:"",outlined:"",type:"number",min:"0",step:"0.001",label:"높이(cm)"},null,8,["modelValue","onUpdate:modelValue"])]),(0,V.Lk)("div",Yd,[(0,V.bF)(L,{"model-value":o.calculateDraftFlightWeight(t),dense:"",outlined:"",readonly:"",label:"항공 부피무게(kg)"},null,8,["model-value"])]),(0,V.Lk)("div",Zd,[(0,V.bF)(b,{outline:"",color:"primary",icon:"flight",label:"중량 반영",class:"draft-sku-flight-btn",onClick:e=>o.applyDraftFlightWeight(t)},null,8,["onClick"])])])])])])]))),128))])]),_:1}),(0,V.bF)(w,{align:"right"},{default:(0,V.k6)(()=>[(0,V.bF)(b,{flat:"",label:"취소",color:"grey-7",disable:i.isSubmittingDraftSkuConfirm,onClick:o.cancelDraftSkuConfirm},null,8,["disable","onClick"]),(0,V.bF)(b,{unelevated:"",label:o.isExpressMode?"확정 후 자동 출력·포장완료":"확정 후 진행",color:"warning",loading:i.isSubmittingDraftSkuConfirm,onClick:o.confirmDraftSkuSpecs},null,8,["label","loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),(0,V.Lk)("div",Jd,[(0,V.bF)(S,{ref:"packingWaybillPreview","parcel-list":i.printWaybillParcelList,"hide-background":!0},null,8,["parcel-list"])])]),_:1})}],["__scopeId","data-v-2a3253cf"]]);let fu={class:"row q-mb-lg"},vu={class:"col"},ku={class:"row q-col-gutter-md q-mb-lg items-stretch"},yu={class:"col-3"},Lu={class:"comp-box summary-card"},_u={class:"text-h5 text-weight-bold q-mt-xs"},wu={class:"col-3"},xu={class:"comp-box summary-card"},Cu={class:"text-h5 text-weight-bold q-mt-xs"},Su={class:"col-3"},Fu={class:"comp-box summary-card"},qu={class:"text-h5 text-weight-bold q-mt-xs"},Iu={class:"col-3"},Pu={class:"comp-box summary-card"},Au={class:"text-h5 text-weight-bold q-mt-xs"},Tu={class:"row q-mb-lg"},Nu={class:"col-12 col-md-12 col-lg-10 q-mb-md"},Eu={class:"comp-box"},Du={class:"col-12 col-md-12 col-lg-2 q-mb-md"},Ou={class:"row"},Vu={class:"col"},Ru={class:"comp-box q-pa-none-important"};let Mu={class:"row q-col-gutter-lg"},$u={class:"col-12 col-md-6"},Uu={class:"col-12 col-md-6"},Wu={class:"range-picker"},Bu={class:"row q-col-gutter-sm items-start"},zu={class:"col-12 col-sm-6"},Xu={class:"row items-center justify-end q-gutter-sm"},Ku={class:"col-12 col-sm-6"},Qu={class:"row items-center justify-end q-gutter-sm"},Gu={class:"row q-col-gutter-sm q-mt-sm quick-range-buttons"},Hu={class:"col-auto"},ju={class:"col-auto"},Yu={class:"col-auto"},Zu={class:"col-auto"},Ju={class:"text-caption text-grey q-mt-sm"};y={name:"Biz-consol-lookup-form",emits:["lookup-opt-sync"],components:{},data(){return{description:{title:"콘솔검색"},calendarTarget:[{value:"etd",label:"출발예상일"},{value:"eta",label:"도착예정일"}],mblNo:"",orderNum:"",statusCode:[],selectedCalendarTarget:"etd",startDate:"",endDate:"",datepicker:{from:"",to:""},proxyDate:{from:"",to:""},startDatePopup:!1,endDatePopup:!1}},methods:{syncDateRange(){var e;this.startDate&&this.endDate&&this.startDate>this.endDate&&(e=this.startDate,this.startDate=this.endDate,this.endDate=e),this.proxyDate={from:this.startDate,to:this.endDate},this.datepicker={from:this.startDate,to:this.endDate},this.lookupOptSync()},saveStartDate(){this.startDatePopup=!1,this.syncDateRange()},saveEndDate(){this.endDatePopup=!1,this.syncDateRange()},getDateMonthsAgo(e){var t=new Date;return t.setMonth(t.getMonth()-e),this.formatDate(t)},formatDate(e){return e.getFullYear()+`-${this.lPad(e.getMonth()+1,2)}-`+this.lPad(e.getDate(),2)},setQuickRange(e){this.startDate=this.getDateMonthsAgo(e),this.endDate=this.getToday(),this.syncDateRange()},lookupOptSync(){this.$log.debug("[ Consol lookup form / lookupOptSync ]");var e={mblNo:this.mblNo.replaceAll(" ",""),freightCode:this.orderNum.replaceAll(" ",""),statusCode:this.statusCode,selectedCalendarTarget:this.selectedCalendarTarget,proxyDate:this.proxyDate};this.$emit("lookup-opt-sync",e)},lPad(e,t){return this.$log.debug("[ Parcel lookup form / lPad ] num = ",e,", length = ",t),String(e).padStart(t,"0")},getToday(){var e=(new Date).toDateString(),e=new Date(e),t=e.getFullYear(),a=e.getMonth()+1,e=e.getDate(),t=t+"-"+this.lPad(a,2)+"-"+this.lPad(e,2);return this.$log.debug("[ Parcel lookup form / getToday ] = ",t),t},getAWeekLater(){var e=(new Date).toDateString(),e=new Date(e),e=(e.getFullYear(),e.getMonth(),e.getDate()),t=new Date((new Date).setDate(e+7)),t=new Date(t),a=t.getFullYear(),l=t.getMonth()+1,e=t.getDate(),t=a+"-"+this.lPad(l,2)+"-"+this.lPad(e,2);return this.$log.debug("[ Parcel lookup form / getAWeekLater ] = ",t),t},getAWeekAgo(){var e=(new Date).toDateString(),e=new Date(e),e=(e.getFullYear(),e.getMonth(),e.getDate()),t=new Date((new Date).setDate(e-7)),t=new Date(t),a=t.getFullYear(),l=t.getMonth()+1,e=t.getDate(),t=a+"-"+this.lPad(l,2)+"-"+this.lPad(e,2);return this.$log.debug("[ Parcel lookup form / getAWeekAgo ] = ",t),t},async initCalendar(){this.$log.debug("[ Parcel lookup form / initCalendar ]");var e=this.getAWeekAgo(),t=this.getAWeekLater();this.startDate=e,this.endDate=t,this.datepicker={from:e,to:t},this.proxyDate={from:e,to:t},this.lookupOptSync()},async init(){this.$log.debug("[ Parcel lookup form / init ]"),await this.initCalendar(),this.$emit("lookup-consol")}},beforeMount(){this.$getCodeList("CONSTT")},mounted(){this.init()}},v(50225),L=(0,e.A)(y,[["render",function(e,a,t,l,i,o){var s=(0,V.g2)("q-input");let r=(0,V.g2)("q-radio"),n=(0,V.g2)("q-btn"),d=(0,V.g2)("q-date"),c=(0,V.g2)("q-popup-proxy"),u=(0,V.g2)("q-checkbox"),m=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.CE)("div",Mu,[(0,V.Lk)("div",$u,[(0,V.bF)(s,{modelValue:i.mblNo,"onUpdate:modelValue":[a[0]||(a[0]=e=>i.mblNo=e),o.lookupOptSync],label:"M/BL No."},null,8,["modelValue","onUpdate:modelValue"]),(0,V.bF)(s,{modelValue:i.orderNum,"onUpdate:modelValue":[a[1]||(a[1]=e=>i.orderNum=e),o.lookupOptSync],label:"운항편명"},null,8,["modelValue","onUpdate:modelValue"])]),(0,V.Lk)("div",Uu,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(i.calendarTarget,(e,t)=>((0,V.uX)(),(0,V.Wv)(r,{key:t,modelValue:i.selectedCalendarTarget,"onUpdate:modelValue":[a[2]||(a[2]=e=>i.selectedCalendarTarget=e),o.lookupOptSync],val:e.value,label:e.label,color:"teal"},null,8,["modelValue","onUpdate:modelValue","val","label"]))),128)),(0,V.Lk)("div",Wu,[(0,V.Lk)("div",Bu,[(0,V.Lk)("div",zu,[(0,V.bF)(s,{modelValue:i.startDate,"onUpdate:modelValue":a[4]||(a[4]=e=>i.startDate=e),label:"시작 날짜",readonly:""},{append:(0,V.k6)(()=>[(0,V.bF)(n,{flat:"",round:"",icon:"event",color:"primary"},{default:(0,V.k6)(()=>[(0,V.bF)(c,{cover:"","transition-show":"scale","transition-hide":"scale"},{default:(0,V.k6)(()=>[(0,V.bF)(d,{modelValue:i.startDate,"onUpdate:modelValue":a[3]||(a[3]=e=>i.startDate=e),mask:"YYYY-MM-DD"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Xu,[(0,V.bo)((0,V.bF)(n,{label:"Cancel",color:"primary",flat:""},null,512),[[m]]),(0,V.bo)((0,V.bF)(n,{label:"OK",color:"primary",flat:"",onClick:o.saveStartDate},null,8,["onClick"]),[[m]])])]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),(0,V.Lk)("div",Ku,[(0,V.bF)(s,{modelValue:i.endDate,"onUpdate:modelValue":a[6]||(a[6]=e=>i.endDate=e),label:"끝 날짜",readonly:""},{append:(0,V.k6)(()=>[(0,V.bF)(n,{flat:"",round:"",icon:"event",color:"primary"},{default:(0,V.k6)(()=>[(0,V.bF)(c,{cover:"","transition-show":"scale","transition-hide":"scale"},{default:(0,V.k6)(()=>[(0,V.bF)(d,{modelValue:i.endDate,"onUpdate:modelValue":a[5]||(a[5]=e=>i.endDate=e),mask:"YYYY-MM-DD"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Qu,[(0,V.bo)((0,V.bF)(n,{label:"Cancel",color:"primary",flat:""},null,512),[[m]]),(0,V.bo)((0,V.bF)(n,{label:"OK",color:"primary",flat:"",onClick:o.saveEndDate},null,8,["onClick"]),[[m]])])]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"])])]),(0,V.Lk)("div",Gu,[(0,V.Lk)("div",Hu,[(0,V.bF)(n,{outline:"",color:"primary",label:"최근 1달",onClick:a[7]||(a[7]=e=>o.setQuickRange(1))})]),(0,V.Lk)("div",ju,[(0,V.bF)(n,{outline:"",color:"primary",label:"최근 3달",onClick:a[8]||(a[8]=e=>o.setQuickRange(3))})]),(0,V.Lk)("div",Yu,[(0,V.bF)(n,{outline:"",color:"primary",label:"최근 6개월",onClick:a[9]||(a[9]=e=>o.setQuickRange(6))})]),(0,V.Lk)("div",Zu,[(0,V.bF)(n,{outline:"",color:"primary",label:"최근 1년",onClick:a[10]||(a[10]=e=>o.setQuickRange(12))})])]),(0,V.Lk)("div",Ju,(0,R.v_)(i.datepicker.from)+" ~ "+(0,R.v_)(i.datepicker.to),1)]),((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(this.$store.getters.getConsolStatusList,(e,t)=>((0,V.uX)(),(0,V.Wv)(u,{key:t,modelValue:i.statusCode,"onUpdate:modelValue":[a[11]||(a[11]=e=>i.statusCode=e),o.lookupOptSync],val:e.value,label:e.label,color:"teal"},null,8,["modelValue","onUpdate:modelValue","val","label"]))),128))])])}],["__scopeId","data-v-de95972c"]]);let em={id:"consol-list-container"},tm={class:"side-consol-list"},am={class:"consol-list"},lm={key:0,class:"empty-list"},im={class:"no-wrap items-center"},om={class:"text-h6"},sm={class:"text-subtitle1"},rm={class:"text-subtitle1"},nm={class:"text-subtitle2 text-grey-8"},dm={class:"selected-consol-order-list"},cm={class:"row q-col-gutter-sm items-center"},um={class:"col"},mm={class:"text-h6"},pm={class:"col-6 text-right"},gm={class:"text-subtitle1"},hm={class:"text-subtitle1"},bm={class:"text-subtitle2 q-mb-sm"},fm={class:"q-my-sm"};let vm={class:"row justify-between"},km={class:"text-h6"},ym={class:"row q-mb-sm q-gutter-sm"},Lm={class:"col"},_m={class:"col"},wm={class:"row q-gutter-sm"},xm={class:"col"},Cm={class:"col"},Sm={class:"col"},Fm={class:"row q-gutter-sm"},qm={class:"col"},Im={class:"col"},Pm={class:"row q-gutter-sm"},Am={class:"col"};ac={name:"RegiConsolForm",props:{mode:{type:[String,Number],default:0},title:{type:String,default:"콘솔 등록"},consolInfo:{type:Object,default:()=>({})}},emits:["close-modal","refresh-list"],data(){return{freightCode:this.consolInfo.freightCode||"",mblNo:this.consolInfo.mblNo||"",etd:this.consolInfo.etd||"",eta:this.consolInfo.eta||"",departCity:this.consolInfo.departCity||"",arrivalCity:this.consolInfo.arrivalCity||"",status:this.consolInfo.status||"001",memo:this.consolInfo.memo||"",freightList:[]}},methods:{async registerConsol(){try{let t={method:"POST",data:{freightCode:this.freightCode,mblNo:this.mblNo,etd:this.etd,eta:this.eta,departCity:this.departCity,arrivalCity:this.arrivalCity,status:this.status,memo:this.memo},url:"/api/consol/registerConsol",name:"[ Axios / registerConsol / 신규 콘솔 등록 ]"};await this.$http(t).then(e=>{this.$log.debug(t.name+" 성공 => ",e.data),this.$emit("close-modal"),this.$emit("refresh-list")}).catch(e=>{this.$log.debug(e),alert(t.name+" 실패!")})}catch(e){this.$q.notify({type:"negative",message:"에러 발생: "+(e.response?.data?.message||e.message)})}},async modifyConsol(){try{let t={method:"POST",data:{id:this.consolInfo.id,freightCode:this.freightCode,mblNo:this.mblNo,etd:this.etd,eta:this.eta,departCity:this.departCity,arrivalCity:this.arrivalCity,status:this.status,memo:this.memo},url:"/api/consol/modifyConsol",name:"[ Axios / modifyConsol / 콘솔 수정 ]"};await this.$http(t).then(e=>{this.$log.debug(t.name+" 성공 => ",e.data),alert("콘솔 수정에 성공했습니다."),this.$emit("close-modal"),this.$emit("refresh-list")}).catch(e=>{this.$log.debug(e),alert(t.name+" 실패!")})}catch(e){alert("에러 발생: "+(e.response?.data?.message||e.message))}},async loadFreightList(){var e=await this.$http({method:"get",url:"/api/freight/getFreightList",name:"[ Axios / loadFreightList / 운송편 목록 호출 ]"}).then(e=>{e=e.data;return e.forEach(e=>{e.label=e.freightNo+" ("+e.departure+" - "+e.arrival+")",e.value=e.freightNo}),e});this.freightList=e},async init(){await this.$getCodeList("CIT"),await this.$getCodeList("CONSTT"),await this.loadFreightList()}},async mounted(){this.$log.info("[ Component / RegiConsolForm ]"),await this.init()}},_=(0,e.A)(ac,[["render",function(t,e,a,l,i,o){let s=(0,V.g2)("q-btn"),r=(0,V.g2)("q-card-section"),n=(0,V.g2)("q-select"),d=(0,V.g2)("q-input"),c=(0,V.g2)("q-icon"),u=(0,V.g2)("q-date"),m=(0,V.g2)("q-popup-proxy"),p=(0,V.g2)("q-toolbar"),g=(0,V.g2)("q-footer");var h=(0,V.g2)("q-card");let b=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.Wv)(h,{style:{width:"700px","max-width":"80vw"}},{default:(0,V.k6)(()=>[(0,V.bF)(r,null,{default:(0,V.k6)(()=>[(0,V.Lk)("div",vm,[(0,V.Lk)("div",km,(0,R.v_)(a.title),1),(0,V.Lk)("div",null,[(0,V.bo)((0,V.bF)(s,{flat:"",round:"",dense:"",icon:"close"},null,512),[[b]])])]),e[14]||(e[14]=(0,V.Lk)("div",null,null,-1))]),_:1,__:[14]}),(0,V.bF)(r,{class:"q-pt-none"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",ym,[(0,V.Lk)("div",Lm,[(0,V.bF)(n,{modelValue:i.freightCode,"onUpdate:modelValue":e[0]||(e[0]=e=>i.freightCode=e),label:"운송편명(선명)",options:this.freightList,"emit-value":"","map-options":"",behavior:"menu",placeholder:"ex) AUS, KOR"},null,8,["modelValue","options"])]),(0,V.Lk)("div",_m,[(0,V.bF)(d,{modelValue:i.mblNo,"onUpdate:modelValue":e[1]||(e[1]=e=>i.mblNo=e),maxlength:14,label:"M B/L No."},null,8,["modelValue"])])]),(0,V.Lk)("div",wm,[(0,V.Lk)("div",xm,[(0,V.bF)(n,{modelValue:i.departCity,"onUpdate:modelValue":e[2]||(e[2]=e=>i.departCity=e),label:"출발지",options:this.$store.getters.getCityCodeList,"emit-value":"","map-options":"",behavior:"menu",placeholder:"ex) AUS, KOR"},null,8,["modelValue","options"])]),(0,V.Lk)("div",Cm,[(0,V.bF)(n,{modelValue:i.arrivalCity,"onUpdate:modelValue":e[3]||(e[3]=e=>i.arrivalCity=e),label:"도착지",options:this.$store.getters.getCityCodeList,"emit-value":"","map-options":"",behavior:"menu",placeholder:"ex) SYD, BRN"},null,8,["modelValue","options"])]),(0,V.Lk)("div",Sm,[(0,V.bF)(n,{modelValue:i.status,"onUpdate:modelValue":e[4]||(e[4]=e=>i.status=e),label:"콘솔상태",options:this.$store.getters.getConsolStatusList,"emit-value":"","map-options":"",behavior:"menu",placeholder:"ex) CBD, HOM"},null,8,["modelValue","options"])])]),(0,V.Lk)("div",Fm,[(0,V.Lk)("div",qm,[(0,V.bF)(d,{modelValue:i.etd,"onUpdate:modelValue":e[8]||(e[8]=e=>i.etd=e),label:"출발일자"},{append:(0,V.k6)(()=>[(0,V.bF)(c,{name:"event",class:"cursor-pointer",onClick:e[5]||(e[5]=e=>t.$refs.estimateTimeDepart.show())})]),default:(0,V.k6)(()=>[(0,V.bF)(m,{ref:"estimateTimeDepart","transition-show":"scale","transition-hide":"scale"},{default:(0,V.k6)(()=>[(0,V.bF)(u,{modelValue:i.etd,"onUpdate:modelValue":e[6]||(e[6]=e=>i.etd=e),mask:"YYYY-MM-DD",format24h:"",onInput:e[7]||(e[7]=e=>t.$refs.estimateTimeDepart.hide())},null,8,["modelValue"])]),_:1},512)]),_:1},8,["modelValue"])]),(0,V.Lk)("div",Im,[(0,V.bF)(d,{modelValue:i.eta,"onUpdate:modelValue":e[12]||(e[12]=e=>i.eta=e),label:"도착일자"},{append:(0,V.k6)(()=>[(0,V.bF)(c,{name:"event",class:"cursor-pointer",onClick:e[9]||(e[9]=e=>t.$refs.estimateTimeArrive.show())})]),default:(0,V.k6)(()=>[(0,V.bF)(m,{ref:"estimateTimeArrive","transition-show":"scale","transition-hide":"scale"},{default:(0,V.k6)(()=>[(0,V.bF)(u,{modelValue:i.eta,"onUpdate:modelValue":e[10]||(e[10]=e=>i.eta=e),mask:"YYYY-MM-DD",format24h:"",onInput:e[11]||(e[11]=e=>t.$refs.estimateTimeArrive.hide())},null,8,["modelValue"])]),_:1},512)]),_:1},8,["modelValue"])])]),(0,V.Lk)("div",Pm,[(0,V.Lk)("div",Am,[(0,V.bF)(d,{modelValue:i.memo,"onUpdate:modelValue":e[13]||(e[13]=e=>i.memo=e),type:"textarea",label:"콘솔 비고 메모",maxlength:"400",placeholder:"콘솔에 대한 메모를 남겨주세요."},null,8,["modelValue"])])])]),_:1}),(0,V.bF)(g,{class:"bg-white text-black"},{default:(0,V.k6)(()=>[(0,V.bF)(p,null,{default:(0,V.k6)(()=>["add"===a.mode?((0,V.uX)(),(0,V.Wv)(s,{key:0,label:"콘솔추가",class:"full-width",color:"primary",onClick:o.registerConsol},null,8,["onClick"])):(0,V.Q3)("",!0),"modify"===a.mode?((0,V.uX)(),(0,V.Wv)(s,{key:1,label:"콘솔수정",class:"full-width",color:"primary",onClick:o.modifyConsol},null,8,["onClick"])):(0,V.Q3)("",!0)]),_:1})]),_:1})]),_:1})}]]),w={name:"Console-list",components:{RegiConsolForm:_},props:{type:String,consolList:Array,loading:Boolean},emits:["load-consol-list"],computed:{partnerList(){if(!Array.isArray(this.orderList))return[];let i=new Map;return i.set("전체",{id:null,name:"전체파트너"}),this.orderList.forEach(e=>{var t,a,l;e&&(t=e.partnerName||"",a=(e=e.partnerId??e.partner_id??e.partnerCode??e.partner_code??null)??t)&&(i.has(a)?(!(l=i.get(a)).name&&t&&(l.name=t),null==l.id&&null!=e&&(l.id=e)):i.set(a,{id:e,name:t}))}),Array.from(i.values())}},data(){return{modalConsol:!1,mode:0,selectedConsol:{},orderList:[],selectedList:[],detailLoading:!1,expandedMap:{},columns:[{name:"id",label:"ID",align:"center",field:"id"},{name:"statusLabel",label:"콘솔상태",align:"center",field:"statusLabel"},{name:"mblNo",label:"M B/L No.",align:"center",field:"mblNo"},{name:"freightCode",label:"편명(선명)",align:"center",field:"freightCode"},{name:"departCity",label:"출발지",align:"center",field:"departCity"},{name:"arrivalCity",label:"도착지",align:"center",field:"arrivalCity"},{name:"etd",label:"출발일자",align:"center",field:"etd"},{name:"eta",label:"도착일자",align:"center",field:"eta"},{name:"totalOrderQty",label:"Order 수",align:"center",field:"totalOrderQty"},{name:"totalQty",label:"H.수량",align:"center",field:"totalQty"},{name:"totalWeight",label:"H.중량",align:"center",field:"totalWeight"},{name:"totalVolumeWeight",label:"부피중량",align:"center",field:"totalVolumeWeight"},{name:"memo",label:"콘솔 비고 메모",align:"center",field:"memo"},{name:"updated_at",label:"최종수정일",align:"center",field:"updated_at"},{name:"created_at",label:"등록일",align:"center",field:"created_at"},{name:"actions",label:"기능선택",align:"center",field:"actions"}],orderColumns:[{name:"orderId",label:"Order ID",align:"center",field:"orderId"},{name:"partnerName",label:"파트너명",align:"center",field:"partnerName"},{name:"hblNo",label:"H B/L No.",align:"center",field:"hblNo"},{name:"shipperName",label:"송하인명",align:"center",field:"shipperName"},{name:"receiverName",label:"보내는 사람명",align:"center",field:"receiverName"}],csvName:"consoled-list-"+(new Date).toLocaleDateString()+".csv",csvHeaders:{id:"ID",freightMethod:"운송수단",regName:"등록업체",customerNum:"회원번호",customerName:"회원명",bulkShipping:"묶음배송여부",bulkSeq:"묶음배송번호",bulkCnt:"묶음배송갯수",courierCode:"택배사코드",courierName:"택배사",courierNum:"송장번호",parcelStatus:"화물상태",parcelLocation:"화물위치코드",parcelLocationName:"화물위치명",parcelCode:"화물코드",destiCity:"도착지(도시)",pickUpLocation:"픽업위치코드",pickUpLocationName:"픽업위치명",deliveryAddress:"도착지주소",email:"수취인 이메일",eatable:"음식물여부",length:"길이(cm)",height:"높이(cm)",width:"넓이(cm)",memo:"메모",isDel:"삭제여부",actualWeight:"실무게(kg)",weight:"부피무게(kg/CBM)",receiver:"수취인",mobileCountry:"수취인 국가코드",mobileNum:"수취인 전화번호",pickupLocation:"픽업지",parcelLocatonName:"위치",regDateOriginal:"등록일전체",regDate:"등록일"},initialPagination:{sortBy:"id",descending:!1,page:1,rowsPerPage:500}}},methods:{getStatusColor(e){return"001"===String(e)?"orange":"002"===String(e)?"blue":"003"===String(e)?"positive":"004"===String(e)?"negative":"grey-7"},closeModal(){this.modalConsol=!1},async onLoadConslizedList(e,t){this.$log.info("[ 선택된 콘솔에 consolize 된 목록 호출 ] row = ",t),this.selectedConsol=t,this.selectedList=[],this.detailLoading=!0;t={method:"POST",url:"/api/consol/getOrderListByConsole",data:{consoleId:t.id},name:"[ Axios / consolize 된 목록 호출 ]"};try{var a=(await this.$http(t)).data;this.orderList=Array.isArray(a)?a:[]}catch(e){this.$log.debug("/parcel/getOrderListByConsole 실패",e),this.orderList=[],this.$q.notify({type:"negative",message:"콘솔 오더 조회에 실패했습니다.",position:"top"})}finally{this.detailLoading=!1}},async refreshSelectedConsol(){this.$emit("load-consol-list"),this.selectedConsol?.id&&await this.onLoadConslizedList(null,this.selectedConsol)},savePrevStatus(e){e&&(e._prevStatus=e.status)},async confirmUpdateConsolStatus(t,a,l=null){this.$log.debug("[ 콘솔 상태 변경 확인 ] id =",t,", status =",a,", prevStatus =",l),null===l&&(e=this.consolList.find(e=>e.id===t),l=e?e.status:null);var e=(this.$store.getters.getConsolStatusList||[]).find(e=>(e.value??e.val??e)===a),e=e?e.label??e.name??String(a):String(a);await this.$q.dialog({title:"콘솔 상태 변경 확인",message:`콘솔 상태를 "${e}"(으)로 변경하시겠습니까?`,cancel:!0,persistent:!0}).onOk(async()=>{await this.updateConsolStatus(t,a,l)}).onCancel(()=>{var e=this.consolList.find(e=>e.id===t);e&&(e.status=l),this.selectedConsol&&this.selectedConsol.id===t&&(this.selectedConsol.status=l),this.$q.notify({type:"info",message:"콘솔 상태 변경이 취소되었습니다",position:"top",timeout:2e3})})},async updateConsolStatus(a,e,l){this.$log.debug("[ 콘솔 상태 업데이트 ] id =",a,", status =",e);try{let t={method:"POST",data:{consoleId:a,status:e},url:"/api/consol/updateStatus",name:"[ Axios / updateStatus / 콘솔 및 오더 상태 수정 ]"};return await this.$http(t).then(e=>(this.$log.debug(t.name+" 성공 => ",e.data),this.$q.notify({type:"positive",message:"콘솔과 소속 오더 상태가 변경되었습니다",position:"top",timeout:3e3}),this.refreshSelectedConsol(),!0)).catch(e=>{this.$log.debug(e),this.$q.notify({type:"negative",message:"콘솔 수정에 실패했습니다",position:"top",timeout:3e3});e=this.consolList.find(e=>e.id===a);return e&&(e.status=l),this.selectedConsol?.id===a&&(this.selectedConsol.status=l),!1})}catch(e){alert("에러 발생: "+(e.response?.data?.message||e.message))}},async deConsolize(){if(this.$log.debug("[ De consolize ]"),0===this.selectedList.length)return this.$q.notify({type:"positive",message:"선택된 ORDER가 없습니다",position:"top",timeout:3e3}),!1;var e={orderList:this.selectedList.map(e=>e.orderId)};await this.$http({method:"POST",url:"/api/consol/deConsolize",data:e,name:"[ Axios / deConsolize ]"}).then(()=>{this.$log.debug("콘솔이 해제되었습니다."),this.$q.notify({type:"positive",message:"콘솔이 해제되었습니다",position:"top",timeout:3e3}),this.refreshSelectedConsol()}).catch(e=>{this.$log.debug(e),alert("deConsolize 실패!")})},async deleteConsol(e){e&&e.id?confirm("정말로 이 콘솔을 삭제하시겠습니까?")&&(e={consoleId:e.id},await this.$http({method:"POST",url:"/api/consol/deleteConsol",data:e,name:"[ Axios / 콘솔 삭제 ]"}).then(()=>{this.$log.debug("콘솔이 삭제되었습니다."),this.$q.notify({type:"positive",message:"콘솔이 삭제되었습니다",position:"top",timeout:3e3}),this.$emit("load-consol-list"),this.selectedConsol={},this.orderList=[]}).catch(e=>{this.$log.debug(e),alert("콘솔 삭제 실패!")})):this.$q.notify({type:"negative",message:"삭제할 콘솔을 찾을 수 없습니다",position:"top",timeout:3e3})},async excelDownload(e,t){var a=this.selectedConsol.id,l=this.selectedConsol.mblNo;if(a){a={method:"POST",url:"/api/consol/downloadExcel",data:{consoleId:a,partnerId:e,partnerName:t},name:"[ Axios / consolize 된 목록을 엑셀로 다운로드 ]",responseType:"blob"};try{var i=await this.$http(a),o=(this.$log.debug("/consol/downloadExcel 결과 = ",i),new Blob([i.data],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"})),s=document.createElement("a");s.href=window.URL.createObjectURL(o),s.download=`G1_upload_consol_${l}_${t}.xlsx`,s.click(),window.URL.revokeObjectURL(s.href)}catch(e){this.$log.debug("/consol/excelDownload 실패",e),this.$q.notify({type:"negative",message:"엑셀 다운로드 실패",position:"top",timeout:1e4})}}else this.$q.notify({type:"warning",message:"콘솔을 먼저 선택하세요",position:"top",timeout:2e3})},toggle(e,t){var a=this.consolList[t]?.id;a&&(this.$log.debug("콘솔 토글 클릭",t,a,this.expandedMap[a]),this.expandedMap[a]=!this.expandedMap[a])}},mounted(){this.$log.debug("selectedConsol",this.selectedConsol)}},v(21971),_c={name:"Admin-console-management",meta:{title:"어드민-콘솔"},components:{Title:b,ConsolList:(0,e.A)(w,[["render",function(e,a,t,l,i,o){let s=(0,V.g2)("q-badge"),r=(0,V.g2)("q-select"),n=(0,V.g2)("q-card-section"),d=(0,V.g2)("q-card"),c=(0,V.g2)("q-spinner");var u=(0,V.g2)("q-inner-loading");let m=(0,V.g2)("q-item-label"),p=(0,V.g2)("q-item-section"),g=(0,V.g2)("q-item"),h=(0,V.g2)("q-list"),b=(0,V.g2)("q-btn-dropdown"),f=(0,V.g2)("q-btn"),v=(0,V.g2)("q-menu");var k=(0,V.g2)("q-separator");let y=(0,V.g2)("q-icon");var L=(0,V.g2)("q-banner"),_=(0,V.g2)("q-table");let w=(0,V.g2)("RegiConsolForm");var x=(0,V.g2)("q-dialog");let C=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.Lk)("div",em,[(0,V.Lk)("div",tm,[(0,V.Lk)("div",am,[t.loading||0!==t.consolList.length?(0,V.Q3)("",!0):((0,V.uX)(),(0,V.CE)("div",lm," 조회된 콘솔이 없습니다. ")),((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(t.consolList,t=>((0,V.uX)(),(0,V.Wv)(d,{class:(0,R.C4)({selected:i.selectedConsol.id===t.id}),onClick:()=>{i.selectedConsol.id!==t.id&&o.onLoadConslizedList(e.$event,t)},key:t.id},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[(0,V.Lk)("div",im,[(0,V.Lk)("div",om,[a[6]||(a[6]=(0,V.eW)(" MBL No.")),a[7]||(a[7]=(0,V.Lk)("br",null,null,-1)),(0,V.eW)(" "+(0,R.v_)(t.mblNo),1)]),(0,V.bF)(s,{color:o.getStatusColor(t.status),class:"q-mt-sm"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.statusLabel||t.status),1)]),_:2},1032,["color"]),(0,V.Lk)("div",sm," 운항편명 : "+(0,R.v_)(t.freightCode),1),(0,V.Lk)("div",rm," 총 오더 "+(0,R.v_)(t.totalOrderQty)+" 개 ",1),(0,V.Lk)("div",nm,[(0,V.bF)(r,{modelValue:t.status,"onUpdate:modelValue":[e=>t.status=e,e=>o.confirmUpdateConsolStatus(t.id,e,t._prevStatus)],options:this.$store.getters.getConsolStatusList,onFocus:e=>o.savePrevStatus(t),label:"콘솔상태","emit-value":"","map-options":"",behavior:"menu",onClick:a[0]||(a[0]=(0,I.D$)(()=>{},["stop"])),disable:i.selectedConsol.id!==t.id},null,8,["modelValue","onUpdate:modelValue","options","onFocus","disable"])])])]),_:2},1024)]),_:2},1032,["class","onClick"]))),128))])]),(0,V.Lk)("div",dm,[i.detailLoading?((0,V.uX)(),(0,V.Wv)(u,{key:0,showing:!0},{default:(0,V.k6)(()=>[(0,V.bF)(c,{color:"primary",size:"42px"})]),_:1})):(0,V.Q3)("",!0),(0,V.bF)(d,{flat:"",class:"q-py-lg"},{default:(0,V.k6)(()=>[(0,V.bo)((0,V.bF)(n,{class:"q-py-none"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",cm,[(0,V.Lk)("div",um,[(0,V.Lk)("div",mm,(0,R.v_)(i.selectedConsol.departCity)+" -> "+(0,R.v_)(i.selectedConsol.arrivalCity),1)]),(0,V.Lk)("div",pm,[(0,V.bF)(b,{icon:"backup_table",color:"secondary",label:"엑셀 다운로드"},{default:(0,V.k6)(()=>[(0,V.bF)(h,null,{default:(0,V.k6)(()=>[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(o.partnerList,t=>(0,V.bo)(((0,V.uX)(),(0,V.Wv)(g,{key:t.id??t.name,clickable:"",onClick:e=>o.excelDownload(t.id,t.name)},{default:(0,V.k6)(()=>[(0,V.bF)(p,null,{default:(0,V.k6)(()=>[(0,V.bF)(m,null,{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.name),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,["onClick"])),[[C]])),128))]),_:1})]),_:1}),(0,V.bF)(f,{icon:"more_vert",clickable:"",flat:""}),(0,V.bF)(v,{anchor:"bottom right",self:"top right","transition-show":"jump-down","transition-hide":"jump-up"},{default:(0,V.k6)(()=>[(0,V.bF)(h,{style:{"min-width":"150px"}},{default:(0,V.k6)(()=>[(0,V.bo)(((0,V.uX)(),(0,V.Wv)(g,{clickable:"",onClick:a[1]||(a[1]=e=>i.modalConsol=!0)},{default:(0,V.k6)(()=>[(0,V.bF)(p,null,{default:(0,V.k6)(()=>a[8]||(a[8]=[(0,V.eW)("콘솔 정보 수정")])),_:1,__:[8]})]),_:1})),[[C]]),(0,V.bo)(((0,V.uX)(),(0,V.Wv)(g,{clickable:"",onClick:a[2]||(a[2]=e=>o.deleteConsol(i.selectedConsol))},{default:(0,V.k6)(()=>[(0,V.bF)(p,null,{default:(0,V.k6)(()=>a[9]||(a[9]=[(0,V.eW)("콘솔 삭제")])),_:1,__:[9]})]),_:1})),[[C]])]),_:1})]),_:1})])]),(0,V.Lk)("div",gm,(0,R.v_)(i.selectedConsol.etd)+" ~ "+(0,R.v_)(i.selectedConsol.eta),1),(0,V.Lk)("div",hm," 메모 : "+(0,R.v_)(i.selectedConsol.memo),1),(0,V.Lk)("div",bm,[(0,V.eW)(" 최종수정일 : "+(0,R.v_)(i.selectedConsol.updated_at),1),a[10]||(a[10]=(0,V.Lk)("br",null,null,-1)),(0,V.eW)(" 등록일 : "+(0,R.v_)(i.selectedConsol.created_at),1)])]),_:1},512),[[I.aG,0[(0,V.bF)(y,{name:"inventory_2",color:"grey-6"})]),default:(0,V.k6)(()=>[a[11]||(a[11]=(0,V.eW)(" 좌측 목록에서 콘솔을 선택하면 연결된 오더와 상세 정보를 확인할 수 있습니다. "))]),_:1,__:[11]})):((0,V.uX)(),(0,V.Wv)(_,{key:2,class:"my-sticky-virtscroll-table","virtual-scroll":"",selected:i.selectedList,"onUpdate:selected":a[3]||(a[3]=e=>i.selectedList=e),selection:"multiple","rows-per-page-options":[500],"virtual-scroll-sticky-size-start":48,rows:i.orderList||[],columns:i.orderColumns,pagination:i.initialPagination,"row-key":"orderId"},{"top-left":(0,V.k6)(()=>[(0,V.Lk)("h6",fm," H.수량 : "+(0,R.v_)(i.selectedConsol.totalQty)+" | H.중량 : "+(0,R.v_)(i.selectedConsol.totalWeight)+" | 부피중량 : "+(0,R.v_)(i.selectedConsol.totalVolumeWeight||0),1)]),"top-right":(0,V.k6)(()=>[(0,V.bF)(f,{color:"primary",size:"md",label:"선택 오더 연결 해제",class:"q-ml-sm",onClick:o.deConsolize},null,8,["onClick"])]),_:1},8,["selected","rows","columns","pagination"]))])]),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(x,{modelValue:i.modalConsol,"onUpdate:modelValue":a[5]||(a[5]=e=>i.modalConsol=e),"transition-show":"slide-up","transition-hide":"slide-down"},{default:(0,V.k6)(()=>[(0,V.bF)(w,{mode:"modify",title:"콘솔 수정",consolInfo:i.selectedConsol,onRefreshList:o.refreshSelectedConsol,onCloseModal:a[4]||(a[4]=e=>i.modalConsol=!1)},null,8,["consolInfo","onRefreshList"])]),_:1},8,["modelValue"])]))],64)}],["__scopeId","data-v-5dec4024"]]),RegiConsolForm:_,ConsolLookupForm:L},data(){return{description:{title:"콘솔관리"},modalConsol:!1,consolList:[],mblNo:"",freightCode:"",statusCode:[],loading:!1,selectedCalendarTarget:"etd",proxyDate:{}}},computed:{summary(){return this.consolList.reduce((e,t)=>(e.total+=1,e.orders+=Number(t.totalOrderQty||0),e.weight+=Number(t.totalWeight||0),"001"===String(t.status)&&(e.ready+=1),e),{total:0,ready:0,orders:0,weight:0})}},methods:{lookupConsol(){this.$log.debug("[ 콘솔검색 / lookupConsol ] 검색조건에 따른 콘솔검색 실행"),this.loadConsolList()},lookupOptSync(e){this.$log.debug("[ Consol info / 검색조건 ]= ",e),this.mblNo=e.mblNo,this.freightCode=e.freightCode,this.statusCode=e.statusCode,this.proxyDate=e.proxyDate,this.selectedCalendarTarget=e.selectedCalendarTarget},async loadConsolList(){this.loading=!0;var e={mblNo:this.mblNo,freightCode:this.freightCode,status:this.statusCode},e=(e[this.selectedCalendarTarget]=this.proxyDate,{method:"POST",url:"/api/consol/getConsolList",data:e,name:"[ Axios / 콘솔목록조회 ]"});try{var t=await this.$http(e),a=Array.isArray(t.data)?t.data:[];this.consolList=a.map(e=>({...e,expanded:!1}))}catch(e){this.$log.debug("/consol/getConsolList 실패",e),this.consolList=[],this.$q.notify({type:"negative",message:"콘솔 목록 조회에 실패했습니다.",position:"top"})}finally{this.loading=!1}},init(){this.loadConsolList()}},mounted(){this.init()}},v(60099),Hc=(0,e.A)(_c,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-tooltip"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("q-btn-group"),d=(0,V.g2)("Title"),c=(0,V.g2)("ConsolLookupForm"),u=(0,V.g2)("ConsolList");var m=(0,V.g2)("q-page");let p=(0,V.g2)("RegiConsolForm");var g=(0,V.g2)("q-dialog");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.bF)(m,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",fu,[(0,V.Lk)("div",vu,[(0,V.bF)(d,{desc:i.description},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",color:"grey-7",icon:"refresh","aria-label":"새로고침",loading:i.loading,onClick:o.loadConsolList},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[3]||(t[3]=[(0,V.eW)("새로고침")])),_:1,__:[3]})]),_:1},8,["loading","onClick"]),(0,V.bF)(r,{color:"primary",size:"md",icon:"add",label:"신규 콘솔",onClick:t[0]||(t[0]=()=>{i.modalConsol=!0})})]),_:1})]),_:1},8,["desc"])])]),(0,V.Lk)("div",ku,[(0,V.Lk)("div",yu,[(0,V.Lk)("div",Lu,[t[4]||(t[4]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"조회 콘솔",-1)),(0,V.Lk)("div",_u,(0,R.v_)(o.summary.total),1)])]),(0,V.Lk)("div",wu,[(0,V.Lk)("div",xu,[t[5]||(t[5]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"출항 대기",-1)),(0,V.Lk)("div",Cu,(0,R.v_)(o.summary.ready),1)])]),(0,V.Lk)("div",Su,[(0,V.Lk)("div",Fu,[t[6]||(t[6]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"포함 오더",-1)),(0,V.Lk)("div",qu,(0,R.v_)(o.summary.orders),1)])]),(0,V.Lk)("div",Iu,[(0,V.Lk)("div",Pu,[t[7]||(t[7]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"상품 중량 합계",-1)),(0,V.Lk)("div",Au,(0,R.v_)(o.summary.weight.toFixed(2))+" kg",1)])])]),(0,V.Lk)("div",Tu,[(0,V.Lk)("div",Nu,[(0,V.Lk)("div",Eu,[(0,V.bF)(c,{onLookupOptSync:o.lookupOptSync},null,8,["onLookupOptSync"])])]),(0,V.Lk)("div",Du,[(0,V.bF)(r,{color:"primary",size:"lg",label:"콘솔상품검색",class:"full-width",style:{height:"100%"},onClick:o.lookupConsol},null,8,["onClick"])])]),(0,V.Lk)("div",Ou,[(0,V.Lk)("div",Vu,[(0,V.Lk)("div",Ru,[(0,V.bF)(u,{"consol-list":i.consolList,loading:i.loading,onLoadConsolList:o.loadConsolList},null,8,["consol-list","loading","onLoadConsolList"])])])])]),_:1}),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(g,{modelValue:i.modalConsol,"onUpdate:modelValue":t[2]||(t[2]=e=>i.modalConsol=e),"transition-show":"slide-up","transition-hide":"slide-down"},{default:(0,V.k6)(()=>[(0,V.bF)(p,{mode:"add",title:"신규콘솔 추가",onRefreshList:o.loadConsolList,onCloseModal:t[1]||(t[1]=e=>i.modalConsol=!1)},null,8,["onRefreshList"])]),_:1},8,["modelValue"])]))],64)}],["__scopeId","data-v-7d5fccc4"]]);let Tm={class:"row q-mb-lg"},Nm={class:"col"},Em={class:"row"},Dm={class:"col"},Om={class:"comp-box mb-4"},Vm={class:"q-gutter-md row q-mb-md"},Rm={class:"q-gutter-md row q-mb-md"},Mm={class:"q-gutter-md row"},$m={key:0,class:"mt-4 text-green-600"},Um={class:"text-h5 q-mt-md q-mb-sm"},Wm={class:"row q-gutter-sm justify-center"};let Bm=()=>({id:null,type:"HB",name:"",min_value:0,max_value:0,base_value:0,next_sequence_id:null,is_active:!0}),zm={name:"Admin-console-management",meta:{title:"어드민-화물번호 대역폭관리"},components:{Title:b},computed:{sortedList(){return this.configList.reduce((e,t)=>{var a=t.type||"UNKNOWN";return e[a]||(e[a]=[]),e[a].push(t),e},{})},nextSequenceOptions(){return this.form.name?this.configList.filter(e=>e.name===this.form.name&&e.id!==this.form.id&&1===e.is_active).map(e=>({label:`${e.id} | ${e.name} | ${this.formatNumber(e.min_value)} ~ `+this.formatNumber(e.max_value),value:e.id})):[]}},data(){return{description:{title:"화물번호 대역폭관리"},form:Bm(),message:"",configList:[],columns:[{name:"id",label:"ID",align:"center",field:"id"},{name:"name",label:"시퀀스 이름",align:"center",field:"name"},{name:"min_value",label:"처음 채번번호",align:"center",field:"min_value",format:e=>this.formatNumber(e)},{name:"max_value",label:"마지막 채번번호",align:"center",field:"max_value",format:e=>this.formatNumber(e)},{name:"base_value",label:"기본 시퀀스 폼",align:"center",field:"base_value",format:e=>this.formatNumber(e)},{name:"current_hbl_no",label:"현재 채번번호",align:"center",field:"current_hbl_no",format:e=>this.formatNumber(e)},{name:"next_sequence_id",label:"다음 대역 ID",align:"center",field:"next_sequence_id",format:e=>null==e?"-":e},{name:"is_active",label:"활성",align:"center",field:"is_active"},{name:"is_current",label:"현재 대역",align:"center",field:"is_current"},{name:"round",label:"참고 회차",align:"center",field:"round",format:e=>this.formatNumber(e)},{name:"actions",label:"관리",align:"center",field:"actions"}]}},methods:{formatNumber(e){var t=Number(e);return Number.isFinite(t)?t.toLocaleString():e},getTypeLabel(t){var e=this.$store.getters.getSeqTypeList.find(e=>e.value===t);return e?e.label:t},resetForm(){this.form=Bm(),this.message=""},startEdit(e){this.form={id:e.id,type:e.type,name:e.name,min_value:Number(e.min_value),max_value:Number(e.max_value),base_value:Number(e.base_value),next_sequence_id:null==e.next_sequence_id?null:Number(e.next_sequence_id),is_active:1===Number(e.is_active)},this.message=`ID ${e.id} 대역 수정 모드입니다.`},async saveConfig(){if(this.form.name&&null!==this.form.min_value&&null!==this.form.max_value&&null!==this.form.base_value)if(Number(this.form.max_value)<=Number(this.form.min_value))this.message="마지막 채번번호는 처음 채번번호보다 커야 합니다.";else try{var e={method:"POST",url:"/api/seqConfig/save",data:{id:this.form.id,type:this.form.type,name:this.form.name,min_value:this.form.min_value,max_value:this.form.max_value,base_value:this.form.base_value,next_sequence_id:this.form.next_sequence_id,is_active:this.form.is_active?1:0},name:"[ Axios / 화물번호 대역폭 관리 / 저장 ]"},t=await this.$http(e);this.$log.debug("저장 성공",t.data),this.message=this.form.id?"화물번호 대역폭이 수정되었습니다.":"화물번호 대역폭이 저장되었습니다.",this.resetForm(),this.fetchConfigList()}catch(e){this.$log.error("저장 실패",e),this.message=e?.response?.data?.message||"화물번호 대역폭 저장에 실패했습니다."}else this.$log.error("모든 필드를 입력해주세요."),this.message="모든 필드를 입력해주세요."},async fetchConfigList(){try{var e={method:"GET",url:"/api/seqConfig/sequence-list",name:"[ Axios / 화물번호 대역폭 관리 / 목록 불러오기 ]"},t=await this.$http(e);this.$log.debug("목록 불러오기 성공",t.data),this.configList=t.data.data||[]}catch(e){this.$log.error("목록 불러오기 실패",e),this.message=e?.response?.data?.message||"화물번호 대역폭 목록을 불러오는 데 실패했습니다."}},async setCurrentSequence(e){if(window.confirm(`ID ${e.id}를 현재 대역으로 설정하시겠습니까?`))try{await this.$http({method:"PATCH",url:"/api/seqConfig/current",data:{name:e.name,current_sequence_id:e.id},name:"[ Axios / 화물번호 대역폭 관리 / 현재 대역 변경 ]"}),this.message=`ID ${e.id}가 현재 대역으로 설정되었습니다.`,this.fetchConfigList()}catch(e){this.$log.error("현재 대역 변경 실패",e),this.message=e?.response?.data?.message||"현재 대역 변경에 실패했습니다."}},async deactivateSequence(e){if(window.confirm(`ID ${e.id} 대역을 비활성화하시겠습니까?`))try{await this.$http({method:"DELETE",url:"/api/seqConfig/delete",data:{id:e.id},name:"[ Axios / 화물번호 대역폭 관리 / 비활성화 ]"}),this.message=`ID ${e.id} 대역이 비활성 처리되었습니다.`,this.form.id===e.id&&this.resetForm(),this.fetchConfigList()}catch(e){this.$log.error("비활성화 실패",e),this.message=e?.response?.data?.message||"비활성화에 실패했습니다."}},init(){this.$getCodeList("SEQTYP").finally(()=>{this.fetchConfigList()})}},mounted(){this.init()}};cu=(0,e.A)(zm,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("Title"),r=(0,V.g2)("q-select"),n=(0,V.g2)("q-input"),d=(0,V.g2)("q-toggle"),c=(0,V.g2)("q-btn"),u=(0,V.g2)("q-separator"),m=(0,V.g2)("q-badge"),p=(0,V.g2)("q-td"),g=(0,V.g2)("q-table");var h=(0,V.g2)("q-page");return(0,V.uX)(),(0,V.Wv)(h,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Tm,[(0,V.Lk)("div",Nm,[(0,V.bF)(s,{desc:i.description},null,8,["desc"])])]),(0,V.Lk)("div",Em,[(0,V.Lk)("div",Dm,[(0,V.Lk)("div",Om,[t[7]||(t[7]=(0,V.Lk)("p",null,[(0,V.eW)(" 화물번호 대역폭 관리는 화물번호의 시작과 끝, 다음 대역 연결, 현재 활성 대역을 함께 관리합니다."),(0,V.Lk)("br"),(0,V.eW)(" 현재 대역이 소진되면 `next_sequence_id`로 연결된 다음 대역으로 전환됩니다."),(0,V.Lk)("br"),(0,V.eW)(" 현재 대역은 그룹별로 하나만 존재해야 하며, 시작 상태가 아닌 대역은 자동 전환 대상이 될 수 없습니다. ")],-1)),(0,V.Lk)("div",Vm,[(0,V.bF)(r,{modelValue:i.form.type,"onUpdate:modelValue":t[0]||(t[0]=e=>i.form.type=e),options:e.$store.getters.getSeqTypeList,behavior:"menu",label:"타입","emit-value":"","map-options":"",outlined:""},null,8,["modelValue","options"]),(0,V.bF)(n,{modelValue:i.form.name,"onUpdate:modelValue":t[1]||(t[1]=e=>i.form.name=e),label:"시퀀스 이름",class:"col",disable:!!i.form.id,outlined:"",placeholder:"예: KOREA POST","hide-bottom-space":"",required:""},null,8,["modelValue","disable"]),(0,V.bF)(n,{modelValue:i.form.min_value,"onUpdate:modelValue":t[2]||(t[2]=e=>i.form.min_value=e),modelModifiers:{number:!0},label:"처음 채번번호",type:"number",class:"col",outlined:"","hide-bottom-space":"",required:""},null,8,["modelValue"]),(0,V.bF)(n,{modelValue:i.form.max_value,"onUpdate:modelValue":t[3]||(t[3]=e=>i.form.max_value=e),modelModifiers:{number:!0},label:"마지막 채번번호",type:"number",class:"col",outlined:"","hide-bottom-space":"",required:""},null,8,["modelValue"]),(0,V.bF)(n,{modelValue:i.form.base_value,"onUpdate:modelValue":t[4]||(t[4]=e=>i.form.base_value=e),modelModifiers:{number:!0},label:"기본 시퀀스 폼",type:"number",class:"col",outlined:"","hide-bottom-space":"",required:""},null,8,["modelValue"])]),(0,V.Lk)("div",Rm,[(0,V.bF)(r,{modelValue:i.form.next_sequence_id,"onUpdate:modelValue":t[5]||(t[5]=e=>i.form.next_sequence_id=e),options:o.nextSequenceOptions,"emit-value":"","map-options":"",clearable:"",label:"다음 대역",class:"col-4",outlined:""},null,8,["modelValue","options"]),(0,V.bF)(d,{modelValue:i.form.is_active,"onUpdate:modelValue":t[6]||(t[6]=e=>i.form.is_active=e),label:"활성 여부","left-label":"",color:"primary"},null,8,["modelValue"]),(0,V.bF)(c,{type:"submit",label:i.form.id?"수정하기":"저장하기",color:"primary",onClick:o.saveConfig,unelevated:""},null,8,["label","onClick"]),(0,V.bF)(c,{flat:"",color:"grey-7",label:"초기화",onClick:o.resetForm},null,8,["onClick"])]),(0,V.bF)(u,{class:"q-mb-md"}),(0,V.Lk)("div",Mm,[i.message?((0,V.uX)(),(0,V.CE)("div",$m,(0,R.v_)(i.message),1)):(0,V.Q3)("",!0)]),((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(o.sortedList,(e,t)=>((0,V.uX)(),(0,V.CE)(V.FK,{key:t},[(0,V.Lk)("h5",Um,(0,R.v_)(o.getTypeLabel(t)),1),(0,V.bF)(g,{rows:e,columns:i.columns,"row-key":"id",flat:"",bordered:""},{"body-cell-is_active":(0,V.k6)(e=>[(0,V.bF)(p,{props:e},{default:(0,V.k6)(()=>[(0,V.bF)(m,{color:1===Number(e.row.is_active)?"positive":"grey-6"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(1===Number(e.row.is_active)?"활성":"비활성"),1)]),_:2},1032,["color"])]),_:2},1032,["props"])]),"body-cell-is_current":(0,V.k6)(e=>[(0,V.bF)(p,{props:e},{default:(0,V.k6)(()=>[(0,V.bF)(m,{color:1===Number(e.row.is_current)?"primary":"grey-5"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(1===Number(e.row.is_current)?"현재 대역":"-"),1)]),_:2},1032,["color"])]),_:2},1032,["props"])]),"body-cell-actions":(0,V.k6)(t=>[(0,V.bF)(p,{props:t},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Wm,[(0,V.bF)(c,{size:"sm",color:"primary",flat:"",label:"수정",onClick:e=>o.startEdit(t.row)},null,8,["onClick"]),(0,V.bF)(c,{size:"sm",color:"secondary",flat:"",label:"현재 대역",onClick:e=>o.setCurrentSequence(t.row)},null,8,["onClick"]),(0,V.bF)(c,{size:"sm",color:"negative",flat:"",label:"비활성",onClick:e=>o.deactivateSequence(t.row)},null,8,["onClick"])])]),_:2},1032,["props"])]),_:2},1032,["rows","columns"])],64))),128))])])])]),_:1})}]]);let Xm={class:"row q-mb-lg"},Km={class:"col"},Qm={class:"comp-box q-mb-md"},Gm={class:"comp-box q-mb-md"},Hm={class:"row q-col-gutter-md"},jm={class:"col-12 col-md-4"},Ym={class:"col-12 col-md-8"},Zm={class:"col-12 col-md-4"},Jm={class:"col-12 col-md-4"},ep={class:"col-12 col-md-4"},tp={class:"col-12"},ap={class:"row q-gutter-sm q-mt-md"},lp={key:0,class:"text-caption text-grey-7 self-center"},ip={class:"comp-box q-mb-md"},op={class:"row q-col-gutter-md items-end"},sp={class:"col-12 col-md-5"},rp={class:"col-12 col-md-3"},np={class:"col-12 col-md-2"},dp={class:"col-12 col-md-2"},cp={class:"comp-box"},up={class:"row q-gutter-sm justify-center"},mp={class:"comp-box q-mb-md"},pp={class:"row items-center justify-between q-col-gutter-md q-mb-md"},gp={class:"col-12 col-md-auto row q-gutter-sm"},hp={class:"row q-col-gutter-md q-mb-md"},bp={class:"col-6 col-md-3"},fp={class:"text-h5 text-weight-bold"},vp={class:"col-6 col-md-3"},kp={class:"text-h5 text-weight-bold text-deep-orange"},yp={class:"col-6 col-md-3"},Lp={class:"text-h5 text-weight-bold text-positive"},_p={class:"col-6 col-md-3"},wp={class:"text-body2 text-weight-bold"},xp={class:"row q-col-gutter-md items-end q-mb-md"},Cp={class:"col-12 col-md-5"},Sp={class:"col-12 col-md-3"},Fp={class:"col-12 col-md-2"},qp={key:0,class:"text-caption text-grey-7 q-mt-xs"},Ip={class:"row q-gutter-xs"},Pp={class:"row q-gutter-sm justify-center"},Ap={class:"comp-box"},Tp={class:"row q-col-gutter-sm"},Np={class:"col"},Ep={class:"col-auto"},Dp={key:0},Op={class:"q-mt-sm"},Vp={key:0,class:"q-mt-md"},Rp={class:"column q-gutter-sm"},Mp={class:"row items-center justify-between q-gutter-sm"},$p={class:"text-weight-bold"},Up={class:"text-caption text-grey-7"},Wp={key:1,class:"text-grey-6"};let Bp={class:"fulfillment-page-guide"},zp={class:"guide-heading"},Xp={class:"guide-copy"},Kp={class:"row q-col-gutter-md q-mt-sm"},Qp={class:"guide-card"},Gp={class:"guide-card__title"},Hp={class:"guide-card__copy"},jp={class:"guide-steps"},Yp={class:"guide-subheading"},Zp={class:"glossary-grid"};let Jp={operations:{heading:"상품 운영 현황에서 하는 일",description:"상품 관리 업무의 현재 상태를 빠르게 확인하고, 처리할 화면으로 이동합니다.",cards:[{icon:"pending_actions",title:"승인 대기",copy:"파트너가 등록한 요청 중 아직 검토하지 않은 건수입니다."},{icon:"link",title:"연결 검토 필요",copy:"기존 기준 상품과 연결 여부를 확인해야 하는 항목입니다."},{icon:"history",title:"장기 미처리 요청",copy:"오래 대기 중인 요청을 우선 처리할 수 있도록 보여줍니다."}],steps:[{title:"상단 요약 카드를 확인합니다.",copy:"승인 대기, 연결 검토 필요, 정상 연결, 미연결 상품 건수를 먼저 확인하세요."},{title:"우선 처리할 목록을 확인합니다.",copy:"전체 요청 대기 목록과 장기 미처리 요청을 기준으로 작업 순서를 정합니다."},{title:"바로가기 아이콘으로 이동합니다.",copy:"각 카드와 목록의 우측 아이콘을 누르면 조건에 맞는 관리 화면으로 이동합니다."},{title:"필요하면 새로고침합니다.",copy:"타이틀 우측 새로고침 아이콘으로 최신 현황을 다시 불러옵니다."}],note:"상품 운영 현황은 상태를 확인하는 화면입니다. 실제 승인과 연결 작업은 요청/매핑 관리에서 진행하세요."},requestMappings:{heading:"요청/매핑 관리에서 하는 일",description:"파트너 상품 요청을 검토하고, 파트너 SKU와 기준 상품의 연결 상태를 관리합니다.",cards:[{icon:"hourglass_top",title:"요청 · 대기",copy:"새로 들어온 연결요청 또는 신규등록요청을 확인하고 처리합니다."},{icon:"link",title:"매핑 · 연결 검토",copy:"기존 기준 상품과 연결할 수 있는 항목을 확인합니다."},{icon:"task_alt",title:"매핑 · 정상 연결",copy:"파트너 SKU와 기준 상품의 연결이 완료된 항목입니다."}],steps:[{title:"업무에 맞는 탭을 선택합니다.",copy:"요청 탭 2개는 요청 처리, 매핑 탭 2개는 연결 상태 확인에 사용합니다."},{title:"파트너 또는 SKU를 검색합니다.",copy:"파트너명, 파트너 SKU, 브랜드 또는 상품명으로 필요한 항목을 찾습니다."},{title:"행을 선택해 상세 화면으로 이동합니다.",copy:"요청 상세에서 기존 상품 연결 승인, 신규 상품 생성 승인 또는 반려를 처리합니다."},{title:"처리 후 상태를 다시 확인합니다.",copy:"처리가 완료되면 정상 연결 탭에서 결과를 확인할 수 있습니다."}],note:"연결요청은 기존 기준 상품이 있는 경우입니다. 신규등록요청은 같은 기준 상품이 없어 새 상품 생성 검토가 필요한 경우입니다.",glossary:[{term:"요청 · 대기",description:"새로 들어와 아직 처리하지 않은 요청"},{term:"요청 · 반려",description:"정보 보완 후 다시 요청해야 하는 항목"},{term:"매핑 · 연결 검토",description:"기존 기준 상품과 연결 여부를 확인하는 항목"},{term:"매핑 · 정상 연결",description:"파트너 SKU와 기준 상품의 연결이 완료된 항목"}]},masterSkuList:{heading:"목록 조회에서 하는 일",description:"등록된 기준 상품을 검색하고 파트너 SKU 연결 현황을 확인합니다.",cards:[{icon:"search",title:"상품 검색",copy:"상품명, 마스터 SKU, 브랜드를 기준으로 빠르게 검색합니다."},{icon:"filter_alt",title:"상태 필터",copy:"정상 연결, 미연결, 비활성 상품을 한 번에 구분합니다."},{icon:"open_in_new",title:"상세 확인",copy:"행 또는 상세보기 아이콘을 눌러 상품 정보와 연결 상태를 확인합니다."}],steps:[{title:"검색어 또는 빠른 필터를 선택합니다.",copy:"전체, 정상 연결, 미연결, 비활성 중 필요한 조건을 선택하세요."},{title:"필요하면 상세 조건을 추가합니다.",copy:"브랜드, 카테고리, HS CODE, 규격 타입, 활성 여부를 함께 설정할 수 있습니다."},{title:"조회 결과와 연결 상태를 확인합니다.",copy:"연결 SKU 수와 연결 파트너를 확인해 상품 사용 현황을 파악합니다."},{title:"상세 화면으로 이동합니다.",copy:"상품 정보 수정이나 연결 현황 확인이 필요하면 행 또는 우측 아이콘을 누릅니다."}],note:"새 상품을 등록하기 전에 목록 조회에서 동일한 기준 상품이 이미 있는지 먼저 확인하세요."},packingExpressRules:{heading:"익스프레스 규칙 관리에서 하는 일",description:"포장 화면의 익스프레스 모드를 사용할 수 있는 파트너와 상품 범위를 관리합니다.",cards:[{icon:"local_shipping",title:"파트너 범위",copy:"FULFILLMENT 계약 파트너를 기준으로 허용 규칙을 등록합니다."},{icon:"filter_alt",title:"상품 범위",copy:"브랜드와 카테고리를 조합해 익스프레스 대상 상품을 제한합니다."},{icon:"toggle_on",title:"활성 상태",copy:"규칙을 삭제하지 않고 비활성화해 운영 이력을 유지합니다."}],steps:[{title:"파트너를 선택합니다.",copy:"익스프레스 포장을 허용할 FULFILLMENT 계약 파트너를 선택하세요."},{title:"브랜드와 카테고리 범위를 정합니다.",copy:"비운 항목은 전체를 뜻합니다. 두 항목을 모두 비우면 파트너 전체 상품이 대상입니다."},{title:"운영 메모를 남깁니다.",copy:"허용 사유나 적용 범위를 다른 운영자가 이해할 수 있게 기록하세요."},{title:"활성화 후 포장 화면에서 확인합니다.",copy:"실제 대상 상품에서 익스프레스 모드가 노출되는지 확인하세요."}],note:"브랜드와 카테고리를 모두 비운 활성 규칙은 범위가 매우 넓습니다. 세부 규칙과 동시에 활성화할 수 없으며, 반드시 의도한 파트너인지 확인하세요.",glossary:[{term:"전체 브랜드",description:"선택한 카테고리 안에서 브랜드를 제한하지 않습니다."},{term:"전체 카테고리",description:"선택한 브랜드 안에서 카테고리를 제한하지 않습니다."},{term:"파트너 전체 상품",description:"브랜드와 카테고리를 모두 비운 규칙입니다."}]},masterData:{heading:"브랜드/카테고리 관리에서 하는 일",description:"상품 등록에 사용하는 브랜드와 카테고리 이름을 추가하고 정리합니다.",cards:[{icon:"sell",title:"브랜드 관리",copy:"브랜드명을 등록하고 잘못 입력된 이름을 수정합니다."},{icon:"category",title:"카테고리 관리",copy:"카테고리명과 기본 규격 타입을 함께 관리합니다."},{icon:"toggle_on",title:"활성 상태 관리",copy:"더 이상 사용하지 않는 항목은 비활성화해 선택 목록에서 구분합니다."}],steps:[{title:"브랜드 또는 카테고리 탭을 선택합니다.",copy:"관리하려는 기준정보 종류에 맞는 탭으로 이동하세요."},{title:"검색과 활성 여부 필터로 항목을 찾습니다.",copy:"이름이 유사한 항목이나 비활성 항목을 빠르게 확인할 수 있습니다."},{title:"타이틀 우측 등록 버튼으로 새 항목을 추가합니다.",copy:"현재 탭에 따라 브랜드 등록 또는 카테고리 등록 팝업이 열립니다."},{title:"목록의 수정 버튼으로 기존 항목을 정리합니다.",copy:"파트너가 직접 입력한 이름도 관리자가 수정하거나 비활성화할 수 있습니다."}],note:"유사한 이름을 중복 등록하지 마세요. 기존 항목의 오타라면 새로 만들지 말고 수정 기능을 사용하세요.",glossaryTitle:"등록·수정 팝업",glossary:[{term:"브랜드 등록/수정",description:"브랜드명과 활성 여부를 입력합니다."},{term:"카테고리 등록/수정",description:"카테고리명, 기본 규격 타입, 활성 여부를 입력합니다."},{term:"활성 여부",description:"더 이상 사용하지 않는 항목은 비활성으로 변경합니다."},{term:"수정 우선",description:"오타나 표기 차이는 새 항목을 만들기보다 기존 항목을 수정합니다."}]},hsCodeManage:{heading:"HS CODE 관리에서 하는 일",description:"오더 등록 시 상품명으로 HS CODE가 자동 입력되도록 매칭 기준을 관리합니다.",cards:[{icon:"rule",title:"매칭 기준 등록",copy:"상품명과 비교할 exact 또는 keyword 기준과 HS CODE를 등록합니다."},{icon:"manage_search",title:"매핑 후보 검토",copy:"과거 오더 상품명에서 추출된 대표 키워드 후보와 근거를 확인합니다."},{icon:"science",title:"매칭 테스트",copy:"상품명을 입력해 실제 자동입력 결과를 미리 확인합니다."},{icon:"toggle_on",title:"활성 상태 관리",copy:"사용하지 않는 기준은 삭제하지 않고 비활성화해 운영 이력을 보존합니다."}],steps:[{title:"매칭방식을 선택합니다.",copy:"정확히 일치는 상품명이 매칭값과 같을 때만 적용되고, 키워드 포함은 상품명 안에 매칭값이 포함되면 적용됩니다."},{title:"매칭값과 HS CODE를 입력합니다.",copy:"HS CODE는 숫자 6자리로 입력합니다. 매칭값은 운영자가 이해하기 쉬운 단어 또는 상품명으로 등록하세요."},{title:"우선순위를 정합니다.",copy:"여러 키워드가 동시에 걸릴 수 있으므로 더 구체적이고 중요한 기준일수록 낮은 숫자를 사용하세요."},{title:"매핑 후보를 검토합니다.",copy:"후보 탭에서 사용 건수, 원본 종류, 주변 단어 수, 원본 예시 등 추출 근거를 확인합니다."},{title:"필요한 후보를 매핑으로 등록합니다.",copy:"후보의 대표 키워드를 기준으로 HS CODE를 입력하면 실제 자동입력 기준으로 등록됩니다."},{title:"불필요한 후보는 제외합니다.",copy:"컬러나 사이즈처럼 HS CODE 판단에 적합하지 않은 후보는 제외 처리합니다. 제외된 후보는 동일 대표 키워드 기준으로 재추출되지 않습니다."},{title:"잘못 제외한 후보는 제외 해제합니다.",copy:"후보 상태를 제외로 조회한 뒤 제외 해제를 누르면 다시 검토 대기 상태로 복구됩니다."},{title:"상품명 매칭 테스트를 실행합니다.",copy:"등록한 기준이 의도한 HS CODE로 연결되는지 테스트 후 실제 오더 등록에서 확인합니다."},{title:"불필요한 기준은 비활성화합니다.",copy:"잘못된 기준이나 더 이상 쓰지 않는 기준은 비활성화해 자동입력 대상에서 제외합니다."}],note:"HS CODE는 통관 정보에 영향을 줄 수 있습니다. AI 추정값처럼 불확실한 값은 바로 등록하지 말고, 운영자가 확인한 기준만 활성화하세요.",glossaryTitle:"매칭방식 구분",glossary:[{term:"정확히 일치",description:"상품명이 매칭값과 완전히 같을 때만 적용합니다."},{term:"키워드 포함",description:"상품명에 매칭값이 포함되면 적용합니다."},{term:"우선순위",description:"낮은 숫자가 먼저 적용됩니다. 같은 조건이면 최근 수정 기준을 우선합니다."},{term:"매핑 후보",description:"과거 ITEM 상품명에서 반복 단어와 짧은 구문을 분석해 제안된 검토 대상입니다."},{term:"추출 근거",description:"후보가 생성된 사용 건수, 원본 상품명 종류, 주변 단어 수, 원본 예시입니다."},{term:"제외",description:"HS CODE 매핑 후보로 부적합한 항목을 다음 추출에서 다시 만들지 않도록 제외하는 상태입니다."},{term:"제외 해제",description:"잘못 제외한 후보를 다시 검토 대기 상태로 되돌리는 기능입니다."},{term:"매칭 테스트",description:"오더 등록 전 어떤 HS CODE가 자동 선택되는지 확인하는 기능입니다."}]},requestDetail:{heading:"요청 상세에서 하는 일",description:"파트너가 등록한 상품 요청을 확인하고 연결 승인, 신규 상품 생성 승인 또는 반려를 처리합니다.",cards:[{icon:"description",title:"요청 상품 정보",copy:"파트너, 파트너 SKU, 브랜드, 카테고리, 규격과 요청 유형을 확인합니다."},{icon:"manage_search",title:"기존 상품 후보",copy:"동일 조건에 가까운 기준 상품 후보를 확인하고 필요한 경우 선택합니다."},{icon:"task_alt",title:"처리 액션",copy:"권장 처리, 다른 방식 처리, 반려 처리 중 적절한 액션을 실행합니다."}],steps:[{title:"요청 유형과 상품 정보를 확인합니다.",copy:"연결요청인지 신규등록요청인지 먼저 확인하고 규격 정보를 검토하세요."},{title:"기존 상품 후보를 확인합니다.",copy:"연결요청은 연결할 후보를 선택합니다. 후보 상세도 추가로 확인할 수 있습니다."},{title:"권장 처리를 우선 검토합니다.",copy:"연결요청은 기존 상품 연결 승인, 신규등록요청은 신규 상품 생성 후 승인이 권장됩니다."},{title:"예외 상황은 다른 방식으로 처리합니다.",copy:"기존 후보가 부적절하거나 적절한 후보를 찾은 경우 다른 방식 처리도 가능합니다."},{title:"정보 보완이 필요하면 반려합니다.",copy:"파트너가 이해할 수 있도록 반려 사유를 구체적으로 입력하세요."}],note:"승인 전 브랜드, 카테고리, HS CODE, 규격 타입과 규격 상세 값을 확인하세요. 승인하면 파트너 SKU 연결 관계가 생성됩니다.",glossaryTitle:"처리 방식",glossary:[{term:"기존 상품 연결 승인",description:"선택한 기준 상품과 파트너 SKU를 연결합니다."},{term:"신규 상품 생성 후 승인",description:"요청 정보로 새 기준 상품을 만들고 연결합니다."},{term:"다른 방식으로 처리",description:"권장 처리와 다른 예외 처리 방식입니다."},{term:"요청 반려",description:"정보 보완이 필요할 때 사유를 입력하고 되돌려 보냅니다."}]},masterSkuDetail:{heading:"상품 상세에서 하는 일",description:"기준 상품의 기본 정보와 연결된 파트너 SKU, 관련 요청을 확인하고 관리합니다.",cards:[{icon:"edit",title:"상품 정보 수정",copy:"상품명, 브랜드, 카테고리, HS CODE, 규격, 중량과 활성 상태를 관리합니다."},{icon:"link",title:"파트너 SKU 연결 현황",copy:"현재 상품에 실제로 연결된 파트너 SKU를 확인하고 필요하면 연결을 해제합니다."},{icon:"playlist_add_check",title:"관련 요청 현황",copy:"현재 상품과 관련된 요청을 확인하고 바로 연결 승인할 수 있습니다."}],steps:[{title:"상단 요약과 기본 정보를 확인합니다.",copy:"마스터 SKU, 연결 상태, 연결된 파트너 SKU 수와 활성 상태를 확인하세요."},{title:"필요한 상품 정보를 수정하고 저장합니다.",copy:"타이틀 우측 저장 버튼을 누르면 변경한 기본 정보와 규격이 반영됩니다."},{title:"연결된 파트너 SKU를 확인합니다.",copy:"연결 해제는 실제 연결 관계를 끊는 작업이므로 대상 SKU를 다시 확인하세요."},{title:"관련 요청을 확인합니다.",copy:"현재 상품으로 연결하는 것이 맞다면 바로 연결 승인을 사용할 수 있습니다."},{title:"목록으로 돌아갑니다.",copy:"타이틀 우측 목록으로 버튼을 누르면 이전 검색 조건을 유지한 채 복귀합니다."}],note:"연결 해제와 바로 연결 승인은 파트너 SKU 관계를 변경합니다. 파트너명과 파트너 SKU 코드를 확인한 뒤 실행하세요.",glossaryTitle:"주의가 필요한 액션",glossary:[{term:"저장",description:"기준 상품의 기본 정보와 규격 변경사항을 반영합니다."},{term:"활성 상태 변경",description:"활성 토글을 변경하면 상태가 즉시 반영됩니다."},{term:"연결 해제",description:"현재 상품과 파트너 SKU의 연결 관계를 끊습니다."},{term:"바로 연결 승인",description:"관련 요청을 현재 상품에 즉시 연결 승인합니다."}]}},e0={name:"FulfillmentPageGuide",props:{guideKey:{type:String,required:!0}},computed:{guide(){return Jp[this.guideKey]||Jp.operations}}};v(58999);x=(0,e.A)(e0,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-icon");var r=(0,V.g2)("q-banner");return(0,V.uX)(),(0,V.CE)("div",Bp,[(0,V.Lk)("div",zp,(0,R.v_)(o.guide.heading),1),(0,V.Lk)("p",Xp,(0,R.v_)(o.guide.description),1),(0,V.Lk)("div",Kp,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(o.guide.cards,e=>((0,V.uX)(),(0,V.CE)("div",{key:e.title,class:"col-12 col-md-4"},[(0,V.Lk)("div",Qp,[(0,V.bF)(s,{name:e.icon,color:"primary",size:"24px"},null,8,["name"]),(0,V.Lk)("div",Gp,(0,R.v_)(e.title),1),(0,V.Lk)("div",Hp,(0,R.v_)(e.copy),1)])]))),128))]),t[0]||(t[0]=(0,V.Lk)("div",{class:"guide-subheading"},"사용 순서",-1)),(0,V.Lk)("ol",jp,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(o.guide.steps,(e,t)=>((0,V.uX)(),(0,V.CE)("li",{key:e.title},[(0,V.Lk)("span",null,(0,R.v_)(t+1),1),(0,V.Lk)("div",null,[(0,V.Lk)("b",null,(0,R.v_)(e.title),1),(0,V.Lk)("small",null,(0,R.v_)(e.copy),1)])]))),128))]),o.guide.glossary?((0,V.uX)(),(0,V.CE)(V.FK,{key:0},[(0,V.Lk)("div",Yp,(0,R.v_)(o.guide.glossaryTitle||"탭 구분"),1),(0,V.Lk)("div",Zp,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(o.guide.glossary,e=>((0,V.uX)(),(0,V.CE)("div",{key:e.term,class:"glossary-item"},[(0,V.Lk)("b",null,(0,R.v_)(e.term),1),(0,V.Lk)("span",null,(0,R.v_)(e.description),1)]))),128))])],64)):(0,V.Q3)("",!0),(0,V.bF)(r,{rounded:"",class:"guide-warning q-mt-md"},{avatar:(0,V.k6)(()=>[(0,V.bF)(s,{name:"info",color:"orange-8"})]),default:(0,V.k6)(()=>[(0,V.eW)(" "+(0,R.v_)(o.guide.note),1)]),_:1})])}],["__scopeId","data-v-61f2d37e"]]);let t0=()=>({id:null,matchType:"keyword",matchValue:"",hsCode:"",description:"",priority:100,isActive:!0}),a0={name:"AdminHsCodeManage",components:{Title:b,PageGuideDialog:a,FulfillmentPageGuide:x},data(){return{description:{title:"HS CODE 관리"},activeTab:"mappings",rows:[],candidateRows:[],loading:!1,candidateLoading:!1,extractingCandidates:!1,saving:!1,guideDialog:!1,message:"",testItemName:"",testResult:null,candidateSummary:{pending:0,needsReview:0,mapped:0,ignored:0,lastRun:null},filters:{q:"",matchType:"",isActive:""},candidateFilters:{q:"",status:"pending"},form:t0(),matchTypeOptions:[{label:"전체",value:""},{label:"정확히 일치",value:"exact"},{label:"키워드 포함",value:"keyword"}],formMatchTypeOptions:[{label:"정확히 일치",value:"exact"},{label:"키워드 포함",value:"keyword"}],activeOptions:[{label:"전체",value:""},{label:"활성",value:"1"},{label:"비활성",value:"0"}],candidateStatusOptions:[{label:"전체",value:""},{label:"검토 대기",value:"pending"},{label:"검수 필요",value:"needs_review"},{label:"등록 완료",value:"mapped"},{label:"제외",value:"ignored"}],columns:[{name:"id",label:"ID",field:"id",align:"center"},{name:"matchType",label:"매칭방식",field:"matchType",align:"center"},{name:"matchValue",label:"매칭값",field:"matchValue",align:"left"},{name:"hsCode",label:"HS CODE",field:"hsCode",align:"center"},{name:"description",label:"설명",field:"description",align:"left"},{name:"priority",label:"우선순위",field:"priority",align:"center"},{name:"isActive",label:"상태",field:"isActive",align:"center"},{name:"updatedAt",label:"수정일",field:"updatedAt",align:"left"},{name:"actions",label:"관리",field:"actions",align:"center"}],candidateColumns:[{name:"sourceItemName",label:"원본 상품명",field:"sourceItemName",align:"left"},{name:"normalizedItemName",label:"대표 키워드",field:"normalizedItemName",align:"left"},{name:"orderCount",label:"사용 건수",field:"orderCount",align:"center"},{name:"orderBaseCount",label:"오더 수",field:"orderBaseCount",align:"center"},{name:"description",label:"근거",field:"description",align:"left"},{name:"status",label:"상태",field:"status",align:"center"},{name:"lastSeenAt",label:"최근 사용일",field:"lastSeenAt",align:"left"},{name:"actions",label:"관리",field:"actions",align:"center"}]}},computed:{isEditing(){return!!this.form.id}},methods:{getMatchTypeLabel(e){return"exact"===e?"정확히 일치":"keyword"===e?"키워드 포함":e||"-"},buildQuery(){return new URLSearchParams({q:this.filters.q||"",matchType:this.filters.matchType||"",isActive:this.filters.isActive||""}).toString()},buildCandidateQuery(){return new URLSearchParams({q:this.candidateFilters.q||"",status:this.candidateFilters.status||""}).toString()},getCandidateStatusLabel(t){return this.candidateStatusOptions.find(e=>e.value===t)?.label||t||"-"},getCandidateStatusColor(e){return"pending"===e?"warning":"needs_review"===e?"deep-orange":"mapped"===e?"positive":"grey-6"},parseCandidateEvidence(e){return String(e||"").split(" / ").map(e=>e.trim()).filter(Boolean)},normalizeHsCodeInput(){this.form.hsCode=String(this.form.hsCode||"").replace(/\D/g,"").slice(0,6)},resetForm(){this.form=t0(),this.message=""},editRow(e){this.activeTab="mappings",this.form={id:e.id,matchType:e.matchType,matchValue:e.matchValue,hsCode:e.hsCode,description:e.description||"",priority:Number(e.priority||100),isActive:1===Number(e.isActive)},this.message=`ID ${e.id} 수정 중입니다.`,window.scrollTo({top:0,left:0,behavior:"smooth"})},testWithSuggestion(e){this.testItemName=e.matchValue||"",this.testResolve()},async loadList(){this.loading=!0;try{var e=await this.$http({method:"GET",url:"/api/parcel/hs-code-mappings?"+this.buildQuery(),name:"[ Axios / HS CODE 관리 / 목록 조회 ]"});this.rows=Array.isArray(e.data?.data)?e.data.data:[]}catch(e){this.rows=[],this.$q.notify({type:"negative",message:e?.response?.data?.message||"HS CODE 목록 조회에 실패했습니다."})}finally{this.loading=!1}},async refreshActiveTab(){"candidates"===this.activeTab?await this.refreshCandidates():"test"===this.activeTab&&this.testItemName?await this.testResolve():await this.loadList()},async loadCandidateSummary(){try{var e=await this.$http({method:"GET",url:"/api/parcel/hs-code-candidates/summary",name:"[ Axios / HS CODE 후보 / 요약 조회 ]"});this.candidateSummary=e.data?.data||this.candidateSummary}catch(e){this.$q.notify({type:"negative",message:e?.response?.data?.message||"HS CODE 후보 요약 조회에 실패했습니다."})}},async loadCandidates(){this.candidateLoading=!0;try{var e=await this.$http({method:"GET",url:"/api/parcel/hs-code-candidates?"+this.buildCandidateQuery(),name:"[ Axios / HS CODE 후보 / 목록 조회 ]"});this.candidateRows=Array.isArray(e.data?.data)?e.data.data:[]}catch(e){this.candidateRows=[],this.$q.notify({type:"negative",message:e?.response?.data?.message||"HS CODE 후보 목록 조회에 실패했습니다."})}finally{this.candidateLoading=!1}},async refreshCandidates(){await Promise.all([this.loadCandidateSummary(),this.loadCandidates()])},async extractCandidates(){if(window.confirm("과거 ITEM 데이터 기준으로 HS CODE 매핑 후보를 다시 추출하시겠습니까?")){this.extractingCandidates=!0;try{var e=(await this.$http({method:"POST",url:"/api/parcel/hs-code-candidates/extract",data:{},name:"[ Axios / HS CODE 후보 / 수동 추출 ]"})).data?.data||{};this.$q.notify({type:"positive",message:`후보 추출 완료: 신규 ${e.createdCount||0}건, 갱신 ${e.updatedCount||0}건`}),await this.refreshCandidates()}catch(e){this.$q.notify({type:"negative",message:e?.response?.data?.message||"HS CODE 후보 추출에 실패했습니다."})}finally{this.extractingCandidates=!1}}},applyCandidateToForm(e){this.activeTab="mappings",this.form={id:null,matchType:e.suggestedMatchType||"keyword",matchValue:e.normalizedItemName||e.sourceItemName||"",hsCode:e.suggestedHsCode||"",description:e.description||"",priority:50,isActive:!0},this.message=`후보 ID ${e.id} 기준으로 매핑 등록 준비 중입니다. HS CODE 입력 후 등록하세요.`,window.scrollTo({top:0,left:0,behavior:"smooth"})},async mapCandidate(e){var t=window.prompt(e.normalizedItemName+"에 등록할 HS CODE 6자리를 입력하세요.",e.suggestedHsCode||"");if(null!==t){t=String(t||"").replace(/\D/g,"").slice(0,6);if(/^\d{6}$/.test(t))try{await this.$http({method:"POST",url:`/api/parcel/hs-code-candidates/${e.id}/map`,data:{matchType:e.suggestedMatchType||"keyword",matchValue:e.normalizedItemName,hsCode:t,description:e.description||"후보에서 등록: "+e.sourceItemName,priority:50},name:"[ Axios / HS CODE 후보 / 매핑 반영 ]"}),this.$q.notify({type:"positive",message:"후보가 HS CODE 매핑에 등록되었습니다."}),await Promise.all([this.refreshCandidates(),this.loadList()])}catch(e){this.$q.notify({type:"negative",message:e?.response?.data?.message||"HS CODE 후보 매핑 등록에 실패했습니다."})}else this.$q.notify({type:"negative",message:"HS CODE는 숫자 6자리여야 합니다."})}},async ignoreCandidate(e){var t=window.prompt("제외 사유를 입력하세요.",e.reason||"관리자 제외");if(null!==t)try{await this.$http({method:"PATCH",url:`/api/parcel/hs-code-candidates/${e.id}/ignore`,data:{reason:t},name:"[ Axios / HS CODE 후보 / 제외 ]"}),this.$q.notify({type:"positive",message:"후보가 제외 처리되었습니다."}),await this.refreshCandidates()}catch(e){this.$q.notify({type:"negative",message:e?.response?.data?.message||"HS CODE 후보 제외에 실패했습니다."})}},async restoreCandidate(e){if(window.confirm(`"${e.normalizedItemName}" 후보의 제외 상태를 해제하시겠습니까?`))try{await this.$http({method:"PATCH",url:`/api/parcel/hs-code-candidates/${e.id}/restore`,name:"[ Axios / HS CODE 후보 / 제외 해제 ]"}),this.$q.notify({type:"positive",message:"후보 제외가 해제되었습니다."}),await this.refreshCandidates()}catch(e){this.$q.notify({type:"negative",message:e?.response?.data?.message||"HS CODE 후보 제외 해제에 실패했습니다."})}},validateForm(){return this.form.matchValue?/^\d{6}$/.test(String(this.form.hsCode||""))?Number.isFinite(Number(this.form.priority))?"":"우선순위는 숫자여야 합니다.":"HS CODE는 숫자 6자리여야 합니다.":"매칭값을 입력해주세요."},async saveMapping(){var e=this.validateForm();if(e)this.$q.notify({type:"negative",message:e});else{this.saving=!0;e={...this.form,isActive:this.form.isActive?1:0};try{await this.$http({method:this.isEditing?"PUT":"POST",url:this.isEditing?"/api/parcel/hs-code-mappings/"+this.form.id:"/api/parcel/hs-code-mappings",data:e,name:"[ Axios / HS CODE 관리 / 저장 ]"}),this.$q.notify({type:"positive",message:this.isEditing?"HS CODE 매핑이 수정되었습니다.":"HS CODE 매핑이 등록되었습니다."}),this.resetForm(),this.loadList()}catch(e){this.$q.notify({type:"negative",message:e?.response?.data?.message||"HS CODE 매핑 저장에 실패했습니다."})}finally{this.saving=!1}}},async deactivate(e){if(window.confirm(`ID ${e.id} 매핑을 비활성화하시겠습니까?`))try{await this.$http({method:"PATCH",url:`/api/parcel/hs-code-mappings/${e.id}/deactivate`,name:"[ Axios / HS CODE 관리 / 비활성화 ]"}),this.$q.notify({type:"positive",message:"HS CODE 매핑이 비활성화되었습니다."}),this.form.id===e.id&&this.resetForm(),this.loadList()}catch(e){this.$q.notify({type:"negative",message:e?.response?.data?.message||"HS CODE 매핑 비활성화에 실패했습니다."})}},async testResolve(){var e=String(this.testItemName||"").trim();if(e)try{var t=await this.$http({method:"POST",url:"/api/parcel/resolveHsCode",data:{itemName:e},name:"[ Axios / HS CODE 관리 / 매칭 테스트 ]"});this.testResult=t.data}catch(e){this.testResult=null,this.$q.notify({type:"negative",message:e?.response?.data?.message||"HS CODE 매칭 테스트에 실패했습니다."})}else this.$q.notify({type:"warning",message:"테스트할 상품명을 입력해주세요."})}},mounted(){"candidates"===this.$route?.query?.tab&&(this.activeTab="candidates"),this.loadList(),this.loadCandidateSummary(),this.loadCandidates()}};v(9941);k=(0,e.A)(a0,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-tooltip"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("Title"),d=(0,V.g2)("q-tab"),c=(0,V.g2)("q-badge"),u=(0,V.g2)("q-tabs"),m=(0,V.g2)("q-select"),p=(0,V.g2)("q-input"),g=(0,V.g2)("q-toggle"),h=(0,V.g2)("q-td"),b=(0,V.g2)("q-table"),f=(0,V.g2)("q-tab-panel"),v=(0,V.g2)("q-card"),k=(0,V.g2)("q-separator"),y=(0,V.g2)("q-tab-panels"),L=(0,V.g2)("FulfillmentPageGuide"),_=(0,V.g2)("PageGuideDialog");var w=(0,V.g2)("q-page");return(0,V.uX)(),(0,V.Wv)(w,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Xm,[(0,V.Lk)("div",Km,[(0,V.bF)(n,{desc:i.description},{"title-action":(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",round:"",dense:"",size:"sm",color:"primary",icon:"help_outline","aria-label":"HS CODE 관리 사용 가이드",onClick:t[0]||(t[0]=e=>i.guideDialog=!0)},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[16]||(t[16]=[(0,V.eW)("HS CODE 관리 사용 가이드")])),_:1,__:[16]})]),_:1})]),default:(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",round:"",dense:"",icon:"refresh",color:"primary",onClick:o.refreshActiveTab},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[17]||(t[17]=[(0,V.eW)("새로고침")])),_:1,__:[17]})]),_:1},8,["onClick"])]),_:1},8,["desc"])])]),(0,V.Lk)("div",Qm,[(0,V.bF)(u,{modelValue:i.activeTab,"onUpdate:modelValue":t[1]||(t[1]=e=>i.activeTab=e),align:"left","active-color":"primary","indicator-color":"primary",class:"hs-code-tabs"},{default:(0,V.k6)(()=>[(0,V.bF)(d,{name:"mappings",icon:"rule",label:"매핑 목록"}),(0,V.bF)(d,{name:"candidates",icon:"manage_search",label:"매핑 후보"},{default:(0,V.k6)(()=>[i.candidateSummary.pending||i.candidateSummary.needsReview?((0,V.uX)(),(0,V.Wv)(c,{key:0,color:"negative",floating:""},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(i.candidateSummary.pending+i.candidateSummary.needsReview),1)]),_:1})):(0,V.Q3)("",!0)]),_:1}),(0,V.bF)(d,{name:"test",icon:"science",label:"매칭 테스트"})]),_:1},8,["modelValue"])]),(0,V.bF)(y,{modelValue:i.activeTab,"onUpdate:modelValue":t[14]||(t[14]=e=>i.activeTab=e),animated:"",class:"bg-transparent"},{default:(0,V.k6)(()=>[(0,V.bF)(f,{name:"mappings",class:"q-pa-none"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Gm,[t[18]||(t[18]=(0,V.Lk)("div",{class:"text-subtitle1 text-weight-bold q-mb-md"}," 매핑 기준 등록 ",-1)),(0,V.Lk)("div",Hm,[(0,V.Lk)("div",jm,[(0,V.bF)(m,{modelValue:i.form.matchType,"onUpdate:modelValue":t[2]||(t[2]=e=>i.form.matchType=e),options:i.formMatchTypeOptions,"emit-value":"","map-options":"",outlined:"",dense:"",label:"매칭방식"},null,8,["modelValue","options"])]),(0,V.Lk)("div",Ym,[(0,V.bF)(p,{modelValue:i.form.matchValue,"onUpdate:modelValue":t[3]||(t[3]=e=>i.form.matchValue=e),modelModifiers:{trim:!0},outlined:"",dense:"",label:"매칭값",placeholder:"상품명에 적용할 기준값"},null,8,["modelValue"])]),(0,V.Lk)("div",Zm,[(0,V.bF)(p,{modelValue:i.form.hsCode,"onUpdate:modelValue":[t[4]||(t[4]=e=>i.form.hsCode=e),o.normalizeHsCodeInput],outlined:"",dense:"",maxlength:"6",label:"HS CODE"},null,8,["modelValue","onUpdate:modelValue"])]),(0,V.Lk)("div",Jm,[(0,V.bF)(p,{modelValue:i.form.priority,"onUpdate:modelValue":t[5]||(t[5]=e=>i.form.priority=e),modelModifiers:{number:!0},outlined:"",dense:"",type:"number",label:"우선순위"},null,8,["modelValue"])]),(0,V.Lk)("div",ep,[(0,V.bF)(g,{modelValue:i.form.isActive,"onUpdate:modelValue":t[6]||(t[6]=e=>i.form.isActive=e),label:"활성",color:"primary"},null,8,["modelValue"])]),(0,V.Lk)("div",tp,[(0,V.bF)(p,{modelValue:i.form.description,"onUpdate:modelValue":t[7]||(t[7]=e=>i.form.description=e),modelModifiers:{trim:!0},outlined:"",dense:"",label:"설명",placeholder:"운영자가 이해할 수 있는 기준 설명"},null,8,["modelValue"])])]),(0,V.Lk)("div",ap,[(0,V.bF)(r,{color:"primary",unelevated:"",loading:i.saving,label:o.isEditing?"수정하기":"등록하기",onClick:o.saveMapping},null,8,["loading","label","onClick"]),(0,V.bF)(r,{flat:"",color:"grey-7",label:"초기화",onClick:o.resetForm},null,8,["onClick"]),i.message?((0,V.uX)(),(0,V.CE)("div",lp,(0,R.v_)(i.message),1)):(0,V.Q3)("",!0)])]),(0,V.Lk)("div",ip,[(0,V.Lk)("div",op,[(0,V.Lk)("div",sp,[(0,V.bF)(p,{modelValue:i.filters.q,"onUpdate:modelValue":t[8]||(t[8]=e=>i.filters.q=e),modelModifiers:{trim:!0},outlined:"",dense:"",label:"검색",placeholder:"매칭값, HS CODE, 설명",onKeyup:(0,I.jR)(o.loadList,["enter"])},null,8,["modelValue","onKeyup"])]),(0,V.Lk)("div",rp,[(0,V.bF)(m,{modelValue:i.filters.matchType,"onUpdate:modelValue":t[9]||(t[9]=e=>i.filters.matchType=e),options:i.matchTypeOptions,"emit-value":"","map-options":"",outlined:"",dense:"",label:"매칭방식"},null,8,["modelValue","options"])]),(0,V.Lk)("div",np,[(0,V.bF)(m,{modelValue:i.filters.isActive,"onUpdate:modelValue":t[10]||(t[10]=e=>i.filters.isActive=e),options:i.activeOptions,"emit-value":"","map-options":"",outlined:"",dense:"",label:"상태"},null,8,["modelValue","options"])]),(0,V.Lk)("div",dp,[(0,V.bF)(r,{color:"primary",unelevated:"",class:"full-width",label:"조회",onClick:o.loadList},null,8,["onClick"])])])]),(0,V.Lk)("div",cp,[(0,V.bF)(b,{flat:"",bordered:"","row-key":"id",rows:i.rows,columns:i.columns,loading:i.loading,"rows-per-page-options":[20,50,100,0]},{"body-cell-matchType":(0,V.k6)(e=>[(0,V.bF)(h,{props:e},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(o.getMatchTypeLabel(e.row.matchType)),1)]),_:2},1032,["props"])]),"body-cell-isActive":(0,V.k6)(e=>[(0,V.bF)(h,{props:e},{default:(0,V.k6)(()=>[(0,V.bF)(c,{color:1===Number(e.row.isActive)?"positive":"grey-6"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(1===Number(e.row.isActive)?"활성":"비활성"),1)]),_:2},1032,["color"])]),_:2},1032,["props"])]),"body-cell-actions":(0,V.k6)(t=>[(0,V.bF)(h,{props:t},{default:(0,V.k6)(()=>[(0,V.Lk)("div",up,[(0,V.bF)(r,{flat:"",dense:"",size:"sm",color:"primary",label:"수정",onClick:e=>o.editRow(t.row)},null,8,["onClick"]),(0,V.bF)(r,{flat:"",dense:"",size:"sm",color:"negative",label:"비활성",disable:1!==Number(t.row.isActive),onClick:e=>o.deactivate(t.row)},null,8,["disable","onClick"])])]),_:2},1032,["props"])]),"no-data":(0,V.k6)(()=>t[19]||(t[19]=[(0,V.Lk)("div",{class:"full-width text-center text-grey-6 q-pa-lg"}," 등록된 HS CODE 매핑 기준이 없습니다. ",-1)])),_:1},8,["rows","columns","loading"])])]),_:1}),(0,V.bF)(f,{name:"candidates",class:"q-pa-none"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",mp,[(0,V.Lk)("div",pp,[t[20]||(t[20]=(0,V.Lk)("div",{class:"col-12 col-md"},[(0,V.Lk)("div",{class:"text-subtitle1 text-weight-bold"}," HS CODE 매핑 후보 "),(0,V.Lk)("div",{class:"text-caption text-grey-7"}," 과거 오더 상품명에서 자주 사용됐지만 아직 매핑되지 않은 항목을 검토합니다. ")],-1)),(0,V.Lk)("div",gp,[(0,V.bF)(r,{color:"primary",unelevated:"",icon:"manage_search",loading:i.extractingCandidates,label:"후보 추출",onClick:o.extractCandidates},null,8,["loading","onClick"]),(0,V.bF)(r,{flat:"",color:"primary",icon:"refresh",label:"새로고침",onClick:o.refreshCandidates},null,8,["onClick"])])]),(0,V.Lk)("div",hp,[(0,V.Lk)("div",bp,[(0,V.bF)(v,{flat:"",bordered:"",class:"q-pa-md candidate-summary-card"},{default:(0,V.k6)(()=>[t[21]||(t[21]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"검토 대기",-1)),(0,V.Lk)("div",fp,(0,R.v_)(i.candidateSummary.pending),1)]),_:1,__:[21]})]),(0,V.Lk)("div",vp,[(0,V.bF)(v,{flat:"",bordered:"",class:"q-pa-md candidate-summary-card"},{default:(0,V.k6)(()=>[t[22]||(t[22]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"검수 필요",-1)),(0,V.Lk)("div",kp,(0,R.v_)(i.candidateSummary.needsReview),1)]),_:1,__:[22]})]),(0,V.Lk)("div",yp,[(0,V.bF)(v,{flat:"",bordered:"",class:"q-pa-md candidate-summary-card"},{default:(0,V.k6)(()=>[t[23]||(t[23]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"등록 완료",-1)),(0,V.Lk)("div",Lp,(0,R.v_)(i.candidateSummary.mapped),1)]),_:1,__:[23]})]),(0,V.Lk)("div",_p,[(0,V.bF)(v,{flat:"",bordered:"",class:"q-pa-md candidate-summary-card"},{default:(0,V.k6)(()=>[t[24]||(t[24]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"마지막 실행",-1)),(0,V.Lk)("div",wp,(0,R.v_)(i.candidateSummary.lastRun?.finishedAt||"-"),1)]),_:1,__:[24]})])]),(0,V.Lk)("div",xp,[(0,V.Lk)("div",Cp,[(0,V.bF)(p,{modelValue:i.candidateFilters.q,"onUpdate:modelValue":t[11]||(t[11]=e=>i.candidateFilters.q=e),modelModifiers:{trim:!0},outlined:"",dense:"",label:"후보 검색",placeholder:"원본 상품명, 대표 키워드, 설명",onKeyup:(0,I.jR)(o.loadCandidates,["enter"])},null,8,["modelValue","onKeyup"])]),(0,V.Lk)("div",Sp,[(0,V.bF)(m,{modelValue:i.candidateFilters.status,"onUpdate:modelValue":t[12]||(t[12]=e=>i.candidateFilters.status=e),options:i.candidateStatusOptions,"emit-value":"","map-options":"",outlined:"",dense:"",label:"후보 상태"},null,8,["modelValue","options"])]),(0,V.Lk)("div",Fp,[(0,V.bF)(r,{color:"primary",unelevated:"",class:"full-width",label:"조회",onClick:o.loadCandidates},null,8,["onClick"])])]),(0,V.bF)(b,{flat:"",bordered:"","row-key":"id",rows:i.candidateRows,columns:i.candidateColumns,loading:i.candidateLoading,"rows-per-page-options":[10,20,50,0]},{"body-cell-status":(0,V.k6)(e=>[(0,V.bF)(h,{props:e},{default:(0,V.k6)(()=>[(0,V.bF)(c,{color:o.getCandidateStatusColor(e.row.status)},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(o.getCandidateStatusLabel(e.row.status)),1)]),_:2},1032,["color"]),e.row.reason?((0,V.uX)(),(0,V.CE)("div",qp,(0,R.v_)(e.row.reason),1)):(0,V.Q3)("",!0)]),_:2},1032,["props"])]),"body-cell-description":(0,V.k6)(t=>[(0,V.bF)(h,{props:t},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Ip,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(o.parseCandidateEvidence(t.row.description),e=>((0,V.uX)(),(0,V.Wv)(c,{key:t.row.id+"-"+e,outline:"",color:"grey-7"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(e),1)]),_:2},1024))),128))])]),_:2},1032,["props"])]),"body-cell-actions":(0,V.k6)(t=>[(0,V.bF)(h,{props:t},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Pp,[(0,V.bF)(r,{flat:"",dense:"",size:"sm",color:"primary",label:"폼에 반영",disable:"mapped"===t.row.status||"ignored"===t.row.status,onClick:e=>o.applyCandidateToForm(t.row)},null,8,["disable","onClick"]),(0,V.bF)(r,{flat:"",dense:"",size:"sm",color:"positive",label:"등록",disable:"mapped"===t.row.status||"ignored"===t.row.status,onClick:e=>o.mapCandidate(t.row)},null,8,["disable","onClick"]),(0,V.bF)(r,{flat:"",dense:"",size:"sm",color:"negative",label:"제외",disable:"mapped"===t.row.status||"ignored"===t.row.status,onClick:e=>o.ignoreCandidate(t.row)},null,8,["disable","onClick"]),"ignored"===t.row.status?((0,V.uX)(),(0,V.Wv)(r,{key:0,flat:"",dense:"",size:"sm",color:"primary",label:"제외 해제",onClick:e=>o.restoreCandidate(t.row)},null,8,["onClick"])):(0,V.Q3)("",!0)])]),_:2},1032,["props"])]),"no-data":(0,V.k6)(()=>t[25]||(t[25]=[(0,V.Lk)("div",{class:"full-width text-center text-grey-6 q-pa-lg"}," 검토할 HS CODE 매핑 후보가 없습니다. ",-1)])),_:1},8,["rows","columns","loading"])])]),_:1}),(0,V.bF)(f,{name:"test",class:"q-pa-none"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Ap,[t[28]||(t[28]=(0,V.Lk)("div",{class:"text-subtitle1 text-weight-bold q-mb-sm"}," 매칭 테스트 ",-1)),t[29]||(t[29]=(0,V.Lk)("div",{class:"text-caption text-grey-7 q-mb-md"}," 상품명을 입력하면 실제 오더 등록과 같은 기준으로 HS CODE를 조회합니다. ",-1)),(0,V.Lk)("div",Tp,[(0,V.Lk)("div",Np,[(0,V.bF)(p,{modelValue:i.testItemName,"onUpdate:modelValue":t[13]||(t[13]=e=>i.testItemName=e),modelModifiers:{trim:!0},outlined:"",dense:"",label:"상품명",onKeyup:(0,I.jR)(o.testResolve,["enter"])},null,8,["modelValue","onKeyup"])]),(0,V.Lk)("div",Ep,[(0,V.bF)(r,{color:"primary",unelevated:"",label:"테스트",onClick:o.testResolve},null,8,["onClick"])])]),(0,V.bF)(k,{class:"q-my-md"}),i.testResult?((0,V.uX)(),(0,V.CE)("div",Dp,[(0,V.bF)(c,{color:i.testResult.matched?"positive":"grey-6"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(i.testResult.matched?"매칭됨":"미매칭"),1)]),_:1},8,["color"]),(0,V.Lk)("div",Op,[(0,V.Lk)("div",null,[t[26]||(t[26]=(0,V.eW)("HS CODE: ")),(0,V.Lk)("strong",null,(0,R.v_)(i.testResult.hsCode||"-"),1)]),(0,V.Lk)("div",null,"출처: "+(0,R.v_)(i.testResult.source||"-"),1),(0,V.Lk)("div",null,"매칭값: "+(0,R.v_)(i.testResult.matchValue||"-"),1)]),!i.testResult.matched&&i.testResult.suggestions?.length?((0,V.uX)(),(0,V.CE)("div",Vp,[t[27]||(t[27]=(0,V.Lk)("div",{class:"text-caption text-grey-7 q-mb-sm"}," 혹시 아래 기준을 찾으셨나요? ",-1)),(0,V.Lk)("div",Rp,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(i.testResult.suggestions,t=>((0,V.uX)(),(0,V.Wv)(v,{key:t.matchType+`-${t.matchValue}-`+t.hsCode,flat:"",bordered:"",class:"q-pa-sm suggestion-card",onClick:e=>o.testWithSuggestion(t)},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Mp,[(0,V.Lk)("div",null,[(0,V.Lk)("div",$p,(0,R.v_)(t.matchValue),1),(0,V.Lk)("div",Up,(0,R.v_)(o.getMatchTypeLabel(t.matchType))+" · HS "+(0,R.v_)(t.hsCode)+" · 차이 "+(0,R.v_)(t.distance),1)]),(0,V.bF)(r,{flat:"",dense:"",color:"primary",label:"이 기준으로 테스트",onClick:(0,I.D$)(e=>o.testWithSuggestion(t),["stop"])},null,8,["onClick"])])]),_:2},1032,["onClick"]))),128))])])):(0,V.Q3)("",!0)])):((0,V.uX)(),(0,V.CE)("div",Wp," 테스트 결과가 없습니다. "))])]),_:1})]),_:1},8,["modelValue"]),(0,V.bF)(_,{modelValue:i.guideDialog,"onUpdate:modelValue":t[15]||(t[15]=e=>i.guideDialog=e),title:"HS CODE 관리 사용 가이드",description:"오더 등록 시 HS CODE 자동입력 기준을 관리하는 방법입니다."},{default:(0,V.k6)(()=>[(0,V.bF)(L,{"guide-key":"hsCodeManage"})]),_:1},8,["modelValue"])]),_:1})}],["__scopeId","data-v-406ea4a0"]]);let l0={class:"row q-mb-lg"},i0={class:"col"},o0={class:"row q-mb-lg"},s0={class:"col-12 col-md-12 col-lg-10 q-mb-md"},r0={class:"comp-box"},n0={class:"q-gutter-md row items-start"},d0={class:"col-12 col-md-12 col-lg-2 q-mb-md"},c0={class:"row"},u0={class:"col"},m0={class:"comp-box"};let p0={class:"row q-mb-sm"},g0={class:"col"},h0={class:"row q-mb-sm"},b0={class:"col"};y={name:"Export-PickUp-list",components:{},computed:{parcelLocationList(){return this.$store.getters.getParcelLocationListExport}},props:{list:Array},data(){return{selectedList:(0,c.KR)([]),columns:[{name:"rownum",label:"ID",align:"center",field:"id",format:e=>""+e,sortable:!0},{name:"sender",label:"보낸 사람",align:"center",field:"sender"},{name:"senderMobCountry",label:"보낸 사람 모바일 국가",align:"center",field:"senderMobCountry"},{name:"senderMobNum",label:"보낸 사람 모바일 번호",align:"left",field:"senderMobNum"},{name:"senderAddress",label:"보낸 사람 주소",align:"left",field:"senderAddress"},{name:"receiver",label:"수취인",align:"center",field:"receiver"},{name:"receiverImId",label:"고유통관번호",align:"center",field:"receiverImId"},{name:"receiverMobCountry",label:"수취인 모바일 국가코드",align:"center",field:"receiverMobCountry"},{name:"receiverMobNum",label:"수취인 모바일 번호",align:"left",field:"receiverMobNum"},{name:"receiverAddress",label:"수취인 주소",align:"center",field:"receiverAddress",sortable:!0},{name:"parcelStatus",label:"상태",align:"center",field:"parcelStatus",sortable:!0},{name:"reqBranch",label:"맡기실 곳",align:"center",field:"reqBranch",sortable:!0},{name:"regDate",label:"등록일",align:"center",field:"regDate"}],initialPagination:{rowsPerPage:10},selectedParcelId:"",userType:"admin"}},methods:{async bulkChangeStatus(e){var t=this.selectedList.map(e=>e.id.substring(4,e.id.length));if(t.length<1)return alert("선택한 상품이 없습니다."),!1;this.$log.debug(e),this.$log.debug("idArr = ",t),await this.$http({method:"POST",url:"/api/parcel/modifyExportStatus",data:{id:t,parcelStatus:e},name:"[ Axios / Export 픽업 위치 일괄변경]"}).then(()=>{this.$log.debug("상태정보를 변경했습니다."),this.$emit("reload-parcel-list"),alert("상태정보를 변경했습니다.")}).catch(e=>{this.$log.debug(e),alert("불러오기 실패!")})}}},ac=(0,e.A)({name:"Export-Pickup-Request-List",meta:{title:"어드민-Export 픽업요청목록"},components:{Title:b,ExportPickUpList:(0,e.A)(y,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-item-label"),r=(0,V.g2)("q-item-section"),n=(0,V.g2)("q-item"),d=(0,V.g2)("q-list");var c=(0,V.g2)("q-btn-dropdown"),u=(0,V.g2)("q-table");let m=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.Lk)("div",p0,[(0,V.Lk)("div",g0,[(0,V.bF)(c,{color:"primary",label:"상태변경"},{default:(0,V.k6)(()=>[(0,V.bF)(d,null,{default:(0,V.k6)(()=>[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(o.parcelLocationList,(t,e)=>(0,V.bo)(((0,V.uX)(),(0,V.Wv)(n,{key:e,clickable:"",onClick:e=>o.bulkChangeStatus(t.code)},{default:(0,V.k6)(()=>[(0,V.bF)(r,null,{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.name),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,["onClick"])),[[m]])),128))]),_:1})]),_:1})])]),(0,V.Lk)("div",h0,[(0,V.Lk)("div",b0,[(0,V.bF)(u,{class:"my-sticky-virtscroll-table","virtual-scroll":"",selected:i.selectedList,"onUpdate:selected":t[0]||(t[0]=e=>i.selectedList=e),selection:"multiple","selected-rows-label":e.getSelectedString,"rows-per-page-options":[0],"virtual-scroll-sticky-size-start":48,rows:a.list,columns:i.columns,pagination:i.initialPagination,"row-key":"id"},null,8,["selected","selected-rows-label","rows","columns","pagination"])])])],64)}]])},data(){return{exportPickUpList:[],description:{title:"Export 픽업요청목록"},lookupCondition:{reqId:"",receiver:""}}},methods:{async loadParcelList(){await this.$http({method:"POST",url:"/api/parcel/reqPickUpInq",data:{paging:0},name:"[ Axios / Export 픽업요청목록 조회 ]"}).then(e=>{this.$log.debug(e.data),this.exportPickUpList=e.data,0===e.data.length&&alert("조회된 상품이 없습니다.")}).catch(e=>{this.$log.debug("/api/parcel/reqPickUpInq",e)})},async lookupList(){var e={id:this.lookupCondition.reqId,receiver:this.lookupCondition.receiver,paging:0};await this.$http({method:"POST",url:"/api/parcel/reqPickUpInq",data:e,name:"[ Axios / Export 픽업요청검색 ]"}).then(e=>{this.$log.debug(e.data),this.exportPickUpList=e.data,0===e.data.length&&alert("조회된 상품이 없습니다.")}).catch(e=>{this.$log.debug("/api/parcel/reqPickUpInq",e)})}},mounted(){this.$log.debug("reqPickUpList mounted"),this.loadParcelList(),this.$getCourierList(),this.$getParcelLocationList()}},[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("Title"),r=(0,V.g2)("q-input"),n=(0,V.g2)("q-btn"),d=(0,V.g2)("ExportPickUpList");var c=(0,V.g2)("q-page");return(0,V.uX)(),(0,V.Wv)(c,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",l0,[(0,V.Lk)("div",i0,[(0,V.bF)(s,{desc:i.description},null,8,["desc"])])]),(0,V.Lk)("div",o0,[(0,V.Lk)("div",s0,[(0,V.Lk)("div",r0,[(0,V.Lk)("div",n0,[(0,V.bF)(r,{modelValue:i.lookupCondition.reqId,"onUpdate:modelValue":t[0]||(t[0]=e=>i.lookupCondition.reqId=e),label:"요청번호"},null,8,["modelValue"]),(0,V.bF)(r,{modelValue:i.lookupCondition.receiver,"onUpdate:modelValue":t[1]||(t[1]=e=>i.lookupCondition.receiver=e),label:"수취인명"},null,8,["modelValue"])])])]),(0,V.Lk)("div",d0,[(0,V.bF)(n,{color:"primary",size:"lg",label:"검색",class:"full-width",style:{height:"100%"},onClick:o.lookupList},null,8,["onClick"])])]),(0,V.Lk)("div",c0,[(0,V.Lk)("div",u0,[(0,V.Lk)("div",m0,[(0,V.bF)(d,{list:i.exportPickUpList,onReloadParcelList:o.loadParcelList},null,8,["list","onReloadParcelList"])])])])]),_:1})}]]);let f0={class:"row"},v0={class:"col"},k0={class:"row q-mt-lg"},y0={class:"col"},L0={class:"comp-box"};let _0={class:"row q-gutter-md q-mb-sm"},w0={class:"col"},x0={class:"col"},C0={class:"col"},S0={class:"row q-gutter-md q-mb-sm"},F0={class:"col"},q0={class:"col"},I0={class:"row q-gutter-md q-mb-sm"},P0={class:"col"},A0={class:"row q-gutter-md q-mb-sm"},T0={class:"col"};w={name:"Modal-freight-form",props:{mode:{type:Number,default:0},title:{type:String,default:"운송편 등록"},freightInfo:{tyep:Object,default:{}}},emits:["close-modal","add-item","modify-item"],data(){return{method:this.freightInfo.method||"",freightNo:this.freightInfo.freightNo||"",nation:this.freightInfo.nation||"",note:this.freightInfo.note||"",departure:this.freightInfo.departure||"",arrival:this.freightInfo.arrival||"",status:this.freightInfo.status||"0"}},methods:{addItem(){var e={method:this.method,freightNo:this.freightNo,nation:this.nation,note:this.note,departure:this.departure,arrival:this.arrival,status:this.status};this.$emit("add-item",e),this.$emit("close-modal")},modifyItem(){var e={id:this.freightInfo.id,method:this.method,freightNo:this.freightNo,nation:this.nation,note:this.note,departure:this.departure,arrival:this.arrival,status:this.status};this.$emit("modify-item",e),this.$emit("close-modal")}},mounted(){this.$log.info("[ Modal / 운송편추가 ]"),this.$getFreightList(),this.$getCityList(),this.$getCodeList("NATION")}},_=(0,e.A)(w,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-toolbar-title"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("q-toolbar"),d=(0,V.g2)("q-header"),c=(0,V.g2)("q-footer"),u=(0,V.g2)("q-select"),m=(0,V.g2)("q-input"),p=(0,V.g2)("q-toggle"),g=(0,V.g2)("q-page"),h=(0,V.g2)("q-page-container");var b=(0,V.g2)("q-layout");let f=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.Wv)(b,{container:"",class:"bg-white"},{default:(0,V.k6)(()=>[(0,V.bF)(d,{class:"bg-primary"},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(a.title),1)]),_:1}),(0,V.bo)((0,V.bF)(r,{flat:"",round:"",icon:"close"},null,512),[[f]])]),_:1})]),_:1}),(0,V.bF)(c,{class:"bg-white text-black"},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>["add"===a.mode?((0,V.uX)(),(0,V.Wv)(r,{key:0,label:"추가",class:"full-width",color:"primary",onClick:o.addItem},null,8,["onClick"])):(0,V.Q3)("",!0),"modify"===a.mode?((0,V.uX)(),(0,V.Wv)(r,{key:1,label:"수정",class:"full-width",color:"primary",onClick:o.modifyItem},null,8,["onClick"])):(0,V.Q3)("",!0)]),_:1})]),_:1}),(0,V.bF)(h,null,{default:(0,V.k6)(()=>[(0,V.bF)(g,{padding:""},{default:(0,V.k6)(()=>[(0,V.Lk)("div",_0,[(0,V.Lk)("div",w0,[(0,V.bF)(u,{modelValue:i.method,"onUpdate:modelValue":t[0]||(t[0]=e=>i.method=e),label:"운송수단",options:this.$store.getters.getFreightMethodList,behavior:"menu","emit-value":"","map-options":""},null,8,["modelValue","options"])]),(0,V.Lk)("div",x0,[(0,V.bF)(m,{modelValue:i.freightNo,"onUpdate:modelValue":t[1]||(t[1]=e=>i.freightNo=e),maxlength:6,label:"운송편번호"},null,8,["modelValue"])]),(0,V.Lk)("div",C0,[(0,V.bF)(u,{modelValue:i.nation,"onUpdate:modelValue":t[2]||(t[2]=e=>i.nation=e),options:this.$store.getters.getNationList,behavior:"menu",label:"국가","emit-value":"","map-options":""},null,8,["modelValue","options"])])]),(0,V.Lk)("div",S0,[(0,V.Lk)("div",F0,[(0,V.bF)(u,{modelValue:i.departure,"onUpdate:modelValue":t[3]||(t[3]=e=>i.departure=e),options:this.$store.getters.getCityListNew,behavior:"menu",label:"출발지","emit-value":"","map-options":""},null,8,["modelValue","options"])]),(0,V.Lk)("div",q0,[(0,V.bF)(u,{modelValue:i.arrival,"onUpdate:modelValue":t[4]||(t[4]=e=>i.arrival=e),options:this.$store.getters.getCityListNew,behavior:"menu",label:"도착지","emit-value":"","map-options":""},null,8,["modelValue","options"])])]),(0,V.Lk)("div",I0,[(0,V.Lk)("div",P0,[(0,V.bF)(m,{modelValue:i.note,"onUpdate:modelValue":t[5]||(t[5]=e=>i.note=e),type:"textarea",maxlength:1e3,label:"설명"},null,8,["modelValue"])])]),(0,V.Lk)("div",A0,[(0,V.Lk)("div",T0,[(0,V.bF)(p,{modelValue:i.status,"onUpdate:modelValue":t[6]||(t[6]=e=>i.status=e),label:"상태","true-value":"0","false-value":"1","checked-icon":"check",color:"green","unchecked-icon":"clear"},null,8,["modelValue"])])])]),_:1})]),_:1})]),_:1})}]]),L={name:"freight-list",components:{FreightRegiFormUnit:_},props:{freightList:Array},emits:["load-list"],data(){return{showModalNow:!1,mode:"modify",selectedFreight:{},initialPagination:{rowsPerPage:30},columns:[{name:"methodLabel",label:"운송수단",align:"center",field:"methodLabel"},{name:"freightNo",label:"운송편번호",align:"center",field:"freightNo"},{name:"nation",label:"국가",align:"center",field:"nation"},{name:"departure",label:"출발지",align:"center",field:"departure"},{name:"arrival",label:"도착지",align:"center",field:"arrival"},{name:"note",label:"설명",align:"center",field:"note"},{name:"status",label:"사용여부",align:"center",field:"status"},{name:"detail",label:"기능선택",align:"center",field:"detail"}]}},methods:{callModifyFreight(e){this.showModalNow=!0,this.selectedFreight=e},closeModal(){this.showModalNow=!1},singleDelete(e){this.$log.debug("개별삭제 실행"),this.$log.debug("선택된 운송편 Id = ",e);e={id:e};this.$log.debug("payload = ",e),this.delete(e)},async delete(e){await this.$http({method:"POST",url:"/api/freight/delFreight",data:e,name:"[ Axios / FreightList / delete ] 운송편 삭제"}).then(()=>{this.$log.debug("삭제했습니다."),this.$emit("load-list"),alert("삭제했습니다.")}).catch(e=>{this.$log.debug(e),alert("삭제에 실패했습니다")})},async updateStatus(e,t){await this.$http({method:"POST",url:"/api/freight/updateFreightStatus",data:{id:e,status:t},name:"운송편 사용여부 변경"}).then(()=>{this.$emit("load-list"),alert("상태를 변경했습니다.")}).catch(e=>{this.$log.debug(e),alert("상태변경에 실패했습니다")})},async modifyFreight(e){this.$log.debug("수정할 운송편 = ",e),await this.$http({method:"POST",url:"/api/freight/modifyFreight",data:e,name:"운송편 수정"}).then(()=>{this.$emit("load-list"),this.closeModal(),alert("수정했습니다.")}).catch(e=>{this.$log.debug(e),alert("수정에 실패했습니다")})}},mounted(){this.$log.debug("Code list component mounted")}},_c=(0,e.A)({name:"Admin-freight-management",meta:{title:"어드민-freight 관리"},components:{Title:b,FreightList:(0,e.A)(L,[["render",function(e,a,t,l,i,o){let s=(0,V.g2)("q-td"),r=(0,V.g2)("q-toggle"),n=(0,V.g2)("q-item-label"),d=(0,V.g2)("q-item-section"),c=(0,V.g2)("q-item"),u=(0,V.g2)("q-list"),m=(0,V.g2)("q-btn-dropdown"),p=(0,V.g2)("q-tr");var g=(0,V.g2)("q-table");let h=(0,V.g2)("FreightRegiFormUnit");var b=(0,V.g2)("q-dialog");let f=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.bF)(g,{rows:t.freightList,columns:i.columns,"rows-per-page-options":[0],"virtual-scroll-sticky-size-start":48,pagination:i.initialPagination,"row-key":"name"},{body:(0,V.k6)(t=>[(0,V.bF)(p,{props:t},{default:(0,V.k6)(()=>[(0,V.bF)(s,{key:"methodLabel",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.methodLabel),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"freightNo",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.freightNo),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"nation",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.nation),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"departure",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.departure),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"arrival",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.arrival),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"note",props:t,class:"text-left"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.note),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"status",props:t},{default:(0,V.k6)(()=>[(0,V.bF)(r,{modelValue:t.row.status,"onUpdate:modelValue":[e=>t.row.status=e,e=>o.updateStatus(t.row.id,t.row.status)],"true-value":"0","false-value":"1","checked-icon":"check",color:"green","unchecked-icon":"clear"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["props"]),(0,V.bF)(s,{key:"detail",props:t},{default:(0,V.k6)(()=>[(0,V.bF)(m,{color:"primary",label:"기능선택",size:"sm"},{default:(0,V.k6)(()=>[(0,V.bF)(u,null,{default:(0,V.k6)(()=>[(0,V.bo)(((0,V.uX)(),(0,V.Wv)(c,{clickable:"",onClick:e=>o.callModifyFreight(t.row)},{default:(0,V.k6)(()=>[(0,V.bF)(d,null,{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>a[1]||(a[1]=[(0,V.eW)("수정")])),_:1,__:[1]})]),_:1})]),_:2},1032,["onClick"])),[[f]]),(0,V.bo)(((0,V.uX)(),(0,V.Wv)(c,{clickable:"",onClick:e=>o.singleDelete(t.row.id)},{default:(0,V.k6)(()=>[(0,V.bF)(d,null,{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>a[2]||(a[2]=[(0,V.eW)("삭제")])),_:1,__:[2]})]),_:1})]),_:2},1032,["onClick"])),[[f]])]),_:2},1024)]),_:2},1024)]),_:2},1032,["props"])]),_:2},1032,["props"])]),_:1},8,["rows","columns","pagination"]),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(b,{modelValue:i.showModalNow,"onUpdate:modelValue":a[0]||(a[0]=e=>i.showModalNow=e),"transition-show":"slide-up","transition-hide":"slide-down"},{default:(0,V.k6)(()=>[(0,V.bF)(h,{mode:"modify",title:"운송편 수정",freightInfo:i.selectedFreight,onCloseModal:o.closeModal,onModifyItem:o.modifyFreight},null,8,["freightInfo","onCloseModal","onModifyItem"])]),_:1},8,["modelValue"])]))],64)}]]),FreightRegiFormUnit:_},data(){return{freightList:[],showModalNow:!1,description:{title:"운송편 관리"}}},methods:{regiFreightForm(){this.showModalNow=!0},closeModal(){this.showModalNow=!1},async regiFreight(e){this.$log.debug("등록할 운송편 = ",e),await this.$http({method:"POST",url:"/api/freight/regFreight",data:e,name:"운송편 등록"}).then(()=>{this.loadFreightList()})},async loadFreightList(){var e=await this.$http({method:"get",url:"/api/freight/getFreightList",name:"운송편 목록 호출"}).then(e=>e.data);this.freightList=e}},mounted(){this.$log.info("[ Page / 운송편관리 ]"),this.loadFreightList()}},[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-btn"),r=(0,V.g2)("Title"),n=(0,V.g2)("FreightList");var d=(0,V.g2)("q-page");let c=(0,V.g2)("FreightRegiFormUnit");var u=(0,V.g2)("q-dialog");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.bF)(d,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",f0,[(0,V.Lk)("div",v0,[(0,V.bF)(r,{desc:i.description},{default:(0,V.k6)(()=>[(0,V.bF)(s,{label:"운송편 등록",class:"btn",size:"md",color:"primary",onClick:o.regiFreightForm},null,8,["onClick"])]),_:1},8,["desc"])])]),(0,V.Lk)("div",k0,[(0,V.Lk)("div",y0,[(0,V.Lk)("div",L0,[(0,V.bF)(n,{"freight-list":i.freightList,onLoadList:o.loadFreightList},null,8,["freight-list","onLoadList"])])])])]),_:1}),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(u,{modelValue:i.showModalNow,"onUpdate:modelValue":t[0]||(t[0]=e=>i.showModalNow=e),"transition-show":"slide-up","transition-hide":"slide-down"},{default:(0,V.k6)(()=>[(0,V.bF)(c,{mode:"add",title:"운송편 등록",onCloseModal:o.closeModal,onAddItem:o.regiFreight},null,8,["onCloseModal","onAddItem"])]),_:1},8,["modelValue"])]))],64)}]]);let N0={class:"row"},E0={class:"col"},D0={class:"row q-mt-lg"},O0={class:"col"},V0={class:"comp-box"};let R0={class:"row q-mt-sm"},M0={class:"col"};let $0={class:"row q-mb-sm"},U0={class:"col"},W0={class:"col"},B0={class:"row"},z0={class:"col"};y={name:"Modal-courier-form",props:{showModal:Boolean,mode:Number,courierCode:String},watch:{showModal:{handler(e){this.active=e;var e=this.mode,t=this.idx;this.$log.debug("Created parcel id = "+t),0===e?(this.$log.debug("상품추가모드"),this.company="",this.number="",this.note=""):1===e&&(this.$log.debug("상품수정모드"),this.setDataInput(t))},immediate:!0,deep:!0}},emits:["close-modal","add-item","modify-item"],data(){return{active:this.showModal,newCourierCode:"",newCourierName:"",country:""}},methods:{addItem(){var e={courierCode:this.newCourierCode,courierName:this.newCourierName,country:this.country};this.$emit("add-item",e),this.$emit("close-modal")},modifyItem(){this.$log.debug("modifyItem executed");var e={company:this.company,number:this.number,note:this.note};this.$log.debug("modifyItem data = ",e),this.$log.debug("modifyItem idx = ",this.idx),this.$emit("modify-item",{data:e,idx:this.idx}),this.$emit("close-modal")},setDataInput(e){var t=this.$store.state.newParcelList[e];this.$log.debug("idx = ",e),this.$log.debug("target = ",t),this.company=t.company,this.number=t.number,this.note=t.note}}},w=(0,e.A)(y,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-toolbar-title"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("q-toolbar"),d=(0,V.g2)("q-header"),c=(0,V.g2)("q-footer"),u=(0,V.g2)("q-input"),m=(0,V.g2)("q-page"),p=(0,V.g2)("q-page-container");var g=(0,V.g2)("q-layout");let h=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.Wv)(g,{container:"",class:"bg-white"},{default:(0,V.k6)(()=>[(0,V.bF)(d,{class:"bg-primary"},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[3]||(t[3]=[(0,V.eW)("택배사 추가")])),_:1,__:[3]}),(0,V.bo)((0,V.bF)(r,{flat:"",round:"",dense:"",icon:"close"},null,512),[[h]])]),_:1})]),_:1}),(0,V.bF)(c,{class:"bg-white text-black"},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[0===a.mode?((0,V.uX)(),(0,V.Wv)(r,{key:0,label:"추가",class:"full-width",color:"primary",onClick:o.addItem},null,8,["onClick"])):(0,V.Q3)("",!0)]),_:1})]),_:1}),(0,V.bF)(p,null,{default:(0,V.k6)(()=>[(0,V.bF)(m,{padding:""},{default:(0,V.k6)(()=>[(0,V.Lk)("div",$0,[(0,V.Lk)("div",U0,[(0,V.bF)(u,{modelValue:i.newCourierCode,"onUpdate:modelValue":t[0]||(t[0]=e=>i.newCourierCode=e),label:"배송업체 코드"},null,8,["modelValue"])]),(0,V.Lk)("div",W0,[(0,V.bF)(u,{modelValue:i.newCourierName,"onUpdate:modelValue":t[1]||(t[1]=e=>i.newCourierName=e),label:"배송업체 이름"},null,8,["modelValue"])])]),(0,V.Lk)("div",B0,[(0,V.Lk)("div",z0,[(0,V.bF)(u,{modelValue:i.country,"onUpdate:modelValue":t[2]||(t[2]=e=>i.country=e),label:"국가코드",placeholder:"ex)'KOR', 'AUS'"},null,8,["modelValue"])])])]),_:1})]),_:1})]),_:1})}]]),L=(0,e.A)({name:"Admin-courier-management",meta:{title:"어드민-택배사관리"},components:{Title:b,CourierList:(0,e.A)({name:"Courier-list",components:{CourierRegForm:w},data(){return{courierList:[],showModalNow:!1,mode:0,courierCode:"0",initialPagination:{rowsPerPage:10},columns:[{name:"courierCode",label:"택배사코드",align:"center",field:"courierCode"},{name:"courierName",label:"택배사",align:"center",field:"courierName"},{name:"country",label:"국가",align:"center",field:"country"},{name:"regDate",label:"등록일",align:"center",field:"regDate"},{name:"detail",label:"기능선택",align:"center",field:"detail"}]}},methods:{addCourierForm(){this.showModalNow=!this.showModalNow,this.mode=0,this.courierCode=null},closeModal(){this.showModalNow=!1},async regiCourier(e){await this.$http({method:"POST",url:"/api/courier/addCourier",data:e}).then(e=>{this.$log.debug("/admin/addCourier 실행됨",e),this.loadCourierList()}).catch(e=>{this.$log.debug("/admin/addCourier 실패",e)})},singleDelete(e){this.$log.debug("개별삭제 실행"),this.$log.debug("선택된 택배 Id",e);e={courierCode:e};this.$log.debug("payload = ",e),this.delete(e)},async delete(e){await this.$http({method:"POST",url:"/api/courier/delCourier",data:e}).then(()=>{this.$log.debug("삭제했습니다."),this.loadCourierList(),alert("삭제했습니다.")}).catch(e=>{this.$log.debug(e),alert("불러오기 실패!")})},async loadCourierList(){var e=await this.$http({method:"get",url:"/api/courier/getCourierList"}).then(e=>{e=e.data;return this.$log.debug("/parcel/getCourierList 실행됨",e),e}).catch(e=>{this.$log.debug("/parcel/getCourierList 실패",e)});this.courierList=e}},mounted(){this.$log.debug("Courier list mounted"),this.loadCourierList()}},[["render",function(e,a,t,l,i,o){let s=(0,V.g2)("q-td"),r=(0,V.g2)("q-item-label"),n=(0,V.g2)("q-item-section"),d=(0,V.g2)("q-item"),c=(0,V.g2)("q-list"),u=(0,V.g2)("q-btn-dropdown"),m=(0,V.g2)("q-tr");var p=(0,V.g2)("q-table"),g=(0,V.g2)("q-btn");let h=(0,V.g2)("CourierRegForm");var b=(0,V.g2)("q-dialog");let f=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.bF)(p,{rows:i.courierList,columns:i.columns,"rows-per-page-options":[0],"virtual-scroll-sticky-size-start":48,pagination:i.initialPagination,"row-key":"name"},{body:(0,V.k6)(t=>[(0,V.bF)(m,{props:t},{default:(0,V.k6)(()=>[(0,V.bF)(s,{key:"courierCode",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.courierCode),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"courierName",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.courierName),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"country",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.country),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"regDate",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.regDate),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"detail",props:t},{default:(0,V.k6)(()=>[(0,V.bF)(u,{color:"primary",label:"기능선택",size:"sm"},{default:(0,V.k6)(()=>[(0,V.bF)(c,null,{default:(0,V.k6)(()=>[(0,V.bo)(((0,V.uX)(),(0,V.Wv)(d,{clickable:"",onClick:e=>o.singleDelete(t.row.courierCode)},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[(0,V.bF)(r,null,{default:(0,V.k6)(()=>a[1]||(a[1]=[(0,V.eW)("삭제")])),_:1,__:[1]})]),_:1})]),_:2},1032,["onClick"])),[[f]])]),_:2},1024)]),_:2},1024)]),_:2},1032,["props"])]),_:2},1032,["props"])]),_:1},8,["rows","columns","pagination"]),(0,V.Lk)("div",R0,[(0,V.Lk)("div",M0,[(0,V.bF)(g,{color:"primary",size:"md",label:"택배사 추가",onClick:o.addCourierForm},null,8,["onClick"])])]),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(b,{modelValue:i.showModalNow,"onUpdate:modelValue":a[0]||(a[0]=e=>i.showModalNow=e)},{default:(0,V.k6)(()=>[(0,V.bF)(h,{mode:i.mode,courierCode:i.courierCode,onCloseModal:o.closeModal,onAddItem:o.regiCourier},null,8,["mode","courierCode","onCloseModal","onAddItem"])]),_:1},8,["modelValue"])]))],64)}]]),CourierRegForm:w},data(){return{description:{title:"택배사관리"},showModalNow:!1,mode:0}},methods:{addCourierForm(){this.showModalNow=!this.showModalNow,this.mode=0,this.courierCode=null},closeModal(){this.showModalNow=!1},async regiCourier(e){await this.$http({method:"POST",url:"/api/courier/addCourier",data:e}).then(e=>{this.$log.debug("/admin/addCourier 실행됨",e),this.loadCourierList()}).catch(e=>{this.$log.debug("/admin/addCourier 실패",e)})}},mounted(){this.$log.info("[ Page / 택배사관리 ]")}},[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-btn"),r=(0,V.g2)("Title"),n=(0,V.g2)("CourierList");var d=(0,V.g2)("q-page");let c=(0,V.g2)("CourierRegForm");var u=(0,V.g2)("q-dialog");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.bF)(d,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",N0,[(0,V.Lk)("div",E0,[(0,V.bF)(r,{desc:i.description},{default:(0,V.k6)(()=>[(0,V.bF)(s,{label:"택배사 추가",class:"btn",size:"md",color:"primary",onClick:o.addCourierForm},null,8,["onClick"])]),_:1},8,["desc"])])]),(0,V.Lk)("div",D0,[(0,V.Lk)("div",O0,[(0,V.Lk)("div",V0,[(0,V.bF)(n)])])])]),_:1}),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(u,{modelValue:i.showModalNow,"onUpdate:modelValue":t[0]||(t[0]=e=>i.showModalNow=e)},{default:(0,V.k6)(()=>[(0,V.bF)(c,{mode:i.mode,courierCode:e.courierCode,onCloseModal:o.closeModal,onAddItem:o.regiCourier},null,8,["mode","courierCode","onCloseModal","onAddItem"])]),_:1},8,["modelValue"])]))],64)}]]);let X0={class:"row"},K0={class:"col"},Q0={class:"row q-mt-lg"},G0={class:"col"},H0={class:"comp-box"};let j0={class:"row q-mb-sm q-gutter-sm"},Y0={class:"col"},Z0={class:"col"},J0={class:"row q-gutter-sm"},eg={class:"col"},tg={class:"col"},ag={class:"col"},lg={class:"row q-gutter-sm"},ig={class:"col"};_={name:"PickupPlaceRegistratioinForm",props:{showModal:Boolean},emits:["close-modal","add-item"],data(){return{newPickupCode:"",newPickupName:"",country:"",city:"",region:"",memo:""}},methods:{addItem(){var e={code:this.newPickupCode,name:this.newPickupName,country:this.country,city:this.city,region:this.region,memo:this.memo};this.$emit("add-item",e),this.$emit("close-modal")},async setCityList(){this.$log.debug("선택된 국가 = "+this.country),await this.$getCodeList("CIT",this.country)},async setRegionList(){this.$log.debug("선택된 도시 = "+this.city),await this.$getCodeList("REGION",this.city)}},async mounted(){await this.$getCodeList("NATION")}};y=(0,e.A)({name:"AdminPagePickupManagement",meta:{title:"어드민-픽업지관리"},components:{Title:b,PickupList:(0,e.A)({name:"Pickup-list",components:{},data(){return{pickupList:[],columns:[{name:"code",label:"픽업지코드",align:"center",field:"code"},{name:"name",label:"픽업지명",align:"center",field:"name"},{name:"country",label:"국가코드",align:"center",field:"country"},{name:"city",label:"도시코드",align:"center",field:"city"},{name:"region",label:"지역코드",align:"center",field:"region"},{name:"regDate",label:"등록일",align:"center",field:"regDate"},{name:"detail",label:"기능선택",align:"center",field:"detail"}]}},methods:{singleDelete(e){this.$log.debug("개별삭제 실행"),this.$log.debug("선택된 택배 Id",e);e={pickupCode:e};this.$log.debug("payload = ",e),this.delete(e)},async delete(e){await this.$http({method:"POST",url:"/api/pickup/delpickup",data:e,name:"[ Axios / 픽업지 삭제 ]"}).then(()=>{this.$log.debug("삭제했습니다."),this.loadPickupList(),alert("삭제했습니다.")}).catch(e=>{this.$log.debug(e),alert("불러오기 실패!")})},async loadPickupList(){var e=await this.$http({method:"get",url:"/api/pickup/getPickupLocationList",name:"[ Axios / 픽업지 조회 ]"}).then(e=>{e=e.data;return this.$log.debug("[ Axios / 픽업지 조회 ] 성공 => ",e),e}).catch(e=>{this.$log.debug("[ Axios / 픽업지 조회 ] 실패 =>",e)});this.pickupList=e}},mounted(){this.$log.debug("Pickup list mounted"),this.loadPickupList()}},[["render",function(e,a,t,l,i,o){let s=(0,V.g2)("q-td"),r=(0,V.g2)("q-item-label"),n=(0,V.g2)("q-item-section"),d=(0,V.g2)("q-item"),c=(0,V.g2)("q-list"),u=(0,V.g2)("q-btn-dropdown"),m=(0,V.g2)("q-tr");var p=(0,V.g2)("q-table");let g=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.Wv)(p,{rows:i.pickupList,columns:i.columns,"rows-per-page-options":[0],"virtual-scroll-sticky-size-start":48,"row-key":"name"},{body:(0,V.k6)(t=>[(0,V.bF)(m,{props:t},{default:(0,V.k6)(()=>[(0,V.bF)(s,{key:"code",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.code),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"name",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.name),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"country",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.country),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"city",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.city),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"region",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.region),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"regDate",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.regDate),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"detail",props:t},{default:(0,V.k6)(()=>[(0,V.bF)(u,{color:"primary",label:"기능선택",size:"sm"},{default:(0,V.k6)(()=>[(0,V.bF)(c,null,{default:(0,V.k6)(()=>[(0,V.bo)(((0,V.uX)(),(0,V.Wv)(d,{clickable:"",onClick:e=>o.singleDelete(t.row.code)},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[(0,V.bF)(r,null,{default:(0,V.k6)(()=>a[0]||(a[0]=[(0,V.eW)("삭제")])),_:1,__:[0]})]),_:1})]),_:2},1032,["onClick"])),[[g]])]),_:2},1024)]),_:2},1024)]),_:2},1032,["props"])]),_:2},1032,["props"])]),_:1},8,["rows","columns"])}]]),PickupRegForm:(0,e.A)(_,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-toolbar-title"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("q-toolbar"),d=(0,V.g2)("q-header"),c=(0,V.g2)("q-footer"),u=(0,V.g2)("q-input"),m=(0,V.g2)("q-select"),p=(0,V.g2)("q-page"),g=(0,V.g2)("q-page-container");var h=(0,V.g2)("q-layout");let b=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.Wv)(h,{container:"",class:"bg-white"},{default:(0,V.k6)(()=>[(0,V.bF)(d,{class:"bg-primary"},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[6]||(t[6]=[(0,V.eW)("픽업지 추가")])),_:1,__:[6]}),(0,V.bo)((0,V.bF)(r,{flat:"",round:"",dense:"",icon:"close"},null,512),[[b]])]),_:1})]),_:1}),(0,V.bF)(c,{class:"bg-white text-black"},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[(0,V.bF)(r,{label:"추가",class:"full-width",color:"primary",onClick:o.addItem},null,8,["onClick"])]),_:1})]),_:1}),(0,V.bF)(g,null,{default:(0,V.k6)(()=>[(0,V.bF)(p,{padding:""},{default:(0,V.k6)(()=>[(0,V.Lk)("div",j0,[(0,V.Lk)("div",Y0,[(0,V.bF)(u,{modelValue:i.newPickupCode,"onUpdate:modelValue":t[0]||(t[0]=e=>i.newPickupCode=e),label:"픽업지 코드",maxlength:"8",placeholder:"영문, 영문 + 숫자 8자리"},null,8,["modelValue"])]),(0,V.Lk)("div",Z0,[(0,V.bF)(u,{modelValue:i.newPickupName,"onUpdate:modelValue":t[1]||(t[1]=e=>i.newPickupName=e),maxlength:100,label:"픽업지 이름"},null,8,["modelValue"])])]),(0,V.Lk)("div",J0,[(0,V.Lk)("div",eg,[(0,V.bF)(m,{modelValue:i.country,"onUpdate:modelValue":[t[2]||(t[2]=e=>i.country=e),o.setCityList],label:"국가코드",options:this.$store.getters.getNationCodeList,"emit-value":"","map-options":"",behavior:"menu",placeholder:"ex) AUS, KOR"},null,8,["modelValue","onUpdate:modelValue","options"])]),(0,V.Lk)("div",tg,[(0,V.bF)(m,{modelValue:i.city,"onUpdate:modelValue":[t[3]||(t[3]=e=>i.city=e),o.setRegionList],label:"픽업지 도시",options:this.$store.getters.getCityCodeList,"emit-value":"","map-options":"",behavior:"menu",placeholder:"ex) SYD, BRN"},null,8,["modelValue","onUpdate:modelValue","options"])]),(0,V.Lk)("div",ag,[(0,V.bF)(m,{modelValue:i.region,"onUpdate:modelValue":t[4]||(t[4]=e=>i.region=e),label:"픽업지 지역",options:this.$store.getters.getRegionCodeList,"emit-value":"","map-options":"",behavior:"menu",placeholder:"ex) CBD, HOM"},null,8,["modelValue","options"])])]),(0,V.Lk)("div",lg,[(0,V.Lk)("div",ig,[(0,V.bF)(u,{modelValue:i.memo,"onUpdate:modelValue":t[5]||(t[5]=e=>i.memo=e),type:"textarea",label:"메모",maxlength:"400",placeholder:"해당 픽업지에 대한 메모를 남겨주세요."},null,8,["modelValue"])])])]),_:1})]),_:1})]),_:1})}]])},setup(){return{description:{title:"픽업지 관리"},showModalNow:(0,c.KR)(!1),mode:0}},methods:{addPickupForm(){this.$log.debug("픽업지 추가 클릭"),this.showModalNow=!0,this.mode=0},closeModal(){this.$log.debug("픽업지 모달 닫기 클릭"),this.showModalNow=!1},async regiPickup(e){await this.$http({method:"POST",url:"/api/pickup/addPickup",data:e,name:"[ AXIOS / 픽업지 추가 ]"}).then(e=>{this.$log.debug("[ Axios / 픽업지 추가 ] 실행됨 => ",e),this.$refs.pickupList.loadPickupList(),this.showModalNow=!1}).catch(e=>{this.$log.debug("[ Axios / 픽업지 추가 ] 실패 => ",e)})}}},[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-btn"),r=(0,V.g2)("Title"),n=(0,V.g2)("PickupList");var d=(0,V.g2)("q-page");let c=(0,V.g2)("PickupRegForm");var u=(0,V.g2)("q-dialog");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.bF)(d,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",X0,[(0,V.Lk)("div",K0,[(0,V.bF)(r,{desc:l.description},{default:(0,V.k6)(()=>[(0,V.bF)(s,{color:"primary",size:"md",label:"픽업지 추가",onClick:o.addPickupForm},null,8,["onClick"])]),_:1},8,["desc"])])]),(0,V.Lk)("div",Q0,[(0,V.Lk)("div",G0,[(0,V.Lk)("div",H0,[(0,V.bF)(n,{ref:"pickupList"},null,512)])])])]),_:1}),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(u,{modelValue:l.showModalNow,"onUpdate:modelValue":t[0]||(t[0]=e=>l.showModalNow=e)},{default:(0,V.k6)(()=>[(0,V.bF)(c,{onAddItem:o.regiPickup,onCloseModal:o.closeModal},null,8,["onAddItem","onCloseModal"])]),_:1},8,["modelValue"])]))],64)}]]);let og={class:"row"},sg={class:"col"},rg={class:"row q-mt-lg"},ng={class:"col"},dg={class:"comp-box"};let cg={class:"row q-mt-sm"},ug={class:"col"};let mg={class:"row q-mb-sm"},pg={class:"col q-pr-sm"},gg={class:"col q-pr-sm"},hg={class:"col"},bg={class:"row"},fg={class:"col q-pr-sm"},vg={class:"col"},kg={class:"row"},yg={class:"col"};w={name:"Modal-pickup-form",props:{showModal:Boolean,mode:Number},watch:{showModal:{handler(){var e=this.mode,t=this.idx;this.$log.debug("Created parcel id = "+t),0===e?(this.$log.debug("상품추가모드"),this.code="",this.name="",this.country="",this.region="",this.memo=""):1===e&&(this.$log.debug("상품수정모드"),this.setDataInput(t))},immediate:!0,deep:!0}},emits:["close-modal","add-item","modify-item"],data(){return{classValue:"",code:"",name:"",country:"",region:"",memo:""}},methods:{addItem(){var e={class:this.classValue,code:this.code,name:this.name,country:this.country,region:this.region,memo:this.memo};this.$emit("add-item",e),this.$emit("close-modal")},modifyItem(){this.$log.debug("modifyItem executed");var e={class:this.classValue,code:this.code,name:this.name,country:this.country,region:this.region,memo:this.memo};this.$log.debug("modifyItem data = ",e),this.$log.debug("modifyItem idx = ",this.idx),this.$emit("modify-item",{data:e,idx:this.idx}),this.$emit("close-modal")},setDataInput(e){var t=this.$store.state.newParcelList[e];this.$log.debug("idx = ",e),this.$log.debug("target = ",t),this.classValue=t.target,this.code=t.code,this.name=t.name,this.country=t.country,this.region=t.region,this.memo=t.memo}}},_=(0,e.A)(w,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-toolbar-title"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("q-toolbar"),d=(0,V.g2)("q-header"),c=(0,V.g2)("q-footer"),u=(0,V.g2)("q-input"),m=(0,V.g2)("q-page"),p=(0,V.g2)("q-page-container");var g=(0,V.g2)("q-layout");let h=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.Wv)(g,{container:"",class:"bg-white"},{default:(0,V.k6)(()=>[(0,V.bF)(d,{class:"bg-primary"},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[6]||(t[6]=[(0,V.eW)("배송상품위치 추가")])),_:1,__:[6]}),(0,V.bo)((0,V.bF)(r,{flat:"",round:"",dense:"",icon:"close"},null,512),[[h]])]),_:1})]),_:1}),(0,V.bF)(c,{class:"bg-white text-black"},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[0===a.mode?((0,V.uX)(),(0,V.Wv)(r,{key:0,label:"추가",class:"full-width",color:"primary",onClick:o.addItem},null,8,["onClick"])):(0,V.Q3)("",!0)]),_:1})]),_:1}),(0,V.bF)(p,null,{default:(0,V.k6)(()=>[(0,V.bF)(m,{padding:""},{default:(0,V.k6)(()=>[(0,V.Lk)("div",mg,[(0,V.Lk)("div",pg,[(0,V.bF)(u,{modelValue:i.classValue,"onUpdate:modelValue":t[0]||(t[0]=e=>i.classValue=e),label:"배송상품 위치 분류코드",maxlength:"8",placeholder:"영문, 영문 + 숫자 8자리"},null,8,["modelValue"])]),(0,V.Lk)("div",gg,[(0,V.bF)(u,{modelValue:i.country,"onUpdate:modelValue":t[1]||(t[1]=e=>i.country=e),label:"국가코드",maxlength:"3",placeholder:"ex)'KOR', 'AUS'"},null,8,["modelValue"])]),(0,V.Lk)("div",hg,[(0,V.bF)(u,{modelValue:i.region,"onUpdate:modelValue":t[2]||(t[2]=e=>i.region=e),label:"지역",maxlength:"3",placeholder:"ex)'BNE, SYD'"},null,8,["modelValue"])])]),(0,V.Lk)("div",bg,[(0,V.Lk)("div",fg,[(0,V.bF)(u,{modelValue:i.code,"onUpdate:modelValue":t[3]||(t[3]=e=>i.code=e),label:"배송상품위치 코드",maxlength:"8",placeholder:"영문, 영문 + 숫자 8자리"},null,8,["modelValue"])]),(0,V.Lk)("div",vg,[(0,V.bF)(u,{modelValue:i.name,"onUpdate:modelValue":t[4]||(t[4]=e=>i.name=e),maxlength:"100",label:"배송상품위치 이름"},null,8,["modelValue"])])]),(0,V.Lk)("div",kg,[(0,V.Lk)("div",yg,[(0,V.bF)(u,{modelValue:i.memo,"onUpdate:modelValue":t[5]||(t[5]=e=>i.memo=e),label:"메모",maxlength:"400",placeholder:"해당 배송상품위치에 대한 메모를 남겨주세요."},null,8,["modelValue"])])])]),_:1})]),_:1})]),_:1})}]]),w=(0,e.A)({name:"Admin-parcel-location-management",meta:{title:"어드민-배송상품위치관리"},components:{Title:b,ParcelLocationList:(0,e.A)({name:"Pickup-list",components:{ParcelLocationRegiFormUnit:_},data(){return{pickupList:[],showModalNow:!1,mode:0,initialPagination:{rowsPerPage:10},columns:[{name:"class",label:"분류코드",align:"center",field:"class"},{name:"code",label:"위치코드",align:"center",field:"code"},{name:"name",label:"위치명",align:"center",field:"name"},{name:"country",label:"국가코드",align:"center",field:"country"},{name:"regDate",label:"등록일",align:"center",field:"regDate"},{name:"detail",label:"기능선택",align:"center",field:"detail"}]}},methods:{addParcelLocationForm(){this.$log.debug("픽업지 추가 클릭"),this.showModalNow=!this.showModalNow,this.mode=0},closeModal(){this.showModalNow=!1},async regiPickup(e){await this.$http({method:"POST",url:"/api/parcelLocation/addParcelLocation",data:e,name:"[ Axios / ParcelLocationList / 상품위치정보 추가 ]"}).then(e=>{this.$log.debug("/parcelLocation/addParcelLocation 실행됨",e),this.loadParcelLocationList()}).catch(e=>{this.$log.debug("/parcelLocation/addParcelLocation 실패",e)})},singleDelete(e){this.$log.debug("개별삭제 실행"),this.$log.debug("선택된 택배 Id",e);e={code:e};this.$log.debug("payload = ",e),this.delete(e)},async delete(e){await this.$http({method:"POST",url:"/api/parcelLocation/delParcelLocation",data:e,name:"[ Axios / ParcelLocationList / 상품위치정보삭제 ]"}).then(()=>{this.$log.debug("삭제했습니다."),this.loadParcelLocationList(),alert("삭제했습니다.")}).catch(e=>{this.$log.debug(e),alert("불러오기 실패!")})},async loadParcelLocationList(){var e=await this.$http({method:"get",url:"/api/parcelLocation/getParcelLocationList",name:"[ Axios / ParcelLocationList / 상품위치정보조회 ]"}).then(e=>{e=e.data;return this.$log.debug("[ Axios / ParcelLocationList / 상품위치정보조회 ] 실행됨",e),e}).catch(e=>{this.$log.debug("[ Axios / ParcelLocationList / 상품위치정보조회 ] 실패",e)});this.pickupList=e}},mounted(){this.$log.debug("Parcel Location list mounted"),this.loadParcelLocationList()}},[["render",function(e,a,t,l,i,o){let s=(0,V.g2)("q-td"),r=(0,V.g2)("q-item-label"),n=(0,V.g2)("q-item-section"),d=(0,V.g2)("q-item"),c=(0,V.g2)("q-list"),u=(0,V.g2)("q-btn-dropdown"),m=(0,V.g2)("q-tr");var p=(0,V.g2)("q-table"),g=(0,V.g2)("q-btn");let h=(0,V.g2)("ParcelLocationRegiFormUnit");var b=(0,V.g2)("q-dialog");let f=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.bF)(p,{rows:i.pickupList,columns:i.columns,"rows-per-page-options":[0],"virtual-scroll-sticky-size-start":48,pagination:i.initialPagination,"row-key":"name"},{body:(0,V.k6)(t=>[(0,V.bF)(m,{props:t},{default:(0,V.k6)(()=>[(0,V.bF)(s,{key:"class",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.class),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"code",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.code),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"name",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.name),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"country",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.country),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"regDate",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.regDate),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"detail",props:t},{default:(0,V.k6)(()=>[(0,V.bF)(u,{color:"primary",label:"기능선택",size:"sm"},{default:(0,V.k6)(()=>[(0,V.bF)(c,null,{default:(0,V.k6)(()=>[(0,V.bo)(((0,V.uX)(),(0,V.Wv)(d,{clickable:"",onClick:e=>o.singleDelete(t.row.code)},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[(0,V.bF)(r,null,{default:(0,V.k6)(()=>a[1]||(a[1]=[(0,V.eW)("삭제")])),_:1,__:[1]})]),_:1})]),_:2},1032,["onClick"])),[[f]])]),_:2},1024)]),_:2},1024)]),_:2},1032,["props"])]),_:2},1032,["props"])]),_:1},8,["rows","columns","pagination"]),(0,V.Lk)("div",cg,[(0,V.Lk)("div",ug,[(0,V.bF)(g,{color:"primary",size:"md",label:"배송상품위치 추가",onClick:o.addParcelLocationForm},null,8,["onClick"])])]),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(b,{modelValue:i.showModalNow,"onUpdate:modelValue":a[0]||(a[0]=e=>i.showModalNow=e)},{default:(0,V.k6)(()=>[(0,V.bF)(h,{mode:i.mode,onCloseModal:o.closeModal,onAddItem:o.regiPickup},null,8,["mode","onCloseModal","onAddItem"])]),_:1},8,["modelValue"])]))],64)}]]),ParcelLocationRegiFormUnit:_},data(){return{description:{title:"배송상품 위치 관리"},showModalNow:!1,mode:0}},methods:{addParcelLocationForm(){this.$log.debug("픽업지 추가 클릭"),this.showModalNow=!this.showModalNow,this.mode=0},closeModal(){this.showModalNow=!1},async regiPickup(e){await this.$http({method:"POST",url:"/api/parcelLocation/addParcelLocation",data:e,name:"[ Axios / ParcelLocationList / 상품위치정보 추가 ]"}).then(e=>{this.$log.debug("/parcelLocation/addParcelLocation 실행됨",e),this.$refs.parcelLocationList.loadParcelLocationList()}).catch(e=>{this.$log.debug("/parcelLocation/addParcelLocation 실패",e)})}}},[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-btn"),r=(0,V.g2)("Title"),n=(0,V.g2)("ParcelLocationList");var d=(0,V.g2)("q-page");let c=(0,V.g2)("ParcelLocationRegiFormUnit");var u=(0,V.g2)("q-dialog");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.bF)(d,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",og,[(0,V.Lk)("div",sg,[(0,V.bF)(r,{desc:i.description},{default:(0,V.k6)(()=>[(0,V.bF)(s,{color:"primary",size:"md",label:"배송상품위치 추가",onClick:o.addParcelLocationForm},null,8,["onClick"])]),_:1},8,["desc"])])]),(0,V.Lk)("div",rg,[(0,V.Lk)("div",ng,[(0,V.Lk)("div",dg,[(0,V.bF)(n,{ref:"parcelLocationList"},null,512)])])])]),_:1}),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(u,{modelValue:i.showModalNow,"onUpdate:modelValue":t[0]||(t[0]=e=>i.showModalNow=e)},{default:(0,V.k6)(()=>[(0,V.bF)(c,{showModal:i.showModalNow,mode:i.mode,onCloseModal:o.closeModal,onAddItem:o.regiPickup},null,8,["showModal","mode","onCloseModal","onAddItem"])]),_:1},8,["modelValue"])]))],64)}]]);let Lg={class:"row q-mb-lg"},_g={class:"col"},wg={class:"row"},xg={class:"col"},Cg={class:"comp-box"};let Sg={class:"row q-gutter-md q-px-md"},Fg={class:"col"},qg={class:"col"},Ig={class:"row q-gutter-md q-px-md"},Pg={class:"col"},Ag={class:"row q-gutter-md q-px-md"},Tg={class:"col"},Ng={class:"col"},Eg={class:"row q-gutter-md q-px-md"},Dg={class:"col"},Og={class:"col"},Vg={class:"col"},Rg={class:"row q-mt-lg q-pa-md q-gutter-sm"},Mg={class:"reset-link-box"};_={name:"Modal-customer",props:{mode:Number,selectedCustomer:Object},emits:["close-modal","modify-customer","delete-member"],data(){return{localCustomer:{...this.selectedCustomer},generatedResetLink:"",showResetLinkModal:!1}},watch:{selectedCustomer:{handler(e){this.localCustomer={...e}},deep:!0,immediate:!0}},methods:{modifyCustomer(){this.$log.debug("[ Admin / Customer modal / modifyCustomer ] ",this.localCustomer),this.$emit("modify-customer",this.localCustomer),this.$emit("close-modal")},copyToClipboard(e){var t;return navigator?.clipboard?.writeText?navigator.clipboard.writeText(e):((t=document.createElement("textarea")).value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.focus(),t.select(),document.execCommand("copy"),document.body.removeChild(t),Promise.resolve())},showResetLinkDialog(e){this.generatedResetLink=e,this.showResetLinkModal=!0},async copyResetLinkFromDialog(){if(this.generatedResetLink)try{await this.copyToClipboard(this.generatedResetLink),this.$q.notify({type:"positive",message:"링크를 클립보드에 복사했습니다.",position:"top",timeout:2e3})}catch(e){this.$q.notify({type:"negative",message:"클립보드 복사에 실패했습니다.",position:"top",timeout:2e3})}},async generateResetLink(){let t={method:"POST",url:"/api/admin/generate-reset-link",data:{memberId:this.localCustomer.id},name:"[ Axios / Member 비밀번호 재설정 링크 생성 ]"};await this.$http(t).then(async e=>{e=e?.data?.data?.resetUrl||"";if(!e)throw new Error("resetUrl is empty");this.generatedResetLink=e,await this.copyToClipboard(e),this.$q.notify({type:"positive",message:"비밀번호 재설정 링크를 생성하고 클립보드에 복사했습니다.",position:"top",timeout:3e3}),this.showResetLinkDialog(e)}).catch(e=>{this.$log.debug(t.name+" 실패",e),this.$q.notify({type:"negative",message:e?.response?.data?.message||"링크 생성 중 오류가 발생했습니다.",position:"top",timeout:3e3})})},deleteMember(){this.$emit("delete-member")}},mounted(){this.$getCodeList("NATION"),this.$getCodeList("AUTHLV")}},v(57424),_={name:"Customer-list",components:{CustomerModal:(0,e.A)(_,[["render",function(t,e,a,l,i,o){let s=(0,V.g2)("q-toolbar-title"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("q-toolbar"),d=(0,V.g2)("q-select"),c=(0,V.g2)("q-input"),u=(0,V.g2)("q-card"),m=(0,V.g2)("q-card-section"),p=(0,V.g2)("q-card-actions");var g=(0,V.g2)("q-dialog");let h=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.bF)(u,{class:"card-size"},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>e[11]||(e[11]=[(0,V.Lk)("div",{class:"text-h6"},"고객정보수정",-1)])),_:1,__:[11]}),(0,V.bo)((0,V.bF)(r,{flat:"",round:"",dense:"",icon:"close",onClick:e[0]||(e[0]=e=>t.showModalNow=!t.showModalNow)},null,512),[[h]])]),_:1}),(0,V.Lk)("div",Sg,[(0,V.Lk)("div",Fg,[(0,V.bF)(d,{modelValue:i.localCustomer.authLevel,"onUpdate:modelValue":e[1]||(e[1]=e=>i.localCustomer.authLevel=e),label:"고객등급",options:this.$store.getters.getAuthLevelList,"emit-value":"","map-options":""},null,8,["modelValue","options"])]),(0,V.Lk)("div",qg,[(0,V.bF)(c,{modelValue:i.localCustomer.id,"onUpdate:modelValue":e[2]||(e[2]=e=>i.localCustomer.id=e),label:"고객번호",disable:""},null,8,["modelValue"])])]),(0,V.Lk)("div",Ig,[(0,V.Lk)("div",Pg,[(0,V.bF)(c,{modelValue:i.localCustomer.email,"onUpdate:modelValue":e[3]||(e[3]=e=>i.localCustomer.email=e),label:"이메일",maxlength:"100"},null,8,["modelValue"])])]),(0,V.Lk)("div",Ag,[(0,V.Lk)("div",Tg,[(0,V.bF)(c,{modelValue:i.localCustomer.lName,"onUpdate:modelValue":e[4]||(e[4]=e=>i.localCustomer.lName=e),label:"성",maxlength:"20"},null,8,["modelValue"])]),(0,V.Lk)("div",Ng,[(0,V.bF)(c,{modelValue:i.localCustomer.fName,"onUpdate:modelValue":e[5]||(e[5]=e=>i.localCustomer.fName=e),label:"이름",maxlength:"20"},null,8,["modelValue"])])]),(0,V.Lk)("div",Eg,[(0,V.Lk)("div",Dg,[(0,V.bF)(d,{"model-value":i.localCustomer.country,class:"mobile-country-select",label:"국가코드",options:this.$store.getters.getNationCodeList,behavior:"menu","emit-value":"","map-options":""},null,8,["model-value","options"])]),(0,V.Lk)("div",Og,[(0,V.bF)(c,{modelValue:i.localCustomer.mobile,"onUpdate:modelValue":e[6]||(e[6]=e=>i.localCustomer.mobile=e),mask:"###-####-####",label:"모바일"},null,8,["modelValue"])]),(0,V.Lk)("div",Vg,[(0,V.bF)(c,{modelValue:i.localCustomer.regDate,"onUpdate:modelValue":e[7]||(e[7]=e=>i.localCustomer.regDate=e),disable:"",label:"가입일"},null,8,["modelValue"])])]),(0,V.Lk)("div",Rg,[1===a.mode?((0,V.uX)(),(0,V.Wv)(r,{key:0,label:"삭제",style:{flex:"0.3"},color:"red",onClick:o.deleteMember},null,8,["onClick"])):(0,V.Q3)("",!0),1===a.mode?((0,V.uX)(),(0,V.Wv)(r,{key:1,label:"비밀번호 재설정 링크",style:{flex:"0.5"},color:"info",onClick:o.generateResetLink},null,8,["onClick"])):(0,V.Q3)("",!0),1===a.mode?((0,V.uX)(),(0,V.Wv)(r,{key:2,label:"수정",style:{flex:"1"},color:"primary",onClick:o.modifyCustomer},null,8,["onClick"])):(0,V.Q3)("",!0)])]),_:1}),(0,V.bF)(g,{modelValue:i.showResetLinkModal,"onUpdate:modelValue":e[10]||(e[10]=e=>i.showResetLinkModal=e),persistent:""},{default:(0,V.k6)(()=>[(0,V.bF)(u,{class:"reset-link-dialog-card"},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>e[12]||(e[12]=[(0,V.Lk)("div",{class:"text-h6"},"비밀번호 재설정 링크",-1)])),_:1,__:[12]}),(0,V.bF)(r,{flat:"",round:"",dense:"",icon:"close",onClick:e[8]||(e[8]=e=>i.showResetLinkModal=!1)})]),_:1}),(0,V.bF)(m,{class:"q-pt-none"},{default:(0,V.k6)(()=>[e[13]||(e[13]=(0,V.Lk)("div",{class:"text-body2 q-mb-sm"}," 아래 링크를 대상 회원에게 전달하세요. ",-1)),(0,V.Lk)("div",Mg,(0,R.v_)(i.generatedResetLink),1)]),_:1,__:[13]}),(0,V.bF)(p,{align:"right"},{default:(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",color:"primary",label:"Copy to clipboard",onClick:o.copyResetLinkFromDialog},null,8,["onClick"]),(0,V.bF)(r,{color:"primary",label:"닫기",onClick:e[9]||(e[9]=e=>i.showResetLinkModal=!1)})]),_:1})]),_:1})]),_:1},8,["modelValue"])],64)}],["__scopeId","data-v-00e2ff1c"]])},props:{type:String},watch:{type(e){this.loadCustomerList(e)}},data(){return{customerList:[],showModalNow:!1,mode:0,selectedCustomer:[],columns:[{name:"id",label:"고객ID",align:"center",field:"id"},{name:"authLevelName",label:"고객등급",align:"center",field:"authLevelName"},{name:"email",label:"이메일",align:"center",field:"email"},{name:"name",label:"이름",align:"center",field:"name"},{name:"mobile",label:"모바일",align:"center",field:"mobile"},{name:"country",label:"국가",align:"center",field:"country"},{name:"regDate",label:"등록일",align:"center",field:"regDate"}]}},methods:{closeModal(){this.showModalNow=!1},openModifyCustomer(t){this.$log.debug("선택된 고객의 id",t);var e=this.customerList.filter(e=>{if(e.id===t)return e});this.selectedCustomer=e[0],this.$log.debug("[ Admin / CustomerList / openModifyCustomer ]",this.selectedCustomer),this.mode=1,this.showModalNow=!this.showModalNow},async modifyCustomer(e){await this.$http({method:"POST",url:"/api/member/modifyCustomer",data:e,name:"[ Axios / 고객정보수정실행 ]"}).then(e=>{this.$log.debug("/admin/modifyCustomer 실행됨",e),this.loadCustomerList(this.type)}).catch(e=>{this.$log.debug("/admin/modifyCustomer 실패",e)})},singleDelete(e){this.$log.debug("개별삭제 실행"),this.$log.debug("선택된 고객 Id",e);e={id:e};this.$log.debug("payload = ",e),this.delete(e)},async delete(e){await this.$http({method:"POST",url:"/api/member/delCustomer",data:e}).then(()=>{this.$log.debug("삭제했습니다."),this.loadCustomerList(this.type),alert("삭제했습니다.")}).catch(e=>{this.$log.debug(e),alert("불러오기 실패!")})},async loadCustomerList(e){this.$log.info("[ 고객목록조회 ] = "+e);e=await this.$http({method:"POST",url:"/api/member/getCustomerList",data:{type:e,paging:0},name:"[ Axios / 고객목록조회 ]"}).then(e=>e.data).catch(e=>{this.$log.debug("/member/getCustomerList 실패",e)});this.customerList=e}},mounted(){this.$log.debug("Parcel Location list mounted"),this.loadCustomerList(this.type),this.$getCodeList("AUTHLV")}},_=(0,e.A)({name:"Admin-Customer-management",meta:{title:"어드민-고객정보조회"},components:{CustomerList:(0,e.A)(_,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-td"),r=(0,V.g2)("q-tr");var n=(0,V.g2)("q-table");let d=(0,V.g2)("CustomerModal");var c=(0,V.g2)("q-dialog");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.bF)(n,{"virtual-scroll":"","rows-per-page-options":[0],"virtual-scroll-sticky-size-start":48,rows:i.customerList,columns:i.columns,"row-key":"id"},{body:(0,V.k6)(t=>[(0,V.bF)(r,{props:t,onClick:e=>o.openModifyCustomer(t.row.id)},{default:(0,V.k6)(()=>[(0,V.bF)(s,{key:"id",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.id),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"authLevelName",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.authLevelName),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"email",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.email),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"name",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.lName+" "+t.row.fName),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"mobile",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(this.$formatPhoneNumber(t.row.mobile,"mobile")),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"country",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.country),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"regDate",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.regDate),1)]),_:2},1032,["props"])]),_:2},1032,["props","onClick"])]),_:1},8,["rows","columns"]),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(c,{modelValue:i.showModalNow,"onUpdate:modelValue":t[0]||(t[0]=e=>i.showModalNow=e)},{default:(0,V.k6)(()=>[(0,V.bF)(d,{mode:i.mode,"selected-customer":i.selectedCustomer,onCloseModal:o.closeModal,onModifyCustomer:o.modifyCustomer,onDeleteMember:o.singleDelete},null,8,["mode","selected-customer","onCloseModal","onModifyCustomer","onDeleteMember"])]),_:1},8,["modelValue"])]))],64)}]]),Title:b},data(){return{description:{title:"전체고객 정보조회"},inqCustomerType:"all"}},methods:{}},[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-btn"),r=(0,V.g2)("q-btn-group"),n=(0,V.g2)("Title"),d=(0,V.g2)("CustomerList");var c=(0,V.g2)("q-page");return(0,V.uX)(),(0,V.Wv)(c,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Lg,[(0,V.Lk)("div",_g,[(0,V.bF)(n,{desc:i.description},{default:(0,V.k6)(()=>[(0,V.bF)(r,null,{default:(0,V.k6)(()=>[(0,V.bF)(s,{color:"all"===i.inqCustomerType?"primary":"grey",size:"md",label:"전체",onClick:t[0]||(t[0]=()=>{i.inqCustomerType="all",i.description.title="전체고객 정보조회"})},null,8,["color"]),(0,V.bF)(s,{color:"partner"===i.inqCustomerType?"secondary":"grey",size:"md",label:"파트너사",onClick:t[1]||(t[1]=()=>{i.inqCustomerType="partner",i.description.title="파트너사 정보조회"})},null,8,["color"]),(0,V.bF)(s,{color:"customer"===i.inqCustomerType?"info":"grey",size:"md",label:"일반고객",onClick:t[2]||(t[2]=()=>{i.inqCustomerType="customer",i.description.title="일반고객 정보조회"})},null,8,["color"])]),_:1})]),_:1},8,["desc"])])]),(0,V.Lk)("div",wg,[(0,V.Lk)("div",xg,[(0,V.Lk)("div",Cg,[(0,V.bF)(d,{type:i.inqCustomerType},null,8,["type"])])])])]),_:1})}]]);let $g={class:"row q-mb-lg"},Ug={class:"col"},Wg={class:"row"},Bg={class:"col"},zg={class:"comp-box"};let Xg={class:"partner-summary-grid q-mb-md"},Kg={class:"text-caption text-grey-7"},Qg={class:"text-h6 text-weight-bold"},Gg={class:"partner-filter-bar q-mb-md"},Hg={class:"row q-col-gutter-md items-end"},jg={class:"col-12 col-md"},Yg={class:"col-12 col-md-3"},Zg={class:"col-12 col-md-3"},Jg={class:"col-12 col-md-auto"},eh={class:"row q-mb-sm"},th={class:"col"};var ah={name:"PartnerList",components:{PartnerInfoForm:l},props:{},emits:[],data(){return{partnerList:[],selectedList:[],partnerModifyModalShow:!1,modalMode:"modify",filters:{keyword:"",contractType:"all",contractStatus:"all"},contractTypeOptions:[{label:"전체",value:"all"},{label:"LOGIS 계약",value:"logis"},{label:"FULFILLMENT 계약",value:"fulfillment"},{label:"둘 다 계약",value:"both"},{label:"계약 없음",value:"none"}],contractStatusOptions:[{label:"전체",value:"all"},{label:"계약중",value:"active"},{label:"만료 예정",value:"expiring"},{label:"계약 종료",value:"expired"}],columns:[{name:"id",label:"ID",align:"center",field:"id",format:e=>""+e,sortable:!0},{name:"partner_name",label:"파트너명",align:"center",field:"partner_name"},{name:"business_number",label:"사업자번호",align:"center",field:"business_number",format:e=>this.$formatBusinessNumber(e)},{name:"ceo_name",label:"대표자명",align:"center",field:"ceo_name"},{name:"business_type",label:"업종",align:"center",field:"business_type"},{name:"phone",label:"전화번호",align:"center",field:"phone",format:e=>this.$formatPhoneNumber(e,"home")},{name:"email",label:"이메일",align:"center",field:"email"},{name:"address",label:"주소",align:"center",field:"address"},{name:"admin_name",label:"담당자명",align:"center",field:"admin_name"},{name:"admin_phone",label:"담당자 연락처",align:"center",field:"admin_phone",format:e=>this.$formatPhoneNumber(e,"home")},{name:"admin_email",label:"담당자 이메일",align:"center",field:"admin_email"},{name:"item_categories",label:"상품분류",align:"center",field:"item_categories"},{name:"pickup_area",label:"집화지역",align:"center",field:"pickup_area"},{name:"contract_start_date",label:"계약시작일",align:"center",field:"contract_start_date"},{name:"contract_end_date",label:"계약종료일",align:"center",field:"contract_end_date"},{name:"has_logis_contract",label:"LOGIS 계약",align:"center",field:"has_logis_contract",format:e=>1===Number(e)?"Y":"N"},{name:"has_fulfillment_contract",label:"FULFILLMENT 계약",align:"center",field:"has_fulfillment_contract",format:e=>1===Number(e)?"Y":"N"},{name:"created_at",label:"등록일",align:"center",field:"created_at"},{name:"updated_at",label:"수정일",align:"center",field:"updated_at"}]}},computed:{session(){return this.$store.getters.getLocalSession||{}},filteredPartnerList(){return this.partnerList.filter(e=>this.matchesKeyword(e)&&this.matchesContractType(e)&&this.matchesContractStatus(e))},summaryCards(){return[{label:"전체 파트너",value:this.partnerList.length,icon:"groups",color:"primary"},{label:"LOGIS 계약",value:this.partnerList.filter(e=>1===Number(e.has_logis_contract)).length,icon:"local_shipping",color:"blue-7"},{label:"FULFILLMENT 계약",value:this.partnerList.filter(e=>1===Number(e.has_fulfillment_contract)).length,icon:"inventory_2",color:"teal-7"},{label:"복수 계약",value:this.partnerList.filter(e=>1===Number(e.has_logis_contract)&&1===Number(e.has_fulfillment_contract)).length,icon:"hub",color:"deep-orange-7"},{label:"만료 예정",value:this.partnerList.filter(e=>"expiring"===this.getContractStatus(e)).length,icon:"event_busy",color:"negative"}]}},methods:{includesText(e,t){return String(e||"").toLowerCase().includes(t)},matchesKeyword(e){let t=String(this.filters.keyword||"").trim().toLowerCase();return!t||[e.partner_name,e.business_number,e.ceo_name,e.phone,e.email,e.address,e.admin_name,e.admin_phone,e.admin_email,e.item_categories,e.pickup_area].some(e=>this.includesText(e,t))},matchesContractType(e){var t=this.filters.contractType,a=1===Number(e.has_logis_contract),e=1===Number(e.has_fulfillment_contract);return"logis"===t?a:"fulfillment"===t?e:"both"===t?a&&e:"none"!==t||!a&&!e},getContractStatus(e){var t;return!e.contract_end_date||(e=new Date(e.contract_end_date+"T23:59:59"),Number.isNaN(e.getTime()))?"active":((t=new Date).setHours(0,0,0,0),e{this.partnerList=e.data,this.$log.debug("[ Axios / PartnerList / 파트너사 목록조회 ] 성공 => ",e.data)}).catch(e=>{this.$log.debug(e),alert("불러오기 실패!")})},onRowClick(e,t){this.$log.debug("파트너선택 = ",t),this.selectedList=[t],this.partnerModifyModalShow=!0},async onPartnerDeleted(){this.partnerModifyModalShow=!1,this.selectedList=[],await this.getPartnerList()},async onPartnerUpdated(){this.partnerModifyModalShow=!1,this.selectedList=[],await this.getPartnerList()}},mounted(){this.getPartnerList()}},ah=(v(11160),(0,e.A)({name:"Admin-Customer-management",meta:{title:"어드민-파트너정보조회"},components:{PartnerList:(0,e.A)(ah,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-avatar"),r=(0,V.g2)("q-card-section"),n=(0,V.g2)("q-card"),d=(0,V.g2)("q-icon");var c=(0,V.g2)("q-input"),u=(0,V.g2)("q-select"),m=(0,V.g2)("q-btn"),p=(0,V.g2)("q-table");let g=(0,V.g2)("PartnerInfoForm");var h=(0,V.g2)("q-dialog");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.Lk)("div",Xg,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(o.summaryCards,e=>((0,V.uX)(),(0,V.Wv)(n,{key:e.label,flat:"",bordered:"",class:"partner-summary-card"},{default:(0,V.k6)(()=>[(0,V.bF)(r,{class:"row items-center no-wrap q-gutter-md"},{default:(0,V.k6)(()=>[(0,V.bF)(s,{color:e.color,"text-color":"white",size:"42px",icon:e.icon},null,8,["color","icon"]),(0,V.Lk)("div",null,[(0,V.Lk)("div",Kg,(0,R.v_)(e.label),1),(0,V.Lk)("div",Qg,(0,R.v_)(e.value),1)])]),_:2},1024)]),_:2},1024))),128))]),(0,V.Lk)("div",Gg,[(0,V.Lk)("div",Hg,[(0,V.Lk)("div",jg,[(0,V.bF)(c,{modelValue:i.filters.keyword,"onUpdate:modelValue":t[0]||(t[0]=e=>i.filters.keyword=e),dense:"",outlined:"",clearable:"",debounce:"200",label:"파트너 검색",placeholder:"파트너명, 담당자, 이메일, 사업자번호 검색"},{prepend:(0,V.k6)(()=>[(0,V.bF)(d,{name:"search"})]),_:1},8,["modelValue"])]),(0,V.Lk)("div",Yg,[(0,V.bF)(u,{modelValue:i.filters.contractType,"onUpdate:modelValue":t[1]||(t[1]=e=>i.filters.contractType=e),dense:"",outlined:"","emit-value":"","map-options":"",options:i.contractTypeOptions,label:"계약 서비스"},null,8,["modelValue","options"])]),(0,V.Lk)("div",Zg,[(0,V.bF)(u,{modelValue:i.filters.contractStatus,"onUpdate:modelValue":t[2]||(t[2]=e=>i.filters.contractStatus=e),dense:"",outlined:"","emit-value":"","map-options":"",options:i.contractStatusOptions,label:"계약 상태"},null,8,["modelValue","options"])]),(0,V.Lk)("div",Jg,[(0,V.bF)(m,{outline:"",color:"primary",icon:"restart_alt",label:"초기화",onClick:o.resetFilters},null,8,["onClick"])])])]),(0,V.Lk)("div",eh,[(0,V.Lk)("div",th,[(0,V.bF)(p,{class:"my-sticky-virtscroll-table","virtual-scroll":"",selected:i.selectedList,"onUpdate:selected":t[3]||(t[3]=e=>i.selectedList=e),"rows-per-page-options":[0],"virtual-scroll-sticky-size-start":48,rows:o.filteredPartnerList,columns:i.columns,onRowClick:o.onRowClick,"row-key":"id","no-data-label":"조회되는 파트너가 없습니다."},null,8,["selected","rows","columns","onRowClick"])])]),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(h,{modelValue:i.partnerModifyModalShow,"onUpdate:modelValue":t[4]||(t[4]=e=>i.partnerModifyModalShow=e)},{default:(0,V.k6)(()=>[(0,V.bF)(g,{partnerInfo:i.selectedList[0],authLevel:String(o.session.authLevel||""),mode:i.modalMode,onReloadParcelList:o.getPartnerList,onPartnerUpdated:o.onPartnerUpdated,onPartnerDeleted:o.onPartnerDeleted},null,8,["partnerInfo","authLevel","mode","onReloadParcelList","onPartnerUpdated","onPartnerDeleted"])]),_:1},8,["modelValue"])]))],64)}],["__scopeId","data-v-57da7373"]]),Title:b,PartnerInfoForm:l},data(){return{description:{title:"파트너 관리"},partnerModifyModalShow:!1}},computed:{session(){return this.$store.getters.getLocalSession||{}}},methods:{async onPartnerRegistered(){this.partnerModifyModalShow=!1,await this.$refs.partnerListRef?.getPartnerList?.()}}},[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-btn"),r=(0,V.g2)("Title"),n=(0,V.g2)("PartnerList");var d=(0,V.g2)("q-page");let c=(0,V.g2)("PartnerInfoForm");var u=(0,V.g2)("q-dialog");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.bF)(d,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",$g,[(0,V.Lk)("div",Ug,[(0,V.bF)(r,{desc:i.description},{default:(0,V.k6)(()=>[(0,V.bF)(s,{color:"primary",size:"md",label:"파트너사 추가",onClick:t[0]||(t[0]=()=>{i.partnerModifyModalShow=!0})})]),_:1},8,["desc"])])]),(0,V.Lk)("div",Wg,[(0,V.Lk)("div",Bg,[(0,V.Lk)("div",zg,[(0,V.bF)(n,{ref:"partnerListRef"},null,512)])])])]),_:1}),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(u,{modelValue:i.partnerModifyModalShow,"onUpdate:modelValue":t[1]||(t[1]=e=>i.partnerModifyModalShow=e)},{default:(0,V.k6)(()=>[(0,V.bF)(c,{authLevel:String(o.session.authLevel||""),mode:"create",onPartnerRegistered:o.onPartnerRegistered},null,8,["authLevel","onPartnerRegistered"])]),_:1},8,["modelValue"])]))],64)}]]));let lh={class:"row"},ih={class:"col"},oh={class:"row q-mt-md q-mb-md items-stretch"},sh={class:"col col-12 col-lg-6"},rh={class:"comp-box row q-mb-sm"},nh={class:"col-12"},dh={class:"col col-12 col-lg-6"},ch={class:"comp-box row q-mb-sm"},uh={class:"col-12"};let mh={class:"row"},ph={class:"col-12 q-mb-md"},gh={class:"row"},hh={class:"col q-mb-md"},bh={class:"row"},fh={class:"col q-mb-md"},vh={class:"row"},kh={class:"col",style:{height:"400px"}};var l=v(55373),yh=v.n(l),l=v(57572),l={name:"Modal-notice-registration-form",props:{editorMode:Number,noticeData:Object},emits:["close-modal","update-list"],components:{quillEditor:l.zs},data(){return{localNotice:{...this.noticeData},quillData:{contents:"",_contents:"",editorOption:{placeholder:"공지사항을 작성해주세요",modules:{toolbar:[["bold","italic","underline","strike"],["blockquote","code-block"],[{header:1},{header:2}],[{list:"ordered"},{list:"bullet"}],[{script:"sub"},{script:"super"}],[{indent:"-1"},{indent:"+1"}],[{size:["small",!1,"large","huge"]}],[{header:[1,2,3,4,5,6,!1]}],["clean"],["link","image"]]}},disabled:!1}}},watch:{noticeData:{handler(e){this.localNotice={...e}},deep:!0,immediate:!0}},methods:{async addNotice(){var e={title:this.localNotice.title,type:this.localNotice.type,writer:this.localNotice.writer,contents:this.localNotice.contents,isFixed:this.localNotice.isFixed,isShown:this.localNotice.isShown};if(0{this.$q.notify({type:"positive",message:"공지사항 등록에 성공했습니다",position:"top",timeout:3e3}),this.$log.debug(e.data)}).catch(e=>{this.$log.debug(e),this.$q.notify({type:"negatice",message:"공지사항 등록에 실패했습니다",position:"top",timeout:3e3})}),this.initInput(),this.$emit("close-modal")},async editNotice(){let e={id:this.localNotice.id,title:this.localNotice.title,writer:this.localNotice.writer,contents:this.localNotice.contents,isFixed:this.localNotice.isFixed?1:0,isShown:this.localNotice.isShown?1:0};this.$log.debug("payload = ",e);var t={method:"POST",url:"/api/board/editNotice",data:yh().stringify(e),name:"[ Axios / 공지사항 수정 ]"};await this.$http(t).then(()=>{this.$emit("update-list",e),this.$log.debug("수정 성공 / 수정된 내용 => ",e)}).catch(e=>{this.$log.debug(e),alert("수정 실패!")}),this.initInput(),this.$emit("close-modal")},initInput(){this.localNotice.title="",this.localNotice.type="",this.localNotice.contents="",this.localNotice.isFixed=1,this.localNotice.isShown=0},initByParent(){this.$log.debug("[ Admin / Registration Notice Form / initByParent ] 부모로부터 초기화 함수 실행됨"),this.initInput()},closeModal(){this.initInput(),this.$emit("close-modal")},init(){var e=JSON.parse(sessionStorage.getItem("vuexStore"));this.$log.debug("checkSession sess = ",e),null!=e&&(this.writer=e.user.localSession.id),this.$getCodeList("BRDTYP")}},mounted(){this.$log.debug("Notice registration modal mounted"),this.init()}},l=(0,e.A)(l,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-toolbar-title"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("q-toolbar"),d=(0,V.g2)("q-header"),c=(0,V.g2)("q-checkbox"),u=(0,V.g2)("q-select"),m=(0,V.g2)("q-input"),p=(0,V.g2)("quillEditor"),g=(0,V.g2)("q-page"),h=(0,V.g2)("q-page-container"),b=(0,V.g2)("q-footer");var f=(0,V.g2)("q-layout");let v=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.Wv)(f,{container:"",class:"bg-white",view:"lHh lpr lFf"},{default:(0,V.k6)(()=>[(0,V.bF)(d,{class:"bg-primary",elevated:""},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[5]||(t[5]=[(0,V.eW)("공지사항등록/수정")])),_:1,__:[5]}),(0,V.bo)((0,V.bF)(r,{flat:"",round:"",dense:"",icon:"close",onClick:o.closeModal},null,8,["onClick"]),[[v]])]),_:1})]),_:1}),(0,V.bF)(h,null,{default:(0,V.k6)(()=>[(0,V.bF)(g,{padding:""},{default:(0,V.k6)(()=>[(0,V.Lk)("div",mh,[(0,V.Lk)("div",ph,[(0,V.bF)(c,{modelValue:i.localNotice.isShown,"onUpdate:modelValue":t[0]||(t[0]=e=>i.localNotice.isShown=e),label:"노출여부","true-value":0,"false-value":1},null,8,["modelValue"]),(0,V.bF)(c,{modelValue:i.localNotice.isFixed,"onUpdate:modelValue":t[1]||(t[1]=e=>i.localNotice.isFixed=e),label:"고정글","true-value":0,"false-value":1},null,8,["modelValue"])])]),(0,V.Lk)("div",gh,[(0,V.Lk)("div",hh,[(0,V.bF)(u,{modelValue:i.localNotice.type,"onUpdate:modelValue":t[2]||(t[2]=e=>i.localNotice.type=e),label:"공지사항 유형","stack-label":"",options:this.$store.getters.getBrdTypeList,"emit-value":"","map-options":"",disalbe:0==a.editorMode},null,8,["modelValue","options","disalbe"])])]),(0,V.Lk)("div",bh,[(0,V.Lk)("div",fh,[(0,V.bF)(m,{modelValue:i.localNotice.title,"onUpdate:modelValue":t[3]||(t[3]=e=>i.localNotice.title=e),label:"제목","stack-label":"",disalbe:0==a.editorMode},null,8,["modelValue","disalbe"])])]),(0,V.Lk)("div",vh,[(0,V.Lk)("div",kh,[(0,V.bF)(p,{value:i.localNotice.contents,"onUpdate:value":t[4]||(t[4]=e=>i.localNotice.contents=e),options:i.quillData.editorOption,contentType:"html"},null,8,["value","options"])])])]),_:1})]),_:1}),(0,V.bF)(b,{class:"bg-white text-black"},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[1===a.editorMode?((0,V.uX)(),(0,V.Wv)(r,{key:0,color:"secondary",class:"btn full-width",label:"수정",onClick:o.editNotice},null,8,["onClick"])):(0,V.Q3)("",!0),0===a.editorMode?((0,V.uX)(),(0,V.Wv)(r,{key:1,color:"primary",class:"btn full-width",label:"추가",onClick:o.addNotice},null,8,["onClick"])):(0,V.Q3)("",!0)]),_:1})]),_:1})]),_:1})}]]),Lh={name:"Admin-notice-manage",meta:{title:"어드민-공지사항관리"},components:{Title:b,NoticeList:p,ModalNoticeRegi:l},data(){return{noticeModal:!1,editorMode:0,noticeListAdmin:[],currPageAdmin:0,noticeListCustomer:[],currPageCustomer:0,authLevel:1,noticeData:{id:"",brdTyp:1,title:"",writer:"",isFixed:1,isShown:0},description:{title:"공지사항 관리"}}},methods:{updateList(t){this.$log.debug("Update notice edited title = > ",t);for(let e=0;e "+t.id),this.noticeList[e].id===t.id&&(this.$log.debug("변경되어야 할 id를 찾은 경우 = > "+this.noticeList[e].id),this.noticeList[e].title=t.title)},async loadNoticeList(e,t){await this.$http({method:"POST",url:"/api/board/getNoticeList",data:{paging:e,brdTyp:t},name:"[ Axios / 공지사항목록조회 ]"}).then(e=>{this.$log.debug(e.data);e=e?.data?.items;0===e.length||void 0===e.length?this.$q.notify({type:"positive",message:"더 불러올 공지글이 없습니다.",position:"top",timeout:3e3}):e.map(e=>{"2"===t?this.noticeListAdmin.push(e):"1"===t&&this.noticeListCustomer.push(e)})}).catch(e=>{this.$log.debug(e),this.$q.notify({type:"negative",message:"공지글 불러오기에 실패했습니다.",position:"top",timeout:3e3})})},callModalAddNotice(){this.noticeModal=!0,this.editorMode=0},callModalEditNotice(e){this.noticeModal=!0,this.editorMode=1,this.noticeData=e,this.$log.debug("Edit notice executed => noticeModal : "+this.noticeModal+", editorMode : "+this.editorMode),this.$log.debug("noticeData => ",e)},closeModal(){this.$log.debug("Notice board Close modal"),this.noticeModal=!1},async init(){this.authLevel=this.$getAuthLevel(),this.noticeListAdmin=[],await this.loadNoticeList(0,"2"),90<=Number(this.authLevel)&&(this.noticeListCustomer=[],await this.loadNoticeList(0,"1"))}},mounted(){this.$log.info("[ Page / 공지사항관리 ]"),this.init()}},Lh=(v(80790),(0,e.A)(Lh,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-btn"),r=(0,V.g2)("Title"),n=(0,V.g2)("NoticeList");var d=(0,V.g2)("q-page");let c=(0,V.g2)("ModalNoticeRegi");var u=(0,V.g2)("q-dialog");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.bF)(d,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",lh,[(0,V.Lk)("div",ih,[(0,V.bF)(r,{desc:i.description},{default:(0,V.k6)(()=>[(0,V.bF)(s,{label:"공지사항 등록하기",color:"primary",onClick:o.callModalAddNotice},null,8,["onClick"])]),_:1},8,["desc"])])]),(0,V.Lk)("div",oh,[(0,V.Lk)("div",sh,[(0,V.Lk)("div",rh,[t[5]||(t[5]=(0,V.Lk)("div",{class:"col-12"},[(0,V.Lk)("h3",{class:"title"},"공지사항 - 관리자")],-1)),(0,V.Lk)("div",nh,[(0,V.bF)(n,{"notice-list":i.noticeListAdmin,onReloadParcelList:t[0]||(t[0]=e=>o.loadNoticeList(0,"2")),onLoadMoreList:t[1]||(t[1]=e=>o.loadNoticeList(i.currPageAdmin+1,"2")),onEditModal:o.callModalEditNotice},null,8,["notice-list","onEditModal"])])])]),(0,V.Lk)("div",dh,[(0,V.Lk)("div",ch,[t[6]||(t[6]=(0,V.Lk)("div",{class:"col-12"},[(0,V.Lk)("h3",{class:"title"},"공지사항 - 고객")],-1)),(0,V.Lk)("div",uh,[(0,V.bF)(n,{"notice-list":i.noticeListCustomer,onReloadParcelList:t[2]||(t[2]=e=>o.loadNoticeList(0,"1")),onLoadMoreList:t[3]||(t[3]=e=>o.loadNoticeList(i.currPageAdmin+1,"1")),onEditModal:o.callModalEditNotice},null,8,["notice-list","onEditModal"])])])])])]),_:1}),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(u,{modelValue:i.noticeModal,"onUpdate:modelValue":t[4]||(t[4]=e=>i.noticeModal=e)},{default:(0,V.k6)(()=>[(0,V.bF)(c,{ref:"noticeRegi","editor-mode":i.editorMode,"notice-data":i.noticeData,onUpdateList:o.updateList,onCloseModal:o.closeModal},null,8,["editor-mode","notice-data","onUpdateList","onCloseModal"])]),_:1},8,["modelValue"])]))],64)}],["__scopeId","data-v-07b3feda"]]));let _h={class:"row"},wh={class:"col"},xh={class:"row q-mt-md q-mb-md"},Ch={class:"col"},Sh={class:"comp-box"};l=(0,e.A)({name:"Admin-customer-inquery-manage",meta:{title:"어드민-고객문의관리"},components:{Title:b,NoticeList:p,ModalNoticeRegi:l},data(){return{noticeList:[],noticeModal:!1,editorMode:0,authLevel:1,selectedNotice:{},description:{title:"고객문의 관리"}}},methods:{closeModal(){this.$log.debug("Notice board Close modal"),this.noticeModal=!1,this.loadList(0)},async loadList(e){await this.$http({method:"POST",url:"/api/board/getNoticeList",data:{paging:e},name:"[ Axios / 공지사항목록조회 ]"}).then(e=>{this.$log.debug(e.data),0===e.data.length||void 0===e.data.length?alert("더이상 공지사항이 없습니다."):e.data.map(e=>{this.noticeList.push(e)})}).catch(e=>{this.$log.debug(e),alert("공지글 불러오기 실패!")})},async loadMoreList(e){this.$log.debug("공지글 더 불러오기 시작 page = ",e);e={paging:e},this.$log.debug("payload = ",e),e={method:"POST",url:"/api/board/getNoticeList",data:e,name:"[ Axios / 공지사항목록추가조회 ]"};await this.$http(e).then(e=>{this.$log.debug(e.data),0===e.data.length||void 0===e.data.length?alert("더이상 공지사항이 없습니다."):e.data.map(e=>{this.noticeList.push(e)})}).catch(e=>{this.$log.debug(e),alert("불러오기 실패!")})},addNotice(){this.noticeModal=!0,this.editorMode=0},editNotice(e){this.noticeModal=!0,this.editorMode=1,this.selectedNotice=e,this.$log.debug("Edit notice executed")}},mounted(){this.$log.info("[ Page / 고객문의 관리 ]"),this.loadList(0)}},[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("Title"),r=(0,V.g2)("NoticeList");var n=(0,V.g2)("q-page"),d=(0,V.g2)("ModalNoticeRegi");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.bF)(n,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",_h,[(0,V.Lk)("div",wh,[(0,V.bF)(s,{desc:i.description},null,8,["desc"])])]),(0,V.Lk)("div",xh,[(0,V.Lk)("div",Ch,[(0,V.Lk)("div",Sh,[(0,V.bF)(r,{"notice-list":i.noticeList,"auth-level":i.authLevel,onReloadParcelList:o.loadList,onLoadMoreList:o.loadList,onEditModal:o.editNotice},null,8,["notice-list","auth-level","onReloadParcelList","onLoadMoreList","onEditModal"])])])])]),_:1}),(0,V.bF)(d,{showModal:i.noticeModal,"editor-mode":i.editorMode,"selected-notice":i.selectedNotice,onCloseModal:o.closeModal},null,8,["showModal","editor-mode","selected-notice","onCloseModal"])],64)}]]);let Fh={class:"row"},qh={class:"col"},Ih={class:"row q-mt-lg"},Ph={class:"col"};let Ah={class:"scheduler-page"},Th={class:"comp-box schedule-control-box q-mb-md"},Nh={class:"month-navigator"},Eh={class:"month-label-wrap"},Dh={class:"month-label"},Oh={class:"schedule-search-bar"},Vh={class:"row q-col-gutter-sm items-start"},Rh={class:"col-12 col-md"},Mh={class:"col-12 col-md-auto"},$h={class:"search-detail-row q-mt-md"},Uh={class:"row q-col-gutter-md items-start"},Wh={class:"col-12 col-md-3"},Bh={key:0,class:"col-12 col-md-3"},zh={class:"col-12 col-md-3"},Xh={key:1,class:"col-12 col-md-3"},Kh={key:0,class:"applied-filter-row q-mt-md"},Qh={class:"row q-col-gutter-md q-mb-md"},Gh={class:"col-12 col-md-3"},Hh={class:"comp-box summary-box"},jh={class:"summary-value"},Yh={class:"col-12 col-md-3"},Zh={class:"comp-box summary-box"},Jh={class:"summary-value"},eb={class:"col-12 col-md-3"},tb={class:"comp-box summary-box"},ab={class:"summary-value"},lb={key:0,class:"col-12 col-md-3"},ib={class:"comp-box summary-box"},ob={class:"summary-value"},sb={class:"row q-col-gutter-md items-stretch"},rb={class:"col-12 col-lg-8"},nb={class:"calendar-card"},db={class:"day-cell"},cb={class:"ellipsis"},ub={class:"col-12 col-lg-4"},mb={class:"agenda-card"},pb={class:"agenda-head"},gb={class:"agenda-date"},hb={key:0,class:"empty-state"};let bb={key:0,class:"view-notice"},fb={class:"row q-col-gutter-md q-mb-md"},vb={class:"col-12 col-md-6"},kb={key:0,class:"col-12 col-md-6"},yb={class:"row q-col-gutter-md"},Lb={class:"col-12 col-md-6"},_b={class:"col-12 col-md-6"},wb={key:4,class:"view-meta q-mt-md"},xb={key:0},Cb={key:1},Sb={key:2},Fb={key:3};let qb=[{label:"출고 예정",value:"outbound"},{label:"입고 예정",value:"inbound"},{label:"프로모션",value:"promotion"},{label:"재고 준비",value:"stock"},{label:"응대 불가",value:"offline"},{label:"기타",value:"etc"}],Ib=[{label:"회의",value:"meeting"},{label:"현장 작업",value:"fieldwork"},{label:"마감",value:"closing"},{label:"방문 일정",value:"visit"},{label:"휴가/부재",value:"leave"},{label:"교육",value:"training"},{label:"기타",value:"etc"}],Pb={name:"ModalScheduleRegistrationForm",props:{selected:{type:Object,default:()=>({})},mode:{type:String,default:"add"}},emits:["close-modal","reload-schedule"],data(){return{title:"",description:"",scheduleScope:"partner",scheduleCategory:"",startDate:"",endDate:"",visibility:"shared",status:"planned",partnerId:"",isSubmitting:!1}},computed:{session(){return this.$store.getters.getLocalSession||{}},authLevel(){return Number(this.session.authLevel||0)},isAdmin(){return 90<=this.authLevel},isPartner(){return 80===this.authLevel},isViewMode(){return"view"===this.mode},canEdit(){return"add"===this.mode||"modify"===this.mode},dialogTitle(){return"add"===this.mode?"일정 등록":"modify"===this.mode?"일정 수정":"일정 상세"},scopeOptions(){return this.isPartner?[{label:"파트너 일정",value:"partner"}]:[{label:"파트너 일정",value:"partner"},{label:"AONE 내부 일정",value:"aone"}]},categoryOptions(){return"aone"===this.scheduleScope?Ib:qb},visibilityOptions(){return[{label:"개인 일정",value:"private"},{label:"내부 공유",value:"shared"}]},statusOptions(){return[{label:"예정",value:"planned"},{label:"진행 중",value:"in_progress"},{label:"완료",value:"done"},{label:"보류",value:"on_hold"}]},partnerOptions(){return this.$store.getters.getPartnerList||[]},canSelectPartner(){return this.isAdmin&&"partner"===this.scheduleScope},isAoneSchedule(){return"aone"===this.scheduleScope},scopeLabel(){return this.scopeOptions.find(e=>e.value===this.scheduleScope)?.label||"-"},categoryLabel(){return this.categoryOptions.find(e=>e.value===this.scheduleCategory)?.label||"-"},statusLabel(){return this.statusOptions.find(e=>e.value===this.status)?.label||"-"},visibilityLabel(){return this.visibilityOptions.find(e=>e.value===this.visibility)?.label||"-"},partnerLabel(){return this.partnerOptions.find(e=>Number(e.value)===Number(this.partnerId))?.label||"-"}},watch:{selected:{handler(){this.hydrateSelected()},deep:!0,immediate:!0},scheduleScope(){"aone"===this.scheduleScope?(this.partnerId="",this.visibility=this.visibility||"shared"):this.isPartner&&(this.partnerId=this.session.partnerId||""),this.categoryOptions.find(e=>e.value===this.scheduleCategory)||(this.scheduleCategory="")}},methods:{normalizeDate(e){return String(e||"").replaceAll("-","/")},denormalizeDate(e){return String(e||"").replaceAll("/","-")},hydrateSelected(){var e=this.selected||{};this.title=e.title||"",this.description=e.details||"",this.scheduleScope=e.scheduleScope||(this.isPartner,"partner"),this.scheduleCategory=e.scheduleCategory||"",this.startDate=this.normalizeDate(e.startDate||e.date||""),this.endDate=this.normalizeDate(e.endDate||e.date||""),this.visibility=e.visibility||"shared",this.status=e.status||"planned",this.partnerId=e.partnerId||this.session.partnerId||""},calculateDays(e,t){var e=new Date(e),t=new Date(t);return!Number.isNaN(e.getTime())&&!Number.isNaN(t.getTime())&&0<=(t=Math.floor((t.getTime()-e.getTime())/864e5))?t+1:0},validateForm(){return this.scheduleScope?this.scheduleCategory?this.title.trim()?this.startDate?this.endDate?"partner"!==this.scheduleScope||this.partnerId?this.calculateDays(this.startDate,this.endDate)<=0?"종료일은 시작일보다 빠를 수 없습니다.":null:"파트너를 선택해 주세요.":"종료일을 선택해 주세요.":"시작일을 선택해 주세요.":"제목을 입력해 주세요.":"일정 유형을 선택해 주세요.":"일정 구분을 선택해 주세요."},buildPayload(){return{id:this.selected?.id,scheduleScope:this.scheduleScope,scheduleCategory:this.scheduleCategory,title:this.title.trim(),description:this.description.trim(),startDate:this.denormalizeDate(this.startDate),endDate:this.denormalizeDate(this.endDate),visibility:"aone"===this.scheduleScope?this.visibility:"shared",status:this.status,partnerId:"partner"===this.scheduleScope?this.partnerId:null}},async controlUnit(){var e=this.validateForm();if(e)this.$q.notify({type:"negative",message:e,position:"top",timeout:3e3});else{let t="add"===this.mode?"등록":"수정";e={method:"POST",url:"add"===this.mode?"/api/schedule/reg":"/api/schedule/modify",data:this.buildPayload(),name:`[ Axios / 스케쥴 ${t} ]`};this.isSubmitting=!0,await this.$http(e).then(()=>{this.$emit("reload-schedule"),this.$emit("close-modal"),this.$q.notify({type:"positive",message:`일정을 ${t}했습니다.`,position:"top",timeout:2500})}).catch(e=>{this.$log.debug(e),this.$q.notify({type:"negative",message:e.response?.data?.message||`일정 ${t}에 실패했습니다.`,position:"top",timeout:3e3})}).finally(()=>{this.isSubmitting=!1})}},async deleteUnit(){this.$q.dialog({title:"일정을 삭제하시겠습니까?",message:"삭제 후 복구할 수 없습니다.",cancel:!0,persistent:!0}).onOk(async()=>{var e={method:"POST",url:"/api/schedule/delete",data:{id:this.selected.id},name:"[ Axios / 스케쥴 삭제 ]"};this.isSubmitting=!0,await this.$http(e).then(()=>{this.$emit("reload-schedule"),this.$emit("close-modal"),this.$q.notify({type:"positive",message:"일정을 삭제했습니다.",position:"top",timeout:2500})}).catch(e=>{this.$log.debug(e),this.$q.notify({type:"negative",message:e.response?.data?.message||"일정 삭제에 실패했습니다.",position:"top",timeout:3e3})}).finally(()=>{this.isSubmitting=!1})})},closeModal(){this.$emit("close-modal")}},async mounted(){this.isAdmin&&await this.$getPartnerList()}};v(21524);var Ab=(0,e.A)(Pb,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-toolbar-title"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("q-toolbar"),d=(0,V.g2)("q-select"),c=(0,V.g2)("q-input"),u=(0,V.g2)("q-date"),m=(0,V.g2)("q-popup-proxy"),p=(0,V.g2)("q-icon"),g=(0,V.g2)("q-card-section"),h=(0,V.g2)("q-card-actions");var b=(0,V.g2)("q-card");return(0,V.uX)(),(0,V.Wv)(b,{class:"schedule-dialog"},{default:(0,V.k6)(()=>[(0,V.bF)(n,{class:"bg-primary text-white"},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(o.dialogTitle),1)]),_:1}),(0,V.bF)(r,{flat:"",round:"",dense:"",icon:"close",onClick:o.closeModal},null,8,["onClick"])]),_:1}),(0,V.bF)(g,{class:"dialog-section"},{default:(0,V.k6)(()=>[o.isViewMode&&"console"===a.selected.scheduleScope?((0,V.uX)(),(0,V.CE)("div",bb," 콘솔에서 자동 반영된 일정입니다. 이 화면에서는 조회만 가능합니다. ")):(0,V.Q3)("",!0),o.canEdit?((0,V.uX)(),(0,V.Wv)(d,{key:1,modelValue:i.scheduleScope,"onUpdate:modelValue":t[0]||(t[0]=e=>i.scheduleScope=e),outlined:"","emit-value":"","map-options":"",options:o.scopeOptions,label:"일정 구분",class:"q-mb-md"},null,8,["modelValue","options"])):(0,V.Q3)("",!0),o.canEdit?((0,V.uX)(),(0,V.Wv)(d,{key:2,modelValue:i.scheduleCategory,"onUpdate:modelValue":t[1]||(t[1]=e=>i.scheduleCategory=e),outlined:"","emit-value":"","map-options":"",options:o.categoryOptions,label:"일정 유형",class:"q-mb-md"},null,8,["modelValue","options"])):(0,V.Q3)("",!0),o.canEdit&&o.canSelectPartner?((0,V.uX)(),(0,V.Wv)(d,{key:3,modelValue:i.partnerId,"onUpdate:modelValue":t[2]||(t[2]=e=>i.partnerId=e),outlined:"","emit-value":"","map-options":"",options:o.partnerOptions,label:"파트너",class:"q-mb-md"},null,8,["modelValue","options"])):(0,V.Q3)("",!0),(0,V.bF)(c,{modelValue:i.title,"onUpdate:modelValue":t[3]||(t[3]=e=>i.title=e),outlined:"",label:"제목",disable:!o.canEdit,placeholder:"달력에 노출되는 일정 제목",class:"q-mb-md"},null,8,["modelValue","disable"]),(0,V.bF)(c,{modelValue:i.description,"onUpdate:modelValue":t[4]||(t[4]=e=>i.description=e),outlined:"",type:"textarea",rows:3,label:"설명",disable:!o.canEdit,placeholder:"일정 설명",class:"q-mb-md"},null,8,["modelValue","disable"]),(0,V.Lk)("div",fb,[(0,V.Lk)("div",vb,[(0,V.bF)(d,{modelValue:i.status,"onUpdate:modelValue":t[5]||(t[5]=e=>i.status=e),outlined:"","emit-value":"","map-options":"",options:o.statusOptions,disable:!o.canEdit,label:"일정 상태"},null,8,["modelValue","options","disable"])]),o.canEdit&&o.isAoneSchedule?((0,V.uX)(),(0,V.CE)("div",kb,[(0,V.bF)(d,{modelValue:i.visibility,"onUpdate:modelValue":t[6]||(t[6]=e=>i.visibility=e),outlined:"","emit-value":"","map-options":"",options:o.visibilityOptions,disable:!o.canEdit,label:"공개 범위"},null,8,["modelValue","options","disable"])])):(0,V.Q3)("",!0)]),(0,V.Lk)("div",yb,[(0,V.Lk)("div",Lb,[(0,V.bF)(c,{modelValue:i.startDate,"onUpdate:modelValue":t[8]||(t[8]=e=>i.startDate=e),outlined:"",label:"시작일",readonly:"",disable:!o.canEdit},{append:(0,V.k6)(()=>[(0,V.bF)(p,{name:"event",class:"cursor-pointer"},{default:(0,V.k6)(()=>[(0,V.bF)(m,{cover:"","transition-show":"scale","transition-hide":"scale"},{default:(0,V.k6)(()=>[(0,V.bF)(u,{modelValue:i.startDate,"onUpdate:modelValue":t[7]||(t[7]=e=>i.startDate=e),mask:"YYYY/MM/DD"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue","disable"])]),(0,V.Lk)("div",_b,[(0,V.bF)(c,{modelValue:i.endDate,"onUpdate:modelValue":t[10]||(t[10]=e=>i.endDate=e),outlined:"",label:"종료일",readonly:"",disable:!o.canEdit},{append:(0,V.k6)(()=>[(0,V.bF)(p,{name:"event",class:"cursor-pointer"},{default:(0,V.k6)(()=>[(0,V.bF)(m,{cover:"","transition-show":"scale","transition-hide":"scale"},{default:(0,V.k6)(()=>[(0,V.bF)(u,{modelValue:i.endDate,"onUpdate:modelValue":t[9]||(t[9]=e=>i.endDate=e),mask:"YYYY/MM/DD"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue","disable"])])]),o.isViewMode?((0,V.uX)(),(0,V.CE)("div",wb,[(0,V.Lk)("div",null,"일정 구분: "+(0,R.v_)("console"===a.selected.scheduleScope?"자동 운송 일정":o.scopeLabel),1),(0,V.Lk)("div",null,"일정 유형: "+(0,R.v_)("console"===a.selected.scheduleScope?a.selected.transportTypeLabel||"-":o.categoryLabel),1),"partner"===a.selected.scheduleScope?((0,V.uX)(),(0,V.CE)("div",xb,"파트너: "+(0,R.v_)(a.selected.partnerName||o.partnerLabel||"-"),1)):(0,V.Q3)("",!0),"aone"===a.selected.scheduleScope?((0,V.uX)(),(0,V.CE)("div",Cb,"공개 범위: "+(0,R.v_)(o.visibilityLabel),1)):(0,V.Q3)("",!0),"console"!==a.selected.scheduleScope?((0,V.uX)(),(0,V.CE)("div",Sb,"상태: "+(0,R.v_)(o.statusLabel),1)):(0,V.Q3)("",!0),"console"!==a.selected.scheduleScope?((0,V.uX)(),(0,V.CE)("div",Fb,"작성자: "+(0,R.v_)(a.selected.ownerName||"-"),1)):(0,V.Q3)("",!0)])):(0,V.Q3)("",!0)]),_:1}),(0,V.bF)(h,{align:"between",class:"dialog-actions"},{default:(0,V.k6)(()=>["modify"===a.mode?((0,V.uX)(),(0,V.Wv)(r,{key:0,flat:"",color:"negative",label:"삭제",disable:i.isSubmitting,onClick:o.deleteUnit},null,8,["disable","onClick"])):(0,V.Q3)("",!0),t[11]||(t[11]=(0,V.Lk)("div",{class:"action-spacer"},null,-1)),(0,V.bF)(r,{flat:"",label:"닫기",disable:i.isSubmitting,onClick:o.closeModal},null,8,["disable","onClick"]),o.canEdit?((0,V.uX)(),(0,V.Wv)(r,{key:1,color:"primary",label:"add"===a.mode?"등록":"수정",loading:i.isSubmitting,disable:i.isSubmitting,onClick:o.controlUnit},null,8,["label","loading","disable","onClick"])):(0,V.Q3)("",!0)]),_:1,__:[11]})]),_:1})}],["__scopeId","data-v-20d19428"]]);let Tb=(0,h._U)(new Date).date,Nb={outbound:"출고 예정",inbound:"입고 예정",promotion:"프로모션",stock:"재고 준비",offline:"응대 불가",etc:"기타"},Eb={meeting:"회의",fieldwork:"현장 작업",closing:"마감",visit:"방문 일정",leave:"휴가/부재",training:"교육",etc:"기타"},Db={name:"AdminScheduler",components:{Modal:Ab,QCalendarMonth:h.u8},data(){return{modalVisibility:!1,modalMode:"add",calDate:new Date,selectedDate:Tb,selectedSchedule:{},events:[],scheduleScopeFilter:"all",partnerIdFilter:null,statusFilter:"all",visibilityFilter:"all",searchText:""}},computed:{session(){return this.$store.getters.getLocalSession||{}},authLevel(){return Number(this.session.authLevel||0)},isAdmin(){return 90<=this.authLevel},isPartner(){return 80===this.authLevel},scheduleScopeOptions(){var e=[{label:"전체 일정",value:"all"},{label:"자동 운송 일정",value:"console"},{label:"파트너 일정",value:"partner"}];return this.isAdmin&&e.push({label:"AONE 내부 일정",value:"aone"}),e},statusOptions(){return[{label:"전체 상태",value:"all"},{label:"예정",value:"planned"},{label:"진행 중",value:"in_progress"},{label:"완료",value:"done"},{label:"보류",value:"on_hold"}]},visibilityOptions(){return[{label:"전체 공개 범위",value:"all"},{label:"개인 일정",value:"private"},{label:"내부 공유",value:"shared"}]},partnerFilterOptions(){return[{label:"전체 파트너",value:null}].concat(this.$store.getters.getPartnerList||[])},currentMonthLabel(){return new Intl.DateTimeFormat("ko-KR",{year:"numeric",month:"long"}).format(this.calDate)},filteredEvents(){let t=String(this.searchText||"").trim().toLowerCase();return this.events.filter(e=>!("all"!==this.scheduleScopeFilter&&e.scheduleScope!==this.scheduleScopeFilter||"all"!==this.statusFilter&&"console"!==e.scheduleScope&&e.status!==this.statusFilter||"all"!==this.visibilityFilter&&"aone"===e.scheduleScope&&e.visibility!==this.visibilityFilter||this.partnerIdFilter&&"partner"===e.scheduleScope&&Number(e.partnerId||0)!==Number(this.partnerIdFilter))&&(!t||[e.title,e.details,e.partnerName,e.categoryLabel,e.transportTypeLabel,e.mblNo,e.freightCode,e.departCity,e.arrivalCity].filter(Boolean).join(" ").toLowerCase().includes(t)))},selectedDateEvents(){return this.filteredEvents.filter(e=>this.isDateWithinEvent(this.selectedDate,e)).sort((e,t)=>{var a={console:0,partner:1,aone:2};return a[e.scheduleScope]!==a[t.scheduleScope]?a[e.scheduleScope]-a[t.scheduleScope]:String(e.title||"").localeCompare(String(t.title||""),"ko")})},scheduleSummary(){return{total:this.filteredEvents.length,console:this.filteredEvents.filter(e=>"console"===e.scheduleScope).length,partner:this.filteredEvents.filter(e=>"partner"===e.scheduleScope).length,aone:this.filteredEvents.filter(e=>"aone"===e.scheduleScope).length}},appliedFilters(){var e=[],t=this.scheduleScopeOptions.find(e=>e.value===this.scheduleScopeFilter),a=this.statusOptions.find(e=>e.value===this.statusFilter),l=this.visibilityOptions.find(e=>e.value===this.visibilityFilter),i=this.partnerFilterOptions.find(e=>Number(e.value)===Number(this.partnerIdFilter));return this.searchText&&e.push({key:"searchText",label:"검색어: "+this.searchText}),"all"!==this.scheduleScopeFilter&&t&&e.push({key:"scheduleScopeFilter",label:"일정 구분: "+t.label}),"all"!==this.statusFilter&&a&&e.push({key:"statusFilter",label:"일정 상태: "+a.label}),"all"!==this.visibilityFilter&&l&&e.push({key:"visibilityFilter",label:"공개 범위: "+l.label}),this.partnerIdFilter&&i&&e.push({key:"partnerIdFilter",label:"파트너: "+i.label}),e}},watch:{selectedDate(e){e&&(e=new Date(e),Number.isNaN(e.getTime())||e.getFullYear()===this.calDate.getFullYear()&&e.getMonth()===this.calDate.getMonth()||(this.calDate=e))}},methods:{formatDate(e){return e?(0,h._U)(new Date(e)).date:""},getMonthAnchorDate(e){e=new Date(e);return e.setDate(1),(0,h._U)(e).date},addMonths(e,t){e=new Date(e);return e.setDate(1),e.setMonth(e.getMonth()+t),e},getScopeLabel(e){return"console"===e?"자동 운송 일정":"partner"===e?"파트너 일정":"aone"===e?"AONE 내부 일정":"-"},getStatusLabel(e){return"planned"===e?"예정":"in_progress"===e?"진행 중":"done"===e?"완료":"on_hold"===e?"보류":"-"},getVisibilityLabel(e){return"private"===e?"개인 일정":"shared"===e?"내부 공유":"-"},getCategoryLabel(e,t){return"partner"===e?Nb[t]||"기타":"aone"===e?Eb[t]||"기타":"-"},getTransportTypeLabel(t){return(this.$store.getters.getFreightMethodList||[]).find(e=>String(e.value)===String(t))?.label||"-"},getCurrentDay(e){var t=new Date(this.calDate);return t.setDate(e),(0,h._U)(t).date},isDateWithinEvent(e,t){return e>=t.date&&e<=t.endDate},getEvents(t){return this.filteredEvents.filter(e=>this.isDateWithinEvent(t,e))},getEventColor(e){return"console"===e.scheduleScope?"1"===String(e.transportType||"")?"teal-6":"blue-6":"partner"===e.scheduleScope?"orange-7":"private"===e.visibility?"grey-7":"deep-purple-6"},getEventIcon(e){return"console"===e.scheduleScope?"1"===String(e.transportType||"")?"directions_boat":"flight":"partner"===e.scheduleScope?"storefront":"private"===e.visibility?"person":"groups"},badgeClasses(e){return{"text-white":!0,["bg-"+this.getEventColor(e)]:!0,"schedule-badge":!0}},badgeLabel(e){return"console"===e.scheduleScope?(e.title+` ${e.departCity||""} → `+(e.arrivalCity||"")).trim():"partner"===e.scheduleScope?`${e.partnerName||"파트너"} · `+e.title:e.title},mapEvents(e={}){var t=(e.consoleSchedules||[]).map(e=>({id:e.id,scheduleScope:"console",title:e.title,details:e.details,date:e.startDate,endDate:e.endDate,days:e.days,transportType:e.transportType,transportTypeLabel:this.getTransportTypeLabel(e.transportType),mblNo:e.mblNo,freightCode:e.freightCode,departCity:e.departCity,arrivalCity:e.arrivalCity,status:e.status,canManage:!1})),a=(e.partnerSchedules||[]).map(e=>({...e,date:e.startDate,endDate:e.endDate,categoryLabel:this.getCategoryLabel("partner",e.scheduleCategory)})),e=(e.aoneSchedules||[]).map(e=>({...e,date:e.startDate,endDate:e.endDate,categoryLabel:this.getCategoryLabel("aone",e.scheduleCategory)}));this.events=[...t,...a,...e]},async loadSchedule(){var e={year:this.calDate.getFullYear(),month:this.calDate.getMonth()+1,scheduleScope:this.scheduleScopeFilter,status:this.statusFilter,visibility:this.visibilityFilter,partnerId:this.partnerIdFilter};await this.$http({method:"POST",url:"/api/schedule/loadSchedule",data:e,name:"[ Axios / 스케쥴 조회 ]"}).then(e=>{this.mapEvents(e.data||{})}).catch(e=>{this.$log.debug(e)})},addSchedule(){this.modalMode="add",this.selectedSchedule={scheduleScope:(this.isPartner,"partner"),startDate:this.selectedDate,endDate:this.selectedDate,partnerId:this.isPartner?this.session.partnerId:null,status:"planned",visibility:"shared"},this.modalVisibility=!0},async reloadSchedule(){await this.loadSchedule()},async calendarNext(){var e=this.addMonths(this.calDate,1);this.calDate=e,this.selectedDate=this.getMonthAnchorDate(e),await this.loadSchedule()},async calendarPrev(){var e=this.addMonths(this.calDate,-1);this.calDate=e,this.selectedDate=this.getMonthAnchorDate(e),await this.loadSchedule()},async calendarToday(){var e=new Date;this.calDate=e,this.selectedDate=this.formatDate(e),await this.loadSchedule()},resetFilters(){this.scheduleScopeFilter="all",this.partnerIdFilter=null,this.statusFilter="all",this.visibilityFilter="all",this.searchText=""},removeFilter(e){"searchText"===e&&(this.searchText=""),"scheduleScopeFilter"===e&&(this.scheduleScopeFilter="all"),"partnerIdFilter"===e&&(this.partnerIdFilter=null),"statusFilter"===e&&(this.statusFilter="all"),"visibilityFilter"===e&&(this.visibilityFilter="all")},selectSchedule(e){this.selectedSchedule={...e},this.modalMode=e.canManage?"modify":"view",this.modalVisibility=!0}},async mounted(){this.$getFreightList(),this.isAdmin&&await this.$getPartnerList(),await this.loadSchedule()}};v(48438);Ab=(0,e.A)({name:"Admin-schedule-management",meta:{title:"어드민-스케쥴관리"},components:{Title:b,Scheduler:(0,e.A)(Db,[["render",function(e,t,a,l,i,o){var s=(0,V.g2)("q-btn"),r=(0,V.g2)("q-separator");let n=(0,V.g2)("q-icon");var d=(0,V.g2)("q-input"),c=(0,V.g2)("q-select");let u=(0,V.g2)("q-chip"),m=(0,V.g2)("q-tooltip"),p=(0,V.g2)("q-badge");var g=(0,V.g2)("QCalendarMonth");let h=(0,V.g2)("q-avatar"),b=(0,V.g2)("q-item-section"),f=(0,V.g2)("q-item-label"),v=(0,V.g2)("q-item");var k=(0,V.g2)("q-list");let y=(0,V.g2)("Modal");var L=(0,V.g2)("q-dialog");return(0,V.uX)(),(0,V.CE)("div",Ah,[(0,V.Lk)("div",Th,[(0,V.Lk)("div",Nh,[(0,V.bF)(s,{flat:"",color:"primary",icon:"chevron_left",label:"이전 달",onClick:o.calendarPrev},null,8,["onClick"]),(0,V.Lk)("div",Eh,[(0,V.Lk)("div",Dh,(0,R.v_)(o.currentMonthLabel),1),t[8]||(t[8]=(0,V.Lk)("div",{class:"month-caption"},"자동 운송 일정, 파트너 일정, AONE 내부 일정을 한 화면에서 확인합니다.",-1))]),(0,V.bF)(s,{flat:"",color:"primary",label:"다음 달","icon-right":"chevron_right",onClick:o.calendarNext},null,8,["onClick"])]),(0,V.bF)(r,{class:"q-my-lg"}),(0,V.Lk)("div",Oh,[(0,V.Lk)("div",Vh,[(0,V.Lk)("div",Rh,[(0,V.bF)(d,{modelValue:i.searchText,"onUpdate:modelValue":t[0]||(t[0]=e=>i.searchText=e),dense:"",outlined:"",clearable:"",label:"제목 / 설명 / MBL / 콘솔코드 / 파트너 검색"},{prepend:(0,V.k6)(()=>[(0,V.bF)(n,{name:"search"})]),_:1},8,["modelValue"])]),(0,V.Lk)("div",Mh,[(0,V.bF)(s,{color:"grey-7",icon:"restart_alt",label:"초기화",flat:"",onClick:o.resetFilters},null,8,["onClick"])])]),(0,V.Lk)("div",$h,[t[9]||(t[9]=(0,V.Lk)("div",{class:"text-caption text-weight-bold text-grey-7 search-detail-label"},"상세 조건",-1)),(0,V.Lk)("div",Uh,[(0,V.Lk)("div",Wh,[(0,V.bF)(c,{modelValue:i.scheduleScopeFilter,"onUpdate:modelValue":t[1]||(t[1]=e=>i.scheduleScopeFilter=e),options:o.scheduleScopeOptions,"emit-value":"","map-options":"",dense:"",outlined:"",label:"일정 구분"},null,8,["modelValue","options"])]),o.isAdmin?((0,V.uX)(),(0,V.CE)("div",Bh,[(0,V.bF)(c,{modelValue:i.partnerIdFilter,"onUpdate:modelValue":t[2]||(t[2]=e=>i.partnerIdFilter=e),options:o.partnerFilterOptions,"emit-value":"","map-options":"",dense:"",outlined:"",label:"파트너",clearable:""},null,8,["modelValue","options"])])):(0,V.Q3)("",!0),(0,V.Lk)("div",zh,[(0,V.bF)(c,{modelValue:i.statusFilter,"onUpdate:modelValue":t[3]||(t[3]=e=>i.statusFilter=e),options:o.statusOptions,"emit-value":"","map-options":"",dense:"",outlined:"",label:"일정 상태"},null,8,["modelValue","options"])]),o.isAdmin?((0,V.uX)(),(0,V.CE)("div",Xh,[(0,V.bF)(c,{modelValue:i.visibilityFilter,"onUpdate:modelValue":t[4]||(t[4]=e=>i.visibilityFilter=e),options:o.visibilityOptions,"emit-value":"","map-options":"",dense:"",outlined:"",label:"AONE 공개 범위"},null,8,["modelValue","options"])])):(0,V.Q3)("",!0)])]),o.appliedFilters.length?((0,V.uX)(),(0,V.CE)("div",Kh,[t[10]||(t[10]=(0,V.Lk)("span",{class:"text-caption text-grey-7"},"적용 조건",-1)),((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(o.appliedFilters,t=>((0,V.uX)(),(0,V.Wv)(u,{key:t.key,removable:"",color:"blue-1","text-color":"primary",onRemove:e=>o.removeFilter(t.key)},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.label),1)]),_:2},1032,["onRemove"]))),128))])):(0,V.Q3)("",!0)])]),(0,V.Lk)("div",Qh,[(0,V.Lk)("div",Gh,[(0,V.Lk)("div",Hh,[t[11]||(t[11]=(0,V.Lk)("div",{class:"summary-label"},"전체 일정",-1)),(0,V.Lk)("div",jh,(0,R.v_)(o.scheduleSummary.total),1)])]),(0,V.Lk)("div",Yh,[(0,V.Lk)("div",Zh,[t[12]||(t[12]=(0,V.Lk)("div",{class:"summary-label"},"자동 운송 일정",-1)),(0,V.Lk)("div",Jh,(0,R.v_)(o.scheduleSummary.console),1)])]),(0,V.Lk)("div",eb,[(0,V.Lk)("div",tb,[t[13]||(t[13]=(0,V.Lk)("div",{class:"summary-label"},"파트너 일정",-1)),(0,V.Lk)("div",ab,(0,R.v_)(o.scheduleSummary.partner),1)])]),o.isAdmin?((0,V.uX)(),(0,V.CE)("div",lb,[(0,V.Lk)("div",ib,[t[14]||(t[14]=(0,V.Lk)("div",{class:"summary-label"},"AONE 내부 일정",-1)),(0,V.Lk)("div",ob,(0,R.v_)(o.scheduleSummary.aone),1)])])):(0,V.Q3)("",!0)]),(0,V.Lk)("div",sb,[(0,V.Lk)("div",rb,[(0,V.Lk)("div",nb,[(0,V.bF)(g,{modelValue:i.selectedDate,"onUpdate:modelValue":t[5]||(t[5]=e=>i.selectedDate=e),view:"month",locale:"ko-KR","day-height":108},{day:(0,V.k6)(({scope:{timestamp:a}})=>[(0,V.Lk)("div",db,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(o.getEvents(a.date),(t,e)=>((0,V.uX)(),(0,V.Wv)(p,{key:t.id??a.date+"-"+e,class:(0,R.C4)(o.badgeClasses(t)),onClick:e=>o.selectSchedule(t)},{default:(0,V.k6)(()=>[o.getEventIcon(t)?((0,V.uX)(),(0,V.Wv)(n,{key:0,name:o.getEventIcon(t),size:"12px",class:"q-mr-xs"},null,8,["name"])):(0,V.Q3)("",!0),(0,V.Lk)("span",cb,(0,R.v_)(o.badgeLabel(t)),1),(0,V.bF)(m,null,{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.details),1)]),_:2},1024)]),_:2},1032,["class","onClick"]))),128))])]),_:1},8,["modelValue"])])]),(0,V.Lk)("div",ub,[(0,V.Lk)("div",mb,[(0,V.Lk)("div",pb,[t[15]||(t[15]=(0,V.Lk)("div",{class:"agenda-title"},"선택 날짜 일정",-1)),(0,V.Lk)("div",gb,(0,R.v_)(i.selectedDate),1)]),0===o.selectedDateEvents.length?((0,V.uX)(),(0,V.CE)("div",hb,[(0,V.bF)(n,{name:"event_busy",size:"32px",class:"q-mb-sm"}),t[16]||(t[16]=(0,V.Lk)("div",null,"선택한 날짜에 일정이 없습니다.",-1))])):((0,V.uX)(),(0,V.Wv)(k,{key:1,separator:""},{default:(0,V.k6)(()=>[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(o.selectedDateEvents,t=>((0,V.uX)(),(0,V.Wv)(v,{key:t.scheduleScope+"-"+t.id,clickable:"",class:"agenda-item",onClick:e=>o.selectSchedule(t)},{default:(0,V.k6)(()=>[(0,V.bF)(b,{avatar:""},{default:(0,V.k6)(()=>[(0,V.bF)(h,{color:o.getEventColor(t),"text-color":"white",icon:o.getEventIcon(t)},null,8,["color","icon"])]),_:2},1024),(0,V.bF)(b,null,{default:(0,V.k6)(()=>[(0,V.bF)(f,{class:"text-weight-bold"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.title),1)]),_:2},1024),(0,V.bF)(f,{caption:""},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.details),1)]),_:2},1024),(0,V.bF)(f,{caption:""},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(o.getScopeLabel(t.scheduleScope))+" · "+(0,R.v_)("console"===t.scheduleScope?t.transportTypeLabel:t.categoryLabel)+" · "+(0,R.v_)(t.startDate)+" ~ "+(0,R.v_)(t.endDate),1)]),_:2},1024),"partner"===t.scheduleScope?((0,V.uX)(),(0,V.Wv)(f,{key:0,caption:""},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.partnerName||"-")+" · "+(0,R.v_)(o.getStatusLabel(t.status)),1)]),_:2},1024)):(0,V.Q3)("",!0),"aone"===t.scheduleScope?((0,V.uX)(),(0,V.Wv)(f,{key:1,caption:""},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(o.getVisibilityLabel(t.visibility))+" · "+(0,R.v_)(o.getStatusLabel(t.status)),1)]),_:2},1024)):(0,V.Q3)("",!0)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1}))])])]),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(L,{modelValue:i.modalVisibility,"onUpdate:modelValue":t[7]||(t[7]=e=>i.modalVisibility=e)},{default:(0,V.k6)(()=>[(0,V.bF)(y,{selected:i.selectedSchedule,mode:i.modalMode,onReloadSchedule:o.reloadSchedule,onCloseModal:t[6]||(t[6]=e=>i.modalVisibility=!1)},null,8,["selected","mode","onReloadSchedule"])]),_:1},8,["modelValue"])]))])}],["__scopeId","data-v-66eb2753"]])},data(){return{description:{title:"일정관리"}}},methods:{triggerToday(){this.$refs.scheduler?.calendarToday()},triggerAddSchedule(){this.$refs.scheduler?.addSchedule()}}},[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-btn"),r=(0,V.g2)("Title"),n=(0,V.g2)("Scheduler");var d=(0,V.g2)("q-page");return(0,V.uX)(),(0,V.Wv)(d,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Fh,[(0,V.Lk)("div",qh,[(0,V.bF)(r,{desc:i.description},{default:(0,V.k6)(()=>[(0,V.bF)(s,{outline:"",color:"primary",icon:"today",label:"오늘",onClick:o.triggerToday},null,8,["onClick"]),(0,V.bF)(s,{class:"q-ml-sm",color:"primary",icon:"add",label:"일정 추가",onClick:o.triggerAddSchedule},null,8,["onClick"])]),_:1},8,["desc"])])]),(0,V.Lk)("div",Ih,[(0,V.Lk)("div",Ph,[(0,V.bF)(n,{ref:"scheduler"},null,512)])])]),_:1})}]]);let Ob={class:"row"},Vb={class:"col"},Rb={class:"row q-mt-lg"},Mb={class:"col"},$b={class:"comp-box"},Ub={class:"text-weight-medium"},Wb={class:"text-weight-lignt"},Bb={class:"text-grey-8 q-gutter-xs"};let zb={class:"row justify-between"},Xb={class:"row q-mb-sm q-gutter-sm"},Kb={class:"col"},Qb={class:"col"},Gb={class:"row q-mb-sm q-gutter-sm"},Hb={class:"col"},jb={class:"col"},Yb={class:"row"},Zb={class:"col"};var Jb=(0,e.A)({name:"Modal-code-form",emits:["add-item"],data(){return{id:"",code:"",parentCode:"",description:"",codeLabel:"",value:"",status:0}},methods:{addItem(){var e={code:this.code,parentCode:this.parentCode,description:this.description,codeLabel:this.codeLabel,value:this.value,status:this.status};this.$emit("add-item",e),this.$emit("close-modal")},closeModal(){this.$emit("close-modal")}}},[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-btn"),r=(0,V.g2)("q-card-section"),n=(0,V.g2)("q-input"),d=(0,V.g2)("q-toolbar"),c=(0,V.g2)("q-footer");var u=(0,V.g2)("q-card");let m=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.Wv)(u,{style:{width:"700px","max-width":"80vw"}},{default:(0,V.k6)(()=>[(0,V.bF)(r,null,{default:(0,V.k6)(()=>[(0,V.Lk)("div",zb,[t[6]||(t[6]=(0,V.Lk)("div",{class:"text-h6"}," 코드추가 ",-1)),(0,V.Lk)("div",null,[(0,V.bo)((0,V.bF)(s,{onClick:t[0]||(t[0]=e=>o.closeModal()),flat:"",round:"",dense:"",icon:"close"},null,512),[[m]])])]),t[7]||(t[7]=(0,V.Lk)("div",null,null,-1))]),_:1,__:[7]}),(0,V.bF)(r,{class:"q-pt-none"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Xb,[(0,V.Lk)("div",Kb,[(0,V.bF)(n,{modelValue:i.code,"onUpdate:modelValue":t[1]||(t[1]=e=>i.code=e),maxlength:6,label:"코드"},null,8,["modelValue"])]),(0,V.Lk)("div",Qb,[(0,V.bF)(n,{modelValue:i.parentCode,"onUpdate:modelValue":t[2]||(t[2]=e=>i.parentCode=e),maxlength:6,label:"부모코드"},null,8,["modelValue"])])]),(0,V.Lk)("div",Gb,[(0,V.Lk)("div",Hb,[(0,V.bF)(n,{modelValue:i.codeLabel,"onUpdate:modelValue":t[3]||(t[3]=e=>i.codeLabel=e),maxlength:100,label:"코드라벨"},null,8,["modelValue"])]),(0,V.Lk)("div",jb,[(0,V.bF)(n,{modelValue:i.value,"onUpdate:modelValue":t[4]||(t[4]=e=>i.value=e),maxlength:11,label:"키값"},null,8,["modelValue"])])]),(0,V.Lk)("div",Yb,[(0,V.Lk)("div",Zb,[(0,V.bF)(n,{modelValue:i.description,"onUpdate:modelValue":t[5]||(t[5]=e=>i.description=e),type:"textarea",maxlength:1e3,label:"설명"},null,8,["modelValue"])])])]),_:1}),(0,V.bF)(c,{class:"bg-white text-black"},{default:(0,V.k6)(()=>[(0,V.bF)(d,null,{default:(0,V.k6)(()=>[(0,V.bF)(s,{label:"추가",class:"full-width",color:"primary",onClick:o.addItem},null,8,["onClick"])]),_:1})]),_:1})]),_:1})}]]),ef=(0,e.A)({name:"AdminCodeManagement",meta:{title:"어드민-데이터백업"},components:{Title:b,CodeRegForm:Jb},data(){return{description:{title:"데이터백업"},files:[],folderName:"backup"}},methods:{async getBackupFileList(){try{var e={method:"POST",url:"/api/admin/getBackupList",data:{folderName:this.folderName},name:"[ Axios / Lab / 백업파일 목록 ]"};await this.$http(e).then(e=>{this.$log.debug("불러온 파일 목록 = ",e),this.files=e.data.fileDetails}).catch(e=>{this.$log.debug(e),alert("불러오기 실패!")})}catch(e){this.$log.error("파일 목록을 가져오는 중 오류 발생:",e)}},chageFolderName(e){this.folderName=e,this.getBackupFileList()}},mounted(){this.$log.info("[ Page / 데이터백업 ]"),this.getBackupFileList()}},[["render",function(t,e,a,l,i,o){let s=(0,V.g2)("q-btn"),r=(0,V.g2)("q-btn-group"),n=(0,V.g2)("Title"),d=(0,V.g2)("q-item-label"),c=(0,V.g2)("q-item-section"),u=(0,V.g2)("q-item"),m=(0,V.g2)("q-list");var p=(0,V.g2)("q-page");let g=(0,V.g2)("CodeRegForm");var h=(0,V.g2)("q-dialog");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.bF)(p,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Ob,[(0,V.Lk)("div",Vb,[(0,V.bF)(n,{desc:i.description},{default:(0,V.k6)(()=>[(0,V.bF)(r,null,{default:(0,V.k6)(()=>[(0,V.bF)(s,{color:"backup"===i.folderName?"primary":"grey",size:"md",label:"백업파일목록",onClick:e[0]||(e[0]=()=>{o.chageFolderName("backup"),i.description.title="백업파일목록"})},null,8,["color"]),(0,V.bF)(s,{color:"uploads"===i.folderName?"secondary":"grey",size:"md",label:"업로드엑셀목록",onClick:e[1]||(e[1]=()=>{o.chageFolderName("uploads"),i.description.title="업로드엑셀목록"})},null,8,["color"]),(0,V.bF)(s,{color:"failed"===i.folderName?"info":"grey",size:"md",label:"실패엑셀목록",onClick:e[2]||(e[2]=()=>{o.chageFolderName("failed"),i.description.title="실패엑셀목록"})},null,8,["color"])]),_:1})]),_:1},8,["desc"])])]),(0,V.Lk)("div",Rb,[(0,V.Lk)("div",Mb,[(0,V.Lk)("div",$b,[(0,V.bF)(m,{bordered:"",class:"rounded-borders"},{default:(0,V.k6)(()=>[(0,V.bF)(d,{header:""},{default:(0,V.k6)(()=>[(0,V.eW)("📂 "+(0,R.v_)(i.description.title),1)]),_:1}),((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(i.files,(e,t)=>((0,V.uX)(),(0,V.CE)("div",{key:t},[(0,V.bF)(u,null,{default:(0,V.k6)(()=>[(0,V.bF)(c,null,{default:(0,V.k6)(()=>[(0,V.bF)(d,{lines:"1"},{default:(0,V.k6)(()=>[(0,V.Lk)("span",Ub,(0,R.v_)(e.filename),1)]),_:2},1024),(0,V.bF)(d,{caption:""},{default:(0,V.k6)(()=>[(0,V.Lk)("span",Wb,(0,R.v_)(this.$formatDate(e.createdAt,"xxxx년 xx월 xx일")),1)]),_:2},1024)]),_:2},1024),(0,V.bF)(c,{side:""},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Bb,[(0,V.bF)(s,{href:`/api/admin/files/${i.folderName}/`+e.filename,class:"gt-xs",size:"12px",flat:"",dense:"",round:"",icon:"download"},null,8,["href"])])]),_:2},1024)]),_:2},1024)]))),128))]),_:1})])])])]),_:1}),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(h,{modelValue:t.showModalNow,"onUpdate:modelValue":e[3]||(e[3]=e=>t.showModalNow=e)},{default:(0,V.k6)(()=>[(0,V.bF)(g,{onAddItem:t.regiCode},null,8,["onAddItem"])]),_:1},8,["modelValue"])]))],64)}]]);let tf={class:"row"},af={class:"col"},lf={class:"row q-mt-lg"},of={class:"col"},sf={class:"comp-box"};var rf=(0,e.A)({name:"AdminSchemaSnapshotManage",meta:{title:"어드민-DB스키마스냅샷"},components:{Title:b},data(){return{description:{title:"DB 스키마 스냅샷"},snapshots:[],isLoading:!1,creatingTarget:"",columns:[{name:"createdAt",label:"생성일시",align:"left",field:"createdAt"},{name:"envMode",label:"환경",align:"center",field:"envMode"},{name:"target",label:"대상DB",align:"center",field:"target"},{name:"database",label:"DB명",align:"left",field:"database"},{name:"actorName",label:"생성자",align:"left",field:"actorName"},{name:"size",label:"크기",align:"right",field:"size"},{name:"filename",label:"파일명",align:"left",field:"filename"},{name:"actions",label:"동작",align:"center"}]}},methods:{formatBytes(e){e=Number(e||0);return e<1024?e+" B":e<1048576?(e/1024).toFixed(1)+" KB":(e/1024/1024).toFixed(1)+" MB"},normalizeSnapshotRow(e={}){return{filename:e.filename||"",size:Number(e.size||0),createdAt:e.createdAt||e.generatedAt||(new Date).toISOString(),target:e.target||null,database:e.database||null,envMode:e.envMode||null,actorMemberId:e.actorMemberId||null,actorName:e.actorName||null}},applySnapshotList(e=[]){e=e.map(e=>this.normalizeSnapshotRow(e));e.sort((e,t)=>new Date(t.createdAt)-new Date(e.createdAt)),this.snapshots=e},upsertSnapshot(e={}){let t=this.normalizeSnapshotRow(e);var e=[...this.snapshots],a=e.findIndex(e=>e.filename===t.filename);0<=a?e.splice(a,1,t):e.unshift(t),this.applySnapshotList(e)},async fetchSnapshots(){this.isLoading=!0;try{var e=await this.$http({method:"GET",url:"/api/admin/schema-snapshots",name:"[ Axios / Admin / Schema Snapshot List ]"});this.applySnapshotList(Array.isArray(e.data?.data)?e.data.data:[])}catch(e){this.$log.error(e),this.$q.notify({type:"negative",message:e?.response?.data?.message||"스키마 스냅샷 목록을 불러오지 못했습니다."})}finally{this.isLoading=!1}},async createSnapshot(e){this.creatingTarget=e;try{var t=await this.$http({method:"POST",url:"/api/admin/schema-snapshots",data:{target:e},name:"[ Axios / Admin / Create Schema Snapshot ]"}),a=Array.isArray(t.data?.data?.warnings)?t.data.data.warnings:[];this.$q.notify({type:a.length?"warning":"positive",message:a.length?`스냅샷은 생성됐지만 일부 메타 조회가 누락되었습니다. (${a.length}건)`:t.data?.message||"스키마 스냅샷이 생성되었습니다."}),this.upsertSnapshot(t.data?.data||{}),this.fetchSnapshots()}catch(e){this.$log.error(e),this.$q.notify({type:"negative",message:e?.response?.data?.message||"스키마 스냅샷 생성에 실패했습니다."})}finally{this.creatingTarget=""}},async downloadSnapshot(e){try{var t=await this.$http({method:"GET",url:"/api/admin/schema-snapshots/files/"+encodeURIComponent(e),responseType:"blob",name:"[ Axios / Admin / Download Schema Snapshot ]"}),a=new Blob([t.data],{type:"application/json"}),l=window.URL.createObjectURL(a),i=document.createElement("a");i.href=l,i.download=e,document.body.appendChild(i),i.click(),document.body.removeChild(i),window.URL.revokeObjectURL(l)}catch(e){this.$log.error(e),this.$q.notify({type:"negative",message:e?.response?.data?.message||"스키마 스냅샷 다운로드에 실패했습니다."})}}},mounted(){this.fetchSnapshots()}},[["render",function(t,e,a,l,i,o){let s=(0,V.g2)("q-btn"),r=(0,V.g2)("q-btn-group"),n=(0,V.g2)("Title"),d=(0,V.g2)("q-td"),c=(0,V.g2)("q-badge"),u=(0,V.g2)("q-table");var m=(0,V.g2)("q-page");return(0,V.uX)(),(0,V.Wv)(m,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",tf,[(0,V.Lk)("div",af,[(0,V.bF)(n,{desc:i.description},{default:(0,V.k6)(()=>[(0,V.bF)(r,null,{default:(0,V.k6)(()=>[(0,V.bF)(s,{color:"primary",label:"Main DB 스냅샷 생성",loading:"main"===i.creatingTarget,onClick:e[0]||(e[0]=e=>o.createSnapshot("main"))},null,8,["loading"]),(0,V.bF)(s,{color:"secondary",label:"Fulfillment DB 스냅샷 생성",loading:"fulfillment"===i.creatingTarget,onClick:e[1]||(e[1]=e=>o.createSnapshot("fulfillment"))},null,8,["loading"]),(0,V.bF)(s,{color:"grey-7","text-color":"white",label:"새로고침",loading:i.isLoading,onClick:o.fetchSnapshots},null,8,["loading","onClick"])]),_:1})]),_:1},8,["desc"])])]),(0,V.Lk)("div",lf,[(0,V.Lk)("div",of,[(0,V.Lk)("div",sf,[e[2]||(e[2]=(0,V.Lk)("div",{class:"text-subtitle2 q-mb-md"}," 현재 환경에 연결된 DB 기준으로 스키마 스냅샷 JSON 파일을 생성합니다. ",-1)),(0,V.bF)(u,{flat:"",bordered:"","row-key":"filename",rows:i.snapshots,columns:i.columns,loading:i.isLoading,pagination:{rowsPerPage:20}},{"body-cell-createdAt":(0,V.k6)(e=>[(0,V.bF)(d,{props:e},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.$formatDate(e.row.createdAt,"xxxx년 xx월 xx일 hh:mm:ss")),1)]),_:2},1032,["props"])]),"body-cell-size":(0,V.k6)(e=>[(0,V.bF)(d,{props:e},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(o.formatBytes(e.row.size)),1)]),_:2},1032,["props"])]),"body-cell-target":(0,V.k6)(e=>[(0,V.bF)(d,{props:e},{default:(0,V.k6)(()=>[(0,V.bF)(c,{color:"main"===e.row.target?"primary":"secondary"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(e.row.target),1)]),_:2},1032,["color"])]),_:2},1032,["props"])]),"body-cell-actions":(0,V.k6)(t=>[(0,V.bF)(d,{props:t},{default:(0,V.k6)(()=>[(0,V.bF)(s,{flat:"",round:"",dense:"",icon:"download",onClick:e=>o.downloadSnapshot(t.row.filename)},null,8,["onClick"])]),_:2},1032,["props"])]),_:1},8,["rows","columns","loading"])])])])]),_:1})}]]);let nf={class:"row"},df={class:"col"},cf={class:"row q-mt-lg"},uf={class:"col"},mf={class:"comp-box"};var pf={name:"code-list",components:{},props:{codeList:Array},emits:["load-list"],data(){return{showModalNow:!1,mode:0,initialPagination:{rowsPerPage:30},columns:[{name:"code",label:"코드",align:"center",field:"code"},{name:"parentCode",label:"부모코드",align:"center",field:"parentCode"},{name:"orderNo",label:"순서",align:"center",field:"orderNo"},{name:"codeLabel",label:"라벨",align:"center",field:"codeLabel"},{name:"value",label:"키값",align:"center",field:"value"},{name:"status",label:"상태",align:"center",field:"status"},{name:"description",label:"설명",align:"left",field:"description"},{name:"detail",label:"추가기능",align:"center",field:"detail"}]}},methods:{singleDelete(e){this.$log.debug("개별삭제 실행"),this.$log.debug("선택된 택배 Id",e);e={id:e};this.$log.debug("payload = ",e),this.delete(e)},async delete(e){await this.$http({method:"POST",url:"/api/code/delCode",data:e,name:"코드 삭제"}).then(()=>{this.$log.debug("삭제했습니다."),this.$emit("load-list"),alert("삭제했습니다.")}).catch(e=>{this.$log.debug(e),alert("삭제에 실패했습니다")})},async updateStatus(e,t){await this.$http({method:"POST",url:"/api/code/updateCodeStatus",data:{id:e,status:t},name:"코드 상태 변경"}).then(()=>{this.$log.debug("상태변경에 성공했습니다."),this.$emit("load-list"),alert("상태를 변경했습니다.")}).catch(e=>{this.$log.debug(e),alert("상태변경에 실패했습니다")})}},mounted(){this.$log.debug("Code list component mounted")}},pf=(0,e.A)({name:"AdminCodeManagement",meta:{title:"어드민-코드관리"},components:{Title:b,CodeList:(0,e.A)(pf,[["render",function(e,a,t,l,i,o){let s=(0,V.g2)("q-td"),r=(0,V.g2)("q-toggle"),n=(0,V.g2)("q-item-label"),d=(0,V.g2)("q-item-section"),c=(0,V.g2)("q-item"),u=(0,V.g2)("q-list"),m=(0,V.g2)("q-btn-dropdown"),p=(0,V.g2)("q-tr");var g=(0,V.g2)("q-table");let h=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.Wv)(g,{rows:t.codeList,columns:i.columns,"rows-per-page-options":[0],"virtual-scroll-sticky-size-start":48,pagination:i.initialPagination,"row-key":"name"},{body:(0,V.k6)(t=>[(0,V.bF)(p,{props:t},{default:(0,V.k6)(()=>[(0,V.bF)(s,{key:"code",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.code),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"parentCode",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(null==t.row.parentCode?"-":t.row.parentCode),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"orderNo",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.orderNo),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"codeLabel",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.codeLabel),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"value",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.value),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"status",props:t},{default:(0,V.k6)(()=>[(0,V.bF)(r,{modelValue:t.row.status,"onUpdate:modelValue":[e=>t.row.status=e,e=>o.updateStatus(t.row.id,t.row.status)],"true-value":0,"false-value":1,"checked-icon":"check",color:"green","unchecked-icon":"clear"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["props"]),(0,V.bF)(s,{key:"description",props:t},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.row.description),1)]),_:2},1032,["props"]),(0,V.bF)(s,{key:"detail",props:t},{default:(0,V.k6)(()=>[(0,V.bF)(m,{color:"primary",label:"기능선택",size:"sm"},{default:(0,V.k6)(()=>[(0,V.bF)(u,null,{default:(0,V.k6)(()=>[(0,V.bo)(((0,V.uX)(),(0,V.Wv)(c,{clickable:"",onClick:e=>o.singleDelete(t.row.id)},{default:(0,V.k6)(()=>[(0,V.bF)(d,null,{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>a[0]||(a[0]=[(0,V.eW)("삭제")])),_:1,__:[0]})]),_:1})]),_:2},1032,["onClick"])),[[h]])]),_:2},1024)]),_:2},1024)]),_:2},1032,["props"])]),_:2},1032,["props"])]),_:1},8,["rows","columns","pagination"])}]]),CodeRegForm:Jb},data(){return{codeList:[],showModalNow:!1,description:{title:"코드관리"}}},methods:{regiCodeForm(){this.showModalNow=!this.showModalNow,this.mode=0},closeModal(){this.showModalNow=!1},async regiCode(e){this.$log.debug("등록할 코드 = ",e),await this.$http({method:"POST",url:"/api/code/regiCode",data:e,name:"[ Axios / 신규코드추가 ]"}).then(()=>{this.loadCodeList(),this.showModalNow=!1})},async loadCodeList(){var e=await this.$http({method:"POST",url:"/api/code/getCodeList",name:"[ Axios / 코드목록조회 ]"}).then(e=>{e=e.data;return this.$log.debug("[ Axios / 코드목록조회 ] 실행됨",e),e}).catch(e=>{this.$log.debug("[ Axios / 코드목록조회 ] 실패",e)});this.codeList=e}},mounted(){this.$log.info("[ Page / 코드관리 ]"),this.loadCodeList()}},[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-btn"),r=(0,V.g2)("Title"),n=(0,V.g2)("CodeList");var d=(0,V.g2)("q-page");let c=(0,V.g2)("CodeRegForm");var u=(0,V.g2)("q-dialog");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.bF)(d,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",nf,[(0,V.Lk)("div",df,[(0,V.bF)(r,{desc:i.description},{default:(0,V.k6)(()=>[(0,V.bF)(s,{label:"코드 추가",class:"btn",size:"md",color:"primary",onClick:o.regiCodeForm},null,8,["onClick"])]),_:1},8,["desc"])])]),(0,V.Lk)("div",cf,[(0,V.Lk)("div",uf,[(0,V.Lk)("div",mf,[(0,V.bF)(n,{"code-list":i.codeList,onLoadList:o.loadCodeList},null,8,["code-list","onLoadList"])])])])]),_:1}),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(u,{modelValue:i.showModalNow,"onUpdate:modelValue":t[0]||(t[0]=e=>i.showModalNow=e),"transition-show":"slide-up","transition-hide":"slide-down"},{default:(0,V.k6)(()=>[(0,V.bF)(c,{onAddItem:o.regiCode},null,8,["onAddItem"])]),_:1},8,["modelValue"])]))],64)}]]);let gf={class:"row q-mb-lg"},hf={class:"col"},bf={class:"row q-col-gutter-md q-mb-md"},ff={class:"col-12"},vf={class:"comp-box q-pa-md"},kf={class:"text-body2 text-grey-7 q-mt-sm"},yf={class:"row q-col-gutter-md"},Lf={class:"col-12 col-lg-6"},_f={class:"comp-box q-pa-md"},wf={class:"row q-col-gutter-md q-mt-md"},xf={class:"col-12 col-md-4"},Cf={class:"col-12 col-md-4"},Sf={class:"col-12 col-md-4"},Ff={class:"text-caption text-grey-7 q-mt-sm"},qf={class:"row justify-end q-gutter-sm q-mt-md"},If={key:0,class:"q-mt-md"},Pf={class:"text-body2 q-mt-sm"},Af={class:"text-body2"},Tf={class:"text-body2"},Nf={key:1,class:"q-mt-md"},Ef={class:"text-body2 q-mt-sm"},Df={class:"text-body2"},Of={class:"col-12 col-lg-6"},Vf={class:"comp-box q-pa-md"},Rf={class:"bundle-upload-box q-mt-md"},Mf={class:"row items-center no-wrap"},$f={class:"ellipsis"},Uf={class:"text-body2 ellipsis"},Wf={class:"row q-gutter-xs justify-end no-wrap"},Bf={class:"row justify-end q-mt-md"},zf={key:0,class:"q-mt-md"},Xf={class:"text-body2 q-mt-sm"},Kf={class:"text-body2"},Qf={class:"text-body2"},Gf={class:"row q-col-gutter-md q-mt-md"},Hf={class:"col-12"},jf={class:"comp-box q-pa-md"},Yf={class:"row q-col-gutter-lg q-mt-sm"},Zf={class:"col-12 col-lg-6"},Jf={class:"col-12 col-lg-6"},ev={class:"bundle-upload-box q-mt-sm"},tv={class:"text-body2 ellipsis"},av={class:"row q-gutter-xs justify-end q-mt-sm"},lv={class:"row justify-end q-mt-md"};var iv=v(4213);let ov={name:"AdminLogisSampleDataManage",components:{Title:b},data(){return{description:{title:"운영 샘플 데이터"},exportForm:{dateFrom:"",dateTo:"",limit:50,orderIdsText:""},importForm:{fallbackPartnerId:"",file:null},fulfillmentImportForm:{file:null},exportLoading:!1,previewLoading:!1,importLoading:!1,fulfillmentExportLoading:!1,fulfillmentImportLoading:!1,exportResult:null,previewResult:null,importResult:null,fulfillmentExportResult:null,fulfillmentImportResult:null}},computed:{envLabel(){var e=window.location.hostname;return e.includes("aonelogistics.com.au")?"운영 서버":e.includes("localhost")||e.startsWith("127.")||e.startsWith("192.168.")?"로컬 서버":"개발 서버"},parsedOrderIds(){return e=this.exportForm.orderIdsText,[...new Set(String(e||"").split(/[\s,]+/).map(e=>Number(e)).filter(e=>Number.isInteger(e)&&0[(0,V.Lk)("div",gf,[(0,V.Lk)("div",hf,[(0,V.bF)(s,{desc:i.description},null,8,["desc"])])]),(0,V.Lk)("div",bf,[(0,V.Lk)("div",ff,[(0,V.Lk)("div",vf,[t[7]||(t[7]=(0,V.Lk)("div",{class:"text-subtitle1"},"현재 환경",-1)),(0,V.Lk)("div",kf,(0,R.v_)(o.envLabel)+"에서 사용하는 운영 샘플 데이터 도구입니다. ",1),t[8]||(t[8]=(0,V.Lk)("div",{class:"text-caption text-grey-6 q-mt-sm"}," 운영에서는 원본 주문·상품·바코드와 연결된 Fulfillment 기준데이터를 export하고, 개발/로컬에서는 import 중심으로 사용합니다. ",-1))])])]),(0,V.Lk)("div",yf,[(0,V.Lk)("div",Lf,[(0,V.Lk)("div",_f,[t[11]||(t[11]=(0,V.Lk)("div",{class:"text-subtitle1"},"1. 샘플 데이터 내보내기",-1)),t[12]||(t[12]=(0,V.Lk)("div",{class:"text-caption text-grey-7 q-mt-sm"}," 기본 방식은 기간 기준 export입니다. `ORDER_BASE.regDate` 기준으로 주문을 조회해 원본 JSON bundle을 다운로드합니다. ",-1)),(0,V.Lk)("div",wf,[(0,V.Lk)("div",xf,[(0,V.bF)(r,{modelValue:i.exportForm.dateFrom,"onUpdate:modelValue":t[0]||(t[0]=e=>i.exportForm.dateFrom=e),outlined:"",label:"시작일",placeholder:"YYYY-MM-DD"},null,8,["modelValue"])]),(0,V.Lk)("div",Cf,[(0,V.bF)(r,{modelValue:i.exportForm.dateTo,"onUpdate:modelValue":t[1]||(t[1]=e=>i.exportForm.dateTo=e),outlined:"",label:"종료일",placeholder:"YYYY-MM-DD"},null,8,["modelValue"])]),(0,V.Lk)("div",Sf,[(0,V.bF)(r,{modelValue:i.exportForm.limit,"onUpdate:modelValue":t[2]||(t[2]=e=>i.exportForm.limit=e),outlined:"",type:"number",label:"최대 건수"},null,8,["modelValue"])])]),(0,V.bF)(r,{modelValue:i.exportForm.orderIdsText,"onUpdate:modelValue":t[3]||(t[3]=e=>i.exportForm.orderIdsText=e),type:"textarea",autogrow:"",outlined:"",class:"q-mt-md",label:"주문 ID 목록 (선택)",hint:"입력하면 기간 조건보다 우선합니다. 쉼표 또는 줄바꿈으로 여러 개 입력 가능"},null,8,["modelValue"]),(0,V.Lk)("div",Ff," 인식된 주문 수: "+(0,R.v_)(o.parsedOrderIds.length),1),(0,V.Lk)("div",qf,[(0,V.bF)(n,{flat:"",color:"primary",label:"미리보기",loading:i.previewLoading,onClick:o.previewBundle},null,8,["loading","onClick"]),(0,V.bF)(n,{color:"primary",label:"Bundle 생성",loading:i.exportLoading,onClick:o.exportBundle},null,8,["loading","onClick"])]),i.exportResult?((0,V.uX)(),(0,V.CE)("div",If,[(0,V.bF)(d,{class:"q-mb-md"}),t[9]||(t[9]=(0,V.Lk)("div",{class:"text-subtitle2"},"최근 export 결과",-1)),(0,V.Lk)("div",Pf,"Bundle ID: "+(0,R.v_)(i.exportResult.bundle_id),1),(0,V.Lk)("div",Af,"Mode: "+(0,R.v_)(i.exportResult.export_mode),1),(0,V.Lk)("div",Tf,"주문 "+(0,R.v_)(i.exportResult.order_count)+"건 / 콘솔 "+(0,R.v_)(i.exportResult.console_count)+"건 / 아이템 "+(0,R.v_)(i.exportResult.item_count)+"건",1)])):(0,V.Q3)("",!0),i.previewResult?((0,V.uX)(),(0,V.CE)("div",Nf,[(0,V.bF)(d,{class:"q-mb-md"}),t[10]||(t[10]=(0,V.Lk)("div",{class:"text-subtitle2"},"미리보기",-1)),(0,V.Lk)("div",Ef,"Mode: "+(0,R.v_)(i.previewResult.export_mode),1),(0,V.Lk)("div",Df,"대상 주문 수: "+(0,R.v_)(i.previewResult.total),1),(0,V.bF)(p,{bordered:"",separator:"",class:"q-mt-sm"},{default:(0,V.k6)(()=>[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(i.previewResult.items,e=>((0,V.uX)(),(0,V.Wv)(m,{key:e.id},{default:(0,V.k6)(()=>[(0,V.bF)(u,null,{default:(0,V.k6)(()=>[(0,V.bF)(c,null,{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(e.orderId)+" / "+(0,R.v_)(e.receiverName||"-"),1)]),_:2},1024),(0,V.bF)(c,{caption:""},{default:(0,V.k6)(()=>[(0,V.eW)(" ID "+(0,R.v_)(e.id)+" | regDate "+(0,R.v_)(e.regDate)+" | partner "+(0,R.v_)(e.partnerId||"-")+" | status "+(0,R.v_)(e.status||"-"),1)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})])):(0,V.Q3)("",!0)])]),(0,V.Lk)("div",Of,[(0,V.Lk)("div",Vf,[t[15]||(t[15]=(0,V.Lk)("div",{class:"text-subtitle1"},"2. 샘플 데이터 가져오기",-1)),t[16]||(t[16]=(0,V.Lk)("div",{class:"text-caption text-grey-7 q-mt-sm"}," export bundle을 업로드하면 현재 DB에 샘플 row로 적재합니다. 대상 서버에 같은 `partnerId`가 없으면 fallback partner를 지정합니다. ",-1)),(0,V.Lk)("input",{ref:"bundleFileInput",type:"file",accept:".json,application/json",style:{display:"none"},onChange:t[4]||(t[4]=(...e)=>o.onFileAdded&&o.onFileAdded(...e))},null,544),(0,V.Lk)("div",Rf,[(0,V.Lk)("div",Mf,[(0,V.bF)(g,{name:i.importForm.file?"description":"upload_file",color:i.importForm.file?"primary":"grey-6",size:"28px",class:"q-mr-sm"},null,8,["name","color"]),(0,V.Lk)("div",$f,[(0,V.Lk)("div",Uf,(0,R.v_)(i.importForm.file?i.importForm.file.name:"선택된 Bundle JSON 파일이 없습니다."),1),t[13]||(t[13]=(0,V.Lk)("div",{class:"text-caption text-grey-7"}," 운영에서 Bundle 생성으로 다운로드한 JSON 파일을 선택하세요. ",-1))])]),(0,V.Lk)("div",Wf,[(0,V.bF)(n,{flat:"",color:"primary",icon:"upload_file",label:"JSON 파일 선택",onClick:o.openBundleFilePicker},null,8,["onClick"]),i.importForm.file?((0,V.uX)(),(0,V.Wv)(n,{key:0,flat:"",color:"grey-7",icon:"close",label:"해제",onClick:o.clearImportFile},null,8,["onClick"])):(0,V.Q3)("",!0)])]),(0,V.bF)(r,{modelValue:i.importForm.fallbackPartnerId,"onUpdate:modelValue":t[5]||(t[5]=e=>i.importForm.fallbackPartnerId=e),outlined:"",class:"q-mt-md",label:"Fallback Partner ID",hint:"대상 DB에 원본 partnerId가 없을 때 사용할 파트너 ID"},null,8,["modelValue"]),(0,V.Lk)("div",Bf,[(0,V.bF)(n,{color:"primary",label:"선택한 Bundle 업로드",loading:i.importLoading,disable:!i.importForm.file,onClick:o.importBundle},null,8,["loading","disable","onClick"])]),i.importResult?((0,V.uX)(),(0,V.CE)("div",zf,[(0,V.bF)(d,{class:"q-mb-md"}),t[14]||(t[14]=(0,V.Lk)("div",{class:"text-subtitle2"},"최근 import 결과",-1)),(0,V.Lk)("div",Xf,"Bundle ID: "+(0,R.v_)(i.importResult.bundleId),1),(0,V.Lk)("div",Kf,"주문 "+(0,R.v_)(i.importResult.imported_orders)+"건 / 콘솔 "+(0,R.v_)(i.importResult.imported_consoles)+"건 / 아이템 "+(0,R.v_)(i.importResult.imported_items)+"건 / 이력 "+(0,R.v_)(i.importResult.imported_histories)+"건",1),(0,V.Lk)("div",Qf,"Fallback Partner: "+(0,R.v_)(i.importResult.fallback_partner_id||"-"),1)])):(0,V.Q3)("",!0)])])]),(0,V.Lk)("div",Gf,[(0,V.Lk)("div",Hf,[(0,V.Lk)("div",jf,[t[21]||(t[21]=(0,V.Lk)("div",{class:"text-subtitle1"},"3. Fulfillment 기준데이터 전체 동기화",-1)),t[22]||(t[22]=(0,V.Lk)("div",{class:"text-caption text-grey-7 q-mt-sm"}," 브랜드, 카테고리, 포장 단위, 마스터 SKU·규격, 파트너 SKU, 익스프레스 규칙을 압축 JSON으로 이동합니다. 가져오기는 하나의 트랜잭션으로 처리됩니다. ",-1)),(0,V.bF)(h,{dense:"",rounded:"",class:"bg-orange-1 text-orange-10 q-mt-md"},{default:(0,V.k6)(()=>t[17]||(t[17]=[(0,V.eW)(" 대상 DB의 Partner ID가 운영과 같아야 합니다. 실행 전 개발 환경인지 확인하세요. ")])),_:1,__:[17]}),(0,V.Lk)("div",Yf,[(0,V.Lk)("div",Zf,[t[18]||(t[18]=(0,V.Lk)("div",{class:"text-subtitle2"},"전체 기준데이터 내보내기",-1)),t[19]||(t[19]=(0,V.Lk)("div",{class:"text-caption text-grey-7 q-mt-xs"}," 현재 DB의 7개 기준 테이블 전체를 다운로드합니다. ",-1)),(0,V.bF)(n,{class:"q-mt-md",color:"primary",icon:"download",label:"Fulfillment JSON.GZ 다운로드",loading:i.fulfillmentExportLoading,onClick:o.exportFulfillmentReference},null,8,["loading","onClick"]),i.fulfillmentExportResult?((0,V.uX)(),(0,V.Wv)(p,{key:0,dense:"",bordered:"",separator:"",class:"q-mt-md"},{default:(0,V.k6)(()=>[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(i.fulfillmentExportResult,(e,t)=>((0,V.uX)(),(0,V.Wv)(m,{key:t},{default:(0,V.k6)(()=>[(0,V.bF)(u,null,{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t),1)]),_:2},1024),(0,V.bF)(u,{side:""},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(e)+"건",1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(0,V.Q3)("",!0)]),(0,V.Lk)("div",Jf,[t[20]||(t[20]=(0,V.Lk)("div",{class:"text-subtitle2"},"전체 기준데이터 가져오기",-1)),(0,V.Lk)("input",{ref:"fulfillmentFileInput",type:"file",accept:".json,.gz,.json.gz,application/json,application/gzip",style:{display:"none"},onChange:t[6]||(t[6]=(...e)=>o.onFulfillmentFileAdded&&o.onFulfillmentFileAdded(...e))},null,544),(0,V.Lk)("div",ev,[(0,V.Lk)("div",tv,(0,R.v_)(i.fulfillmentImportForm.file?i.fulfillmentImportForm.file.name:"선택된 Fulfillment JSON 또는 JSON.GZ 파일이 없습니다."),1),(0,V.Lk)("div",av,[(0,V.bF)(n,{flat:"",color:"primary",icon:"upload_file",label:"JSON/JSON.GZ 파일 선택",onClick:o.openFulfillmentFilePicker},null,8,["onClick"]),i.fulfillmentImportForm.file?((0,V.uX)(),(0,V.Wv)(n,{key:0,flat:"",color:"grey-7",icon:"close",label:"해제",onClick:o.clearFulfillmentFile},null,8,["onClick"])):(0,V.Q3)("",!0)])]),(0,V.Lk)("div",lv,[(0,V.bF)(n,{color:"primary",label:"Fulfillment 기준데이터 업로드",loading:i.fulfillmentImportLoading,disable:!i.fulfillmentImportForm.file,onClick:o.importFulfillmentReference},null,8,["loading","disable","onClick"])]),i.fulfillmentImportResult?((0,V.uX)(),(0,V.Wv)(p,{key:0,dense:"",bordered:"",separator:"",class:"q-mt-md"},{default:(0,V.k6)(()=>[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(i.fulfillmentImportResult.counts,(e,t)=>((0,V.uX)(),(0,V.Wv)(m,{key:t},{default:(0,V.k6)(()=>[(0,V.bF)(u,null,{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t),1)]),_:2},1024),(0,V.bF)(u,{side:""},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(e)+"건",1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(0,V.Q3)("",!0)])])])])])]),_:1})}],["__scopeId","data-v-e32a2fe0"]]);let sv={class:"row"},rv={class:"col"},nv={class:"row q-mt-lg"},dv={class:"col"},cv={class:"comp-box"},uv={class:"row q-mb-sm"},mv={class:"col"};var pv={name:"Admin-update-report",meta:{title:"어드민-업데이트 리포트"},components:{Title:b},data(){return{description:{title:"업데이트 리포트"},updateReport:Ma}},methods:{},mounted(){this.$log.info("[ Page / 업데이트 리포트 ]")}},pv=(v(49487),(0,e.A)(pv,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("Title"),r=(0,V.g2)("q-markup-table");var n=(0,V.g2)("q-page");return(0,V.uX)(),(0,V.Wv)(n,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",sv,[(0,V.Lk)("div",rv,[(0,V.bF)(s,{desc:i.description},null,8,["desc"])])]),(0,V.Lk)("div",nv,[(0,V.Lk)("div",dv,[(0,V.Lk)("div",cv,[(0,V.Lk)("div",uv,[(0,V.Lk)("div",mv,[t[1]||(t[1]=(0,V.Lk)("h4",null,null,-1)),(0,V.bF)(r,{flat:"",bordered:""},{default:(0,V.k6)(()=>[t[0]||(t[0]=(0,V.Lk)("thead",null,[(0,V.Lk)("tr",null,[(0,V.Lk)("th",null,"Version"),(0,V.Lk)("th",null,"업데이트 내용")])],-1)),(0,V.Lk)("tbody",null,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(i.updateReport,a=>((0,V.uX)(),(0,V.CE)("tr",{key:a.ver},[(0,V.Lk)("td",null,(0,R.v_)(a.ver),1),(0,V.Lk)("td",null,[(0,V.Lk)("ul",null,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(a.reports,(e,t)=>((0,V.uX)(),(0,V.CE)("li",{key:a.ver+"-"+t},(0,R.v_)(e),1))),128))])])]))),128))])]),_:1,__:[0]})])])])])])]),_:1})}],["__scopeId","data-v-74de517e"]]));let gv={class:"row q-mb-lg"},hv={class:"col"},bv={class:"row q-mt-lg"},fv={class:"col"},vv={class:"comp-box"};var kv=(0,e.A)({name:"Admin-parcel-infomation",meta:{title:"어드민-실험실"},components:{Title:b},data(){return{description:{title:"실험실"},files:[],session:this.$store.getters.getLocalSession}},methods:{async updateConsolStatus(e="depart"){await this.$http({method:"POST",url:"/api/consol/updateConsolStatus",data:{type:e},name:"[ Axios / 오늘 날짜 출발 콘솔 상태 변경 ]"}).then(e=>{this.$emit("load-list"),this.$q.notify({type:"positive",message:"상태를 변경했습니다."}),this.$log.info(e)}).catch(e=>{this.$log.debug(e),alert("상태변경에 실패했습니다")})}},mounted(){this.$log.log("[ Lab ] mounted")}},[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("Title"),r=(0,V.g2)("q-btn");var n=(0,V.g2)("q-page");return(0,V.uX)(),(0,V.Wv)(n,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",gv,[(0,V.Lk)("div",hv,[(0,V.bF)(s,{desc:i.description},null,8,["desc"])])]),(0,V.Lk)("div",bv,[(0,V.Lk)("div",fv,[(0,V.Lk)("div",vv,[t[2]||(t[2]=(0,V.Lk)("div",{class:"row"},[(0,V.Lk)("div",{class:"col"},[(0,V.Lk)("h5",null,"운송편 상태 변경 테스트 - 인천 기준")])],-1)),(0,V.bF)(r,{label:"최근 운송편 상태 조회 테스트(출발)",color:"primary",onClick:t[0]||(t[0]=()=>{o.updateConsolStatus("depart")})}),(0,V.bF)(r,{label:"최근 운송편 상태 조회 테스트(도착)",color:"secondary",onClick:t[1]||(t[1]=()=>{o.updateConsolStatus("arrival")})})])])])]),_:1})}]]);let yv={class:"row q-mb-lg"},Lv={class:"col"},_v={class:"comp-box"},wv={class:"row q-col-gutter-md q-mb-md"},xv={class:"col-12 col-sm-6 col-md-2"},Cv={class:"col-12 col-sm-6 col-md-2"},Sv={class:"col-12 col-sm-6 col-md-2"},Fv={class:"col-12 col-sm-6 col-md-2"},qv={class:"col-12 col-sm-6 col-md-2"},Iv={class:"row q-col-gutter-md q-mb-md items-center"},Pv={class:"col-12 col-md-9"},Av={class:"col-12 col-md-3 row q-gutter-sm"};let Tv=[{label:"로그인 성공",value:"auth.login"},{label:"로그인 실패",value:"auth.login_fail"},{label:"로그아웃",value:"auth.logout"},{label:"재설정 링크 생성 성공",value:"auth.password_reset_link_create"},{label:"재설정 링크 생성 실패",value:"auth.password_reset_link_create_fail"}],Nv={name:"Admin-login-history-manage",meta:{title:"어드민-인증·접속 이력"},components:{Title:b},data(){return{description:{title:"인증·접속 이력",subTitle:"로그인 성공·실패와 계정 보안 이벤트를 조회합니다. IP는 개인정보 보호를 위해 일부 마스킹됩니다."},loginList:[],loading:!1,errorMessage:"",startDate:"",endDate:"",userId:"",partnerId:"",successFilter:null,selectedEventTypes:Tv.map(e=>e.value),eventTypeOptions:Tv,successOptions:[{label:"전체",value:null},{label:"성공",value:1},{label:"실패",value:0}],pagination:{page:1,rowsPerPage:50,rowsNumber:0},columns:[{name:"ingested_at",label:"기록 시간 (Australia/Sydney)",align:"center",field:"ingested_at",format:this.formatDateTime},{name:"reg_name",label:"사용자명",align:"center",field:"reg_name"},{name:"partnerName",label:"파트너명",align:"center",field:"partnerName"},{name:"event_type",label:"인증 이벤트",align:"center",field:"event_type"},{name:"method",label:"메서드",align:"center",field:"method"},{name:"url_path",label:"URL 경로",align:"left",field:"url_path"},{name:"status",label:"상태",align:"center",field:"status"},{name:"ok",label:"결과",align:"center",field:"ok",format:e=>1===Number(e)?"성공":"실패"},{name:"ip",label:"IP(마스킹)",align:"center",field:"ip"}]}},methods:{formatDateTime(e){var t;return e?(t=new Date(e),Number.isNaN(t.getTime())?e:new Intl.DateTimeFormat("ko-KR",{timeZone:"Australia/Sydney",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1,timeZoneName:"short"}).format(t)):"-"},endExclusive(e){if(e)return new Date(e+"T00:00:00.000Z").getTime()+864e5},buildParams(){var e={page:this.pagination.page,page_size:this.pagination.rowsPerPage};return this.startDate&&(e.start=this.startDate+"T00:00:00.000Z"),this.endDate&&(e.end=new Date(this.endExclusive(this.endDate)).toISOString()),this.userId.trim()&&(e.user_id=this.userId.trim()),this.partnerId.trim()&&(e.partner_id=this.partnerId.trim()),null!==this.successFilter&&(e.ok=this.successFilter),this.selectedEventTypes.length&&(e.event_types=this.selectedEventTypes.join(",")),e},async fetchLoginHistory(){this.loading=!0,this.errorMessage="";try{var e=await this.$http({method:"get",url:"/api/log/login-list",name:"[ Axios / 인증·접속 이력 조회 ]",params:this.buildParams()});this.loginList=e.data?.items||[],this.pagination.rowsNumber=Number(e.data?.pagination?.total||0)}catch(e){this.loginList=[],this.pagination.rowsNumber=0,this.errorMessage=e?.response?.data?.message||"인증·접속 이력을 불러오지 못했습니다."}finally{this.loading=!1}},async applyFilters(){this.pagination.page=1,await this.fetchLoginHistory()},async resetFilters(){this.startDate="",this.endDate="",this.userId="",this.partnerId="",this.successFilter=null,this.selectedEventTypes=this.eventTypeOptions.map(e=>e.value),await this.applyFilters()},async onRequest({pagination:e}){this.pagination.page=e.page,this.pagination.rowsPerPage=e.rowsPerPage,await this.fetchLoginHistory()}},mounted(){this.fetchLoginHistory()}};var Ev=(0,e.A)(Nv,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("Title"),r=(0,V.g2)("q-input"),n=(0,V.g2)("q-select"),d=(0,V.g2)("q-btn"),c=(0,V.g2)("q-banner"),u=(0,V.g2)("q-table");var m=(0,V.g2)("q-page");return(0,V.uX)(),(0,V.Wv)(m,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",yv,[(0,V.Lk)("div",Lv,[(0,V.bF)(s,{desc:i.description},null,8,["desc"])])]),(0,V.Lk)("div",_v,[t[7]||(t[7]=(0,V.Lk)("div",{class:"text-body2 text-grey-7 q-mb-md"}," 계정 보안 감사용 화면입니다. 로그인 실패를 포함하며, 최대 100건씩 서버에서 조회합니다. ",-1)),(0,V.Lk)("div",wv,[(0,V.Lk)("div",xv,[(0,V.bF)(r,{modelValue:i.startDate,"onUpdate:modelValue":t[0]||(t[0]=e=>i.startDate=e),type:"date",label:"시작일",clearable:"",dense:"",outlined:""},null,8,["modelValue"])]),(0,V.Lk)("div",Cv,[(0,V.bF)(r,{modelValue:i.endDate,"onUpdate:modelValue":t[1]||(t[1]=e=>i.endDate=e),type:"date",label:"종료일",clearable:"",dense:"",outlined:""},null,8,["modelValue"])]),(0,V.Lk)("div",Sv,[(0,V.bF)(r,{modelValue:i.userId,"onUpdate:modelValue":t[2]||(t[2]=e=>i.userId=e),label:"사용자 ID",clearable:"",dense:"",outlined:""},null,8,["modelValue"])]),(0,V.Lk)("div",Fv,[(0,V.bF)(r,{modelValue:i.partnerId,"onUpdate:modelValue":t[3]||(t[3]=e=>i.partnerId=e),label:"파트너 ID",clearable:"",dense:"",outlined:""},null,8,["modelValue"])]),(0,V.Lk)("div",qv,[(0,V.bF)(n,{modelValue:i.successFilter,"onUpdate:modelValue":t[4]||(t[4]=e=>i.successFilter=e),label:"성공 여부",options:i.successOptions,"emit-value":"","map-options":"",dense:"",outlined:""},null,8,["modelValue","options"])])]),(0,V.Lk)("div",Iv,[(0,V.Lk)("div",Pv,[(0,V.bF)(n,{modelValue:i.selectedEventTypes,"onUpdate:modelValue":t[5]||(t[5]=e=>i.selectedEventTypes=e),label:"인증 이벤트",options:i.eventTypeOptions,"emit-value":"","map-options":"",multiple:"","use-chips":"",dense:"",outlined:""},null,8,["modelValue","options"])]),(0,V.Lk)("div",Av,[(0,V.bF)(d,{color:"primary",label:"조회",loading:i.loading,onClick:o.applyFilters},null,8,["loading","onClick"]),(0,V.bF)(d,{flat:"",color:"grey-8",label:"초기화",disable:i.loading,onClick:o.resetFilters},null,8,["disable","onClick"])])]),i.errorMessage?((0,V.uX)(),(0,V.Wv)(c,{key:0,class:"bg-red-1 text-negative q-mb-md",rounded:""},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(i.errorMessage),1)]),_:1})):(0,V.Q3)("",!0),(0,V.bF)(u,{rows:i.loginList,columns:i.columns,"row-key":"id",loading:i.loading,pagination:i.pagination,"onUpdate:pagination":t[6]||(t[6]=e=>i.pagination=e),"rows-per-page-options":[25,50,100],"no-data-label":"조건에 맞는 인증 이력이 없습니다.",onRequest:o.onRequest},null,8,["rows","columns","loading","pagination","onRequest"])])]),_:1})}]]);let Dv={class:"row q-mb-lg"},Ov={class:"col"},Vv={class:"comp-box"},Rv={class:"row q-col-gutter-md q-mb-md"},Mv={class:"col-12 col-sm-6 col-md-2"},$v={class:"col-12 col-sm-6 col-md-2"},Uv={class:"col-12 col-sm-6 col-md-2"},Wv={class:"col-12 col-sm-6 col-md-2"},Bv={class:"row q-col-gutter-md q-mb-md items-center"},zv={class:"col-12 col-md-9"},Xv={class:"col-12 col-md-3 row q-gutter-sm"},Kv={class:"row q-mb-md items-center q-gutter-sm"},Qv={class:"text-grey-7"},Gv={class:"row q-col-gutter-md q-mb-md text-body2"},Hv={class:"col-12 col-md-3"},jv={class:"col-12 col-md-3"},Yv={class:"col-12 col-md-3"},Zv={class:"col-12 col-md-3"};let Jv=[{label:"로그인 성공",value:"auth.login"},{label:"로그인 실패",value:"auth.login_fail"},{label:"로그아웃",value:"auth.logout"},{label:"비밀번호 재설정",value:"auth.password_reset_link_create"},{label:"API 호출",value:"api"},{label:"페이지 이동",value:"page"},{label:"클라이언트 로그",value:"client.log"}],ek={name:"Admin-user-behavior-tracking",meta:{title:"어드민-사용자 활동 로그"},components:{Title:b},data(){return{description:{title:"사용자 활동 로그",subTitle:"세션별 API 요청과 업무 활동을 조회합니다. 개인정보는 일부 마스킹됩니다."},step:1,loading:!1,detailLoading:!1,errorMessage:"",behaviorGroupList:[],selectedBehaviorGroup:{},selectedUserLogList:[],detailPagination:{page:1,rowsPerPage:50,rowsNumber:0},startDate:"",endDate:"",userId:"",partnerId:"",selectedEventTypes:[],eventTypeOptions:Jv,pagination:{page:1,rowsPerPage:50,rowsNumber:0},columns:[{name:"user_id",label:"사용자 ID",align:"center",field:"user_id"},{name:"user_name",label:"사용자명",align:"center",field:"user_name"},{name:"partner_name",label:"파트너명",align:"center",field:"partner_name"},{name:"event_count",label:"이벤트 수",align:"center",field:"event_count"},{name:"ip_text",label:"IP(마스킹)",align:"center",field:"ip_text"},{name:"first_event_utc",label:"첫 활동 (Australia/Sydney)",align:"center",field:"first_event_utc",format:this.formatDateTime},{name:"last_event_utc",label:"마지막 활동",align:"center",field:"last_event_utc",format:this.formatDateTime},{name:"group_key",label:"활동 그룹",align:"center",field:e=>this.maskSession(e.group_key)}],selectedUserLogColumns:[{name:"ts_utc",label:"시간 (Australia/Sydney)",align:"center",field:"ts_utc",format:this.formatDateTime},{name:"event_type",label:"이벤트",align:"center",field:"event_type"},{name:"url_path",label:"URL 경로",align:"left",field:"url_path"},{name:"route_from",label:"이전 경로",align:"center",field:"route_from"},{name:"route_to",label:"이후 경로",align:"center",field:"route_to"},{name:"action",label:"액션",align:"center",field:"action"},{name:"method",label:"메서드",align:"center",field:"method"},{name:"status",label:"상태",align:"center",field:"status"},{name:"ok",label:"결과",align:"center",field:"ok",format:e=>1===Number(e)?"성공":"실패"},{name:"payload",label:"정제된 payload",align:"left",field:e=>this.formatPayload(e.payload)},{name:"user_agent",label:"User-Agent",align:"left",field:"user_agent"}]}},methods:{formatDateTime(e){var t;return e?(t=new Date(e),Number.isNaN(t.getTime())?e:new Intl.DateTimeFormat("ko-KR",{timeZone:"Australia/Sydney",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1,timeZoneName:"short"}).format(t)):"-"},maskSession(e){return e?(e=String(e)).length<=10?e:e.slice(0,6)+"…"+e.slice(-4):"세션 없음"},activityIp(e){var t=Number(e?.ip_count||0);return 1[(0,V.Lk)("div",Dv,[(0,V.Lk)("div",Ov,[(0,V.bF)(s,{desc:i.description},null,8,["desc"])])]),(0,V.Lk)("div",Vv,[t[13]||(t[13]=(0,V.Lk)("div",{class:"text-body2 text-grey-7 q-mb-md"}," 장애·운영 조사용 세션 활동입니다. 서버에 기록된 API·페이지·업무 이벤트를 페이지당 최대 100건씩 보여줍니다. 세션이 없는 활동은 목록만 확인할 수 있습니다. ",-1)),1===i.step?((0,V.uX)(),(0,V.CE)(V.FK,{key:0},[(0,V.Lk)("div",Rv,[(0,V.Lk)("div",Mv,[(0,V.bF)(r,{modelValue:i.startDate,"onUpdate:modelValue":t[0]||(t[0]=e=>i.startDate=e),type:"date",label:"시작일",clearable:"",dense:"",outlined:""},null,8,["modelValue"])]),(0,V.Lk)("div",$v,[(0,V.bF)(r,{modelValue:i.endDate,"onUpdate:modelValue":t[1]||(t[1]=e=>i.endDate=e),type:"date",label:"종료일",clearable:"",dense:"",outlined:""},null,8,["modelValue"])]),(0,V.Lk)("div",Uv,[(0,V.bF)(r,{modelValue:i.userId,"onUpdate:modelValue":t[2]||(t[2]=e=>i.userId=e),label:"사용자 ID",clearable:"",dense:"",outlined:""},null,8,["modelValue"])]),(0,V.Lk)("div",Wv,[(0,V.bF)(r,{modelValue:i.partnerId,"onUpdate:modelValue":t[3]||(t[3]=e=>i.partnerId=e),label:"파트너 ID",clearable:"",dense:"",outlined:""},null,8,["modelValue"])])]),(0,V.Lk)("div",Bv,[(0,V.Lk)("div",zv,[(0,V.bF)(n,{modelValue:i.selectedEventTypes,"onUpdate:modelValue":t[4]||(t[4]=e=>i.selectedEventTypes=e),label:"이벤트 타입 (미선택 시 전체)",options:i.eventTypeOptions,"emit-value":"","map-options":"",multiple:"","use-chips":"",dense:"",outlined:""},null,8,["modelValue","options"])]),(0,V.Lk)("div",Xv,[(0,V.bF)(d,{color:"primary",label:"조회",loading:i.loading,onClick:o.applyFilters},null,8,["loading","onClick"]),(0,V.bF)(d,{flat:"",color:"grey-8",label:"초기화",disable:i.loading,onClick:o.resetFilters},null,8,["disable","onClick"])])])],64)):(0,V.Q3)("",!0),i.errorMessage?((0,V.uX)(),(0,V.Wv)(c,{key:1,class:"bg-red-1 text-negative q-mb-md",rounded:""},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(i.errorMessage),1)]),_:1})):(0,V.Q3)("",!0),1===i.step?((0,V.uX)(),(0,V.Wv)(u,{key:2,rows:i.behaviorGroupList,columns:i.columns,"row-key":"row_key",loading:i.loading,pagination:i.pagination,"onUpdate:pagination":t[5]||(t[5]=e=>i.pagination=e),"rows-per-page-options":[25,50,100],"no-data-label":"조건에 맞는 사용자 활동이 없습니다.",onRequest:o.onRequest,onRowClick:t[6]||(t[6]=(e,t)=>t.group_key&&o.fetchSelectedUserLogList(t))},null,8,["rows","columns","loading","pagination","onRequest"])):((0,V.uX)(),(0,V.CE)(V.FK,{key:3},[(0,V.Lk)("div",Kv,[(0,V.bF)(d,{icon:"chevron_left",color:"primary",label:"목록으로",onClick:t[7]||(t[7]=e=>i.step=1)}),(0,V.Lk)("span",Qv,"활동 그룹 "+(0,R.v_)(o.maskSession(i.selectedBehaviorGroup.group_key))+" · 전체 "+(0,R.v_)(i.detailPagination.rowsNumber)+"건",1)]),(0,V.Lk)("div",Gv,[(0,V.Lk)("div",Hv,[t[9]||(t[9]=(0,V.Lk)("strong",null,"사용자:",-1)),(0,V.eW)(" "+(0,R.v_)(i.selectedBehaviorGroup.user_name||i.selectedBehaviorGroup.user_id||"-"),1)]),(0,V.Lk)("div",jv,[t[10]||(t[10]=(0,V.Lk)("strong",null,"파트너:",-1)),(0,V.eW)(" "+(0,R.v_)(i.selectedBehaviorGroup.partner_name||i.selectedBehaviorGroup.partner_id||"-"),1)]),(0,V.Lk)("div",Yv,[t[11]||(t[11]=(0,V.Lk)("strong",null,"IP:",-1)),(0,V.eW)(" "+(0,R.v_)(o.activityIp(i.selectedBehaviorGroup)),1)]),(0,V.Lk)("div",Zv,[t[12]||(t[12]=(0,V.Lk)("strong",null,"이벤트:",-1)),(0,V.eW)(" "+(0,R.v_)(i.selectedBehaviorGroup.event_count||0)+"건",1)])]),(0,V.bF)(u,{rows:i.selectedUserLogList,columns:i.selectedUserLogColumns,"row-key":"id",loading:i.detailLoading,pagination:i.detailPagination,"onUpdate:pagination":t[8]||(t[8]=e=>i.detailPagination=e),"rows-per-page-options":[25,50,100],"no-data-label":"세션 상세 활동이 없습니다.",onRequest:o.onDetailRequest},null,8,["rows","columns","loading","pagination","onRequest"])],64))])]),_:1})}]]);let ak={class:"row q-mb-lg"},lk={class:"col"},ik={class:"row q-mb-md"},ok={class:"col"},sk={class:"comp-box q-pa-md"},rk={class:"row items-center q-mb-sm"},nk={class:"q-ml-sm"},dk={key:0,class:"row q-col-gutter-md q-mb-md"},ck={class:"col-12 col-md-4"},uk={class:"text-body2"},mk={class:"col-12 col-md-4"},pk={class:"text-body2"},gk={class:"col-12 col-md-4"},hk={class:"text-body2"},bk={class:"col-12 col-md-4"},fk={class:"text-body2"},vk={class:"col-12 col-md-4"},kk={class:"text-body2"},yk={class:"col-12 col-md-4"},Lk={class:"text-body2"},_k={class:"col-12 col-md-4"},wk={class:"text-body2"},xk={class:"col-12 col-md-4"},Ck={class:"text-body2"},Sk={class:"col-12 col-md-4"},Fk={class:"text-body2"},qk={key:0,class:"col-12"},Ik={class:"text-body2 text-negative"},Pk={key:1,class:"text-caption text-grey"},Ak={class:"row q-mb-md"},Tk={class:"col"},Nk={class:"comp-box q-pa-md"},Ek={class:"row items-center q-mb-sm"},Dk={key:0,class:"row items-center q-gutter-sm text-caption text-grey q-mt-sm"},Ok={class:"row"},Vk={class:"col"},Rk={class:"comp-box q-pa-md"},Mk={class:"row items-center no-wrap"},$k={class:"text-weight-medium"},Uk={class:"text-caption q-mt-xs"},Wk={key:1,class:"row q-col-gutter-md items-stretch"},Bk={class:"col-12 col-lg-4"},zk={class:"action-card action-card--recommended q-pa-md"},Xk={class:"text-subtitle1 q-mt-sm"},Kk={class:"text-caption text-grey-7 q-mt-xs"},Qk={key:2,class:"text-caption text-negative q-mt-sm"},Gk={class:"col-12 col-lg-4"},Hk={class:"action-card q-pa-md"},jk={class:"text-subtitle1 q-mt-sm"},Yk={class:"text-caption text-grey-7 q-mt-xs"},Zk={key:2,class:"text-caption text-grey-7 q-mt-sm"},Jk={class:"col-12 col-lg-4"},e1={class:"action-card q-pa-md"},t1={key:2,class:"processed-state q-pa-md"},a1={class:"text-caption text-grey-7 q-mt-xs"};var S={name:"CandidateList",props:{candidates:{type:Array,default:()=>[]}},emits:["select"],data(){return{pagination:{rowsPerPage:10},columns:[{name:"master_sku_code",label:"마스터 SKU",field:"master_sku_code",align:"left"},{name:"display_name",label:"상품명",field:"display_name",align:"left"},{name:"is_active",label:"상태",field:"is_active",align:"center"}]}},methods:{onRowClick(e,t){this.$emit("select",t.master_sku_id)}}},S=(0,e.A)(S,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-card-section"),r=(0,V.g2)("q-separator"),n=(0,V.g2)("q-badge"),d=(0,V.g2)("q-td"),c=(0,V.g2)("q-table");var u=(0,V.g2)("q-card");return(0,V.uX)(),(0,V.Wv)(u,{flat:"",bordered:""},{default:(0,V.k6)(()=>[(0,V.bF)(s,{class:"q-pa-sm"},{default:(0,V.k6)(()=>t[0]||(t[0]=[(0,V.Lk)("div",{class:"text-subtitle2"},"후보 상품 목록",-1)])),_:1,__:[0]}),(0,V.bF)(r),(0,V.bF)(c,{rows:a.candidates,columns:i.columns,"row-key":"master_sku_id",flat:"",dense:"",pagination:i.pagination,onRowClick:o.onRowClick},{"body-cell-is_active":(0,V.k6)(e=>[(0,V.bF)(d,{props:e},{default:(0,V.k6)(()=>[(0,V.bF)(n,{color:e.value?"green":"grey",outline:""},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(e.value?"Active":"Inactive"),1)]),_:2},1032,["color"])]),_:2},1032,["props"])]),_:1},8,["rows","columns","pagination","onRowClick"])]),_:1})}]]);var F={name:"StatusBadge",props:{status:{type:String,default:""}},computed:{badgeColor(){switch((this.status||"").toUpperCase()){case"REQUESTED":case"PENDING":case"DRAFT":return"blue";case"APPROVED":case"MAPPED":case"ACTIVE":case"CONFIRMED":return"green";case"PARTIAL":return"orange";case"REVIEW":return"deep-orange";case"REJECTED":return"red";default:return"grey"}},label(){switch((this.status||"").toUpperCase()){case"REQUESTED":return"요청 대기";case"APPROVED":return"승인 완료";case"MAPPED":return"정상 연결";case"PARTIAL":return"부분 연결";case"REVIEW":return"검토 필요";case"PENDING":return"승인 대기";case"REJECTED":return"반려";case"UNMAPPED":return"미연결";case"INACTIVE":return"비활성";case"ACTIVE":return"활성";case"DRAFT":return"가등록";case"CONFIRMED":return"확정등록";default:return(this.status||"UNKNOWN").toUpperCase()}}}},F=(0,e.A)(F,[["render",function(e,t,a,l,i,o){var s=(0,V.g2)("q-badge");return(0,V.uX)(),(0,V.Wv)(s,{color:o.badgeColor,outline:""},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(o.label),1)]),_:1},8,["color"])}]]),l1={name:"AdminSkuRequestDetail",components:{Title:b,CandidateList:S,StatusBadge:F,PageGuideDialog:a,FulfillmentPageGuide:x},data(){return{description:{title:"승인 대기 상세"},requestId:null,requestDetail:null,candidates:[],selectedCandidateId:null,loading:!1,candidateLoading:!1,approveLoading:!1,rejectLoading:!1,guideDialog:!1,rejectReason:""}},computed:{isPending(){return"REQUESTED"===this.requestDetail?.status},isLinkRequest(){return"LINK"===this.requestDetail?.request_type},requestTypeLabel(){return this.isLinkRequest?"연결요청":"신규등록요청"},requestGuideText(){return this.isLinkRequest?"동일 조건의 기준 상품이 있습니다. 기존 상품 연결 승인을 권장합니다.":"동일 조건의 기준 상품이 없습니다. 신규 상품 생성을 우선 검토하세요."},recommendedActionTitle(){return this.isLinkRequest?"기존 상품 연결 승인":"신규 상품 생성 후 승인"},alternativeActionTitle(){return this.isLinkRequest?"신규 상품으로 등록":"기존 상품에 연결"}},methods:{goToList(){let t={tab:"requested"};try{t=JSON.parse(String(this.$route.query?.returnQuery||'{"tab":"requested"}'))}catch(e){t={tab:"requested"}}this.$router.push({path:"/admin/fulfillment/request-mappings",query:t})},notify(e,t="negative"){this.$q&&this.$q.notify?this.$q.notify({message:e,type:t}):alert(e)},async loadDetail(){var e;this.requestId&&(this.loading=!0,e={method:"GET",url:"/api/fulfillment/admin/sku-requests/"+this.requestId,name:"[ Fulfillment / Admin 승인 상세 ]"},await this.$http(e).then(e=>{this.requestDetail=e.data?.data}).catch(()=>{this.requestDetail=null}),this.loading=!1)},async loadCandidates(){var e;this.requestDetail&&(e=this.requestDetail.spec_key||this.$makeSpecKey(this.requestDetail.spec_type,this.requestDetail.spec_detail||{}))&&(this.candidateLoading=!0,e={method:"POST",url:"/api/fulfillment/master-skus/candidates",data:{brand_id:this.requestDetail.brand_id,category_id:this.requestDetail.category_id,hs_code:this.requestDetail.hs_code,spec_type:this.requestDetail.spec_type,spec_key:e},name:"[ Fulfillment / Master SKU 후보 조회 ]"},await this.$http(e).then(e=>{this.candidates=e.data?.data||[],!this.selectedCandidateId&&this.requestDetail?.resolved_master_sku_id&&(this.selectedCandidateId=this.requestDetail.resolved_master_sku_id)}).catch(()=>{this.candidates=[]}),this.candidateLoading=!1)},onCandidateSelect(e){this.selectedCandidateId=e},goToSelectedProduct(){this.selectedCandidateId&&this.$router.push("/admin/fulfillment/master-skus/"+this.selectedCandidateId)},async approveLink(){var e;this.selectedCandidateId?(this.approveLoading=!0,e={method:"POST",url:`/api/fulfillment/admin/sku-requests/${this.requestId}/approve/link`,data:{master_sku_id:this.selectedCandidateId},name:"[ Fulfillment / 승인(A) ]"},await this.$http(e).then(()=>{this.notify("승인이 완료되었습니다.","positive"),this.loadDetail()}).catch(()=>{this.notify("승인에 실패했습니다.")}),this.approveLoading=!1):this.notify("후보를 선택하세요.")},async approveCreateMaster(){this.approveLoading=!0;var e={method:"POST",url:`/api/fulfillment/admin/sku-requests/${this.requestId}/approve/create-master`,name:"[ Fulfillment / 승인(B) ]"};await this.$http(e).then(()=>{this.notify("승인이 완료되었습니다.","positive"),this.loadDetail()}).catch(()=>{this.notify("승인에 실패했습니다.")}),this.approveLoading=!1},async rejectRequest(){var e;this.rejectReason?(this.rejectLoading=!0,e={method:"POST",url:`/api/fulfillment/admin/sku-requests/${this.requestId}/reject`,data:{reject_reason:this.rejectReason},name:"[ Fulfillment / 거절 ]"},await this.$http(e).then(()=>{this.notify("거절 처리되었습니다.","positive"),this.loadDetail()}).catch(()=>{this.notify("거절 처리에 실패했습니다.")}),this.rejectLoading=!1):this.notify("거절 사유를 입력하세요.")}},async mounted(){this.requestId=this.$route.params.id,await this.loadDetail(),await this.loadCandidates()}},l1=(v(22420),(0,e.A)(l1,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-tooltip"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("Title"),d=(0,V.g2)("StatusBadge"),c=(0,V.g2)("CandidateList"),u=(0,V.g2)("q-icon"),m=(0,V.g2)("q-banner"),p=(0,V.g2)("q-input"),g=(0,V.g2)("FulfillmentPageGuide"),h=(0,V.g2)("PageGuideDialog");var b=(0,V.g2)("q-page");return(0,V.uX)(),(0,V.Wv)(b,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",ak,[(0,V.Lk)("div",lk,[(0,V.bF)(n,{desc:i.description},{"title-action":(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",round:"",dense:"",size:"sm",color:"primary",icon:"help_outline","aria-label":"요청 상세 사용 가이드",onClick:t[0]||(t[0]=e=>i.guideDialog=!0)},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[3]||(t[3]=[(0,V.eW)("요청 상세 사용 가이드")])),_:1,__:[3]})]),_:1})]),default:(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",color:"grey-7",icon:"arrow_back",label:"목록으로",onClick:o.goToList},null,8,["onClick"])]),_:1},8,["desc"])])]),(0,V.Lk)("div",ik,[(0,V.Lk)("div",ok,[(0,V.Lk)("div",sk,[(0,V.Lk)("div",rk,[t[4]||(t[4]=(0,V.Lk)("div",{class:"text-subtitle1"},"요청 상품 정보",-1)),(0,V.Lk)("div",nk,[(0,V.bF)(d,{status:i.requestDetail?.status},null,8,["status"])])]),i.requestDetail?((0,V.uX)(),(0,V.CE)("div",dk,[(0,V.Lk)("div",ck,[t[5]||(t[5]=(0,V.Lk)("div",{class:"text-caption text-grey"},"요청 ID",-1)),(0,V.Lk)("div",uk,(0,R.v_)(i.requestDetail.request_id),1)]),(0,V.Lk)("div",mk,[t[6]||(t[6]=(0,V.Lk)("div",{class:"text-caption text-grey"},"파트너",-1)),(0,V.Lk)("div",pk,(0,R.v_)(i.requestDetail.partner_name||"#"+i.requestDetail.partner_id),1)]),(0,V.Lk)("div",gk,[t[7]||(t[7]=(0,V.Lk)("div",{class:"text-caption text-grey"},"파트너 SKU",-1)),(0,V.Lk)("div",hk,(0,R.v_)(i.requestDetail.partner_sku_code),1)]),(0,V.Lk)("div",bk,[t[8]||(t[8]=(0,V.Lk)("div",{class:"text-caption text-grey"},"바코드번호",-1)),(0,V.Lk)("div",fk,(0,R.v_)(i.requestDetail.barcode||"-"),1)]),(0,V.Lk)("div",vk,[t[9]||(t[9]=(0,V.Lk)("div",{class:"text-caption text-grey"},"브랜드/카테고리",-1)),(0,V.Lk)("div",kk,(0,R.v_)(`${i.requestDetail.brand_name||""} / `+(i.requestDetail.category_name||"")),1)]),(0,V.Lk)("div",yk,[t[10]||(t[10]=(0,V.Lk)("div",{class:"text-caption text-grey"},"HS Code",-1)),(0,V.Lk)("div",Lk,(0,R.v_)(i.requestDetail.hs_code),1)]),(0,V.Lk)("div",_k,[t[11]||(t[11]=(0,V.Lk)("div",{class:"text-caption text-grey"},"규격 타입",-1)),(0,V.Lk)("div",wk,(0,R.v_)(i.requestDetail.spec_type),1)]),(0,V.Lk)("div",xk,[t[12]||(t[12]=(0,V.Lk)("div",{class:"text-caption text-grey"},"요청 유형",-1)),(0,V.Lk)("div",Ck,(0,R.v_)(o.requestTypeLabel),1)]),(0,V.Lk)("div",Sk,[t[13]||(t[13]=(0,V.Lk)("div",{class:"text-caption text-grey"},"상품 식별키",-1)),(0,V.Lk)("div",Fk,(0,R.v_)(i.requestDetail.spec_key),1)]),i.requestDetail.reject_reason?((0,V.uX)(),(0,V.CE)("div",qk,[t[14]||(t[14]=(0,V.Lk)("div",{class:"text-caption text-grey"},"거절 사유",-1)),(0,V.Lk)("div",Ik,(0,R.v_)(i.requestDetail.reject_reason),1)])):(0,V.Q3)("",!0)])):((0,V.uX)(),(0,V.CE)("div",Pk,"요청 정보를 불러오는 중..."))])])]),(0,V.Lk)("div",Ak,[(0,V.Lk)("div",Tk,[(0,V.Lk)("div",Nk,[(0,V.Lk)("div",Ek,[t[15]||(t[15]=(0,V.Lk)("div",{class:"text-subtitle1"},"기존 상품 후보",-1)),(0,V.bF)(r,{flat:"",dense:"",label:"다시 불러오기",class:"q-ml-sm",loading:i.candidateLoading,onClick:o.loadCandidates},null,8,["loading","onClick"])]),(0,V.bF)(c,{candidates:i.candidates,onSelect:o.onCandidateSelect},null,8,["candidates","onSelect"]),i.selectedCandidateId?((0,V.uX)(),(0,V.CE)("div",Dk,[(0,V.Lk)("span",null,"선택된 상품 ID: "+(0,R.v_)(i.selectedCandidateId),1),(0,V.bF)(r,{flat:"",dense:"",color:"primary",label:"상품 상세 보기",onClick:o.goToSelectedProduct},null,8,["onClick"])])):(0,V.Q3)("",!0)])])]),(0,V.Lk)("div",Ok,[(0,V.Lk)("div",Vk,[(0,V.Lk)("div",Rk,[t[22]||(t[22]=(0,V.Lk)("div",{class:"text-subtitle1 q-mb-md"},"처리 액션",-1)),i.requestDetail?((0,V.uX)(),(0,V.Wv)(m,{key:0,rounded:"",class:(0,R.C4)(["action-guide q-mb-md",o.isLinkRequest?"action-guide--link":"action-guide--create"])},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Mk,[(0,V.bF)(u,{name:o.isLinkRequest?"link":"add_box",color:"primary",size:"24px",class:"q-mr-sm"},null,8,["name"]),(0,V.Lk)("div",null,[(0,V.Lk)("div",$k,(0,R.v_)(o.requestTypeLabel),1),(0,V.Lk)("div",Uk,(0,R.v_)(o.requestGuideText),1)])])]),_:1},8,["class"])):(0,V.Q3)("",!0),o.isPending?((0,V.uX)(),(0,V.CE)("div",Wk,[(0,V.Lk)("div",Bk,[(0,V.Lk)("div",zk,[t[16]||(t[16]=(0,V.Lk)("div",{class:"action-card-label"},"권장 처리",-1)),(0,V.Lk)("div",Xk,(0,R.v_)(o.recommendedActionTitle),1),(0,V.Lk)("div",Kk,(0,R.v_)(o.isLinkRequest?"선택한 기존 상품과 파트너 SKU를 연결합니다.":"요청 정보로 새 기준 상품을 생성하고 연결합니다."),1),o.isLinkRequest?((0,V.uX)(),(0,V.Wv)(r,{key:0,color:"positive",icon:"link",label:"기존 상품 연결 승인",disable:!i.selectedCandidateId,loading:i.approveLoading,onClick:o.approveLink,class:"full-width q-mt-md"},null,8,["disable","loading","onClick"])):((0,V.uX)(),(0,V.Wv)(r,{key:1,color:"primary",icon:"add_box",label:"신규 상품 생성 후 승인",loading:i.approveLoading,onClick:o.approveCreateMaster,class:"full-width q-mt-md"},null,8,["loading","onClick"])),o.isLinkRequest&&!i.selectedCandidateId?((0,V.uX)(),(0,V.CE)("div",Qk," 기존 상품 후보를 먼저 선택하세요. ")):(0,V.Q3)("",!0)])]),(0,V.Lk)("div",Gk,[(0,V.Lk)("div",Hk,[t[17]||(t[17]=(0,V.Lk)("div",{class:"action-card-label"},"다른 방식으로 처리",-1)),(0,V.Lk)("div",jk,(0,R.v_)(o.alternativeActionTitle),1),(0,V.Lk)("div",Yk,(0,R.v_)(o.isLinkRequest?"기존 후보가 적절하지 않은 예외 상황에서 사용합니다.":"적절한 기존 상품 후보가 있을 때 연결 방식으로 처리합니다."),1),o.isLinkRequest?((0,V.uX)(),(0,V.Wv)(r,{key:0,outline:"",color:"primary",icon:"add_box",label:"신규 상품으로 등록",loading:i.approveLoading,onClick:o.approveCreateMaster,class:"full-width q-mt-md"},null,8,["loading","onClick"])):((0,V.uX)(),(0,V.Wv)(r,{key:1,outline:"",color:"positive",icon:"link",label:"기존 상품에 연결",disable:!i.selectedCandidateId,loading:i.approveLoading,onClick:o.approveLink,class:"full-width q-mt-md"},null,8,["disable","loading","onClick"])),o.isLinkRequest||i.selectedCandidateId?(0,V.Q3)("",!0):((0,V.uX)(),(0,V.CE)("div",Zk," 연결하려면 기존 상품 후보를 먼저 선택하세요. "))])]),(0,V.Lk)("div",Jk,[(0,V.Lk)("div",e1,[t[18]||(t[18]=(0,V.Lk)("div",{class:"action-card-label"},"반려 처리",-1)),t[19]||(t[19]=(0,V.Lk)("div",{class:"text-subtitle1 q-mt-sm"},"요청 반려",-1)),t[20]||(t[20]=(0,V.Lk)("div",{class:"text-caption text-grey-7 q-mt-xs q-mb-md"}," 보완이 필요한 내용을 파트너에게 전달합니다. ",-1)),(0,V.bF)(p,{modelValue:i.rejectReason,"onUpdate:modelValue":t[1]||(t[1]=e=>i.rejectReason=e),label:"반려 사유",type:"textarea",autogrow:"",dense:"",outlined:""},null,8,["modelValue"]),(0,V.bF)(r,{outline:"",color:"negative",icon:"block",label:"요청 반려",loading:i.rejectLoading,onClick:o.rejectRequest,class:"full-width q-mt-md"},null,8,["loading","onClick"])])])])):((0,V.uX)(),(0,V.CE)("div",t1,[(0,V.bF)(u,{name:"check_circle",color:"positive",size:"24px",class:"q-mr-sm"}),(0,V.Lk)("div",null,[t[21]||(t[21]=(0,V.Lk)("div",{class:"text-weight-medium"},"이미 처리된 요청입니다.",-1)),(0,V.Lk)("div",a1," 현재 상태는 "+(0,R.v_)(i.requestDetail?.status||"-")+" 입니다. ",1)])]))])])]),(0,V.bF)(h,{modelValue:i.guideDialog,"onUpdate:modelValue":t[2]||(t[2]=e=>i.guideDialog=e),title:"요청 상세 사용 가이드",description:"파트너 요청 확인과 승인 또는 반려 처리 방법입니다."},{default:(0,V.k6)(()=>[(0,V.bF)(g,{"guide-key":"requestDetail"})]),_:1},8,["modelValue"])]),_:1})}],["__scopeId","data-v-79fe44a8"]]));let i1={class:"row q-mb-lg"},o1={class:"col"},s1={class:"row q-mb-md"},r1={class:"col"},n1={class:"comp-box"},d1={class:"row q-col-gutter-sm q-mt-md"},c1={class:"col-12 col-md"},u1={class:"col-12 col-md-auto"},m1={class:"quick-filter-row q-mt-md"},p1={class:"row q-col-gutter-md"},g1={class:"col-12 col-md-3"},h1={class:"col-12 col-md-3"},b1={class:"col-12 col-md-2"},f1={class:"col-12 col-md-2"},v1={class:"col-12 col-md-2"},k1={class:"col-12 col-md-2"},y1={key:0,class:"applied-filter-row q-mt-md"},L1={class:"row"},_1={class:"col"},w1={class:"comp-box"},x1={class:"row items-center justify-between q-mb-md"},C1={class:"text-body2 text-grey-7 q-ml-sm"},S1={class:"partner-names ellipsis"},F1={class:"partner-names ellipsis"},q1={class:"full-width column flex-center q-pa-xl text-grey-7"},I1={class:"row items-center justify-between q-pa-md table-load-more"},P1={class:"text-caption text-grey-7"};var q={name:"DataTable",props:{rows:{type:Array,default:()=>[]},columns:{type:Array,default:()=>[]},rowKey:{type:String,default:"id"},loading:{type:Boolean,default:!1},pagination:{type:Object,default:()=>({rowsPerPage:10})}},emits:["row-click"],methods:{onRowClick(e,t){this.$emit("row-click",{evt:e,row:t})}}},q=(0,e.A)(q,[["render",function(a,e,t,l,i,o){var s=(0,V.g2)("q-table");return(0,V.uX)(),(0,V.Wv)(s,{rows:t.rows,columns:t.columns,"row-key":t.rowKey,loading:t.loading,pagination:t.pagination,onRowClick:o.onRowClick},(0,V.eX)({_:2},[(0,V.pI)(a.$slots,(e,t)=>({name:t,fn:(0,V.k6)(e=>[(0,V.RG)(a.$slots,t,(0,R._B)((0,V.Ng)(e||{})))])}))]),1032,["rows","columns","row-key","loading","pagination","onRowClick"])}]]),A1={name:"AdminMasterSkuList",components:{Title:b,StatusBadge:F,DataTable:q,PageGuideDialog:a,FulfillmentPageGuide:x},data(){return{description:{title:"목록 조회"},filters:{brand_id:"",category_id:"",hs_code:"",spec_type:"",is_active:"",registration_status:"",mapping_status:"",q:""},specTypeOptions:[{label:"전체",value:""},{label:"APPAREL_SIZE",value:"APPAREL_SIZE"},{label:"PRODUCT_OPTION",value:"PRODUCT_OPTION"},{label:"PACK_COUNT",value:"PACK_COUNT"}],activeOptions:[{label:"전체",value:""},{label:"활성",value:!0},{label:"비활성",value:!1}],registrationStatusOptions:[{label:"전체",value:""},{label:"가등록",value:"DRAFT"},{label:"확정등록",value:"CONFIRMED"}],rows:[],listLoading:!1,loadingMore:!1,hasNext:!1,guideDialog:!1,pagination:{page:1,rowsPerPage:20},masterDataLoading:!1,brands:[],categories:[],packUnitTypes:[]}},computed:{quickFilters(){return[{label:"전체",value:"",icon:"inventory_2"},{label:"정상 연결",value:"MAPPED",icon:"link"},{label:"미연결",value:"UNMAPPED",icon:"link_off"},{label:"비활성",value:"INACTIVE",icon:"block"}]},appliedFilters(){var e=[],t=this.brands.find(e=>e.brand_id===this.filters.brand_id),a=this.categories.find(e=>e.category_id===this.filters.category_id);return this.filters.q&&e.push({key:"q",label:"검색어: "+this.filters.q}),t&&e.push({key:"brand_id",label:"브랜드: "+t.name}),a&&e.push({key:"category_id",label:"카테고리: "+a.name}),this.filters.hs_code&&e.push({key:"hs_code",label:"HS CODE: "+this.filters.hs_code}),this.filters.spec_type&&e.push({key:"spec_type",label:"규격: "+this.filters.spec_type}),""!==this.filters.is_active&&e.push({key:"is_active",label:"활성 여부: "+(this.filters.is_active?"활성":"비활성")}),this.filters.registration_status&&(t=this.registrationStatusOptions.find(e=>e.value===this.filters.registration_status),e.push({key:"registration_status",label:"등록상태: "+(t?.label||this.filters.registration_status)})),this.filters.mapping_status&&(a=this.quickFilters.find(e=>e.value===this.filters.mapping_status),e.push({key:"mapping_status",label:"연결 상태: "+(a?.label||this.filters.mapping_status)})),e},columns(){return[{name:"display_name",label:"상품명",field:"display_name",align:"left"},{name:"master_sku_code",label:"마스터 SKU",field:"master_sku_code",align:"left"},{name:"barcode",label:"바코드",field:e=>e.barcode||"-",align:"left"},{name:"brand_name",label:"브랜드",field:"brand_name",align:"left"},{name:"category_name",label:"카테고리",field:"category_name",align:"left"},{name:"hs_code",label:"HS CODE",field:"hs_code",align:"left"},{name:"partner_sku_count",label:"연결 SKU",field:"partner_sku_count",align:"right"},{name:"mapping_status",label:"연결 상태",field:"mapping_status",align:"center"},{name:"partner_names",label:"연결 파트너",field:e=>e.partner_names||"-",align:"left"},{name:"partner_barcodes",label:"연결 바코드",field:e=>e.partner_barcodes||e.request_barcodes||"-",align:"left"},{name:"registration_status",label:"등록상태",field:e=>e.registration_status||"CONFIRMED",align:"center"},{name:"is_active",label:"활성",field:e=>e.is_active?"ACTIVE":"INACTIVE",align:"center"},{name:"updated_at",label:"최근 수정일",field:e=>this.formatDateTime(e.updated_at),align:"left"},{name:"actions",label:"",field:"actions",align:"center"}]},tablePagination(){return{page:1,rowsPerPage:0}}},methods:{applyRouteFilters(){var e=this.$route?.query||{},t=e=>e&&/^\d+$/.test(String(e))?Number(e):e||"";this.filters={brand_id:t(e.brand_id),category_id:t(e.category_id),hs_code:String(e.hs_code||""),spec_type:String(e.spec_type||""),is_active:"true"===e.is_active||"false"!==e.is_active&&"",registration_status:String(e.registration_status||""),mapping_status:String(e.mapping_status||""),q:String(e.q||"")}},syncRouteFilters(){let a={};Object.entries(this.filters).forEach(([e,t])=>{""!==t&&null!=t&&(a[e]=String(t))}),this.$router.replace({path:this.$route.path,query:a}).catch(()=>{})},applyRouteContext(){var e=String(this.$route?.meta?.title||"").replace(/^Aone 관리자 \|\s*/,"");e&&(this.description.title=e)},async loadMasterData(){this.masterDataLoading=!0;await this.$http({method:"GET",url:"/api/fulfillment/brands",name:"[ Fulfillment / 브랜드 목록 ]"}).then(e=>{this.brands=e.data?.data||[]}).catch(()=>{this.brands=[]}),await this.$http({method:"GET",url:"/api/fulfillment/categories",name:"[ Fulfillment / 카테고리 목록 ]"}).then(e=>{this.categories=e.data?.data||[]}).catch(()=>{this.categories=[]}),await this.$http({method:"GET",url:"/api/fulfillment/pack-unit-types",name:"[ Fulfillment / 패키지 단위 목록 ]"}).then(e=>{this.packUnitTypes=e.data?.data||[]}).catch(()=>{this.packUnitTypes=[]}),this.masterDataLoading=!1},async loadList(){this.listLoading=!0,this.hasNext=!1;var e={method:"GET",url:"/api/fulfillment/admin/master-skus?"+new URLSearchParams({brand_id:this.filters.brand_id||"",category_id:this.filters.category_id||"",hs_code:this.filters.hs_code||"",spec_type:this.filters.spec_type||"",is_active:""===this.filters.is_active?"":String(this.filters.is_active),registration_status:this.filters.registration_status||"",mapping_status:this.filters.mapping_status||"",q:this.filters.q||"",page:String(this.pagination.page),pageSize:String(this.pagination.rowsPerPage),lazy:"1"}).toString(),name:"[ Fulfillment / Master SKU 목록 ]"};await this.$http(e).then(e=>{e=e.data?.data;Array.isArray(e)?this.rows=e:Array.isArray(e?.items)?this.rows=e.items:Array.isArray(e?.list)?this.rows=e.list:this.rows=[],this.hasNext=Boolean(e?.hasNext)}).catch(()=>{this.rows=[],this.hasNext=!1}),this.listLoading=!1},async loadMore(){var e;this.listLoading||this.loadingMore||!this.hasNext||(this.loadingMore=!0,this.pagination.page+=1,e={method:"GET",url:"/api/fulfillment/admin/master-skus?"+new URLSearchParams({brand_id:this.filters.brand_id||"",category_id:this.filters.category_id||"",hs_code:this.filters.hs_code||"",spec_type:this.filters.spec_type||"",is_active:""===this.filters.is_active?"":String(this.filters.is_active),registration_status:this.filters.registration_status||"",mapping_status:this.filters.mapping_status||"",q:this.filters.q||"",page:String(this.pagination.page),pageSize:String(this.pagination.rowsPerPage),lazy:"1"}).toString(),name:"[ Fulfillment / Master SKU 목록 더보기 ]"},await this.$http(e).then(e=>{var e=e.data?.data,t=Array.isArray(e)?e:Array.isArray(e?.items)?e.items:Array.isArray(e?.list)?e.list:[];this.rows=[...this.rows,...t],this.hasNext=Boolean(e?.hasNext)}).catch(()=>{--this.pagination.page,this.hasNext=!1}),this.loadingMore=!1)},onSearch(){this.pagination.page=1,this.hasNext=!1,this.syncRouteFilters(),this.loadList()},setMappingStatus(e){this.filters.mapping_status=e,this.onSearch()},removeFilter(e){this.filters[e]="",this.onSearch()},resetFilters(){Object.keys(this.filters).forEach(e=>{this.filters[e]=""}),this.onSearch()},formatDateTime(e){return e?this.$formatDate(e,"YYYY-MM-DD HH:mm:ss"):"-"},goToRegister(){this.$router.push("/admin/fulfillment/products/register")},goToDetail(e){e&&e.master_sku_id&&this.$router.push({path:"/admin/fulfillment/master-skus/"+e.master_sku_id,query:{returnQuery:JSON.stringify(this.$route.query||{})}})},onRowClick({row:e}){this.goToDetail(e)}},mounted(){this.applyRouteContext(),this.applyRouteFilters(),this.loadMasterData(),this.loadList()}},A1=(v(83935),(0,e.A)(A1,[["render",function(e,a,t,l,i,o){let s=(0,V.g2)("q-tooltip"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("Title"),d=(0,V.g2)("q-icon"),c=(0,V.g2)("q-input"),u=(0,V.g2)("q-separator"),m=(0,V.g2)("q-select"),p=(0,V.g2)("q-chip"),g=(0,V.g2)("StatusBadge"),h=(0,V.g2)("q-td"),b=(0,V.g2)("DataTable"),f=(0,V.g2)("FulfillmentPageGuide"),v=(0,V.g2)("PageGuideDialog");var k=(0,V.g2)("q-page");return(0,V.uX)(),(0,V.Wv)(k,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",i1,[(0,V.Lk)("div",o1,[(0,V.bF)(n,{desc:i.description},{"title-action":(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",round:"",dense:"",size:"sm",color:"primary",icon:"help_outline","aria-label":"목록 조회 사용 가이드",onClick:a[0]||(a[0]=e=>i.guideDialog=!0)},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>a[9]||(a[9]=[(0,V.eW)("목록 조회 사용 가이드")])),_:1,__:[9]})]),_:1})]),default:(0,V.k6)(()=>[(0,V.bF)(r,{color:"primary",icon:"add",label:"신규 등록",unelevated:"",onClick:o.goToRegister},null,8,["onClick"])]),_:1},8,["desc"])])]),(0,V.Lk)("div",s1,[(0,V.Lk)("div",r1,[(0,V.Lk)("div",n1,[a[11]||(a[11]=(0,V.Lk)("div",{class:"text-subtitle1 text-weight-bold"},"상품 검색",-1)),a[12]||(a[12]=(0,V.Lk)("div",{class:"text-body2 text-grey-7 q-mt-xs"},"상품 기준으로 마스터 SKU와 파트너 SKU 연결 현황을 확인합니다.",-1)),(0,V.Lk)("div",d1,[(0,V.Lk)("div",c1,[(0,V.bF)(c,{modelValue:i.filters.q,"onUpdate:modelValue":a[1]||(a[1]=e=>i.filters.q=e),label:"상품명 / 마스터 SKU / 브랜드 / 바코드 검색",dense:"",outlined:"",clearable:"",onKeyup:(0,I.jR)(o.onSearch,["enter"])},{prepend:(0,V.k6)(()=>[(0,V.bF)(d,{name:"search"})]),_:1},8,["modelValue","onKeyup"])]),(0,V.Lk)("div",u1,[(0,V.bF)(r,{color:"primary",icon:"search",label:"검색",unelevated:"",onClick:o.onSearch},null,8,["onClick"]),(0,V.bF)(r,{class:"q-ml-sm",color:"grey-7",icon:"restart_alt",label:"초기화",flat:"",onClick:o.resetFilters},null,8,["onClick"])])]),(0,V.Lk)("div",m1,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(o.quickFilters,t=>((0,V.uX)(),(0,V.Wv)(r,{key:t.value||"all",color:i.filters.mapping_status===t.value?"primary":"grey-7",flat:i.filters.mapping_status!==t.value,outline:i.filters.mapping_status!==t.value,icon:t.icon,label:t.label,dense:"","no-caps":"",onClick:e=>o.setMappingStatus(t.value)},null,8,["color","flat","outline","icon","label","onClick"]))),128))]),(0,V.bF)(u,{class:"q-my-md"}),a[13]||(a[13]=(0,V.Lk)("div",{class:"text-caption text-weight-bold text-grey-7 q-mb-sm"},"상세 조건",-1)),(0,V.Lk)("div",p1,[(0,V.Lk)("div",g1,[(0,V.bF)(m,{modelValue:i.filters.brand_id,"onUpdate:modelValue":a[2]||(a[2]=e=>i.filters.brand_id=e),options:i.brands,"option-label":"name","option-value":"brand_id","emit-value":"","map-options":"",label:"브랜드",dense:"",outlined:"",clearable:""},null,8,["modelValue","options"])]),(0,V.Lk)("div",h1,[(0,V.bF)(m,{modelValue:i.filters.category_id,"onUpdate:modelValue":a[3]||(a[3]=e=>i.filters.category_id=e),options:i.categories,"option-label":"name","option-value":"category_id","emit-value":"","map-options":"",label:"카테고리",dense:"",outlined:"",clearable:""},null,8,["modelValue","options"])]),(0,V.Lk)("div",b1,[(0,V.bF)(c,{modelValue:i.filters.hs_code,"onUpdate:modelValue":a[4]||(a[4]=e=>i.filters.hs_code=e),label:"HS CODE",dense:"",outlined:"",clearable:""},null,8,["modelValue"])]),(0,V.Lk)("div",f1,[(0,V.bF)(m,{modelValue:i.filters.spec_type,"onUpdate:modelValue":a[5]||(a[5]=e=>i.filters.spec_type=e),options:i.specTypeOptions,"emit-value":"","map-options":"",label:"규격 타입",dense:"",outlined:"",clearable:""},null,8,["modelValue","options"])]),(0,V.Lk)("div",v1,[(0,V.bF)(m,{modelValue:i.filters.is_active,"onUpdate:modelValue":a[6]||(a[6]=e=>i.filters.is_active=e),options:i.activeOptions,"emit-value":"","map-options":"",label:"활성 여부",dense:"",outlined:"",clearable:""},null,8,["modelValue","options"])]),(0,V.Lk)("div",k1,[(0,V.bF)(m,{modelValue:i.filters.registration_status,"onUpdate:modelValue":a[7]||(a[7]=e=>i.filters.registration_status=e),options:i.registrationStatusOptions,"emit-value":"","map-options":"",label:"등록상태",dense:"",outlined:"",clearable:""},null,8,["modelValue","options"])])]),o.appliedFilters.length?((0,V.uX)(),(0,V.CE)("div",y1,[a[10]||(a[10]=(0,V.Lk)("span",{class:"text-caption text-grey-7"},"적용 조건",-1)),((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(o.appliedFilters,t=>((0,V.uX)(),(0,V.Wv)(p,{key:t.key,removable:"",color:"blue-1","text-color":"primary",onRemove:e=>o.removeFilter(t.key)},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(t.label),1)]),_:2},1032,["onRemove"]))),128))])):(0,V.Q3)("",!0)])])]),(0,V.Lk)("div",L1,[(0,V.Lk)("div",_1,[(0,V.Lk)("div",w1,[(0,V.Lk)("div",x1,[(0,V.Lk)("div",null,[a[14]||(a[14]=(0,V.Lk)("span",{class:"text-subtitle1 text-weight-bold"},"조회 결과",-1)),(0,V.Lk)("span",C1,"현재 "+(0,R.v_)(i.rows.length.toLocaleString())+"건 표시",1)]),a[15]||(a[15]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"행을 선택하거나 상세보기 아이콘을 눌러 상품 정보를 확인하세요.",-1))]),(0,V.bF)(b,{rows:i.rows,columns:o.columns,"row-key":"master_sku_id",loading:i.listLoading,pagination:o.tablePagination,onRowClick:o.onRowClick},{"body-cell-mapping_status":(0,V.k6)(e=>[(0,V.bF)(h,{props:e},{default:(0,V.k6)(()=>[(0,V.bF)(g,{status:e.value},null,8,["status"])]),_:2},1032,["props"])]),"body-cell-is_active":(0,V.k6)(e=>[(0,V.bF)(h,{props:e},{default:(0,V.k6)(()=>[(0,V.bF)(g,{status:e.value},null,8,["status"])]),_:2},1032,["props"])]),"body-cell-registration_status":(0,V.k6)(e=>[(0,V.bF)(h,{props:e},{default:(0,V.k6)(()=>[(0,V.bF)(g,{status:e.value},null,8,["status"])]),_:2},1032,["props"])]),"body-cell-partner_names":(0,V.k6)(e=>[(0,V.bF)(h,{props:e},{default:(0,V.k6)(()=>[(0,V.Lk)("div",S1,[(0,V.eW)((0,R.v_)(e.value)+" ",1),"-"!==e.value?((0,V.uX)(),(0,V.Wv)(s,{key:0},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(e.value),1)]),_:2},1024)):(0,V.Q3)("",!0)])]),_:2},1032,["props"])]),"body-cell-partner_barcodes":(0,V.k6)(e=>[(0,V.bF)(h,{props:e},{default:(0,V.k6)(()=>[(0,V.Lk)("div",F1,[(0,V.eW)((0,R.v_)(e.value)+" ",1),"-"!==e.value?((0,V.uX)(),(0,V.Wv)(s,{key:0},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(e.value),1)]),_:2},1024)):(0,V.Q3)("",!0)])]),_:2},1032,["props"])]),"body-cell-actions":(0,V.k6)(t=>[(0,V.bF)(h,{props:t},{default:(0,V.k6)(()=>[(0,V.bF)(r,{icon:"open_in_new",color:"primary",flat:"",round:"",dense:"","aria-label":"상품 상세보기",onClick:(0,I.D$)(e=>o.goToDetail(t.row),["stop"])},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>a[16]||(a[16]=[(0,V.eW)("상품 상세보기")])),_:1,__:[16]})]),_:2},1032,["onClick"])]),_:2},1032,["props"])]),"no-data":(0,V.k6)(()=>[(0,V.Lk)("div",q1,[(0,V.bF)(d,{name:"search_off",size:"36px",class:"q-mb-sm"}),a[17]||(a[17]=(0,V.Lk)("div",{class:"text-body2"},"조건에 맞는 상품이 없습니다.",-1)),a[18]||(a[18]=(0,V.Lk)("div",{class:"text-caption q-mt-xs"},"검색어 또는 필터 조건을 변경해 다시 조회하세요.",-1))])]),_:1},8,["rows","columns","loading","pagination","onRowClick"]),(0,V.Lk)("div",I1,[(0,V.Lk)("div",P1," 현재 "+(0,R.v_)(i.rows.length.toLocaleString())+"건 표시 ",1),i.hasNext?((0,V.uX)(),(0,V.Wv)(r,{key:0,outline:"",color:"primary",label:"더보기",loading:i.loadingMore,disable:i.listLoading||i.loadingMore,onClick:o.loadMore},null,8,["loading","disable","onClick"])):(0,V.Q3)("",!0)])])])]),(0,V.bF)(v,{modelValue:i.guideDialog,"onUpdate:modelValue":a[8]||(a[8]=e=>i.guideDialog=e),title:"목록 조회 사용 가이드",description:"등록된 기준 상품 검색과 연결 현황 확인 방법입니다."},{default:(0,V.k6)(()=>[(0,V.bF)(f,{"guide-key":"masterSkuList"})]),_:1},8,["modelValue"])]),_:1})}],["__scopeId","data-v-6ea7861c"]]));let T1={class:"row q-mb-lg"},N1={class:"col"},E1={class:"comp-box q-pa-md"},D1={class:"q-mb-md"},O1={class:"sku-form-sections"},V1={class:"sku-form-section"},R1={class:"sku-form-section__header sku-form-section__header--split"},M1={class:"row q-col-gutter-md"},$1={class:"col-12 col-md-6"},U1={class:"col-12 col-md-3"},W1={class:"col-12 col-md-3"},B1={class:"sku-form-section"},z1={class:"row q-col-gutter-md"},X1={class:"col-12 col-md-4"},K1={class:"col-12 col-md-4"},Q1={class:"col-12 col-md-4"},G1={class:"sku-form-section"},H1={class:"row q-col-gutter-md items-center"},j1={class:"col-12 col-md-2"},Y1={class:"col-12 col-md-2"},Z1={class:"col-12 col-md-2"},J1={class:"col-12 col-md-2"},ey={class:"col-12 col-md-2"},ty={class:"sku-form-section"},ay={class:"row q-col-gutter-md"},ly={class:"col-12 col-md-4"},iy={class:"col-12"},oy={class:"sku-form-section"},sy={class:"row q-col-gutter-md"},ry={class:"col-12 col-md-6"},ny={class:"col-12 col-md-6"},dy={class:"excel-intro q-mb-md"},cy={class:"row q-gutter-sm items-center"},uy={class:"excel-workflow q-pa-md q-mb-md"},my={class:"row q-col-gutter-lg items-stretch"},py={class:"col-12 col-lg-5"},gy={class:"workflow-block"},hy={class:"row items-center no-wrap"},by={class:"ellipsis"},fy={class:"text-body2 ellipsis"},vy={class:"text-caption text-grey-7"},ky={class:"row q-gutter-xs justify-end no-wrap"},yy={class:"col-12 col-lg-7"},Ly={class:"workflow-block"},_y={class:"row q-gutter-sm items-center excel-action-row"},wy={class:"row q-col-gutter-md q-mb-md items-stretch"},xy={class:"col-12 col-md-4"},Cy={class:"comp-box q-pa-md excel-summary-card"},Sy={class:"row items-center justify-between"},Fy={class:"text-h5 q-mt-xs"},qy={class:"col-12 col-md-4"},Iy={class:"comp-box q-pa-md excel-summary-card excel-summary-card--valid"},Py={class:"row items-center justify-between"},Ay={class:"text-h5 q-mt-xs text-green-10"},Ty={class:"col-12 col-md-4"},Ny={class:"comp-box q-pa-md excel-summary-card excel-summary-card--invalid"},Ey={class:"row items-center justify-between"},Dy={class:"text-h5 q-mt-xs text-red-10"},Oy={class:"import-review"},Vy={class:"row items-center justify-between q-mb-md"},Ry={key:0,class:"import-grid"},My={class:"text-center"},$y={style:{"min-width":"280px"}},Uy={class:"text-center"},Wy={class:"text-left text-negative"},By={key:0},zy={key:1,class:"text-green-8"},Xy={class:"text-center"},Ky={key:1,class:"excel-empty-state"};let Qy={key:0,class:"row q-col-gutter-md"},Gy={class:"col-12 col-md-4"},Hy={class:"col-12 col-md-4"},jy={class:"col-12 col-md-4"},Yy={key:1,class:"row q-col-gutter-md"},Zy={class:"col-12 col-md-6"},Jy={class:"col-12 col-md-6"},eL={key:2,class:"row q-col-gutter-md"},tL={class:"col-12 col-md-6"},aL={key:3,class:"row q-col-gutter-md"},lL={class:"col-12 col-md-4"},iL={class:"col-12 col-md-4"},oL={class:"col-12 col-md-4"},sL={key:4,class:"row q-col-gutter-md"},rL={class:"col-12 col-md-4"},nL={class:"col-12 col-md-4"},dL={class:"col-12 col-md-4"},cL={key:5,class:"text-caption text-grey"};var uL={name:"SpecTypeForm",props:{specType:{type:String,default:""},modelValue:{type:Object,default:()=>({})}},data(){return{syncingFromParent:!1,local:{...this.buildLocalState(this.modelValue)},volumeUnits:[{label:"ml",value:"ml"},{label:"L",value:"L"}]}},methods:{buildLocalState(e={}){return{volume_unit:"ml",pack_uom:"ea",...e||{}}},isSameState(e={},t={}){return JSON.stringify(e||{})===JSON.stringify(t||{})}},watch:{modelValue:{deep:!0,immediate:!0,handler(e){e=this.buildLocalState(e);this.isSameState(this.local,e)||(this.syncingFromParent=!0,this.local=e)}},local:{deep:!0,handler(e){this.syncingFromParent?this.syncingFromParent=!1:this.isSameState(this.modelValue,e)||this.$emit("update:modelValue",{...e})}},specType(){var e=this.buildLocalState(this.local);this.isSameState(this.local,e)||(this.syncingFromParent=!0,this.local=e)}}},uL=(0,e.A)(uL,[["render",function(e,t,a,l,i,o){var s=(0,V.g2)("q-input"),r=(0,V.g2)("q-select");return(0,V.uX)(),(0,V.CE)("div",null,["DIMENSION"===a.specType?((0,V.uX)(),(0,V.CE)("div",Qy,[(0,V.Lk)("div",Gy,[(0,V.bF)(s,{modelValue:i.local.length_cm,"onUpdate:modelValue":t[0]||(t[0]=e=>i.local.length_cm=e),modelModifiers:{number:!0},label:"Length (cm)",type:"number",dense:"",outlined:""},null,8,["modelValue"])]),(0,V.Lk)("div",Hy,[(0,V.bF)(s,{modelValue:i.local.width_cm,"onUpdate:modelValue":t[1]||(t[1]=e=>i.local.width_cm=e),modelModifiers:{number:!0},label:"Width (cm)",type:"number",dense:"",outlined:""},null,8,["modelValue"])]),(0,V.Lk)("div",jy,[(0,V.bF)(s,{modelValue:i.local.height_cm,"onUpdate:modelValue":t[2]||(t[2]=e=>i.local.height_cm=e),modelModifiers:{number:!0},label:"Height (cm)",type:"number",dense:"",outlined:""},null,8,["modelValue"])])])):"VOLUME"===a.specType?((0,V.uX)(),(0,V.CE)("div",Yy,[(0,V.Lk)("div",Zy,[(0,V.bF)(s,{modelValue:i.local.volume_value,"onUpdate:modelValue":t[3]||(t[3]=e=>i.local.volume_value=e),modelModifiers:{number:!0},label:"Volume",type:"number",dense:"",outlined:""},null,8,["modelValue"])]),(0,V.Lk)("div",Jy,[(0,V.bF)(r,{modelValue:i.local.volume_unit,"onUpdate:modelValue":t[4]||(t[4]=e=>i.local.volume_unit=e),options:i.volumeUnits,label:"Unit",dense:"",outlined:"","emit-value":"","map-options":""},null,8,["modelValue","options"])])])):"APPAREL_SIZE"===a.specType?((0,V.uX)(),(0,V.CE)("div",eL,[(0,V.Lk)("div",tL,[(0,V.bF)(s,{modelValue:i.local.apparel_size,"onUpdate:modelValue":t[5]||(t[5]=e=>i.local.apparel_size=e),label:"Apparel Size",dense:"",outlined:"",placeholder:"S / M / L / XL"},null,8,["modelValue"])])])):"PRODUCT_OPTION"===a.specType?((0,V.uX)(),(0,V.CE)("div",aL,[(0,V.Lk)("div",lL,[(0,V.bF)(s,{modelValue:i.local.model_code,"onUpdate:modelValue":t[6]||(t[6]=e=>i.local.model_code=e),label:"모델코드",dense:"",outlined:"",placeholder:"OB362"},null,8,["modelValue"])]),(0,V.Lk)("div",iL,[(0,V.bF)(s,{modelValue:i.local.color,"onUpdate:modelValue":t[7]||(t[7]=e=>i.local.color=e),label:"색상",dense:"",outlined:"",placeholder:"Chestnut"},null,8,["modelValue"])]),(0,V.Lk)("div",oL,[(0,V.bF)(s,{modelValue:i.local.size,"onUpdate:modelValue":t[8]||(t[8]=e=>i.local.size=e),label:"사이즈",dense:"",outlined:"",placeholder:"L5 / 36 / M"},null,8,["modelValue"])])])):"PACK_COUNT"===a.specType?((0,V.uX)(),(0,V.CE)("div",sL,[(0,V.Lk)("div",rL,[(0,V.bF)(s,{modelValue:i.local.pack_unit_type_code,"onUpdate:modelValue":t[9]||(t[9]=e=>i.local.pack_unit_type_code=e),label:"Pack Unit Type Code",dense:"",outlined:"",placeholder:"TABLET"},null,8,["modelValue"])]),(0,V.Lk)("div",nL,[(0,V.bF)(s,{modelValue:i.local.pack_count,"onUpdate:modelValue":t[10]||(t[10]=e=>i.local.pack_count=e),modelModifiers:{number:!0},label:"Pack Count",type:"number",dense:"",outlined:""},null,8,["modelValue"])]),(0,V.Lk)("div",dL,[(0,V.bF)(s,{modelValue:i.local.pack_uom,"onUpdate:modelValue":t[11]||(t[11]=e=>i.local.pack_uom=e),label:"UOM",dense:"",outlined:"",placeholder:"ea"},null,8,["modelValue"])])])):((0,V.uX)(),(0,V.CE)("div",cL,"spec_type을 선택하세요."))])}]]);let mL={class:"register-guide"},pL={class:"row q-col-gutter-md q-mt-sm"},gL={class:"col-12 col-md-4"},hL={class:"guide-card"},bL={class:"col-12 col-md-4"},fL={class:"guide-card"},vL={class:"col-12 col-md-4"},kL={class:"guide-card"},yL={class:"same-sku-grid q-mt-md"};var LL={name:"MasterSkuRegisterGuide",data(){return{activeTab:"overview",tabs:[{name:"overview",label:"화면 개요"},{name:"single",label:"단건 등록"},{name:"excel",label:"엑셀 등록"},{name:"same-sku",label:"동일 SKU 기준"}]}}};v(35114);let _L=[{label:"APPAREL_SIZE",value:"APPAREL_SIZE"},{label:"PRODUCT_OPTION",value:"PRODUCT_OPTION"},{label:"PACK_COUNT",value:"PACK_COUNT"}],wL=[{key:"display_name",label:"상품명"},{key:"brand_name",label:"브랜드"},{key:"category_name",label:"카테고리"},{key:"hs_code",label:"HS CODE"},{key:"barcode",label:"바코드번호"},{key:"spec_type",label:"규격 타입"},{key:"weight_kg",label:"중량(kg)"},{key:"volume_cbm",label:"부피(cbm)"},{key:"length_cm",label:"가로(cm)"},{key:"width_cm",label:"세로(cm)"},{key:"height_cm",label:"높이(cm)"},{key:"apparel_size",label:"의류사이즈"},{key:"model_code",label:"모델코드"},{key:"color",label:"색상"},{key:"size",label:"사이즈"},{key:"pack_unit_type_code",label:"입수 코드"},{key:"pack_count",label:"입수량"},{key:"pack_uom",label:"입수 단위"},{key:"is_active",label:"활성 여부"}],xL={name:"AdminMasterSkuRegister",components:{Title:b,SpecTypeForm:uL,PageGuideDialog:a,MasterSkuRegisterGuide:(0,e.A)(LL,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-tab");var r=(0,V.g2)("q-tabs"),n=(0,V.g2)("q-separator");let d=(0,V.g2)("q-icon"),c=(0,V.g2)("q-banner"),u=(0,V.g2)("q-tab-panel"),m=(0,V.g2)("q-chip");var p=(0,V.g2)("q-tab-panels");return(0,V.uX)(),(0,V.CE)("div",mL,[(0,V.bF)(r,{modelValue:i.activeTab,"onUpdate:modelValue":t[0]||(t[0]=e=>i.activeTab=e),align:"left","active-color":"primary","indicator-color":"primary",dense:"",class:"register-guide__tabs"},{default:(0,V.k6)(()=>[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(i.tabs,e=>((0,V.uX)(),(0,V.Wv)(s,{key:e.name,name:e.name,label:e.label},null,8,["name","label"]))),128))]),_:1},8,["modelValue"]),(0,V.bF)(n),(0,V.bF)(p,{modelValue:i.activeTab,"onUpdate:modelValue":t[1]||(t[1]=e=>i.activeTab=e),animated:"",class:"register-guide__panels"},{default:(0,V.k6)(()=>[(0,V.bF)(u,{name:"overview"},{default:(0,V.k6)(()=>[t[9]||(t[9]=(0,V.Lk)("div",{class:"guide-heading"},"신규 등록 화면에서 하는 일",-1)),t[10]||(t[10]=(0,V.Lk)("p",{class:"guide-copy"}," 관리자가 여러 파트너가 공통으로 연결할 수 있는 기준 상품을 직접 등록합니다. 등록 전에 목록 조회에서 동일한 기준 상품이 이미 있는지 먼저 확인하세요. ",-1)),(0,V.Lk)("div",pL,[(0,V.Lk)("div",gL,[(0,V.Lk)("div",hL,[(0,V.bF)(d,{name:"search",color:"primary",size:"24px"}),t[2]||(t[2]=(0,V.Lk)("div",{class:"guide-card__title"},"1. 기존 상품 확인",-1)),t[3]||(t[3]=(0,V.Lk)("div",{class:"guide-card__copy"},"목록 조회에서 브랜드, 카테고리, 규격 조건으로 기존 상품을 찾습니다.",-1))])]),(0,V.Lk)("div",bL,[(0,V.Lk)("div",fL,[(0,V.bF)(d,{name:"rule",color:"primary",size:"24px"}),t[4]||(t[4]=(0,V.Lk)("div",{class:"guide-card__title"},"2. 등록 방식 선택",-1)),t[5]||(t[5]=(0,V.Lk)("div",{class:"guide-card__copy"},"상품 수가 적으면 단건 등록, 여러 건이면 엑셀 등록을 사용합니다.",-1))])]),(0,V.Lk)("div",vL,[(0,V.Lk)("div",kL,[(0,V.bF)(d,{name:"task_alt",color:"primary",size:"24px"}),t[6]||(t[6]=(0,V.Lk)("div",{class:"guide-card__title"},"3. 결과 확인",-1)),t[7]||(t[7]=(0,V.Lk)("div",{class:"guide-card__copy"},"등록 완료 후 상세 화면 또는 목록 조회에서 결과를 확인합니다.",-1))])])]),(0,V.bF)(c,{rounded:"",class:"guide-warning q-mt-md"},{avatar:(0,V.k6)(()=>[(0,V.bF)(d,{name:"info",color:"orange-8"})]),default:(0,V.k6)(()=>[t[8]||(t[8]=(0,V.eW)(" 동일한 기준 상품을 중복 생성하지 않도록 신규 등록 전에 목록 조회를 사용하세요. "))]),_:1,__:[8]})]),_:1,__:[9,10]}),(0,V.bF)(u,{name:"single"},{default:(0,V.k6)(()=>t[11]||(t[11]=[(0,V.Lk)("div",{class:"guide-heading"},"단건 등록 사용 순서",-1),(0,V.Lk)("p",{class:"guide-copy"},"상품 1~2개를 빠르게 직접 등록할 때 사용합니다.",-1),(0,V.Lk)("ol",{class:"guide-steps"},[(0,V.Lk)("li",null,[(0,V.Lk)("span",null,"1"),(0,V.Lk)("div",null,[(0,V.Lk)("b",null,"단건 등록 탭을 선택합니다."),(0,V.Lk)("small",null,"화면 진입 시 기본으로 선택되어 있습니다.")])]),(0,V.Lk)("li",null,[(0,V.Lk)("span",null,"2"),(0,V.Lk)("div",null,[(0,V.Lk)("b",null,"상품 기본 정보를 입력합니다."),(0,V.Lk)("small",null,"상품명, 브랜드, 카테고리, HS CODE, 중량, 부피, 가로/세로/높이를 입력합니다.")])]),(0,V.Lk)("li",null,[(0,V.Lk)("span",null,"3"),(0,V.Lk)("div",null,[(0,V.Lk)("b",null,"규격 타입과 규격 상세 값을 입력합니다."),(0,V.Lk)("small",null,"APPAREL_SIZE, PRODUCT_OPTION, PACK_COUNT 중 하나를 선택합니다.")])]),(0,V.Lk)("li",null,[(0,V.Lk)("span",null,"4"),(0,V.Lk)("div",null,[(0,V.Lk)("b",null,"타이틀 우측의 저장 버튼을 누릅니다."),(0,V.Lk)("small",null,"등록 완료 후 생성된 상품의 상세 화면으로 이동합니다.")])])],-1)])),_:1,__:[11]}),(0,V.bF)(u,{name:"excel"},{default:(0,V.k6)(()=>[t[13]||(t[13]=(0,V.Lk)("div",{class:"guide-heading"},"엑셀 등록 사용 순서",-1)),t[14]||(t[14]=(0,V.Lk)("p",{class:"guide-copy"},"여러 상품을 한 번에 등록할 때 사용합니다. 파일 첨부 즉시 저장되지는 않습니다.",-1)),t[15]||(t[15]=(0,V.Lk)("ol",{class:"guide-steps"},[(0,V.Lk)("li",null,[(0,V.Lk)("span",null,"1"),(0,V.Lk)("div",null,[(0,V.Lk)("b",null,"엑셀 등록 탭을 선택합니다."),(0,V.Lk)("small",null,"타이틀 우측에 양식 다운로드 버튼이 표시됩니다.")])]),(0,V.Lk)("li",null,[(0,V.Lk)("span",null,"2"),(0,V.Lk)("div",null,[(0,V.Lk)("b",null,"양식을 다운로드하고 상품 정보를 작성합니다."),(0,V.Lk)("small",null,"엑셀 파일의 열 구조는 변경하지 마세요.")])]),(0,V.Lk)("li",null,[(0,V.Lk)("span",null,"3"),(0,V.Lk)("div",null,[(0,V.Lk)("b",null,"파일 선택 후 미리보기를 실행합니다."),(0,V.Lk)("small",null,"업로드 데이터 검토 테이블에서 내용을 확인합니다.")])]),(0,V.Lk)("li",null,[(0,V.Lk)("span",null,"4"),(0,V.Lk)("div",null,[(0,V.Lk)("b",null,"오류가 있는 셀을 직접 수정합니다."),(0,V.Lk)("small",null,"수정 후에는 반드시 재검증을 실행하세요.")])]),(0,V.Lk)("li",null,[(0,V.Lk)("span",null,"5"),(0,V.Lk)("div",null,[(0,V.Lk)("b",null,"수정 필요 건수가 0건이면 저장합니다."),(0,V.Lk)("small",null,"검증을 통과한 상품만 등록합니다.")])])],-1)),(0,V.bF)(c,{rounded:"",class:"guide-warning q-mt-md"},{avatar:(0,V.k6)(()=>[(0,V.bF)(d,{name:"warning_amber",color:"orange-8"})]),default:(0,V.k6)(()=>[t[12]||(t[12]=(0,V.eW)(" 엑셀 등록은 미리보기 → 수정 → 재검증 → 저장 순서로 진행합니다. "))]),_:1,__:[12]})]),_:1,__:[13,14,15]}),(0,V.bF)(u,{name:"same-sku"},{default:(0,V.k6)(()=>[t[22]||(t[22]=(0,V.Lk)("div",{class:"guide-heading"},"동일 SKU 판단 기준",-1)),t[23]||(t[23]=(0,V.Lk)("p",{class:"guide-copy"},"아래 다섯 가지 조건이 모두 같으면 동일한 기준 상품으로 판단합니다.",-1)),(0,V.Lk)("div",yL,[(0,V.bF)(m,{color:"teal-1","text-color":"teal-9"},{default:(0,V.k6)(()=>t[16]||(t[16]=[(0,V.eW)("브랜드")])),_:1,__:[16]}),(0,V.bF)(m,{color:"teal-1","text-color":"teal-9"},{default:(0,V.k6)(()=>t[17]||(t[17]=[(0,V.eW)("카테고리")])),_:1,__:[17]}),(0,V.bF)(m,{color:"teal-1","text-color":"teal-9"},{default:(0,V.k6)(()=>t[18]||(t[18]=[(0,V.eW)("HS CODE")])),_:1,__:[18]}),(0,V.bF)(m,{color:"teal-1","text-color":"teal-9"},{default:(0,V.k6)(()=>t[19]||(t[19]=[(0,V.eW)("규격 타입")])),_:1,__:[19]}),(0,V.bF)(m,{color:"teal-1","text-color":"teal-9"},{default:(0,V.k6)(()=>t[20]||(t[20]=[(0,V.eW)("규격 상세 값")])),_:1,__:[20]})]),(0,V.bF)(c,{rounded:"",class:"guide-warning q-mt-md"},{avatar:(0,V.k6)(()=>[(0,V.bF)(d,{name:"info",color:"orange-8"})]),default:(0,V.k6)(()=>[t[21]||(t[21]=(0,V.eW)(" 상품명만 같다고 동일 SKU로 판단하지 않습니다. 규격 조건까지 함께 확인하세요. "))]),_:1,__:[21]})]),_:1,__:[22,23]})]),_:1},8,["modelValue"])])}],["__scopeId","data-v-1d73b53e"]])},data(){return{description:{title:"신규 등록"},activeTab:"single",masterDataLoading:!1,singleSaving:!1,importLoading:!1,importCommitting:!1,guideDialog:!1,brands:[],categories:[],packUnitTypes:[],partners:[],file:null,importRows:[],importSummary:{total:0,valid:0,invalid:0},singleForm:this.createEmptySingleForm()}},computed:{specTypeOptions(){return _L},hasImportRows(){return 0Array.isArray(e.errors)&&01===Number(e?.has_fulfillment_contract)).map(e=>({label:e.partner_name,value:e.id}))}},methods:{openGuide(){this.guideDialog=!0},createEmptySingleForm(){return{master_sku_code:"",display_name:"",barcode:"",brand_id:"",category_id:"",hs_code:"",spec_type:"PRODUCT_OPTION",spec_detail:{apparel_size:"",model_code:"",color:"",size:"",pack_unit_type_code:"",pack_count:"",pack_uom:"ea"},weight_kg:"",volume_cbm:"",length_cm:"",width_cm:"",height_cm:"",is_active:!0,partner_id:"",partner_sku_code:""}},notify(e,t="negative"){this.$q?.notify?this.$q.notify({message:e,type:t}):alert(e)},applyRouteContext(){var e=String(this.$route?.meta?.title||"").replace(/^Aone 관리자 \|\s*/,"");e&&(this.description.title=e)},normalizeSpecDetailForApi(e,t={}){e=String(e||"").toUpperCase();return"APPAREL_SIZE"===e?{apparel_size:t.apparel_size||""}:"PRODUCT_OPTION"===e?{model_code:t.model_code||"",color:t.color||"",size:t.size||t.size_value||""}:"PACK_COUNT"===e?{pack_unit_type_code:t.pack_unit_type_code||"",pack_count:t.pack_count||"",pack_uom:t.pack_uom||"ea"}:{}},normalizeSpecDetailForUi(e,t={}){e=String(e||"").toUpperCase();return"APPAREL_SIZE"===e?{apparel_size:t.apparel_size??t.size??""}:"PRODUCT_OPTION"===e?{model_code:t.model_code??t.model??"",color:t.color??"",size:t.size??t.size_value??""}:"PACK_COUNT"===e?{pack_unit_type_code:t.pack_unit_type_code??t.unit??"",pack_count:t.pack_count??t.count??"",pack_uom:t.pack_uom??"ea"}:{}},applyPreviewPayload(e={}){var t=Array.isArray(e.rows)?e.rows:[];this.importRows=t.map(e=>({...e,spec_detail:this.normalizeSpecDetailForUi(e.spec_type,e.spec_detail||{})})),this.importSummary=e.summary||{total:0,valid:0,invalid:0}},refreshImportSummary(){this.importSummary={total:this.importRows.length,valid:this.importRows.filter(e=>!(e.errors||[]).length).length,invalid:this.importRows.filter(e=>(e.errors||[]).length).length}},async loadMasterData(){this.masterDataLoading=!0;await this.$http({method:"GET",url:"/api/fulfillment/brands",name:"[ Fulfillment / 브랜드 목록 ]"}).then(e=>{this.brands=e.data?.data||[]}).catch(()=>{this.brands=[]}),await this.$http({method:"GET",url:"/api/fulfillment/categories",name:"[ Fulfillment / 카테고리 목록 ]"}).then(e=>{this.categories=e.data?.data||[]}).catch(()=>{this.categories=[]}),await this.$http({method:"GET",url:"/api/fulfillment/pack-unit-types",name:"[ Fulfillment / 패키지 단위 목록 ]"}).then(e=>{this.packUnitTypes=e.data?.data||[]}).catch(()=>{this.packUnitTypes=[]}),this.masterDataLoading=!1},async loadPartners(){await this.$http({method:"POST",url:"/api/partner/getPartnerList",name:"[ Fulfillment / 파트너 목록 ]"}).then(e=>{this.partners=Array.isArray(e.data)?e.data:[]}).catch(()=>{this.partners=[]})},sanitizeBarcode(e){this.singleForm.barcode=String(e||"").replace(/\D+/g,"").slice(0,64)},normalizeCodePart(e,t){e=String(e||"").toUpperCase().replace(/[^A-Z0-9]/g,"").slice(0,3);return 3<=e.length?e:0String(e?.[a])===String(t))?.[l]||""},buildMasterSkuCodeFromForm(){var e,t,a=String(this.singleForm.barcode||"").trim();return a?(e=this.getSelectedLabel(this.brands,this.singleForm.brand_id,"brand_id","name"),t=this.getSelectedLabel(this.categories,this.singleForm.category_id,"category_id","name"),`MSKU-${this.normalizeCodePart(e,"B"+String(this.singleForm.brand_id||0).padStart(2,"0").slice(-2))}-${this.normalizeCodePart(t,"C"+String(this.singleForm.category_id||0).padStart(2,"0").slice(-2))}-`+a.padStart(6,"0").slice(-6)):""},generateMasterSkuCodeFromBarcode(){var e=this.buildMasterSkuCodeFromForm();e&&(this.singleForm.master_sku_code=e)},async saveSingle(){var e=this.normalizeSpecDetailForApi(this.singleForm.spec_type,this.singleForm.spec_detail),t=this.$makeSpecKey(this.singleForm.spec_type,e);t?!Boolean(this.singleForm.partner_id||this.singleForm.partner_sku_code)||this.singleForm.partner_id&&String(this.singleForm.partner_sku_code||"").trim()?(this.singleSaving=!0,t={method:"POST",url:"/api/fulfillment/admin/master-skus",data:{master_sku_code:String(this.singleForm.master_sku_code||"").trim(),display_name:this.singleForm.display_name,barcode:this.singleForm.barcode||null,brand_id:this.singleForm.brand_id,category_id:this.singleForm.category_id,hs_code:this.singleForm.hs_code,spec_type:this.singleForm.spec_type,spec_key:t,spec_detail:e,weight_kg:this.singleForm.weight_kg,volume_cbm:this.singleForm.volume_cbm,length_cm:this.singleForm.length_cm,width_cm:this.singleForm.width_cm,height_cm:this.singleForm.height_cm,is_active:this.singleForm.is_active,partner_id:this.singleForm.partner_id||null,partner_sku_code:String(this.singleForm.partner_sku_code||"").trim()},name:"[ Fulfillment / 관리자 상품 단건 등록 ]"},await this.$http(t).then(e=>{e=e.data?.data?.master_sku_id;this.notify("상품이 등록되었습니다.","positive"),this.singleForm=this.createEmptySingleForm(),e&&this.$router.push("/admin/fulfillment/master-skus/"+e)}).catch(e=>{this.notify(e?.response?.data?.message||"상품 등록에 실패했습니다.")}),this.singleSaving=!1):this.notify("파트너 연결 정보는 파트너와 파트너 SKU를 함께 입력해야 합니다."):this.notify("규격 정보를 확인하세요.")},downloadTemplate(){var e=[wL.map(e=>e.label),["샘플 UGG OB362","EVER SHOES","UGG","640520","9341517118378","PRODUCT_OPTION","1","0.004","30","20","10","","OB362","Chestnut","L5","","","","Y"],["샘플 의류 사이즈 M","NIKE","APPAREL","123460","880000000005","APPAREL_SIZE","0.3","0.001","30","20","2","M","","","","","","","Y"],["샘플 낱개 포장","NIKE","GOODS","123462","880000000007","PACK_COUNT","0.1","0.001","10","10","5","","","","","ea","12","ea","Y"]],e=g.Wp.aoa_to_sheet(e),t=g.Wp.book_new(),e=(g.Wp.book_append_sheet(t,e,"상품등록"),g.M9(t,{bookType:"xlsx",type:"array"})),t=new Blob([e],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}),e=URL.createObjectURL(t),t=document.createElement("a");t.href=e,t.download="fulfillment_master_sku_template.xlsx",document.body.appendChild(t),t.click(),document.body.removeChild(t),URL.revokeObjectURL(e)},fileSelected(e){this.file=Array.isArray(e)?e[0]:e},triggerFilePicker(){this.$refs.importFileInput?.click()},onNativeFileChange(e){e=e?.target?.files?.[0]||null;this.file=e},clearSelectedFile(){this.file=null,this.$refs.importFileInput&&(this.$refs.importFileInput.value="")},async parseExcelRows(e){var e=await e.arrayBuffer(),e=g.LF(e,{type:"array"}),t=e.SheetNames?.[0];if(!t)throw new Error("엑셀 시트가 없습니다");e=e.Sheets[t],t=g.Wp.sheet_to_json(e,{header:1,defval:""}),e=(t[0]||[]).map(e=>String(e||"").trim());let i=new Map(e.map((e,t)=>[e,t]));return t.slice(1).filter(e=>Array.isArray(e)&&e.some(e=>""!==String(e??"").trim())).map((a,e)=>{let l={row_no:e+2};return wL.forEach(e=>{var t=i.get(e.label);l[e.key]=void 0!==t?a[t]:""}),l})},async previewImport(){if(this.file){this.importLoading=!0;try{var e={method:"POST",url:"/api/fulfillment/admin/master-skus/import/preview",data:{rows:await this.parseExcelRows(this.file)},name:"[ Fulfillment / 관리자 상품 엑셀 preview ]"},t=await this.$http(e);this.applyPreviewPayload(t.data?.data||{})}catch(e){this.notify(e?.response?.data?.message||"엑셀 미리보기에 실패했습니다.")}finally{this.importLoading=!1}}else this.notify("엑셀 파일을 선택하세요.")},async revalidateImportRows(){this.importLoading=!0;var e={method:"POST",url:"/api/fulfillment/admin/master-skus/import/preview",data:{rows:this.importRows},name:"[ Fulfillment / 관리자 상품 엑셀 재검증 ]"};await this.$http(e).then(e=>{this.applyPreviewPayload(e.data?.data||{})}).catch(e=>{this.notify(e?.response?.data?.message||"재검증에 실패했습니다.")}),this.importLoading=!1},async commitImport(){var e;this.importRows.length?this.hasImportErrors?this.notify("오류가 있는 행을 먼저 수정하세요."):(this.importCommitting=!0,e={method:"POST",url:"/api/fulfillment/admin/master-skus/import/commit",data:{rows:this.importRows},name:"[ Fulfillment / 관리자 상품 엑셀 저장 ]"},await this.$http(e).then(e=>{e=e.data?.data?.created_count||0;this.notify(e+"건의 상품이 등록되었습니다.","positive"),this.importRows=[],this.importSummary={total:0,valid:0,invalid:0},this.clearSelectedFile(),this.$router.push("/admin/fulfillment/master-skus")}).catch(e=>{this.notify(e?.response?.data?.message||"엑셀 저장에 실패했습니다.")}),this.importCommitting=!1):this.notify("저장할 데이터가 없습니다.")},removeImportRow(e){this.importRows.splice(e,1),this.refreshImportSummary()}},mounted(){this.applyRouteContext(),this.loadMasterData(),this.loadPartners()}};v(81867),v(73182);LL=(0,e.A)(xL,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-tooltip"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("Title"),d=(0,V.g2)("q-tab"),c=(0,V.g2)("q-tabs"),u=(0,V.g2)("q-separator"),m=(0,V.g2)("q-banner"),p=(0,V.g2)("q-toggle"),g=(0,V.g2)("q-input"),h=(0,V.g2)("q-select"),b=(0,V.g2)("SpecTypeForm"),f=(0,V.g2)("q-tab-panel"),v=(0,V.g2)("q-chip"),k=(0,V.g2)("q-icon"),y=(0,V.g2)("q-markup-table"),L=(0,V.g2)("q-tab-panels"),_=(0,V.g2)("MasterSkuRegisterGuide"),w=(0,V.g2)("PageGuideDialog");var x=(0,V.g2)("q-page");return(0,V.uX)(),(0,V.Wv)(x,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",T1,[(0,V.Lk)("div",N1,[(0,V.bF)(n,{desc:i.description},{"title-action":(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",round:"",dense:"",size:"sm",color:"primary",icon:"help_outline","aria-label":"신규 등록 사용 가이드",onClick:o.openGuide},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[20]||(t[20]=[(0,V.eW)("신규 등록 사용 가이드")])),_:1,__:[20]})]),_:1},8,["onClick"])]),default:(0,V.k6)(()=>["single"===i.activeTab?((0,V.uX)(),(0,V.Wv)(r,{key:0,color:"primary",icon:"save",label:"저장",class:"q-ml-sm",loading:i.singleSaving,onClick:o.saveSingle},null,8,["loading","onClick"])):((0,V.uX)(),(0,V.Wv)(r,{key:1,outline:"",color:"primary",icon:"download",label:"양식 다운로드",class:"q-ml-sm",onClick:o.downloadTemplate},null,8,["onClick"]))]),_:1},8,["desc"])])]),(0,V.Lk)("div",E1,[(0,V.bF)(c,{modelValue:i.activeTab,"onUpdate:modelValue":t[0]||(t[0]=e=>i.activeTab=e),align:"left","active-color":"primary","indicator-color":"primary",dense:""},{default:(0,V.k6)(()=>[(0,V.bF)(d,{name:"single",label:"단건 등록"}),(0,V.bF)(d,{name:"excel",label:"엑셀 등록"})]),_:1},8,["modelValue"]),(0,V.bF)(u,{class:"q-my-md"}),(0,V.bF)(L,{modelValue:i.activeTab,"onUpdate:modelValue":t[18]||(t[18]=e=>i.activeTab=e),animated:""},{default:(0,V.k6)(()=>[(0,V.bF)(f,{name:"single",class:"q-pa-none"},{default:(0,V.k6)(()=>[t[27]||(t[27]=(0,V.Lk)("div",{class:"row items-start justify-between q-col-gutter-md q-mb-md"},[(0,V.Lk)("div",{class:"col"},[(0,V.Lk)("div",{class:"text-body2"},"관리자가 신규 상품을 한 건씩 직접 생성합니다.")])],-1)),(0,V.Lk)("div",D1,[(0,V.bF)(m,{class:"bg-grey-2 text-grey-9"},{default:(0,V.k6)(()=>t[21]||(t[21]=[(0,V.eW)(" 동일 SKU는 브랜드, 카테고리, HS CODE, 규격 타입, 규격값이 모두 같은 경우입니다. 상품명만 같아서는 동일 SKU로 판단하지 않습니다. 바코드 입력 후 포커스를 벗어나면 AONE 마스터 SKU가 자동 생성되며, 필요하면 직접 수정할 수 있습니다. ")])),_:1,__:[21]})]),(0,V.Lk)("div",O1,[(0,V.Lk)("section",V1,[(0,V.Lk)("div",R1,[t[22]||(t[22]=(0,V.Lk)("div",null,[(0,V.Lk)("div",{class:"sku-form-section__title"},"식별 정보"),(0,V.Lk)("div",{class:"sku-form-section__caption"},"상품을 구분하고 바코드 기준으로 마스터 SKU를 관리합니다.")],-1)),(0,V.bF)(p,{modelValue:i.singleForm.is_active,"onUpdate:modelValue":t[1]||(t[1]=e=>i.singleForm.is_active=e),label:"활성",color:"green"},null,8,["modelValue"])]),(0,V.Lk)("div",M1,[(0,V.Lk)("div",$1,[(0,V.bF)(g,{modelValue:i.singleForm.display_name,"onUpdate:modelValue":t[2]||(t[2]=e=>i.singleForm.display_name=e),label:"상품명",dense:"",outlined:""},null,8,["modelValue"])]),(0,V.Lk)("div",U1,[(0,V.bF)(g,{modelValue:i.singleForm.barcode,"onUpdate:modelValue":[t[3]||(t[3]=e=>i.singleForm.barcode=e),o.sanitizeBarcode],label:"바코드번호",dense:"",outlined:"",maxlength:"64",inputmode:"numeric",onBlur:o.generateMasterSkuCodeFromBarcode},null,8,["modelValue","onUpdate:modelValue","onBlur"])]),(0,V.Lk)("div",W1,[(0,V.bF)(g,{modelValue:i.singleForm.master_sku_code,"onUpdate:modelValue":t[4]||(t[4]=e=>i.singleForm.master_sku_code=e),label:"마스터 SKU",dense:"",outlined:"",maxlength:"32"},null,8,["modelValue"])])])]),(0,V.Lk)("section",B1,[t[23]||(t[23]=(0,V.Lk)("div",{class:"sku-form-section__header"},[(0,V.Lk)("div",{class:"sku-form-section__title"},"분류 정보"),(0,V.Lk)("div",{class:"sku-form-section__caption"},"동일 SKU 판단에 사용하는 브랜드, 카테고리, HS CODE, 규격 타입입니다.")],-1)),(0,V.Lk)("div",z1,[(0,V.Lk)("div",X1,[(0,V.bF)(h,{modelValue:i.singleForm.brand_id,"onUpdate:modelValue":t[5]||(t[5]=e=>i.singleForm.brand_id=e),options:i.brands,"option-label":"name","option-value":"brand_id","emit-value":"","map-options":"",label:"브랜드",dense:"",outlined:"",loading:i.masterDataLoading},null,8,["modelValue","options","loading"])]),(0,V.Lk)("div",K1,[(0,V.bF)(h,{modelValue:i.singleForm.category_id,"onUpdate:modelValue":t[6]||(t[6]=e=>i.singleForm.category_id=e),options:i.categories,"option-label":"name","option-value":"category_id","emit-value":"","map-options":"",label:"카테고리",dense:"",outlined:"",loading:i.masterDataLoading},null,8,["modelValue","options","loading"])]),(0,V.Lk)("div",Q1,[(0,V.bF)(g,{modelValue:i.singleForm.hs_code,"onUpdate:modelValue":t[7]||(t[7]=e=>i.singleForm.hs_code=e),label:"HS CODE",dense:"",outlined:""},null,8,["modelValue"])])])]),(0,V.Lk)("section",G1,[t[24]||(t[24]=(0,V.Lk)("div",{class:"sku-form-section__header"},[(0,V.Lk)("div",{class:"sku-form-section__title"},"물류 기본값"),(0,V.Lk)("div",{class:"sku-form-section__caption"},"중량, 부피, 기본 치수처럼 포장과 운영에 쓰는 값입니다.")],-1)),(0,V.Lk)("div",H1,[(0,V.Lk)("div",j1,[(0,V.bF)(g,{modelValue:i.singleForm.weight_kg,"onUpdate:modelValue":t[8]||(t[8]=e=>i.singleForm.weight_kg=e),label:"중량 (kg)",dense:"",outlined:""},null,8,["modelValue"])]),(0,V.Lk)("div",Y1,[(0,V.bF)(g,{modelValue:i.singleForm.volume_cbm,"onUpdate:modelValue":t[9]||(t[9]=e=>i.singleForm.volume_cbm=e),label:"부피 (cbm)",dense:"",outlined:""},null,8,["modelValue"])]),(0,V.Lk)("div",Z1,[(0,V.bF)(g,{modelValue:i.singleForm.length_cm,"onUpdate:modelValue":t[10]||(t[10]=e=>i.singleForm.length_cm=e),label:"가로 (cm)",dense:"",outlined:""},null,8,["modelValue"])]),(0,V.Lk)("div",J1,[(0,V.bF)(g,{modelValue:i.singleForm.width_cm,"onUpdate:modelValue":t[11]||(t[11]=e=>i.singleForm.width_cm=e),label:"세로 (cm)",dense:"",outlined:""},null,8,["modelValue"])]),(0,V.Lk)("div",ey,[(0,V.bF)(g,{modelValue:i.singleForm.height_cm,"onUpdate:modelValue":t[12]||(t[12]=e=>i.singleForm.height_cm=e),label:"높이 (cm)",dense:"",outlined:""},null,8,["modelValue"])])])]),(0,V.Lk)("section",ty,[t[25]||(t[25]=(0,V.Lk)("div",{class:"sku-form-section__header"},[(0,V.Lk)("div",{class:"sku-form-section__title"},"규격 상세"),(0,V.Lk)("div",{class:"sku-form-section__caption"},"상품 옵션, 의류 사이즈, 포장 입수량처럼 동일 SKU를 나누는 값입니다.")],-1)),(0,V.Lk)("div",ay,[(0,V.Lk)("div",ly,[(0,V.bF)(h,{modelValue:i.singleForm.spec_type,"onUpdate:modelValue":t[13]||(t[13]=e=>i.singleForm.spec_type=e),options:o.specTypeOptions,"emit-value":"","map-options":"",label:"규격 타입",dense:"",outlined:""},null,8,["modelValue","options"])]),(0,V.Lk)("div",iy,[(0,V.bF)(b,{"spec-type":i.singleForm.spec_type,modelValue:i.singleForm.spec_detail,"onUpdate:modelValue":t[14]||(t[14]=e=>i.singleForm.spec_detail=e)},null,8,["spec-type","modelValue"])])])]),(0,V.Lk)("section",oy,[t[26]||(t[26]=(0,V.Lk)("div",{class:"sku-form-section__header"},[(0,V.Lk)("div",{class:"sku-form-section__title"},"파트너 연결 정보"),(0,V.Lk)("div",{class:"sku-form-section__caption"}," 특정 파트너가 사용하는 SKU가 있으면 신규 상품 등록과 동시에 연결합니다. 입력하지 않아도 상품은 등록됩니다. ")],-1)),(0,V.Lk)("div",sy,[(0,V.Lk)("div",ry,[(0,V.bF)(h,{modelValue:i.singleForm.partner_id,"onUpdate:modelValue":t[15]||(t[15]=e=>i.singleForm.partner_id=e),options:o.partnerOptions,"emit-value":"","map-options":"",label:"파트너",dense:"",outlined:"",clearable:""},null,8,["modelValue","options"])]),(0,V.Lk)("div",ny,[(0,V.bF)(g,{modelValue:i.singleForm.partner_sku_code,"onUpdate:modelValue":t[16]||(t[16]=e=>i.singleForm.partner_sku_code=e),label:"파트너 SKU",dense:"",outlined:""},null,8,["modelValue"])])])])])]),_:1,__:[27]}),(0,V.bF)(f,{name:"excel",class:"q-pa-none"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",dy,[t[29]||(t[29]=(0,V.Lk)("div",null,[(0,V.Lk)("div",{class:"text-subtitle1"},"엑셀로 여러 상품 등록"),(0,V.Lk)("div",{class:"text-caption text-grey-7 q-mt-xs"}," 파일을 첨부하고 미리보기 결과를 수정한 뒤, 재검증을 통과한 데이터만 저장합니다. ")],-1)),(0,V.Lk)("div",cy,[(0,V.bF)(v,{dense:"",color:"blue-1","text-color":"primary",icon:"info"},{default:(0,V.k6)(()=>t[28]||(t[28]=[(0,V.eW)(" xls, xlsx 지원 ")])),_:1,__:[28]})])]),(0,V.Lk)("div",uy,[(0,V.Lk)("input",{ref:"importFileInput",type:"file",accept:".xls,.xlsx",style:{display:"none"},onChange:t[17]||(t[17]=(...e)=>o.onNativeFileChange&&o.onNativeFileChange(...e))},null,544),(0,V.Lk)("div",my,[(0,V.Lk)("div",py,[(0,V.Lk)("div",gy,[t[31]||(t[31]=(0,V.Lk)("div",{class:"workflow-label"},[(0,V.Lk)("span",{class:"workflow-number"},"1"),(0,V.eW)(" 파일 첨부 ")],-1)),(0,V.Lk)("div",{class:(0,R.C4)(["excel-upload-box",{"excel-upload-box--selected":i.file}])},[(0,V.Lk)("div",hy,[(0,V.bF)(k,{name:i.file?"description":"upload_file",color:i.file?"primary":"grey-6",size:"28px",class:"q-mr-sm"},null,8,["name","color"]),(0,V.Lk)("div",by,[(0,V.Lk)("div",fy,(0,R.v_)(i.file?i.file.name:"첨부된 파일이 없습니다."),1),(0,V.Lk)("div",vy,(0,R.v_)(i.file?"미리보기를 실행해 내용을 확인하세요.":"양식에 맞게 작성한 엑셀 파일을 선택하세요."),1)])]),(0,V.Lk)("div",ky,[(0,V.bF)(r,{outline:"",dense:"",color:"primary",icon:"attach_file",label:"파일 선택",onClick:o.triggerFilePicker},null,8,["onClick"]),i.file?((0,V.uX)(),(0,V.Wv)(r,{key:0,flat:"",round:"",dense:"",color:"grey-7",icon:"close","aria-label":"선택 해제",onClick:o.clearSelectedFile},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[30]||(t[30]=[(0,V.eW)("선택 해제")])),_:1,__:[30]})]),_:1},8,["onClick"])):(0,V.Q3)("",!0)])],2)])]),(0,V.Lk)("div",yy,[(0,V.Lk)("div",Ly,[t[32]||(t[32]=(0,V.Lk)("div",{class:"workflow-label"},[(0,V.Lk)("span",{class:"workflow-number"},"2"),(0,V.eW)(" 검토 및 저장 ")],-1)),t[33]||(t[33]=(0,V.Lk)("div",{class:"text-caption text-grey-7 q-mb-md"}," 파일 첨부 후 미리보기, 재검증, 저장 순서로 진행합니다. ",-1)),(0,V.Lk)("div",_y,[(0,V.bF)(r,{color:"primary",icon:"preview",label:"미리보기",disable:!i.file,loading:i.importLoading,onClick:o.previewImport},null,8,["disable","loading","onClick"]),(0,V.bF)(r,{outline:"",color:"secondary",icon:"fact_check",label:"재검증",disable:!o.hasImportRows,loading:i.importLoading,onClick:o.revalidateImportRows},null,8,["disable","loading","onClick"]),(0,V.bF)(r,{color:"positive",icon:"save",label:"저장",disable:!o.hasImportRows||o.hasImportErrors,loading:i.importCommitting,onClick:o.commitImport},null,8,["disable","loading","onClick"])])])])])]),(0,V.Lk)("div",wy,[(0,V.Lk)("div",xy,[(0,V.Lk)("div",Cy,[(0,V.Lk)("div",Sy,[(0,V.Lk)("div",null,[t[34]||(t[34]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"전체 행",-1)),(0,V.Lk)("div",Fy,(0,R.v_)(i.importSummary.total),1)]),(0,V.bF)(k,{name:"table_rows",color:"grey-6",size:"28px"})])])]),(0,V.Lk)("div",qy,[(0,V.Lk)("div",Iy,[(0,V.Lk)("div",Py,[(0,V.Lk)("div",null,[t[35]||(t[35]=(0,V.Lk)("div",{class:"text-caption text-green-9"},"등록 가능",-1)),(0,V.Lk)("div",Ay,(0,R.v_)(i.importSummary.valid),1)]),(0,V.bF)(k,{name:"check_circle",color:"green-7",size:"28px"})])])]),(0,V.Lk)("div",Ty,[(0,V.Lk)("div",Ny,[(0,V.Lk)("div",Ey,[(0,V.Lk)("div",null,[t[36]||(t[36]=(0,V.Lk)("div",{class:"text-caption text-red-9"},"수정 필요",-1)),(0,V.Lk)("div",Dy,(0,R.v_)(i.importSummary.invalid),1)]),(0,V.bF)(k,{name:"error",color:"red-7",size:"28px"})])])])]),(0,V.Lk)("div",Oy,[(0,V.Lk)("div",Vy,[t[37]||(t[37]=(0,V.Lk)("div",null,[(0,V.Lk)("div",{class:"text-subtitle1"},"업로드 데이터 검토"),(0,V.Lk)("div",{class:"text-caption text-grey-7 q-mt-xs"}," 셀을 직접 수정할 수 있습니다. 수정 후에는 재검증을 실행하세요. ")],-1)),o.hasImportRows?((0,V.uX)(),(0,V.Wv)(v,{key:0,dense:"",outline:"",color:"primary"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(i.importSummary.total)+"개 행 ",1)]),_:1})):(0,V.Q3)("",!0)]),o.hasImportRows?((0,V.uX)(),(0,V.CE)("div",Ry,[(0,V.bF)(y,{flat:"",bordered:"",separator:"cell"},{default:(0,V.k6)(()=>[t[38]||(t[38]=(0,V.Lk)("thead",null,[(0,V.Lk)("tr",null,[(0,V.Lk)("th",{class:"text-center"},"행"),(0,V.Lk)("th",null,"상품명"),(0,V.Lk)("th",null,"바코드"),(0,V.Lk)("th",null,"브랜드"),(0,V.Lk)("th",null,"카테고리"),(0,V.Lk)("th",null,"HS CODE"),(0,V.Lk)("th",null,"규격 타입"),(0,V.Lk)("th",null,"규격 상세"),(0,V.Lk)("th",null,"중량"),(0,V.Lk)("th",null,"부피"),(0,V.Lk)("th",null,"가로"),(0,V.Lk)("th",null,"세로"),(0,V.Lk)("th",null,"높이"),(0,V.Lk)("th",null,"활성"),(0,V.Lk)("th",null,"오류"),(0,V.Lk)("th")])],-1)),(0,V.Lk)("tbody",null,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(i.importRows,(t,a)=>((0,V.uX)(),(0,V.CE)("tr",{key:t.row_no+"-"+a},[(0,V.Lk)("td",My,(0,R.v_)(t.row_no),1),(0,V.Lk)("td",null,[(0,V.bF)(g,{modelValue:t.display_name,"onUpdate:modelValue":e=>t.display_name=e,dense:"",outlined:""},null,8,["modelValue","onUpdate:modelValue"])]),(0,V.Lk)("td",null,[(0,V.bF)(g,{modelValue:t.barcode,"onUpdate:modelValue":e=>t.barcode=e,dense:"",outlined:""},null,8,["modelValue","onUpdate:modelValue"])]),(0,V.Lk)("td",null,[(0,V.bF)(h,{modelValue:t.brand_id,"onUpdate:modelValue":e=>t.brand_id=e,options:i.brands,"option-label":"name","option-value":"brand_id","emit-value":"","map-options":"",dense:"",outlined:""},null,8,["modelValue","onUpdate:modelValue","options"])]),(0,V.Lk)("td",null,[(0,V.bF)(h,{modelValue:t.category_id,"onUpdate:modelValue":e=>t.category_id=e,options:i.categories,"option-label":"name","option-value":"category_id","emit-value":"","map-options":"",dense:"",outlined:""},null,8,["modelValue","onUpdate:modelValue","options"])]),(0,V.Lk)("td",null,[(0,V.bF)(g,{modelValue:t.hs_code,"onUpdate:modelValue":e=>t.hs_code=e,dense:"",outlined:""},null,8,["modelValue","onUpdate:modelValue"])]),(0,V.Lk)("td",null,[(0,V.bF)(h,{modelValue:t.spec_type,"onUpdate:modelValue":e=>t.spec_type=e,options:o.specTypeOptions,"emit-value":"","map-options":"",dense:"",outlined:""},null,8,["modelValue","onUpdate:modelValue","options"])]),(0,V.Lk)("td",$y,[(0,V.bF)(b,{"spec-type":t.spec_type,modelValue:t.spec_detail,"onUpdate:modelValue":e=>t.spec_detail=e},null,8,["spec-type","modelValue","onUpdate:modelValue"])]),(0,V.Lk)("td",null,[(0,V.bF)(g,{modelValue:t.weight_kg,"onUpdate:modelValue":e=>t.weight_kg=e,dense:"",outlined:""},null,8,["modelValue","onUpdate:modelValue"])]),(0,V.Lk)("td",null,[(0,V.bF)(g,{modelValue:t.volume_cbm,"onUpdate:modelValue":e=>t.volume_cbm=e,dense:"",outlined:""},null,8,["modelValue","onUpdate:modelValue"])]),(0,V.Lk)("td",null,[(0,V.bF)(g,{modelValue:t.length_cm,"onUpdate:modelValue":e=>t.length_cm=e,dense:"",outlined:""},null,8,["modelValue","onUpdate:modelValue"])]),(0,V.Lk)("td",null,[(0,V.bF)(g,{modelValue:t.width_cm,"onUpdate:modelValue":e=>t.width_cm=e,dense:"",outlined:""},null,8,["modelValue","onUpdate:modelValue"])]),(0,V.Lk)("td",null,[(0,V.bF)(g,{modelValue:t.height_cm,"onUpdate:modelValue":e=>t.height_cm=e,dense:"",outlined:""},null,8,["modelValue","onUpdate:modelValue"])]),(0,V.Lk)("td",Uy,[(0,V.bF)(p,{modelValue:t.is_active,"onUpdate:modelValue":e=>t.is_active=e,color:"green"},null,8,["modelValue","onUpdate:modelValue"])]),(0,V.Lk)("td",Wy,[t.errors&&t.errors.length?((0,V.uX)(),(0,V.CE)("div",By,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(t.errors,(e,t)=>((0,V.uX)(),(0,V.CE)("div",{key:t},(0,R.v_)(e),1))),128))])):((0,V.uX)(),(0,V.CE)("div",zy,"정상"))]),(0,V.Lk)("td",Xy,[(0,V.bF)(r,{flat:"",dense:"",color:"negative",icon:"delete",onClick:e=>o.removeImportRow(a)},null,8,["onClick"])])]))),128))])]),_:1,__:[38]})])):((0,V.uX)(),(0,V.CE)("div",Ky,[(0,V.bF)(k,{name:"table_view",color:"grey-5",size:"42px"}),t[39]||(t[39]=(0,V.Lk)("div",{class:"text-body2 text-grey-8 q-mt-sm"},"아직 미리보기 데이터가 없습니다.",-1)),t[40]||(t[40]=(0,V.Lk)("div",{class:"text-caption text-grey-6 q-mt-xs"},"엑셀 파일을 첨부하고 미리보기를 실행하세요.",-1))]))])]),_:1})]),_:1},8,["modelValue"])]),(0,V.bF)(w,{modelValue:i.guideDialog,"onUpdate:modelValue":t[19]||(t[19]=e=>i.guideDialog=e),title:"신규 등록 사용 가이드",description:"단건 등록과 엑셀 등록 절차를 확인할 수 있습니다."},{default:(0,V.k6)(()=>[(0,V.bF)(_)]),_:1},8,["modelValue"])]),_:1})}],["__scopeId","data-v-0a41340a"]]);let CL={class:"row q-mb-lg"},SL={class:"col"},FL={class:"row q-mb-md"},qL={class:"col"},IL={class:"comp-box q-pa-md"},PL={key:0,class:"row q-col-gutter-md q-mt-sm q-mb-md"},AL={class:"col-12 col-md-3"},TL={class:"text-body2"},NL={class:"col-12 col-md-3"},EL={class:"text-body2"},DL={class:"col-12 col-md-3"},OL={class:"col-12 col-md-3"},VL={class:"col-12 col-md-3"},RL={class:"text-body2"},ML={class:"col-12 col-md-3"},$L={class:"row items-center q-gutter-sm no-wrap"},UL={key:1,class:"sku-form-sections q-mt-sm"},WL={class:"sku-form-section"},BL={class:"row q-col-gutter-md"},zL={class:"col-12 col-md-4"},XL={class:"col-12 col-md-4"},KL={class:"col-12 col-md-4"},QL={class:"sku-form-section"},GL={class:"row q-col-gutter-md"},HL={class:"col-12 col-md-4"},jL={class:"col-12 col-md-4"},YL={class:"col-12 col-md-4"},ZL={class:"sku-form-section"},JL={class:"row q-col-gutter-md items-center"},e_={class:"col-12 col-md-2"},t_={class:"col-12 col-md-2"},a_={class:"col-12 col-md-2"},l_={class:"col-12 col-md-2"},i_={class:"col-12 col-md-2"},o_={class:"sku-form-section"},s_={class:"row q-col-gutter-md"},r_={class:"col-12 col-md-4"},n_={class:"col-12"},d_={key:2,class:"text-caption text-grey"},c_={class:"row"},u_={class:"col-12 q-mb-md"},m_={class:"comp-box q-pa-md"},p_={class:"row items-center q-mb-sm"},g_={key:0},h_={class:"text-center"},b_={class:"col-12 q-mb-md"},f_={class:"comp-box q-pa-md"},v_={class:"row items-center q-mb-sm"},k_={key:0},y_={class:"text-center"},L_={class:"text-center"},__={class:"row justify-center q-gutter-xs"};var w_={name:"AdminMasterSkuDetail",components:{Title:b,SpecTypeForm:uL,StatusBadge:F,PageGuideDialog:a,FulfillmentPageGuide:x},data(){return{description:{title:"상품 상세"},masterSkuId:null,detail:null,saving:!1,loading:!1,unlinkingKey:"",approvingRequestId:null,guideDialog:!1,masterDataLoading:!1,brands:[],categories:[],packUnitTypes:[],form:{master_sku_code:"",barcode:"",display_name:"",brand_id:"",category_id:"",hs_code:"",spec_type:"",spec_detail:{},weight_kg:"",volume_cbm:"",length_cm:"",width_cm:"",height_cm:"",is_active:!0}}},methods:{goToList(){let t={};try{t=JSON.parse(String(this.$route.query?.returnQuery||"{}"))}catch(e){t={}}this.$router.push({path:"/admin/fulfillment/master-skus",query:t})},async loadMasterData(){this.masterDataLoading=!0;await this.$http({method:"GET",url:"/api/fulfillment/brands",name:"[ Fulfillment / 브랜드 목록 ]"}).then(e=>{this.brands=e.data?.data||[]}).catch(()=>{this.brands=[]}),await this.$http({method:"GET",url:"/api/fulfillment/categories",name:"[ Fulfillment / 카테고리 목록 ]"}).then(e=>{this.categories=e.data?.data||[]}).catch(()=>{this.categories=[]}),await this.$http({method:"GET",url:"/api/fulfillment/pack-unit-types",name:"[ Fulfillment / 패키지 단위 목록 ]"}).then(e=>{this.packUnitTypes=e.data?.data||[]}).catch(()=>{this.packUnitTypes=[]}),this.masterDataLoading=!1},notify(e,t="negative"){this.$q&&this.$q.notify?this.$q.notify({message:e,type:t}):alert(e)},normalizeSpecDetailForUi(e,t={}){e=String(e||"").toUpperCase();return"DIMENSION"===e?{length_cm:t.length_cm??t.length??"",width_cm:t.width_cm??t.width??"",height_cm:t.height_cm??t.height??""}:"VOLUME"===e?{volume_value:t.volume_value??t.value??"",volume_unit:t.volume_unit??t.unit??"ml"}:"APPAREL_SIZE"===e?{apparel_size:t.apparel_size??t.size??""}:"PRODUCT_OPTION"===e?{model_code:t.model_code??t.model??"",color:t.color??"",size:t.size??t.size_value??""}:"PACK_COUNT"===e?{pack_unit_type_code:t.pack_unit_type_code??t.unit??"",pack_count:t.pack_count??t.count??"",pack_uom:t.pack_uom??"ea"}:{}},async loadDetail(){var e;this.masterSkuId&&(this.loading=!0,e={method:"GET",url:"/api/fulfillment/admin/master-skus/"+this.masterSkuId,name:"[ Fulfillment / Master SKU 상세 ]"},await this.$http(e).then(e=>{this.detail=e.data?.data,this.form={master_sku_code:this.detail.master_sku_code||"",barcode:this.detail.barcode||"",display_name:this.detail.display_name||"",brand_id:this.detail.brand_id||"",category_id:this.detail.category_id||"",hs_code:this.detail.hs_code||"",spec_type:this.detail.spec_type||"",spec_detail:this.normalizeSpecDetailForUi(this.detail.spec_type,this.detail.spec_detail||{}),weight_kg:this.detail.weight_kg||"",volume_cbm:this.detail.volume_cbm||"",length_cm:this.detail.length_cm||"",width_cm:this.detail.width_cm||"",height_cm:this.detail.height_cm||"",is_active:!1!==this.detail.is_active}}).catch(()=>{this.detail=null}),this.loading=!1)},async save(){var e;this.masterSkuId&&((e=this.$makeSpecKey(this.form.spec_type,this.form.spec_detail))?String(this.form.master_sku_code||"").trim()?(this.saving=!0,e={method:"PUT",url:"/api/fulfillment/admin/master-skus/"+this.masterSkuId,data:{master_sku_code:String(this.form.master_sku_code||"").trim(),barcode:this.form.barcode||null,display_name:this.form.display_name,brand_id:this.form.brand_id,category_id:this.form.category_id,hs_code:this.form.hs_code,spec_type:this.form.spec_type,spec_key:e,spec_detail:this.form.spec_detail,weight_kg:this.form.weight_kg,volume_cbm:this.form.volume_cbm,length_cm:this.form.length_cm,width_cm:this.form.width_cm,height_cm:this.form.height_cm,is_active:this.form.is_active},name:"[ Fulfillment / Master SKU 수정 ]"},await this.$http(e).then(()=>{this.notify("저장되었습니다.","positive"),this.loadDetail()}).catch(()=>{this.notify("저장에 실패했습니다.")}),this.saving=!1):this.notify("마스터 SKU를 입력하세요."):this.notify("spec_detail을 확인하세요."))},async toggleActive(){var e;this.masterSkuId&&(e={method:"PATCH",url:`/api/fulfillment/admin/master-skus/${this.masterSkuId}/active`,data:{is_active:this.form.is_active},name:"[ Fulfillment / Master SKU 활성 상태 변경 ]"},await this.$http(e).then(()=>{this.notify("상태가 변경되었습니다.","positive")}).catch(()=>{this.notify("상태 변경에 실패했습니다.")}))},openApproval(e){e&&this.$router.push("/admin/fulfillment/approvals/"+e)},async unlinkPartnerSku(e){var t;this.masterSkuId&&e?.partner_id&&e?.partner_sku_code&&window.confirm(`파트너 SKU 연결을 해제하시겠습니까? ${e.partner_name||e.partner_id} / `+e.partner_sku_code)&&(t=e.partner_id+"-"+e.partner_sku_code,this.unlinkingKey=t,t={method:"POST",url:`/api/fulfillment/admin/master-skus/${this.masterSkuId}/partner-skus/unlink`,data:{partner_id:e.partner_id,partner_sku_code:e.partner_sku_code},name:"[ Fulfillment / Partner SKU 연결 해제 ]"},await this.$http(t).then(()=>{this.notify("연결이 해제되었습니다.","positive"),this.loadDetail()}).catch(e=>{this.notify(e?.response?.data?.message||"연결 해제에 실패했습니다.")}),this.unlinkingKey="")},async approveRequestToCurrentProduct(e){this.masterSkuId&&e?.request_id&&window.confirm(`이 요청을 현재 상품에 바로 연결 승인하시겠습니까? 요청 #${e.request_id} / `+e.partner_sku_code)&&(this.approvingRequestId=e.request_id,e={method:"POST",url:`/api/fulfillment/admin/sku-requests/${e.request_id}/approve/link`,data:{master_sku_id:Number(this.masterSkuId)},name:"[ Fulfillment / 상품 상세 즉시 연결 승인 ]"},await this.$http(e).then(()=>{this.notify("현재 상품으로 연결 승인되었습니다.","positive"),this.loadDetail()}).catch(e=>{this.notify(e?.response?.data?.message||"연결 승인에 실패했습니다.")}),this.approvingRequestId=null)},sanitizeBarcode(e){this.form.barcode=String(e||"").replace(/\D+/g,"").slice(0,64)},normalizeMasterSkuCode(){this.form.master_sku_code=String(this.form.master_sku_code||"").trim().toUpperCase()}},mounted(){this.masterSkuId=this.$route.params.id,this.loadMasterData(),this.loadDetail()}},w_=(v(21108),(0,e.A)(w_,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-tooltip"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("Title"),d=(0,V.g2)("StatusBadge"),c=(0,V.g2)("q-toggle"),u=(0,V.g2)("q-input"),m=(0,V.g2)("q-select"),p=(0,V.g2)("SpecTypeForm"),g=(0,V.g2)("q-badge"),h=(0,V.g2)("q-markup-table"),b=(0,V.g2)("FulfillmentPageGuide"),f=(0,V.g2)("PageGuideDialog");var v=(0,V.g2)("q-page");return(0,V.uX)(),(0,V.Wv)(v,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",CL,[(0,V.Lk)("div",SL,[(0,V.bF)(n,{desc:i.description},{"title-action":(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",round:"",dense:"",size:"sm",color:"primary",icon:"help_outline","aria-label":"상품 상세 사용 가이드",onClick:t[0]||(t[0]=e=>i.guideDialog=!0)},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[16]||(t[16]=[(0,V.eW)("상품 상세 사용 가이드")])),_:1,__:[16]})]),_:1})]),default:(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",color:"grey-7",icon:"arrow_back",label:"목록으로",onClick:o.goToList},null,8,["onClick"]),(0,V.bF)(r,{color:"primary",icon:"save",label:"저장",class:"q-ml-sm",loading:i.saving,onClick:o.save},null,8,["loading","onClick"])]),_:1},8,["desc"])])]),(0,V.Lk)("div",FL,[(0,V.Lk)("div",qL,[(0,V.Lk)("div",IL,[t[27]||(t[27]=(0,V.Lk)("div",{class:"row items-start justify-between q-col-gutter-md"},[(0,V.Lk)("div",{class:"col"},[(0,V.Lk)("div",{class:"text-subtitle1 text-weight-bold"},"상품 기본 정보"),(0,V.Lk)("div",{class:"text-body2 text-grey-7 q-mt-xs"},"마스터 SKU의 기본 정보와 규격, 활성 상태를 관리합니다.")])],-1)),i.detail?((0,V.uX)(),(0,V.CE)("div",PL,[(0,V.Lk)("div",AL,[t[17]||(t[17]=(0,V.Lk)("div",{class:"text-caption text-grey"},"마스터 SKU",-1)),(0,V.Lk)("div",TL,(0,R.v_)(i.detail.master_sku_code),1)]),(0,V.Lk)("div",NL,[t[18]||(t[18]=(0,V.Lk)("div",{class:"text-caption text-grey"},"바코드번호",-1)),(0,V.Lk)("div",EL,(0,R.v_)(i.detail.barcode||"-"),1)]),(0,V.Lk)("div",DL,[t[19]||(t[19]=(0,V.Lk)("div",{class:"text-caption text-grey"},"연결 상태",-1)),(0,V.bF)(d,{status:i.detail.mapping_status},null,8,["status"])]),(0,V.Lk)("div",OL,[t[20]||(t[20]=(0,V.Lk)("div",{class:"text-caption text-grey"},"등록상태",-1)),(0,V.bF)(d,{status:i.detail.registration_status||"CONFIRMED"},null,8,["status"])]),(0,V.Lk)("div",VL,[t[21]||(t[21]=(0,V.Lk)("div",{class:"text-caption text-grey"},"파트너 SKU 수",-1)),(0,V.Lk)("div",RL,(0,R.v_)(i.detail.partner_sku_count||0),1)]),(0,V.Lk)("div",ML,[t[22]||(t[22]=(0,V.Lk)("div",{class:"text-caption text-grey"},"활성 상태",-1)),(0,V.Lk)("div",$L,[(0,V.bF)(d,{status:i.form.is_active?"ACTIVE":"INACTIVE"},null,8,["status"]),(0,V.bF)(c,{modelValue:i.form.is_active,"onUpdate:modelValue":[t[1]||(t[1]=e=>i.form.is_active=e),o.toggleActive],dense:"",color:"green"},null,8,["modelValue","onUpdate:modelValue"])])])])):(0,V.Q3)("",!0),i.detail?((0,V.uX)(),(0,V.CE)("div",UL,[(0,V.Lk)("section",WL,[t[23]||(t[23]=(0,V.Lk)("div",{class:"sku-form-section__header"},[(0,V.Lk)("div",{class:"sku-form-section__title"},"식별 정보"),(0,V.Lk)("div",{class:"sku-form-section__caption"},"상품을 구분하고 바코드 기준으로 마스터 SKU를 관리합니다.")],-1)),(0,V.Lk)("div",BL,[(0,V.Lk)("div",zL,[(0,V.bF)(u,{modelValue:i.form.display_name,"onUpdate:modelValue":t[2]||(t[2]=e=>i.form.display_name=e),label:"상품명",dense:"",outlined:""},null,8,["modelValue"])]),(0,V.Lk)("div",XL,[(0,V.bF)(u,{modelValue:i.form.barcode,"onUpdate:modelValue":[t[3]||(t[3]=e=>i.form.barcode=e),o.sanitizeBarcode],label:"바코드번호",dense:"",outlined:"",maxlength:"64",inputmode:"numeric"},null,8,["modelValue","onUpdate:modelValue"])]),(0,V.Lk)("div",KL,[(0,V.bF)(u,{modelValue:i.form.master_sku_code,"onUpdate:modelValue":t[4]||(t[4]=e=>i.form.master_sku_code=e),label:"마스터 SKU",dense:"",outlined:"",maxlength:"32",onBlur:o.normalizeMasterSkuCode},null,8,["modelValue","onBlur"])])])]),(0,V.Lk)("section",QL,[t[24]||(t[24]=(0,V.Lk)("div",{class:"sku-form-section__header"},[(0,V.Lk)("div",{class:"sku-form-section__title"},"분류 정보"),(0,V.Lk)("div",{class:"sku-form-section__caption"},"동일 SKU 판단에 사용하는 브랜드, 카테고리, HS CODE, 규격 타입입니다.")],-1)),(0,V.Lk)("div",GL,[(0,V.Lk)("div",HL,[(0,V.bF)(m,{modelValue:i.form.brand_id,"onUpdate:modelValue":t[5]||(t[5]=e=>i.form.brand_id=e),options:i.brands,"option-label":"name","option-value":"brand_id","emit-value":"","map-options":"",label:"브랜드",dense:"",outlined:""},null,8,["modelValue","options"])]),(0,V.Lk)("div",jL,[(0,V.bF)(m,{modelValue:i.form.category_id,"onUpdate:modelValue":t[6]||(t[6]=e=>i.form.category_id=e),options:i.categories,"option-label":"name","option-value":"category_id","emit-value":"","map-options":"",label:"카테고리",dense:"",outlined:""},null,8,["modelValue","options"])]),(0,V.Lk)("div",YL,[(0,V.bF)(u,{modelValue:i.form.hs_code,"onUpdate:modelValue":t[7]||(t[7]=e=>i.form.hs_code=e),label:"HS CODE",dense:"",outlined:""},null,8,["modelValue"])])])]),(0,V.Lk)("section",ZL,[t[25]||(t[25]=(0,V.Lk)("div",{class:"sku-form-section__header"},[(0,V.Lk)("div",{class:"sku-form-section__title"},"물류 기본값"),(0,V.Lk)("div",{class:"sku-form-section__caption"},"중량, 부피, 기본 치수처럼 포장과 운영에 쓰는 값입니다.")],-1)),(0,V.Lk)("div",JL,[(0,V.Lk)("div",e_,[(0,V.bF)(u,{modelValue:i.form.weight_kg,"onUpdate:modelValue":t[8]||(t[8]=e=>i.form.weight_kg=e),label:"중량 (kg)",dense:"",outlined:""},null,8,["modelValue"])]),(0,V.Lk)("div",t_,[(0,V.bF)(u,{modelValue:i.form.volume_cbm,"onUpdate:modelValue":t[9]||(t[9]=e=>i.form.volume_cbm=e),label:"부피 (cbm)",dense:"",outlined:""},null,8,["modelValue"])]),(0,V.Lk)("div",a_,[(0,V.bF)(u,{modelValue:i.form.length_cm,"onUpdate:modelValue":t[10]||(t[10]=e=>i.form.length_cm=e),label:"가로 (cm)",dense:"",outlined:""},null,8,["modelValue"])]),(0,V.Lk)("div",l_,[(0,V.bF)(u,{modelValue:i.form.width_cm,"onUpdate:modelValue":t[11]||(t[11]=e=>i.form.width_cm=e),label:"세로 (cm)",dense:"",outlined:""},null,8,["modelValue"])]),(0,V.Lk)("div",i_,[(0,V.bF)(u,{modelValue:i.form.height_cm,"onUpdate:modelValue":t[12]||(t[12]=e=>i.form.height_cm=e),label:"높이 (cm)",dense:"",outlined:""},null,8,["modelValue"])])])]),(0,V.Lk)("section",o_,[t[26]||(t[26]=(0,V.Lk)("div",{class:"sku-form-section__header"},[(0,V.Lk)("div",{class:"sku-form-section__title"},"규격 상세"),(0,V.Lk)("div",{class:"sku-form-section__caption"},"상품 옵션, 의류 사이즈, 포장 입수량처럼 동일 SKU를 나누는 값입니다.")],-1)),(0,V.Lk)("div",s_,[(0,V.Lk)("div",r_,[(0,V.bF)(m,{modelValue:i.form.spec_type,"onUpdate:modelValue":t[13]||(t[13]=e=>i.form.spec_type=e),options:[{label:"APPAREL_SIZE",value:"APPAREL_SIZE"},{label:"PRODUCT_OPTION",value:"PRODUCT_OPTION"},{label:"PACK_COUNT",value:"PACK_COUNT"}],"emit-value":"","map-options":"",label:"규격 타입",dense:"",outlined:""},null,8,["modelValue"])]),(0,V.Lk)("div",n_,[(0,V.bF)(p,{"spec-type":i.form.spec_type,modelValue:i.form.spec_detail,"onUpdate:modelValue":t[14]||(t[14]=e=>i.form.spec_detail=e)},null,8,["spec-type","modelValue"])])])])])):((0,V.uX)(),(0,V.CE)("div",d_,"상세 정보를 불러오는 중..."))])])]),(0,V.Lk)("div",c_,[(0,V.Lk)("div",u_,[(0,V.Lk)("div",m_,[(0,V.Lk)("div",p_,[t[28]||(t[28]=(0,V.Lk)("div",{class:"text-subtitle1"},"파트너 SKU 연결 현황",-1)),(0,V.bF)(g,{color:"grey-7",outline:"",class:"q-ml-sm"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(i.detail?.partner_skus?.length||0)+"건 ",1)]),_:1})]),t[31]||(t[31]=(0,V.Lk)("div",{class:"text-caption text-grey-7 q-mb-md"}," 현재 이 상품에 실제 연결된 파트너 SKU입니다. 연결된 row가 있을 때만 `연결 해제` 버튼이 표시됩니다. ",-1)),(0,V.bF)(h,{flat:"",bordered:"",separator:"cell"},{default:(0,V.k6)(()=>[t[30]||(t[30]=(0,V.Lk)("thead",null,[(0,V.Lk)("tr",null,[(0,V.Lk)("th",{class:"text-left"},"파트너 ID"),(0,V.Lk)("th",{class:"text-left"},"파트너명"),(0,V.Lk)("th",{class:"text-left"},"파트너 SKU"),(0,V.Lk)("th",{class:"text-left"},"바코드"),(0,V.Lk)("th",{class:"text-center"},"액션")])],-1)),(0,V.Lk)("tbody",null,[(i.detail?.partner_skus||[]).length?(0,V.Q3)("",!0):((0,V.uX)(),(0,V.CE)("tr",g_,t[29]||(t[29]=[(0,V.Lk)("td",{colspan:"5",class:"text-center text-grey"},"연결된 파트너 SKU가 없습니다.",-1)]))),((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(i.detail?.partner_skus||[],t=>((0,V.uX)(),(0,V.CE)("tr",{key:t.partner_id+"-"+t.partner_sku_code},[(0,V.Lk)("td",null,(0,R.v_)(t.partner_id),1),(0,V.Lk)("td",null,(0,R.v_)(t.partner_name||"-"),1),(0,V.Lk)("td",null,(0,R.v_)(t.partner_sku_code),1),(0,V.Lk)("td",null,(0,R.v_)(t.barcode||"-"),1),(0,V.Lk)("td",h_,[(0,V.bF)(r,{unelevated:"",size:"sm",color:"negative",icon:"link_off",label:"연결 해제",loading:i.unlinkingKey===t.partner_id+"-"+t.partner_sku_code,onClick:e=>o.unlinkPartnerSku(t)},null,8,["loading","onClick"])])]))),128))])]),_:1,__:[30]})])]),(0,V.Lk)("div",b_,[(0,V.Lk)("div",f_,[(0,V.Lk)("div",v_,[t[32]||(t[32]=(0,V.Lk)("div",{class:"text-subtitle1"},"관련 요청 현황",-1)),(0,V.bF)(g,{color:"grey-7",outline:"",class:"q-ml-sm"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(i.detail?.related_requests?.length||0)+"건 ",1)]),_:1})]),(0,V.bF)(h,{flat:"",bordered:"",separator:"cell"},{default:(0,V.k6)(()=>[t[34]||(t[34]=(0,V.Lk)("thead",null,[(0,V.Lk)("tr",null,[(0,V.Lk)("th",{class:"text-left"},"요청 ID"),(0,V.Lk)("th",{class:"text-left"},"파트너"),(0,V.Lk)("th",{class:"text-left"},"파트너 SKU"),(0,V.Lk)("th",{class:"text-left"},"바코드"),(0,V.Lk)("th",{class:"text-center"},"상태"),(0,V.Lk)("th",{class:"text-left"},"최근 변경"),(0,V.Lk)("th",{class:"text-center"},"액션")])],-1)),(0,V.Lk)("tbody",null,[(i.detail?.related_requests||[]).length?(0,V.Q3)("",!0):((0,V.uX)(),(0,V.CE)("tr",k_,t[33]||(t[33]=[(0,V.Lk)("td",{colspan:"7",class:"text-center text-grey"},"이 상품 기준의 관련 요청이 없습니다.",-1)]))),((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(i.detail?.related_requests||[],t=>((0,V.uX)(),(0,V.CE)("tr",{key:t.request_id},[(0,V.Lk)("td",null,(0,R.v_)(t.request_id),1),(0,V.Lk)("td",null,(0,R.v_)(t.partner_name||"#"+t.partner_id),1),(0,V.Lk)("td",null,(0,R.v_)(t.partner_sku_code),1),(0,V.Lk)("td",null,(0,R.v_)(t.barcode||"-"),1),(0,V.Lk)("td",y_,[(0,V.bF)(d,{status:"REQUESTED"===t.status?"PENDING":"REJECTED"},null,8,["status"])]),(0,V.Lk)("td",null,(0,R.v_)(t.updated_at||t.created_at||"-"),1),(0,V.Lk)("td",L_,[(0,V.Lk)("div",__,["REQUESTED"===t.status?((0,V.uX)(),(0,V.Wv)(r,{key:0,unelevated:"",size:"sm",color:"positive",icon:"check_circle",label:"바로 연결 승인",loading:i.approvingRequestId===t.request_id,onClick:e=>o.approveRequestToCurrentProduct(t)},null,8,["loading","onClick"])):(0,V.Q3)("",!0),(0,V.bF)(r,{flat:"",dense:"",color:"primary",label:"요청 보기",onClick:e=>o.openApproval(t.request_id)},null,8,["onClick"])])])]))),128))])]),_:1,__:[34]})])])]),(0,V.bF)(f,{modelValue:i.guideDialog,"onUpdate:modelValue":t[15]||(t[15]=e=>i.guideDialog=e),title:"상품 상세 사용 가이드",description:"기준 상품 수정과 파트너 SKU 연결 관리 방법입니다."},{default:(0,V.k6)(()=>[(0,V.bF)(b,{"guide-key":"masterSkuDetail"})]),_:1},8,["modelValue"])]),_:1})}],["__scopeId","data-v-790bdbd5"]]));let x_={class:"row q-mb-lg"},C_={class:"col"},S_={class:"row q-mb-md"},F_={class:"col"},q_={class:"comp-box q-pa-md"},I_={class:"row q-col-gutter-md items-end"},P_={class:"col-12 col-md-8"},A_={class:"col-12 col-md-2"},T_={class:"col-12 col-md-2"},N_={class:"row"},E_={class:"col"},D_={class:"comp-box"},O_={class:"full-width column flex-center q-pa-xl text-grey-7"};let V_={class:"text-h6"};var R_={name:"BrandForm",props:{modelValue:{type:Boolean,default:!1},initialData:{type:Object,default:()=>({})}},emits:["update:modelValue","submit"],data(){return{localForm:{brand_id:null,name:"",is_active:!0}}},watch:{modelValue(e){e&&this.syncForm()},initialData:{deep:!0,handler(){this.modelValue&&this.syncForm()}}},methods:{syncForm(){this.localForm={brand_id:this.initialData?.brand_id||null,name:this.initialData?.name||"",is_active:void 0===this.initialData?.is_active||!!this.initialData.is_active}},close(){this.$emit("update:modelValue",!1)},submit(){this.$emit("submit",{brand_id:this.localForm.brand_id,name:String(this.localForm.name||"").trim(),is_active:!!this.localForm.is_active})}},mounted(){this.syncForm()}};let M_={class:"text-h6"};var $_={name:"CategoryForm",props:{modelValue:{type:Boolean,default:!1},initialData:{type:Object,default:()=>({})}},emits:["update:modelValue","submit"],data(){return{specTypeOptions:[{label:"APPAREL_SIZE",value:"APPAREL_SIZE"},{label:"PRODUCT_OPTION",value:"PRODUCT_OPTION"},{label:"PACK_COUNT",value:"PACK_COUNT"}],localForm:{category_id:null,name:"",default_spec_type:"PRODUCT_OPTION",is_active:!0}}},watch:{modelValue(e){e&&this.syncForm()},initialData:{deep:!0,handler(){this.modelValue&&this.syncForm()}}},methods:{normalizeDefaultSpecType(e){return["APPAREL_SIZE","PRODUCT_OPTION","PACK_COUNT"].includes(e)?e:"PRODUCT_OPTION"},syncForm(){this.localForm={category_id:this.initialData?.category_id||null,name:this.initialData?.name||"",default_spec_type:this.normalizeDefaultSpecType(this.initialData?.default_spec_type),is_active:void 0===this.initialData?.is_active||!!this.initialData.is_active}},close(){this.$emit("update:modelValue",!1)},submit(){this.$emit("submit",{category_id:this.localForm.category_id,name:String(this.localForm.name||"").trim(),default_spec_type:this.localForm.default_spec_type,is_active:!!this.localForm.is_active})}},mounted(){this.syncForm()}};let P="brand",U_="category",W_={name:"MasterDataManage",components:{Title:b,StatusBadge:F,DataTable:q,BrandForm:(0,e.A)(R_,[["render",function(t,e,a,l,i,o){let s=(0,V.g2)("q-space"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("q-card-section"),d=(0,V.g2)("q-input"),c=(0,V.g2)("q-toggle"),u=(0,V.g2)("q-card-actions"),m=(0,V.g2)("q-card");var p=(0,V.g2)("q-dialog");return(0,V.uX)(),(0,V.Wv)(p,{"model-value":a.modelValue,"onUpdate:modelValue":e[2]||(e[2]=e=>t.$emit("update:modelValue",e))},{default:(0,V.k6)(()=>[(0,V.bF)(m,{style:{"min-width":"420px","max-width":"90vw"}},{default:(0,V.k6)(()=>[(0,V.bF)(n,{class:"row items-center q-pb-none"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",V_,(0,R.v_)(i.localForm.brand_id?"브랜드 수정":"브랜드 등록"),1),(0,V.bF)(s),(0,V.bF)(r,{icon:"close",flat:"",round:"",dense:"",onClick:o.close},null,8,["onClick"])]),_:1}),(0,V.bF)(n,null,{default:(0,V.k6)(()=>[(0,V.bF)(d,{modelValue:i.localForm.name,"onUpdate:modelValue":e[0]||(e[0]=e=>i.localForm.name=e),label:"브랜드명",outlined:"",dense:"",autofocus:"",class:"q-mb-md"},null,8,["modelValue"]),(0,V.bF)(c,{modelValue:i.localForm.is_active,"onUpdate:modelValue":e[1]||(e[1]=e=>i.localForm.is_active=e),label:"활성 여부"},null,8,["modelValue"])]),_:1}),(0,V.bF)(u,{align:"right"},{default:(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",label:"취소",onClick:o.close},null,8,["onClick"]),(0,V.bF)(r,{color:"primary",label:"저장",onClick:o.submit},null,8,["onClick"])]),_:1})]),_:1})]),_:1},8,["model-value"])}]]),CategoryForm:(0,e.A)($_,[["render",function(t,e,a,l,i,o){let s=(0,V.g2)("q-space"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("q-card-section"),d=(0,V.g2)("q-input"),c=(0,V.g2)("q-select"),u=(0,V.g2)("q-toggle"),m=(0,V.g2)("q-card-actions"),p=(0,V.g2)("q-card");var g=(0,V.g2)("q-dialog");return(0,V.uX)(),(0,V.Wv)(g,{"model-value":a.modelValue,"onUpdate:modelValue":e[3]||(e[3]=e=>t.$emit("update:modelValue",e))},{default:(0,V.k6)(()=>[(0,V.bF)(p,{style:{"min-width":"420px","max-width":"90vw"}},{default:(0,V.k6)(()=>[(0,V.bF)(n,{class:"row items-center q-pb-none"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",M_,(0,R.v_)(i.localForm.category_id?"카테고리 수정":"카테고리 등록"),1),(0,V.bF)(s),(0,V.bF)(r,{icon:"close",flat:"",round:"",dense:"",onClick:o.close},null,8,["onClick"])]),_:1}),(0,V.bF)(n,null,{default:(0,V.k6)(()=>[(0,V.bF)(d,{modelValue:i.localForm.name,"onUpdate:modelValue":e[0]||(e[0]=e=>i.localForm.name=e),label:"카테고리명",outlined:"",dense:"",autofocus:"",class:"q-mb-md"},null,8,["modelValue"]),(0,V.bF)(c,{modelValue:i.localForm.default_spec_type,"onUpdate:modelValue":e[1]||(e[1]=e=>i.localForm.default_spec_type=e),options:i.specTypeOptions,"emit-value":"","map-options":"",label:"기본 규격 타입",outlined:"",dense:"",class:"q-mb-md"},null,8,["modelValue","options"]),(0,V.bF)(u,{modelValue:i.localForm.is_active,"onUpdate:modelValue":e[2]||(e[2]=e=>i.localForm.is_active=e),label:"활성 여부"},null,8,["modelValue"])]),_:1}),(0,V.bF)(m,{align:"right"},{default:(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",label:"취소",onClick:o.close},null,8,["onClick"]),(0,V.bF)(r,{color:"primary",label:"저장",onClick:o.submit},null,8,["onClick"])]),_:1})]),_:1})]),_:1},8,["model-value"])}]]),PageGuideDialog:a,FulfillmentPageGuide:x},data(){return{description:{title:"브랜드/카테고리 관리"},activeTab:P,tabs:[{label:"브랜드",value:P},{label:"카테고리",value:U_}],activeOptions:[{label:"전체",value:""},{label:"활성",value:!0},{label:"비활성",value:!1}],filtersByTab:{brand:{q:"",is_active:""},category:{q:"",is_active:""}},rowsByTab:{brand:[],category:[]},loadingByTab:{brand:!1,category:!1},pagination:{page:1,rowsPerPage:20},brandDialog:!1,categoryDialog:!1,guideDialog:!1,selectedBrand:{},selectedCategory:{}}},computed:{currentFilters(){return this.filtersByTab[this.activeTab]},currentRows(){return this.rowsByTab[this.activeTab]},currentLoading(){return this.loadingByTab[this.activeTab]},createButtonLabel(){return this.activeTab===P?"브랜드 등록":"카테고리 등록"},searchLabel(){return this.activeTab===P?"브랜드명 검색":"카테고리명 검색"},currentColumns(){return this.activeTab===P?[{name:"brand_id",label:"ID",field:"brand_id",align:"left"},{name:"name",label:"브랜드명",field:"name",align:"left"},{name:"is_active",label:"활성 여부",field:e=>e.is_active?"ACTIVE":"INACTIVE",align:"center"},{name:"created_at",label:"생성일",field:e=>this.formatDateTime(e.created_at),align:"left"},{name:"updated_at",label:"수정일",field:e=>this.formatDateTime(e.updated_at),align:"left"},{name:"actions",label:"관리",field:"actions",align:"center"}]:[{name:"category_id",label:"ID",field:"category_id",align:"left"},{name:"name",label:"카테고리명",field:"name",align:"left"},{name:"default_spec_type",label:"기본 규격 타입",field:"default_spec_type",align:"center"},{name:"is_active",label:"활성 여부",field:e=>e.is_active?"ACTIVE":"INACTIVE",align:"center"},{name:"created_at",label:"생성일",field:e=>this.formatDateTime(e.created_at),align:"left"},{name:"updated_at",label:"수정일",field:e=>this.formatDateTime(e.updated_at),align:"left"},{name:"actions",label:"관리",field:"actions",align:"center"}]}},watch:{"$route.query.tab":{immediate:!0,handler(e){e=e===U_?U_:P;this.activeTab=e}},activeTab(e,t){e===t||(this.syncRoute(),this.rowsByTab[e].length)||this.loadList(e)}},methods:{syncRoute(){var e=this.activeTab===U_?U_:P;this.$route.query.tab!==e&&this.$router.replace({path:"/admin/fulfillment/master-data",query:{...this.$route.query,tab:e}})},buildQuery(e){e=this.filtersByTab[e];return new URLSearchParams({q:e.q||"",is_active:""===e.is_active?"":String(e.is_active)}).toString()},async loadList(t=this.activeTab){this.loadingByTab[t]=!0;var e=t===P,e={method:"GET",url:e?"/api/fulfillment/admin/brands?"+this.buildQuery(t):"/api/fulfillment/admin/categories?"+this.buildQuery(t),name:e?"[ Fulfillment / 브랜드 관리 목록 ]":"[ Fulfillment / 카테고리 관리 목록 ]"};await this.$http(e).then(e=>{this.rowsByTab[t]=Array.isArray(e.data?.data)?e.data.data:[]}).catch(()=>{this.rowsByTab[t]=[]}),this.loadingByTab[t]=!1},formatDateTime(e){return e?this.$formatDate(e,"YYYY-MM-DD HH:mm:ss"):"-"},onSearch(){this.loadList(this.activeTab)},openCreate(){this.activeTab===P?(this.selectedBrand={},this.brandDialog=!0):(this.selectedCategory={},this.categoryDialog=!0)},openEdit(e){this.activeTab===P?(this.selectedBrand={...e},this.brandDialog=!0):(this.selectedCategory={...e},this.categoryDialog=!0)},async saveBrand(e){let t=!!e?.brand_id;e={method:t?"PUT":"POST",url:t?"/api/fulfillment/admin/brands/"+e.brand_id:"/api/fulfillment/admin/brands",data:e,name:"[ Fulfillment / 브랜드 저장 ]"};await this.$http(e).then(()=>{this.$q.notify({type:"positive",message:t?"브랜드가 수정되었습니다.":"브랜드가 등록되었습니다."}),this.brandDialog=!1,this.loadList(P)}).catch(e=>{this.$q.notify({type:"negative",message:e?.response?.data?.message||"브랜드 저장에 실패했습니다."})})},async saveCategory(e){let t=!!e?.category_id;e={method:t?"PUT":"POST",url:t?"/api/fulfillment/admin/categories/"+e.category_id:"/api/fulfillment/admin/categories",data:e,name:"[ Fulfillment / 카테고리 저장 ]"};await this.$http(e).then(()=>{this.$q.notify({type:"positive",message:t?"카테고리가 수정되었습니다.":"카테고리가 등록되었습니다."}),this.categoryDialog=!1,this.loadList(U_)}).catch(e=>{this.$q.notify({type:"negative",message:e?.response?.data?.message||"카테고리 저장에 실패했습니다."})})}},mounted(){this.loadList(this.activeTab)}};R_=(0,e.A)(W_,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-tooltip"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("Title"),d=(0,V.g2)("q-tab"),c=(0,V.g2)("q-tabs"),u=(0,V.g2)("q-input"),m=(0,V.g2)("q-select"),p=(0,V.g2)("StatusBadge"),g=(0,V.g2)("q-td"),h=(0,V.g2)("q-icon"),b=(0,V.g2)("DataTable"),f=(0,V.g2)("BrandForm"),v=(0,V.g2)("CategoryForm"),k=(0,V.g2)("FulfillmentPageGuide"),y=(0,V.g2)("PageGuideDialog");var L=(0,V.g2)("q-page");return(0,V.uX)(),(0,V.Wv)(L,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",x_,[(0,V.Lk)("div",C_,[(0,V.bF)(n,{desc:i.description},{"title-action":(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",round:"",dense:"",size:"sm",color:"primary",icon:"help_outline","aria-label":"브랜드/카테고리 관리 사용 가이드",onClick:t[0]||(t[0]=e=>i.guideDialog=!0)},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[7]||(t[7]=[(0,V.eW)("브랜드/카테고리 관리 사용 가이드")])),_:1,__:[7]})]),_:1})]),default:(0,V.k6)(()=>[(0,V.bF)(r,{color:"primary",icon:"add",label:o.createButtonLabel,onClick:o.openCreate},null,8,["label","onClick"])]),_:1},8,["desc"])])]),(0,V.Lk)("div",S_,[(0,V.Lk)("div",F_,[(0,V.Lk)("div",q_,[t[8]||(t[8]=(0,V.Lk)("div",{class:"text-body2 text-grey-7 q-mb-sm"}," 상품 등록에 사용하는 브랜드와 카테고리 정보를 관리합니다. ",-1)),(0,V.bF)(c,{modelValue:i.activeTab,"onUpdate:modelValue":t[1]||(t[1]=e=>i.activeTab=e),dense:"","active-color":"primary","indicator-color":"primary",class:"q-mb-md",align:"left"},{default:(0,V.k6)(()=>[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(i.tabs,e=>((0,V.uX)(),(0,V.Wv)(d,{key:e.value,name:e.value,label:e.label},null,8,["name","label"]))),128))]),_:1},8,["modelValue"]),(0,V.Lk)("div",I_,[(0,V.Lk)("div",P_,[(0,V.bF)(u,{modelValue:o.currentFilters.q,"onUpdate:modelValue":t[2]||(t[2]=e=>o.currentFilters.q=e),label:o.searchLabel,dense:"",outlined:"",onKeyup:(0,I.jR)(o.onSearch,["enter"])},null,8,["modelValue","label","onKeyup"])]),(0,V.Lk)("div",A_,[(0,V.bF)(m,{modelValue:o.currentFilters.is_active,"onUpdate:modelValue":t[3]||(t[3]=e=>o.currentFilters.is_active=e),options:i.activeOptions,"emit-value":"","map-options":"",label:"활성 여부",dense:"",outlined:""},null,8,["modelValue","options"])]),(0,V.Lk)("div",T_,[(0,V.bF)(r,{color:"primary",label:"검색",class:"full-width",onClick:o.onSearch},null,8,["onClick"])])])])])]),(0,V.Lk)("div",N_,[(0,V.Lk)("div",E_,[(0,V.Lk)("div",D_,[(0,V.bF)(b,{rows:o.currentRows,columns:o.currentColumns,"row-key":"brand"===i.activeTab?"brand_id":"category_id",loading:o.currentLoading,pagination:i.pagination},{"body-cell-is_active":(0,V.k6)(e=>[(0,V.bF)(g,{props:e},{default:(0,V.k6)(()=>[(0,V.bF)(p,{status:e.value},null,8,["status"])]),_:2},1032,["props"])]),"body-cell-actions":(0,V.k6)(t=>[(0,V.bF)(g,{props:t},{default:(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",dense:"",color:"primary",label:"수정",onClick:e=>o.openEdit(t.row)},null,8,["onClick"])]),_:2},1032,["props"])]),"no-data":(0,V.k6)(()=>[(0,V.Lk)("div",O_,[(0,V.bF)(h,{name:"category",size:"36px",class:"q-mb-sm"}),t[9]||(t[9]=(0,V.Lk)("div",{class:"text-body2"},"등록된 항목이 없습니다.",-1)),t[10]||(t[10]=(0,V.Lk)("div",{class:"text-caption q-mt-xs"},"타이틀 영역의 등록 버튼을 눌러 새 항목을 추가하세요.",-1))])]),_:1},8,["rows","columns","row-key","loading","pagination"])])])]),(0,V.bF)(f,{modelValue:i.brandDialog,"onUpdate:modelValue":t[4]||(t[4]=e=>i.brandDialog=e),"initial-data":i.selectedBrand,onSubmit:o.saveBrand},null,8,["modelValue","initial-data","onSubmit"]),(0,V.bF)(v,{modelValue:i.categoryDialog,"onUpdate:modelValue":t[5]||(t[5]=e=>i.categoryDialog=e),"initial-data":i.selectedCategory,onSubmit:o.saveCategory},null,8,["modelValue","initial-data","onSubmit"]),(0,V.bF)(y,{modelValue:i.guideDialog,"onUpdate:modelValue":t[6]||(t[6]=e=>i.guideDialog=e),title:"브랜드/카테고리 관리 사용 가이드",description:"상품 등록에 사용하는 브랜드와 카테고리 정리 방법입니다."},{default:(0,V.k6)(()=>[(0,V.bF)(k,{"guide-key":"masterData"})]),_:1},8,["modelValue"])]),_:1})}]]);let B_={class:"row q-mb-lg"},z_={class:"col"},X_={class:"row q-col-gutter-md q-mb-md items-stretch"},K_={class:"col-12 col-md-3"},Q_={class:"comp-box q-pa-md dashboard-card"},G_={class:"row items-start justify-between no-wrap"},H_={class:"text-h5 q-mt-sm"},j_={class:"col-12 col-md-3"},Y_={class:"comp-box q-pa-md dashboard-card"},Z_={class:"row items-start justify-between no-wrap"},J_={class:"text-h5 q-mt-sm"},ew={class:"col-12 col-md-3"},tw={class:"comp-box q-pa-md dashboard-card"},aw={class:"row items-start justify-between no-wrap"},lw={class:"text-h5 q-mt-sm"},iw={class:"col-12 col-md-3"},ow={class:"comp-box q-pa-md dashboard-card"},sw={class:"row items-start justify-between no-wrap"},rw={class:"text-h5 q-mt-sm"},nw={class:"col-12 col-md-3"},dw={class:"comp-box q-pa-md dashboard-card"},cw={class:"row items-start justify-between no-wrap"},uw={class:"text-h5 q-mt-sm"},mw={class:"col-12 col-md-3"},pw={class:"comp-box q-pa-md dashboard-card"},gw={class:"row items-start justify-between no-wrap"},hw={class:"text-h5 q-mt-sm"},bw={class:"row q-col-gutter-md items-stretch"},fw={class:"col-12 col-lg-6"},vw={class:"comp-box dashboard-panel"},kw={class:"row items-center justify-between q-pa-md"},yw={class:"col-12 col-lg-6"},Lw={class:"comp-box dashboard-panel"},_w={class:"row items-center justify-between q-pa-md"},ww={class:"row q-col-gutter-md q-mt-md items-stretch"},xw={class:"col-12 col-lg-6"},Cw={class:"comp-box dashboard-panel"},Sw={class:"row items-center justify-between q-pa-md"},Fw={class:"col-12 col-lg-6"},qw={class:"comp-box dashboard-panel"},Iw={class:"row items-center justify-between q-pa-md"};$_={name:"AdminFulfillmentOpsDashboard",components:{Title:b,StatusBadge:F,DataTable:q,PageGuideDialog:a,FulfillmentPageGuide:x},data(){return{description:{title:"상품 운영 현황"},loading:!1,guideDialog:!1,summary:{approvalPending:0,mappingPending:0,mappedCount:0,unmappedCount:0,todayRequested:0,recentRejected:0},approvalRows:[],mappingRows:[],oldestPendingRows:[],recentRejectedRows:[]}},methods:{applyRouteContext(){var e=String(this.$route?.meta?.title||"").replace(/^Aone 관리자 \|\s*/,"");e&&(this.description.title=e)},async fetchTotal(e){e=await this.$http({method:"GET",url:e,name:"[ Fulfillment / 운영 현황 요약 ]"});return Number(e?.data?.data?.total||0)},normalizeRows(e){return Array.isArray(e)?e:Array.isArray(e?.items)?e.items:Array.isArray(e?.list)?e.list:[]},async loadDashboard(){this.loading=!0;try{var[e,t,a,l,i,o]=await Promise.all([this.$http({method:"GET",url:"/api/fulfillment/admin/sku-requests/ops-summary",name:"[ Fulfillment / 운영 현황 승인 요약 ]"}),this.fetchTotal("/api/fulfillment/admin/master-skus/mappings?status=PENDING&page=1&pageSize=1"),this.fetchTotal("/api/fulfillment/admin/master-skus?mapping_status=MAPPED&page=1&pageSize=1"),this.fetchTotal("/api/fulfillment/admin/master-skus?mapping_status=UNMAPPED&page=1&pageSize=1"),this.$http({method:"GET",url:"/api/fulfillment/admin/sku-requests?status=REQUESTED&page=1&pageSize=5",name:"[ Fulfillment / 운영 현황 승인 대기 ]"}),this.$http({method:"GET",url:"/api/fulfillment/admin/master-skus/mappings?status=PENDING&page=1&pageSize=5",name:"[ Fulfillment / 운영 현황 연결 처리 ]"})]),s=e?.data?.data||{};this.summary={approvalPending:Number(s.approval_pending||0),mappingPending:t,mappedCount:a,unmappedCount:l,todayRequested:Number(s.today_requested||0),recentRejected:Number(s.recent_rejected||0)},this.approvalRows=this.normalizeRows(i?.data?.data),this.mappingRows=this.normalizeRows(o?.data?.data),this.oldestPendingRows=s.oldest_pending||[],this.recentRejectedRows=s.recent_rejected_items||[]}catch(e){this.summary={approvalPending:0,mappingPending:0,mappedCount:0,unmappedCount:0,todayRequested:0,recentRejected:0},this.approvalRows=[],this.mappingRows=[],this.oldestPendingRows=[],this.recentRejectedRows=[]}finally{this.loading=!1}},goToApprovals(){this.$router.push("/admin/fulfillment/approvals")},goToOldestApprovals(){this.$router.push("/admin/fulfillment/approvals?sort=oldest")},goToRejected(){this.$router.push("/admin/fulfillment/approvals?status=REJECTED")},goToMappings(){this.$router.push("/admin/fulfillment/mappings")},goToProducts(e=""){this.$router.push({path:"/admin/fulfillment/master-skus",query:e?{mapping_status:e}:{}})},openApproval(e){e?.request_id&&this.$router.push("/admin/fulfillment/approvals/"+e.request_id)},openMapping(e){e?.request_id?this.$router.push("/admin/fulfillment/approvals/"+e.request_id):e?.master_sku_id&&this.$router.push("/admin/fulfillment/master-skus/"+e.master_sku_id)},formatDateTime(e){return e?this.$formatDate(e,"YYYY-MM-DD HH:mm:ss"):"-"}},mounted(){this.applyRouteContext(),this.loadDashboard()}},v(29335),$_=(0,e.A)($_,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-tooltip"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("Title"),d=(0,V.g2)("StatusBadge"),c=(0,V.g2)("q-td"),u=(0,V.g2)("DataTable"),m=(0,V.g2)("FulfillmentPageGuide"),p=(0,V.g2)("PageGuideDialog");var g=(0,V.g2)("q-page");return(0,V.uX)(),(0,V.Wv)(g,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",B_,[(0,V.Lk)("div",z_,[(0,V.bF)(n,{desc:i.description},{"title-action":(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",round:"",dense:"",size:"sm",color:"primary",icon:"help_outline","aria-label":"상품 운영 현황 사용 가이드",onClick:t[0]||(t[0]=e=>i.guideDialog=!0)},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[4]||(t[4]=[(0,V.eW)("상품 운영 현황 사용 가이드")])),_:1,__:[4]})]),_:1})]),default:(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",round:"",dense:"",color:"primary",icon:"refresh","aria-label":"새로고침",onClick:o.loadDashboard},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[5]||(t[5]=[(0,V.eW)("새로고침")])),_:1,__:[5]})]),_:1},8,["onClick"])]),_:1},8,["desc"])])]),(0,V.Lk)("div",X_,[(0,V.Lk)("div",K_,[(0,V.Lk)("div",Q_,[(0,V.Lk)("div",G_,[t[7]||(t[7]=(0,V.Lk)("div",{class:"text-caption text-grey"},"승인 대기",-1)),(0,V.bF)(r,{flat:"",round:"",dense:"",color:"primary",icon:"open_in_new","aria-label":"요청 대기 보기",onClick:o.goToApprovals},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[6]||(t[6]=[(0,V.eW)("요청 대기 보기")])),_:1,__:[6]})]),_:1},8,["onClick"])]),(0,V.Lk)("div",H_,(0,R.v_)(i.summary.approvalPending),1)])]),(0,V.Lk)("div",j_,[(0,V.Lk)("div",Y_,[(0,V.Lk)("div",Z_,[t[9]||(t[9]=(0,V.Lk)("div",{class:"text-caption text-grey"},"연결 검토 필요",-1)),(0,V.bF)(r,{flat:"",round:"",dense:"",color:"primary",icon:"open_in_new","aria-label":"연결 검토 보기",onClick:o.goToMappings},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[8]||(t[8]=[(0,V.eW)("연결 검토 보기")])),_:1,__:[8]})]),_:1},8,["onClick"])]),(0,V.Lk)("div",J_,(0,R.v_)(i.summary.mappingPending),1)])]),(0,V.Lk)("div",ew,[(0,V.Lk)("div",tw,[(0,V.Lk)("div",aw,[t[11]||(t[11]=(0,V.Lk)("div",{class:"text-caption text-grey"},"정상 연결 상품",-1)),(0,V.bF)(r,{flat:"",round:"",dense:"",color:"primary",icon:"open_in_new","aria-label":"정상 연결 상품 보기",onClick:t[1]||(t[1]=e=>o.goToProducts("MAPPED"))},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[10]||(t[10]=[(0,V.eW)("정상 연결 상품 보기")])),_:1,__:[10]})]),_:1})]),(0,V.Lk)("div",lw,(0,R.v_)(i.summary.mappedCount),1)])]),(0,V.Lk)("div",iw,[(0,V.Lk)("div",ow,[(0,V.Lk)("div",sw,[t[13]||(t[13]=(0,V.Lk)("div",{class:"text-caption text-grey"},"미연결 상품",-1)),(0,V.bF)(r,{flat:"",round:"",dense:"",color:"primary",icon:"open_in_new","aria-label":"미연결 상품 보기",onClick:t[2]||(t[2]=e=>o.goToProducts("UNMAPPED"))},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[12]||(t[12]=[(0,V.eW)("미연결 상품 보기")])),_:1,__:[12]})]),_:1})]),(0,V.Lk)("div",rw,(0,R.v_)(i.summary.unmappedCount),1)])]),(0,V.Lk)("div",nw,[(0,V.Lk)("div",dw,[(0,V.Lk)("div",cw,[t[15]||(t[15]=(0,V.Lk)("div",{class:"text-caption text-grey"},"오늘 신규 요청",-1)),(0,V.bF)(r,{flat:"",round:"",dense:"",color:"primary",icon:"open_in_new","aria-label":"요청 대기 보기",onClick:o.goToApprovals},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[14]||(t[14]=[(0,V.eW)("요청 대기 보기")])),_:1,__:[14]})]),_:1},8,["onClick"])]),(0,V.Lk)("div",uw,(0,R.v_)(i.summary.todayRequested),1)])]),(0,V.Lk)("div",mw,[(0,V.Lk)("div",pw,[(0,V.Lk)("div",gw,[t[17]||(t[17]=(0,V.Lk)("div",{class:"text-caption text-grey"},"최근 7일 거절",-1)),(0,V.bF)(r,{flat:"",round:"",dense:"",color:"primary",icon:"open_in_new","aria-label":"반려 요청 보기",onClick:o.goToRejected},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[16]||(t[16]=[(0,V.eW)("반려 요청 보기")])),_:1,__:[16]})]),_:1},8,["onClick"])]),(0,V.Lk)("div",hw,(0,R.v_)(i.summary.recentRejected),1)])])]),(0,V.Lk)("div",bw,[(0,V.Lk)("div",fw,[(0,V.Lk)("div",vw,[(0,V.Lk)("div",kw,[t[19]||(t[19]=(0,V.Lk)("div",{class:"text-subtitle1"},"전체 요청 대기 목록",-1)),(0,V.bF)(r,{flat:"",round:"",dense:"",color:"primary",icon:"open_in_new","aria-label":"전체 요청 대기 보기",onClick:o.goToApprovals},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[18]||(t[18]=[(0,V.eW)("전체 요청 대기 보기")])),_:1,__:[18]})]),_:1},8,["onClick"])]),(0,V.bF)(u,{rows:i.approvalRows,columns:[{name:"partner_name",label:"파트너",field:e=>e.partner_name||"#"+e.partner_id,align:"left"},{name:"partner_sku_code",label:"파트너 SKU",field:"partner_sku_code",align:"left"},{name:"barcode",label:"바코드",field:e=>e.barcode||"-",align:"left"},{name:"brand_category",label:"브랜드/카테고리",field:e=>`${e.brand_name||""}/`+(e.category_name||""),align:"left"},{name:"status",label:"상태",field:"status",align:"center"}],"row-key":"request_id",loading:i.loading,pagination:{rowsPerPage:5},onRowClick:o.openApproval},{"body-cell-status":(0,V.k6)(e=>[(0,V.bF)(c,{props:e},{default:(0,V.k6)(()=>[(0,V.bF)(d,{status:e.value},null,8,["status"])]),_:2},1032,["props"])]),_:1},8,["rows","columns","loading","onRowClick"])])]),(0,V.Lk)("div",yw,[(0,V.Lk)("div",Lw,[(0,V.Lk)("div",_w,[t[21]||(t[21]=(0,V.Lk)("div",{class:"text-subtitle1"},"연결 검토 목록",-1)),(0,V.bF)(r,{flat:"",round:"",dense:"",color:"primary",icon:"open_in_new","aria-label":"전체 연결 검토 보기",onClick:o.goToMappings},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[20]||(t[20]=[(0,V.eW)("전체 연결 검토 보기")])),_:1,__:[20]})]),_:1},8,["onClick"])]),(0,V.bF)(u,{rows:i.mappingRows,columns:[{name:"partner_name",label:"파트너",field:e=>e.partner_name||"#"+e.partner_id,align:"left"},{name:"partner_sku_code",label:"파트너 SKU",field:"partner_sku_code",align:"left"},{name:"barcode",label:"바코드",field:e=>e.barcode||"-",align:"left"},{name:"display_name",label:"대상 상품",field:"display_name",align:"left"},{name:"mapping_status",label:"상태",field:"mapping_status",align:"center"}],"row-key":"request_id",loading:i.loading,pagination:{rowsPerPage:5},onRowClick:o.openMapping},{"body-cell-mapping_status":(0,V.k6)(e=>[(0,V.bF)(c,{props:e},{default:(0,V.k6)(()=>[(0,V.bF)(d,{status:e.value},null,8,["status"])]),_:2},1032,["props"])]),_:1},8,["rows","columns","loading","onRowClick"])])])]),(0,V.Lk)("div",ww,[(0,V.Lk)("div",xw,[(0,V.Lk)("div",Cw,[(0,V.Lk)("div",Sw,[t[23]||(t[23]=(0,V.Lk)("div",{class:"text-subtitle1"},"장기 미처리 요청",-1)),(0,V.bF)(r,{flat:"",round:"",dense:"",color:"primary",icon:"open_in_new","aria-label":"오래된 요청 보기",onClick:o.goToOldestApprovals},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[22]||(t[22]=[(0,V.eW)("오래된 요청 보기")])),_:1,__:[22]})]),_:1},8,["onClick"])]),(0,V.bF)(u,{rows:i.oldestPendingRows,columns:[{name:"aging_days",label:"경과일",field:e=>`${e.aging_days||0}일`,align:"center"},{name:"partner_name",label:"파트너",field:e=>e.partner_name||"#"+e.partner_id,align:"left"},{name:"partner_sku_code",label:"파트너 SKU",field:"partner_sku_code",align:"left"},{name:"barcode",label:"바코드",field:e=>e.barcode||"-",align:"left"},{name:"brand_category",label:"브랜드/카테고리",field:e=>`${e.brand_name||""}/`+(e.category_name||""),align:"left"}],"row-key":"request_id",loading:i.loading,pagination:{rowsPerPage:5},onRowClick:o.openApproval},null,8,["rows","columns","loading","onRowClick"])])]),(0,V.Lk)("div",Fw,[(0,V.Lk)("div",qw,[(0,V.Lk)("div",Iw,[t[25]||(t[25]=(0,V.Lk)("div",{class:"text-subtitle1"},"최근 거절",-1)),(0,V.bF)(r,{flat:"",round:"",dense:"",color:"primary",icon:"open_in_new","aria-label":"반려 요청 보기",onClick:o.goToRejected},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[24]||(t[24]=[(0,V.eW)("반려 요청 보기")])),_:1,__:[24]})]),_:1},8,["onClick"])]),(0,V.bF)(u,{rows:i.recentRejectedRows,columns:[{name:"partner_name",label:"파트너",field:e=>e.partner_name||"#"+e.partner_id,align:"left"},{name:"partner_sku_code",label:"파트너 SKU",field:"partner_sku_code",align:"left"},{name:"barcode",label:"바코드",field:e=>e.barcode||"-",align:"left"},{name:"reject_reason",label:"거절 사유",field:e=>e.reject_reason||"-",align:"left"},{name:"processed_at",label:"처리 시각",field:e=>o.formatDateTime(e.processed_at),align:"left"}],"row-key":"request_id",loading:i.loading,pagination:{rowsPerPage:5},onRowClick:o.openApproval},null,8,["rows","columns","loading","onRowClick"])])])]),(0,V.bF)(p,{modelValue:i.guideDialog,"onUpdate:modelValue":t[3]||(t[3]=e=>i.guideDialog=e),title:"상품 운영 현황 사용 가이드",description:"상품 관리 업무 현황과 우선 처리 항목을 확인하는 방법입니다."},{default:(0,V.k6)(()=>[(0,V.bF)(m,{"guide-key":"operations"})]),_:1},8,["modelValue"])]),_:1})}],["__scopeId","data-v-4c8230ce"]]);let Pw={class:"row q-mb-lg"},Aw={class:"col"},Tw={class:"comp-box q-pa-md q-mb-md"},Nw={class:"row q-col-gutter-md"},Ew={class:"col-12 col-md-9"},Dw={class:"col-12 col-md-3"},Ow={class:"comp-box"},Vw={class:"full-width column flex-center q-pa-xl text-grey-7"};let Rw=[{name:"requested",label:"요청 · 대기"},{name:"rejected",label:"요청 · 반려"},{name:"pending",label:"매핑 · 연결 검토"},{name:"mapped",label:"매핑 · 정상 연결"}],Mw=Rw.map(e=>e.name),$w={name:"RequestMappingManage",components:{Title:b,StatusBadge:F,DataTable:q,PageGuideDialog:a,FulfillmentPageGuide:x},data(){return{description:{title:"요청/매핑 관리"},activeTab:"requested",filters:{q:""},sort:"",loading:!1,guideDialog:!1,rows:[],pagination:{page:1,rowsPerPage:20}}},computed:{tabOptions(){return Rw},currentColumns(){return"requested"===this.activeTab?[{name:"status",label:"상태",field:"status",align:"center"},{name:"request_id",label:"요청 ID",field:"request_id",align:"right"},{name:"partner_name",label:"파트너",field:e=>e.partner_name||"#"+e.partner_id,align:"left"},{name:"partner_sku_code",label:"파트너 SKU",field:"partner_sku_code",align:"left"},{name:"barcode",label:"바코드",field:e=>e.barcode||"-",align:"left"},{name:"brand_category",label:"브랜드/카테고리",field:e=>`${e.brand_name||""}/`+(e.category_name||""),align:"left"},{name:"spec_type",label:"규격 타입",field:"spec_type",align:"center"},{name:"spec_key",label:"상품 식별키",field:"spec_key",align:"left"},{name:"created_at",label:"요청일",field:e=>this.formatDateTime(e.created_at),align:"left"}]:"rejected"===this.activeTab?[{name:"status",label:"상태",field:"status",align:"center"},{name:"request_id",label:"요청 ID",field:"request_id",align:"right"},{name:"partner_name",label:"파트너",field:e=>e.partner_name||"#"+e.partner_id,align:"left"},{name:"partner_sku_code",label:"파트너 SKU",field:"partner_sku_code",align:"left"},{name:"barcode",label:"바코드",field:e=>e.barcode||"-",align:"left"},{name:"brand_category",label:"브랜드/카테고리",field:e=>`${e.brand_name||""}/`+(e.category_name||""),align:"left"},{name:"reject_reason",label:"반려 사유",field:e=>e.reject_reason||"-",align:"left"},{name:"updated_at",label:"최근 변경일",field:e=>this.formatDateTime(e.updated_at||e.created_at),align:"left"}]:[{name:"mapping_status",label:"연결 상태",field:"mapping_status",align:"center"},{name:"partner_name",label:"파트너명",field:e=>e.partner_name||"#"+(e.partner_id??"-"),align:"left"},{name:"partner_sku_code",label:"파트너 SKU",field:"partner_sku_code",align:"left"},{name:"barcode",label:"바코드",field:e=>e.barcode||"-",align:"left"},{name:"relation_source",label:"처리 유형",field:e=>e.request_id?"요청 건":"기연결",align:"center"},{name:"display_name",label:"대상 상품",field:"display_name",align:"left"},{name:"master_sku_code",label:"대상 마스터 SKU",field:"master_sku_code",align:"left"},{name:"request_updated_at",label:"최근 변경일",field:e=>this.formatDateTime(e.request_updated_at||e.updated_at),align:"left"},{name:"actions",label:"액션",field:"actions",align:"center"}]}},watch:{activeTab(){this.syncRouteTab(),this.pagination.page=1,this.loadList()},"$route.query.tab"(){this.applyRouteContext()}},methods:{syncRouteTab(){this.$route?.query?.tab!==this.activeTab&&this.$router.replace({path:this.$route.path,query:{...this.$route.query,tab:this.activeTab}}).catch(()=>{})},applyRouteContext(){var e=String(this.$route?.meta?.title||"").replace(/^Aone 관리자 \|\s*/,""),e=(e&&(this.description.title=e),String(this.$route?.query?.tab||""));this.sort=String(this.$route?.query?.sort||""),Mw.includes(e)&&e!==this.activeTab&&(this.activeTab=e)},normalizeRows(e){e=Array.isArray(e)?e:Array.isArray(e?.items)?e.items:Array.isArray(e?.list)?e.list:[];return"requested"===this.activeTab||"rejected"===this.activeTab?e:e.map((e,t)=>({...e,row_key:`${e.master_sku_id||"m"}-${e.partner_id||"p"}-${e.partner_sku_code||"sku"}-${e.mapping_status||"status"}-`+t}))},buildRequestUrl(e){e=new URLSearchParams({status:e,q:this.filters.q||"",page:String(this.pagination.page),pageSize:String(this.pagination.rowsPerPage)});return this.sort&&"requested"===this.activeTab&&e.set("sort",this.sort),"/api/fulfillment/admin/sku-requests?"+e.toString()},buildMappingUrl(e){return"/api/fulfillment/admin/master-skus/mappings?"+new URLSearchParams({status:e,q:this.filters.q||"",page:String(this.pagination.page),pageSize:String(this.pagination.rowsPerPage)}).toString()},getListConfig(){return"requested"===this.activeTab?{method:"GET",url:this.buildRequestUrl("REQUESTED"),name:"[ Fulfillment / 요청 대기 목록 ]"}:"rejected"===this.activeTab?{method:"GET",url:this.buildRequestUrl("REJECTED"),name:"[ Fulfillment / 반려 목록 ]"}:"pending"===this.activeTab?{method:"GET",url:this.buildMappingUrl("PENDING"),name:"[ Fulfillment / 연결 검토 목록 ]"}:{method:"GET",url:this.buildMappingUrl("MAPPED"),name:"[ Fulfillment / 정상 연결 목록 ]"}},async loadList(){this.loading=!0;var e=this.getListConfig();await this.$http(e).then(e=>{this.rows=this.normalizeRows(e.data?.data)}).catch(()=>{this.rows=[]}),this.loading=!1},onSearch(){this.pagination.page=1,this.loadList()},formatDateTime(e){return e?this.$formatDate(e,"YYYY-MM-DD HH:mm:ss"):"-"},goToAction(e){e&&(e.request_id?this.$router.push({path:"/admin/fulfillment/approvals/"+e.request_id,query:{returnQuery:JSON.stringify(this.$route.query||{})}}):e.master_sku_id&&this.$router.push("/admin/fulfillment/master-skus/"+e.master_sku_id))},onRowClick({row:e}){this.goToAction(e)}},mounted(){this.applyRouteContext(),Mw.includes(String(this.$route?.query?.tab||""))||this.syncRouteTab(),this.loadList()}};var Uw=(0,e.A)($w,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-tooltip"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("Title"),d=(0,V.g2)("q-tab"),c=(0,V.g2)("q-tabs"),u=(0,V.g2)("q-separator"),m=(0,V.g2)("q-input"),p=(0,V.g2)("StatusBadge"),g=(0,V.g2)("q-td"),h=(0,V.g2)("q-icon"),b=(0,V.g2)("DataTable"),f=(0,V.g2)("FulfillmentPageGuide"),v=(0,V.g2)("PageGuideDialog");var k=(0,V.g2)("q-page");return(0,V.uX)(),(0,V.Wv)(k,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Pw,[(0,V.Lk)("div",Aw,[(0,V.bF)(n,{desc:i.description},{"title-action":(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",round:"",dense:"",size:"sm",color:"primary",icon:"help_outline","aria-label":"요청/매핑 관리 사용 가이드",onClick:t[0]||(t[0]=e=>i.guideDialog=!0)},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[4]||(t[4]=[(0,V.eW)("요청/매핑 관리 사용 가이드")])),_:1,__:[4]})]),_:1})]),default:(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",round:"",dense:"",color:"primary",icon:"refresh","aria-label":"새로고침",onClick:o.loadList},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[5]||(t[5]=[(0,V.eW)("새로고침")])),_:1,__:[5]})]),_:1},8,["onClick"])]),_:1},8,["desc"])])]),(0,V.Lk)("div",Tw,[t[6]||(t[6]=(0,V.Lk)("div",{class:"text-body2 text-grey-7 q-mb-sm"}," 파트너 상품 요청을 처리하고, 파트너 SKU와 기준 상품의 연결 상태를 확인합니다. ",-1)),(0,V.bF)(c,{modelValue:i.activeTab,"onUpdate:modelValue":t[1]||(t[1]=e=>i.activeTab=e),align:"left","active-color":"primary","indicator-color":"primary",dense:""},{default:(0,V.k6)(()=>[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(o.tabOptions,e=>((0,V.uX)(),(0,V.Wv)(d,{key:e.name,name:e.name,label:e.label},null,8,["name","label"]))),128))]),_:1},8,["modelValue"]),(0,V.bF)(u,{class:"q-my-md"}),(0,V.Lk)("div",Nw,[(0,V.Lk)("div",Ew,[(0,V.bF)(m,{modelValue:i.filters.q,"onUpdate:modelValue":t[2]||(t[2]=e=>i.filters.q=e),label:"requested"===i.activeTab||"rejected"===i.activeTab?"검색 (파트너 SKU / 바코드 / 파트너명 / 브랜드 / spec key)":"검색 (파트너 SKU / 바코드 / 파트너명 / 상품명 / 마스터 SKU)",dense:"",outlined:"",onKeyup:(0,I.jR)(o.onSearch,["enter"])},null,8,["modelValue","label","onKeyup"])]),(0,V.Lk)("div",Dw,[(0,V.bF)(r,{color:"primary",label:"검색",class:"full-width",onClick:o.onSearch},null,8,["onClick"])])])]),(0,V.Lk)("div",Ow,[(0,V.bF)(b,{rows:i.rows,columns:o.currentColumns,"row-key":"requested"===i.activeTab||"rejected"===i.activeTab?"request_id":"row_key",loading:i.loading,pagination:i.pagination,onRowClick:o.onRowClick},{"body-cell-status":(0,V.k6)(e=>[(0,V.bF)(g,{props:e},{default:(0,V.k6)(()=>[(0,V.bF)(p,{status:e.value},null,8,["status"])]),_:2},1032,["props"])]),"body-cell-mapping_status":(0,V.k6)(e=>[(0,V.bF)(g,{props:e},{default:(0,V.k6)(()=>[(0,V.bF)(p,{status:e.value},null,8,["status"])]),_:2},1032,["props"])]),"body-cell-actions":(0,V.k6)(t=>[(0,V.bF)(g,{props:t},{default:(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",dense:"",color:"primary",label:t.row.request_id?"요청 보기":"상품 보기",onClick:(0,I.D$)(e=>o.goToAction(t.row),["stop"])},null,8,["label","onClick"])]),_:2},1032,["props"])]),"no-data":(0,V.k6)(()=>[(0,V.Lk)("div",Vw,[(0,V.bF)(h,{name:"inbox",size:"36px",class:"q-mb-sm"}),t[7]||(t[7]=(0,V.Lk)("div",{class:"text-body2"},"현재 탭에 표시할 항목이 없습니다.",-1)),t[8]||(t[8]=(0,V.Lk)("div",{class:"text-caption q-mt-xs"},"다른 탭을 선택하거나 검색 조건을 변경하세요.",-1))])]),_:1},8,["rows","columns","row-key","loading","pagination","onRowClick"])]),(0,V.bF)(v,{modelValue:i.guideDialog,"onUpdate:modelValue":t[3]||(t[3]=e=>i.guideDialog=e),title:"요청/매핑 관리 사용 가이드",description:"파트너 요청 처리와 연결 상태 확인 방법입니다."},{default:(0,V.k6)(()=>[(0,V.bF)(f,{"guide-key":"requestMappings"})]),_:1},8,["modelValue"])]),_:1})}]]);let Ww={class:"row q-mb-lg"},Bw={class:"col"},zw={class:"comp-box q-pa-md q-mb-md"},Xw={class:"row q-col-gutter-md items-end"},Kw={class:"col-12 col-md-3"},Qw={class:"col-12 col-md-3"},Gw={class:"col-12 col-md-3"},Hw={class:"col-12 col-md-2"},jw={class:"col-12 col-md-1"},Yw={class:"comp-box"},Zw={class:"text-h6"},Jw={class:"row q-col-gutter-md"},e2={class:"col-12 col-md-6"},t2={class:"col-12 col-md-6"};let a2=()=>({id:null,partnerId:null,brandId:null,categoryId:null,isActive:!0,memo:""}),l2={name:"PackingExpressRuleManage",components:{Title:b,PageGuideDialog:a,FulfillmentPageGuide:x},data(){return{description:{title:"익스프레스 규칙 관리"},rows:[],brands:[],categories:[],loading:!1,saving:!1,dialog:!1,guideDialog:!1,form:a2(),filters:{partnerId:null,brandId:null,categoryId:null,isActive:""},activeOptions:[{label:"전체",value:""},{label:"활성",value:"1"},{label:"비활성",value:"0"}],columns:[{name:"partner",label:"파트너",field:"partnerId",align:"left"},{name:"brand",label:"브랜드 범위",field:"brandName",align:"left"},{name:"category",label:"카테고리 범위",field:"categoryName",align:"left"},{name:"memo",label:"운영 메모",field:"memo",align:"left"},{name:"isActive",label:"상태",field:"isActive",align:"center"},{name:"updatedAt",label:"수정일",field:"updatedAt",align:"left"},{name:"actions",label:"관리",field:"actions",align:"center"}],pagination:{rowsPerPage:20}}},computed:{rawPartnerList(){return this.$store.state.storage?.partnerList||[]},partnerOptions(){return this.rawPartnerList.filter(e=>1===Number(e?.has_fulfillment_contract)).map(e=>({label:e.partner_name,value:Number(e.id)})).sort((e,t)=>e.label.localeCompare(t.label,"ko"))},brandOptions(){return this.brands.map(e=>({label:""+e.name+(1===Number(e.is_active)?"":" (비활성)"),value:Number(e.brand_id)}))},categoryOptions(){return this.categories.map(e=>({label:""+e.name+(1===Number(e.is_active)?"":" (비활성)"),value:Number(e.category_id)}))},isEditing(){return Boolean(this.form.id)},isPartnerWide(){return!this.form.brandId&&!this.form.categoryId}},methods:{partnerLabel(t){return this.partnerOptions.find(e=>Number(e.value)===Number(t))?.label||"파트너 #"+t},formatDate(e){return e?new Date(e).toLocaleString("ko-KR"):"-"},buildQuery(){let a=new URLSearchParams;return Object.entries(this.filters).forEach(([e,t])=>{null!=t&&""!==t&&a.set(e,t)}),a.toString()},async loadReferenceData(){var[e,t]=await Promise.all([this.$http({method:"GET",url:"/api/fulfillment/admin/brands",name:"[ 익스프레스 규칙 / 브랜드 조회 ]"}),this.$http({method:"GET",url:"/api/fulfillment/admin/categories",name:"[ 익스프레스 규칙 / 카테고리 조회 ]"})]);this.brands=Array.isArray(e.data?.data)?e.data.data:[],this.categories=Array.isArray(t.data?.data)?t.data.data:[]},async loadRules(){this.loading=!0;try{var e=this.buildQuery(),t=await this.$http({method:"GET",url:"/api/fulfillment/admin/packing-express-rules"+(e?"?"+e:""),name:"[ 익스프레스 규칙 / 목록 조회 ]"});this.rows=Array.isArray(t.data?.data)?t.data.data:[]}catch(e){this.rows=[],this.$q.notify({type:"negative",message:e?.response?.data?.message||"익스프레스 규칙 조회에 실패했습니다."})}finally{this.loading=!1}},openCreate(){this.form=a2(),this.form.partnerId=this.filters.partnerId||null,this.dialog=!0},openEdit(e){this.form={id:e.id,partnerId:Number(e.partnerId),brandId:e.brandId?Number(e.brandId):null,categoryId:e.categoryId?Number(e.categoryId):null,isActive:1===Number(e.isActive),memo:e.memo||""},this.dialog=!0},async save(){if(this.form.partnerId){if(this.isPartnerWide&&this.form.isActive)if(!window.confirm("브랜드와 카테고리를 모두 비우면 이 파트너의 전체 상품이 익스프레스 대상이 됩니다. 계속할까요?"))return;this.saving=!0;try{var e={partnerId:this.form.partnerId,brandId:this.form.brandId,categoryId:this.form.categoryId,isActive:this.form.isActive,memo:this.form.memo};await this.$http({method:this.isEditing?"PUT":"POST",url:this.isEditing?"/api/fulfillment/admin/packing-express-rules/"+this.form.id:"/api/fulfillment/admin/packing-express-rules",data:e,name:"[ 익스프레스 규칙 / 저장 ]"}),this.$q.notify({type:"positive",message:this.isEditing?"규칙이 수정되었습니다.":"규칙이 등록되었습니다."}),this.dialog=!1,await this.loadRules()}catch(e){this.$q.notify({type:"negative",message:e?.response?.data?.message||"익스프레스 규칙 저장에 실패했습니다."})}finally{this.saving=!1}}else this.$q.notify({type:"warning",message:"파트너를 선택해 주세요."})},async toggleActive(e){var t=1!==Number(e.isActive);try{await this.$http({method:"PUT",url:"/api/fulfillment/admin/packing-express-rules/"+e.id,data:{partnerId:e.partnerId,brandId:e.brandId,categoryId:e.categoryId,isActive:t,memo:e.memo},name:"[ 익스프레스 규칙 / 활성 상태 변경 ]"}),this.$q.notify({type:"positive",message:t?"규칙이 활성화되었습니다.":"규칙이 비활성화되었습니다."}),await this.loadRules()}catch(e){this.$q.notify({type:"negative",message:e?.response?.data?.message||"상태 변경에 실패했습니다."})}}},async mounted(){var e=Number(this.$route.query.partnerId||0);0[(0,V.Lk)("div",Ww,[(0,V.Lk)("div",Bw,[(0,V.bF)(n,{desc:i.description},{"title-action":(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",round:"",dense:"",size:"sm",color:"primary",icon:"help_outline","aria-label":"익스프레스 규칙 관리 사용 가이드",onClick:t[0]||(t[0]=e=>i.guideDialog=!0)},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[13]||(t[13]=[(0,V.eW)("익스프레스 규칙 관리 사용 가이드")])),_:1,__:[13]})]),_:1})]),default:(0,V.k6)(()=>[(0,V.bF)(r,{color:"primary",icon:"add",label:"규칙 등록",onClick:o.openCreate},null,8,["onClick"])]),_:1},8,["desc"])])]),(0,V.bF)(d,{rounded:"",class:"bg-blue-1 text-blue-10 q-mb-md"},{default:(0,V.k6)(()=>t[14]||(t[14]=[(0,V.eW)(" 익스프레스 포장 허용 범위를 파트너별로 관리합니다. 브랜드·카테고리가 모두 비어 있으면 해당 파트너의 전체 상품이 허용됩니다. ")])),_:1,__:[14]}),(0,V.Lk)("div",zw,[(0,V.Lk)("div",Xw,[(0,V.Lk)("div",Kw,[(0,V.bF)(c,{modelValue:i.filters.partnerId,"onUpdate:modelValue":t[1]||(t[1]=e=>i.filters.partnerId=e),options:o.partnerOptions,"emit-value":"","map-options":"",clearable:"",outlined:"",dense:"",label:"파트너"},null,8,["modelValue","options"])]),(0,V.Lk)("div",Qw,[(0,V.bF)(c,{modelValue:i.filters.brandId,"onUpdate:modelValue":t[2]||(t[2]=e=>i.filters.brandId=e),options:o.brandOptions,"emit-value":"","map-options":"",clearable:"",outlined:"",dense:"",label:"브랜드"},null,8,["modelValue","options"])]),(0,V.Lk)("div",Gw,[(0,V.bF)(c,{modelValue:i.filters.categoryId,"onUpdate:modelValue":t[3]||(t[3]=e=>i.filters.categoryId=e),options:o.categoryOptions,"emit-value":"","map-options":"",clearable:"",outlined:"",dense:"",label:"카테고리"},null,8,["modelValue","options"])]),(0,V.Lk)("div",Hw,[(0,V.bF)(c,{modelValue:i.filters.isActive,"onUpdate:modelValue":t[4]||(t[4]=e=>i.filters.isActive=e),options:i.activeOptions,"emit-value":"","map-options":"",outlined:"",dense:"",label:"활성 여부"},null,8,["modelValue","options"])]),(0,V.Lk)("div",jw,[(0,V.bF)(r,{color:"primary",label:"조회",class:"full-width",onClick:o.loadRules},null,8,["onClick"])])])]),(0,V.Lk)("div",Yw,[(0,V.bF)(p,{flat:"",rows:i.rows,columns:i.columns,"row-key":"id",loading:i.loading,pagination:i.pagination,"onUpdate:pagination":t[5]||(t[5]=e=>i.pagination=e),"no-data-label":"등록된 익스프레스 규칙이 없습니다."},{"body-cell-partner":(0,V.k6)(e=>[(0,V.bF)(u,{props:e},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(o.partnerLabel(e.row.partnerId)),1)]),_:2},1032,["props"])]),"body-cell-brand":(0,V.k6)(e=>[(0,V.bF)(u,{props:e},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(e.row.brandName||"전체 브랜드"),1)]),_:2},1032,["props"])]),"body-cell-category":(0,V.k6)(e=>[(0,V.bF)(u,{props:e},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(e.row.categoryName||"전체 카테고리"),1)]),_:2},1032,["props"])]),"body-cell-isActive":(0,V.k6)(e=>[(0,V.bF)(u,{props:e},{default:(0,V.k6)(()=>[(0,V.bF)(m,{color:1===Number(e.value)?"positive":"grey-6"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(1===Number(e.value)?"활성":"비활성"),1)]),_:2},1032,["color"])]),_:2},1032,["props"])]),"body-cell-updatedAt":(0,V.k6)(e=>[(0,V.bF)(u,{props:e},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(o.formatDate(e.value)),1)]),_:2},1032,["props"])]),"body-cell-actions":(0,V.k6)(t=>[(0,V.bF)(u,{props:t},{default:(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",dense:"",color:"primary",label:"수정",onClick:e=>o.openEdit(t.row)},null,8,["onClick"]),(0,V.bF)(r,{flat:"",dense:"",color:1===Number(t.row.isActive)?"negative":"positive",label:1===Number(t.row.isActive)?"비활성화":"활성화",onClick:e=>o.toggleActive(t.row)},null,8,["color","label","onClick"])]),_:2},1032,["props"])]),_:1},8,["rows","columns","loading","pagination"])]),(0,V.bF)(h,{modelValue:i.guideDialog,"onUpdate:modelValue":t[6]||(t[6]=e=>i.guideDialog=e),title:"익스프레스 규칙 관리 사용 가이드",description:"포장 익스프레스 허용 범위를 안전하게 관리하는 방법입니다."},{default:(0,V.k6)(()=>[(0,V.bF)(g,{"guide-key":"packingExpressRules"})]),_:1},8,["modelValue"]),(0,V.bF)(w,{modelValue:i.dialog,"onUpdate:modelValue":t[12]||(t[12]=e=>i.dialog=e),persistent:""},{default:(0,V.k6)(()=>[(0,V.bF)(_,{style:{width:"640px","max-width":"95vw"}},{default:(0,V.k6)(()=>[(0,V.bF)(f,{class:"row items-center"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",Zw,(0,R.v_)(o.isEditing?"익스프레스 규칙 수정":"익스프레스 규칙 등록"),1),(0,V.bF)(b),(0,V.bo)((0,V.bF)(r,{flat:"",round:"",dense:"",icon:"close"},null,512),[[C]])]),_:1}),(0,V.bF)(v),(0,V.bF)(f,{class:"q-gutter-md"},{default:(0,V.k6)(()=>[(0,V.bF)(c,{modelValue:i.form.partnerId,"onUpdate:modelValue":t[7]||(t[7]=e=>i.form.partnerId=e),options:o.partnerOptions,"emit-value":"","map-options":"",outlined:"",label:"파트너 *"},null,8,["modelValue","options"]),(0,V.Lk)("div",Jw,[(0,V.Lk)("div",e2,[(0,V.bF)(c,{modelValue:i.form.brandId,"onUpdate:modelValue":t[8]||(t[8]=e=>i.form.brandId=e),options:o.brandOptions,"emit-value":"","map-options":"",clearable:"",outlined:"",label:"브랜드 (비우면 전체)"},null,8,["modelValue","options"])]),(0,V.Lk)("div",t2,[(0,V.bF)(c,{modelValue:i.form.categoryId,"onUpdate:modelValue":t[9]||(t[9]=e=>i.form.categoryId=e),options:o.categoryOptions,"emit-value":"","map-options":"",clearable:"",outlined:"",label:"카테고리 (비우면 전체)"},null,8,["modelValue","options"])])]),o.isPartnerWide?((0,V.uX)(),(0,V.Wv)(d,{key:0,dense:"",rounded:"",class:"bg-orange-1 text-orange-10"},{default:(0,V.k6)(()=>t[15]||(t[15]=[(0,V.eW)(" 파트너 전체 상품 허용 규칙입니다. 오등록 시 대상 범위가 매우 넓어집니다. ")])),_:1,__:[15]})):(0,V.Q3)("",!0),(0,V.bF)(k,{modelValue:i.form.memo,"onUpdate:modelValue":t[10]||(t[10]=e=>i.form.memo=e),outlined:"",type:"textarea",maxlength:"255",counter:"",label:"운영 메모"},null,8,["modelValue"]),(0,V.bF)(y,{modelValue:i.form.isActive,"onUpdate:modelValue":t[11]||(t[11]=e=>i.form.isActive=e),label:"활성 규칙"},null,8,["modelValue"])]),_:1}),(0,V.bF)(L,{align:"right"},{default:(0,V.k6)(()=>[(0,V.bo)((0,V.bF)(r,{flat:"",label:"취소"},null,512),[[C]]),(0,V.bF)(r,{color:"primary",label:"저장",loading:i.saving,onClick:o.save},null,8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})}]]);let i2={class:"row q-mb-lg"},o2={class:"col"},s2={class:"receiving-layout"},r2={class:"scan-panel comp-box q-pa-xl"},n2={class:"override-control__copy"},d2={class:"row items-center q-gutter-sm"},c2={class:"result-title"},u2={key:0,class:"result-detail"},m2={key:0},p2={key:1,class:"result-detail"},g2={class:"scan-hint q-mt-lg"},h2={class:"history-panel comp-box"},b2={class:"history-header q-pa-md"},f2={key:0,class:"empty-history"};var v2={name:"PartnerOrderReceiving",components:{Title:b},data(){return{description:{title:"파트너 오더 입고처리"},waybillNo:"",processing:!1,allowPackingOwnerOverride:!1,lastResult:null,scanHistory:[]}},methods:{focusScanner(){this.$nextTick(()=>this.$refs.scannerInput?.focus())},resultMessage(e){return e?.response?.data?.message||"입고 처리에 실패했습니다."},prependHistory(e){this.scanHistory.unshift({...e,scannedAt:(new Date).toLocaleTimeString("ko-KR")}),this.scanHistory=this.scanHistory.slice(0,20)},requestPackingOwnerOverride(e){e?this.$q.dialog({title:"관리자 예외 입고를 활성화하시겠습니까?",message:"활성화하면 포장주체가 AONE인 주문도 입고 처리되며, 주문 진행상태와 포장상태가 즉시 완료 상태로 변경됩니다. 장애 또는 AONE 포장 불가 상황에서만 사용해 주세요.",persistent:!0,ok:{label:"확인 후 활성화",color:"negative",unelevated:!0},cancel:{label:"취소",flat:!0}}).onOk(()=>{this.allowPackingOwnerOverride=!0,this.focusScanner()}).onCancel(()=>{this.allowPackingOwnerOverride=!1,this.focusScanner()}):(this.allowPackingOwnerOverride=!1,this.focusScanner())},async receive(){var t=String(this.waybillNo||"").trim();if(!t||this.processing)this.focusScanner();else{this.processing=!0,this.lastResult=null;try{var e=await this.$http({method:"POST",url:"/api/fulfillment/admin/partner-order-receiving",data:{waybillNo:t,allowPackingOwnerOverride:this.allowPackingOwnerOverride},name:"[ 파트너 오더 / 입고처리 ]"}),a=e.data?.data||{},l=e.data?.message||"입고 처리가 완료되었습니다.";this.lastResult={ok:!0,message:l,data:a},this.prependHistory({ok:!0,waybillNo:t,message:l,data:a}),this.$q.notify({type:a.alreadyReceived?"info":"positive",message:l}),this.waybillNo=""}catch(e){var i=this.resultMessage(e);this.lastResult={ok:!1,message:i,waybillNo:t},this.prependHistory({ok:!1,waybillNo:t,message:i}),this.$q.notify({type:"negative",message:i}),this.waybillNo=""}finally{this.processing=!1,this.focusScanner()}}}},mounted(){this.focusScanner()},activated(){this.focusScanner()},deactivated(){this.allowPackingOwnerOverride=!1}},v2=(v(8629),(0,e.A)(v2,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("Title"),r=(0,V.g2)("q-icon"),n=(0,V.g2)("q-badge"),d=(0,V.g2)("q-toggle"),c=(0,V.g2)("q-spinner"),u=(0,V.g2)("q-input"),m=(0,V.g2)("q-btn"),p=(0,V.g2)("q-form"),g=(0,V.g2)("q-separator"),h=(0,V.g2)("q-avatar"),b=(0,V.g2)("q-item-section"),f=(0,V.g2)("q-item-label"),v=(0,V.g2)("q-item"),k=(0,V.g2)("q-list");var y=(0,V.g2)("q-page");return(0,V.uX)(),(0,V.Wv)(y,{class:"receiving-page q-pa-lg",onClick:o.focusScanner},{default:(0,V.k6)(()=>[(0,V.Lk)("div",i2,[(0,V.Lk)("div",o2,[(0,V.bF)(s,{desc:i.description},null,8,["desc"])])]),(0,V.Lk)("div",s2,[(0,V.Lk)("section",r2,[t[5]||(t[5]=(0,V.Lk)("div",{class:"scan-kicker"},"BARCODE RECEIVING",-1)),t[6]||(t[6]=(0,V.Lk)("h1",{class:"scan-title"},"운송장 바코드를 스캔하세요",-1)),t[7]||(t[7]=(0,V.Lk)("p",{class:"scan-description"},[(0,V.eW)(" 기본적으로 파트너가 포장한 주문만 처리됩니다. 스캔이 완료되면 진행상태는 "),(0,V.Lk)("strong",null,"출발지-반입(03)"),(0,V.eW)(", 포장상태는 "),(0,V.Lk)("strong",null,"COMPLETED"),(0,V.eW)("로 함께 변경됩니다. ")],-1)),(0,V.Lk)("div",{class:(0,R.C4)(["override-control q-mb-lg",{"override-control--active":i.allowPackingOwnerOverride}])},[(0,V.Lk)("div",n2,[(0,V.Lk)("div",d2,[(0,V.bF)(r,{name:"warning_amber",color:i.allowPackingOwnerOverride?"negative":"grey-7",size:"22px"},null,8,["color"]),t[2]||(t[2]=(0,V.Lk)("strong",null,"관리자 예외 입고",-1)),(0,V.bF)(n,{color:i.allowPackingOwnerOverride?"negative":"grey-5",label:i.allowPackingOwnerOverride?"활성":"비활성"},null,8,["color","label"])]),t[3]||(t[3]=(0,V.Lk)("div",{class:"override-control__description"}," 활성화하면 포장주체와 관계없이 입고 처리합니다. 예외 처리는 감사 이력에 기록됩니다. ",-1))]),(0,V.bF)(d,{"model-value":i.allowPackingOwnerOverride,color:"negative",disable:i.processing,"aria-label":"관리자 예외 입고","onUpdate:modelValue":o.requestPackingOwnerOverride},null,8,["model-value","disable","onUpdate:modelValue"])],2),(0,V.bF)(p,{class:"scan-form",onSubmit:(0,I.D$)(o.receive,["prevent"])},{default:(0,V.k6)(()=>[(0,V.bF)(u,{ref:"scannerInput",modelValue:i.waybillNo,"onUpdate:modelValue":t[1]||(t[1]=e=>i.waybillNo=e),outlined:"",autofocus:"",autocomplete:"off",inputmode:"none",maxlength:"100",disable:i.processing,placeholder:"운송장번호 스캔 또는 직접 입력","aria-label":"운송장번호",class:"scanner-input"},{prepend:(0,V.k6)(()=>[(0,V.bF)(r,{name:"qr_code_scanner",color:"primary"})]),append:(0,V.k6)(()=>[i.processing?((0,V.uX)(),(0,V.Wv)(c,{key:0,color:"primary",size:"24px"})):i.waybillNo?((0,V.uX)(),(0,V.Wv)(r,{key:1,name:"close",class:"cursor-pointer",onClick:t[0]||(t[0]=(0,I.D$)(e=>i.waybillNo="",["stop"]))})):(0,V.Q3)("",!0)]),_:1},8,["modelValue","disable"]),(0,V.bF)(m,{type:"submit",color:"primary",unelevated:"",icon:"inventory",label:"입고 처리",loading:i.processing,disable:!i.waybillNo.trim(),class:"receive-button"},null,8,["loading","disable"])]),_:1},8,["onSubmit"]),i.lastResult?((0,V.uX)(),(0,V.CE)("div",{key:0,class:(0,R.C4)(["result-card q-mt-lg",i.lastResult.ok?"result-success":"result-error"]),role:"status","aria-live":"polite"},[(0,V.bF)(r,{name:i.lastResult.ok?"check_circle":"error",size:"32px"},null,8,["name"]),(0,V.Lk)("div",null,[(0,V.Lk)("div",c2,(0,R.v_)(i.lastResult.message),1),i.lastResult.ok?((0,V.uX)(),(0,V.CE)("div",u2,[(0,V.eW)((0,R.v_)(i.lastResult.data.hblNo)+" ",1),i.lastResult.data.partnerName?((0,V.uX)(),(0,V.CE)("span",m2," · "+(0,R.v_)(i.lastResult.data.partnerName),1)):(0,V.Q3)("",!0)])):((0,V.uX)(),(0,V.CE)("div",p2,(0,R.v_)(i.lastResult.waybillNo),1))])],2)):(0,V.Q3)("",!0),(0,V.Lk)("div",g2,[(0,V.bF)(r,{name:"keyboard_return",size:"18px"}),t[4]||(t[4]=(0,V.eW)(" 대부분의 바코드 스캐너는 스캔 후 Enter를 자동 입력합니다. "))])]),(0,V.Lk)("aside",h2,[(0,V.Lk)("div",b2,[t[8]||(t[8]=(0,V.Lk)("div",null,[(0,V.Lk)("div",{class:"text-subtitle1 text-weight-bold"},"최근 스캔"),(0,V.Lk)("div",{class:"text-caption text-grey-7"},"현재 화면에서 처리한 최근 20건")],-1)),(0,V.bF)(n,{color:"grey-3","text-color":"grey-9",label:i.scanHistory.length},null,8,["label"])]),(0,V.bF)(g),i.scanHistory.length?((0,V.uX)(),(0,V.Wv)(k,{key:1,separator:""},{default:(0,V.k6)(()=>[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(i.scanHistory,(e,t)=>((0,V.uX)(),(0,V.Wv)(v,{key:e.scannedAt+"-"+t,class:"q-py-md"},{default:(0,V.k6)(()=>[(0,V.bF)(b,{avatar:""},{default:(0,V.k6)(()=>[(0,V.bF)(h,{color:e.ok?"green-1":"red-1","text-color":e.ok?"green-8":"red-8",size:"36px"},{default:(0,V.k6)(()=>[(0,V.bF)(r,{name:e.ok?"check":"close"},null,8,["name"])]),_:2},1032,["color","text-color"])]),_:2},1024),(0,V.bF)(b,null,{default:(0,V.k6)(()=>[(0,V.bF)(f,{class:"text-weight-medium"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(e.waybillNo),1)]),_:2},1024),(0,V.bF)(f,{caption:"",lines:"2"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(e.message),1)]),_:2},1024)]),_:2},1024),(0,V.bF)(b,{side:"",top:""},{default:(0,V.k6)(()=>[(0,V.bF)(f,{caption:""},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(e.scannedAt),1)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})):((0,V.uX)(),(0,V.CE)("div",f2,[(0,V.bF)(r,{name:"qr_code_scanner",size:"42px",color:"grey-5"}),t[9]||(t[9]=(0,V.Lk)("div",null,"아직 스캔 내역이 없습니다.",-1))]))])])]),_:1},8,["onClick"])}],["__scopeId","data-v-ea038f6e"]]));let k2={class:"row items-center justify-between q-mb-lg"},y2={class:"text-body2 text-grey-7 q-mt-xs"},L2={class:"row q-col-gutter-md q-mb-lg"},_2={class:"row items-center justify-between"},w2={class:"text-caption text-grey-7"},x2={class:"text-h4 text-weight-bold q-my-sm"},C2={class:"text-caption text-grey-6"};var S2={name:"AdminInventoryHome",data(){return{session:this.$store.getters.getLocalSession,metrics:[{label:"보관 SKU",icon:"inventory_2",value:"—",caption:"재고 API 연동 후 집계"},{label:"가용 재고",icon:"check_circle",value:"—",caption:"파트너 소유 재고 기준"},{label:"입고 예정",icon:"move_to_inbox",value:"—",caption:"입고 계획 연동 후 집계"},{label:"재고 경고",icon:"warning",value:"—",caption:"안전 재고 정책 설정 필요"}],capabilities:[{title:"입고 관리",description:"입고 예정, 검수, 적치 상태를 한 흐름으로 관리합니다.",icon:"move_to_inbox"},{title:"재고 조회",description:"SKU·로케이션별 가용/예약/보류 수량을 조회합니다.",icon:"warehouse"},{title:"재고 이력",description:"입출고와 조정의 원인, 작업자, 시점을 추적합니다.",icon:"history"}]}}},S2=(v(64538),(0,e.A)(S2,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-chip"),r=(0,V.g2)("q-icon"),n=(0,V.g2)("q-card-section"),d=(0,V.g2)("q-card"),c=(0,V.g2)("q-separator"),u=(0,V.g2)("q-avatar"),m=(0,V.g2)("q-item-section"),p=(0,V.g2)("q-item-label"),g=(0,V.g2)("q-badge"),h=(0,V.g2)("q-item"),b=(0,V.g2)("q-list");var f=(0,V.g2)("q-page");return(0,V.uX)(),(0,V.Wv)(f,{class:"bg-grey-2 q-pa-md inventory-page"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",k2,[(0,V.Lk)("div",null,[t[0]||(t[0]=(0,V.Lk)("div",{class:"text-h5 text-weight-bold"},"AONE Inventory",-1)),(0,V.Lk)("div",y2,(0,R.v_)(i.session.partner_name||"AONE")+"의 입고와 재고 수량, 이동 이력을 관리합니다. ",1)]),(0,V.bF)(s,{color:"blue-1","text-color":"blue-9",icon:"construction"},{default:(0,V.k6)(()=>t[1]||(t[1]=[(0,V.eW)(" 데이터 연동 준비 중 ")])),_:1,__:[1]})]),(0,V.Lk)("div",L2,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(i.metrics,e=>((0,V.uX)(),(0,V.CE)("div",{key:e.label,class:"col-12 col-sm-6 col-lg-3"},[(0,V.bF)(d,{flat:"",bordered:"",class:"full-height"},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[(0,V.Lk)("div",_2,[(0,V.Lk)("div",w2,(0,R.v_)(e.label),1),(0,V.bF)(r,{name:e.icon,color:"cyan-8",size:"24px"},null,8,["name"])]),(0,V.Lk)("div",x2,(0,R.v_)(e.value),1),(0,V.Lk)("div",C2,(0,R.v_)(e.caption),1)]),_:2},1024)]),_:2},1024)]))),128))]),(0,V.bF)(d,{flat:"",bordered:""},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>t[2]||(t[2]=[(0,V.Lk)("div",{class:"text-h6"},"Inventory 업무 범위",-1),(0,V.Lk)("div",{class:"text-caption text-grey-7"},"상품 원장과 포장은 Fulfillment, 물리 수량과 이동 이력은 Inventory에서 담당합니다.",-1)])),_:1,__:[2]}),(0,V.bF)(c),(0,V.bF)(b,{separator:""},{default:(0,V.k6)(()=>[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(i.capabilities,e=>((0,V.uX)(),(0,V.Wv)(h,{key:e.title,class:"q-py-md"},{default:(0,V.k6)(()=>[(0,V.bF)(m,{avatar:""},{default:(0,V.k6)(()=>[(0,V.bF)(u,{color:"cyan-1","text-color":"cyan-9",icon:e.icon},null,8,["icon"])]),_:2},1024),(0,V.bF)(m,null,{default:(0,V.k6)(()=>[(0,V.bF)(p,{class:"text-weight-bold"},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(e.title),1)]),_:2},1024),(0,V.bF)(p,{caption:""},{default:(0,V.k6)(()=>[(0,V.eW)((0,R.v_)(e.description),1)]),_:2},1024)]),_:2},1024),(0,V.bF)(m,{side:""},{default:(0,V.k6)(()=>[(0,V.bF)(g,{outline:"",color:"grey-7"},{default:(0,V.k6)(()=>t[3]||(t[3]=[(0,V.eW)("준비 중")])),_:1,__:[3]})]),_:1})]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})}],["__scopeId","data-v-fce2b50c"]]));var F2=(0,e.A)({name:"About-us",components:{NavBar:Z},data(){return{}},methods:{}},[["render",function(e,t,a,l,i,o){var s=(0,V.g2)("NavBar");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.bF)(s),t[0]||(t[0]=(0,V.Fv)('

About Us

이곳은 고객의 about us 화면입니다.
about us 내용이 들어가는 곳
',1))],64)}]]);let q2={id:"site-container"},I2={class:"section section-service-03"},P2={class:"container doc-page pt-5 pb-5"},A2={class:"row mt-3 mb-5"},T2={class:"col"},N2={class:"tab-nav"},E2={key:0,class:"row tab-panel d-flex justify-content-center"},D2={class:"col-12 col-md-6"},O2=["src"],V2={key:1,class:"row tab-panel"},R2={class:"col-12 col-md-6 mb-3"},M2=["src"],$2={class:"col-12 mt-5 text-center"},U2=["src"],W2={key:2,class:"row tab-panel"},B2={class:"col-12 col-md-6"},z2=["src"],X2={key:3,class:"row tab-panel"},K2={class:"col-12 col-md-6"},Q2=["src"];var G2=(0,e.A)({name:"About-us",components:{},data(){return{currTab:1,navCurrent:"service"}},methods:{chageTab:function(e){this.currTab=e}}},[["render",function(e,t,a,l,i,o){return(0,V.uX)(),(0,V.CE)("main",q2,[t[10]||(t[10]=(0,V.Fv)('

Business 계약 물류

혁신적인 업계 솔루션과 최고의 서비스

AONE LOGISTICS는 가장 빠르게 성장하는 글로벌 물류 서비스 업체 중 하나입니다.
공급망 물류를 관리하는 일은 복잡한 프로세스입니다.
AONE LOGISTICS는 모든 주요 시장에서 기업들의 계약 물류 파트너 역할을 수행하고 있습니다.

공급업체부터 고객배송까지,
현재의 아이디어가 내일의 역량이 되도록

고객이 어떤 업계에 종사하든 당사의 계약 물류 솔루션은 고객의 공급망 관리 프로세스에 가치를 부여합니다.
당사는 다양한 업계에서 회수 물류부터 애프터마켓 지원까지 공급망의 모든 단계를 아우르고 있습니다.
또한, 미래를 위한 투자를 지속하여 적극적으로 혁신과 디지털화를 통해 현재의 아이디어가 내일의 역량이 되도록 하고 있습니다.

',2)),(0,V.Lk)("div",I2,[(0,V.Lk)("div",P2,[t[8]||(t[8]=(0,V.Lk)("div",{class:"column items-center"},[(0,V.Lk)("div",{class:"col mt-3"},[(0,V.Lk)("h4",{class:"section-title"},"business services")])],-1)),(0,V.Lk)("div",A2,[(0,V.Lk)("div",T2,[(0,V.Lk)("ul",N2,[(0,V.Lk)("li",{class:(0,R.C4)({active:1===i.currTab}),onClick:t[0]||(t[0]=e=>o.chageTab(1))}," 전자상거래",2),(0,V.Lk)("li",{class:(0,R.C4)({active:2===i.currTab}),onClick:t[1]||(t[1]=e=>o.chageTab(2))}," 풀필먼트 서비스",2),(0,V.Lk)("li",{class:(0,R.C4)({active:3===i.currTab}),onClick:t[2]||(t[2]=e=>o.chageTab(3))}," 항공/해상",2),(0,V.Lk)("li",{class:(0,R.C4)({active:4===i.currTab}),onClick:t[3]||(t[3]=e=>o.chageTab(4))}," 창고보관",2)])])]),1===i.currTab?((0,V.uX)(),(0,V.CE)("div",E2,[(0,V.Lk)("div",D2,[(0,V.Lk)("img",{class:"w-100 mb-4",src:v(53880)},null,8,O2)]),t[4]||(t[4]=(0,V.Lk)("div",{class:"col-12 col-md-6"},[(0,V.Lk)("h3",{class:"mb-4"},[(0,V.eW)(" 다양한 형태의 글로벌"),(0,V.Lk)("br"),(0,V.eW)(" E-COMMERCE 서비스를"),(0,V.Lk)("br"),(0,V.eW)(" 보다 신속하고 정확하게 ")]),(0,V.Lk)("p",{class:"text-justify"},[(0,V.eW)(" AONE LOGISTICS는 온라인 전자상거래에 특화된 전용 물류시스템 (H FOR) 를 통하여 전세계 네트워크와 이를 연결하는 전용 풀필먼트 센터, 특송물류 센터 운영을 통해 국내,해외 직구 및 역직구 B2B, B2C 호주내에 배송대행지 서비스 등 다양한 형태의 글로벌 E-COMMERCE 서비스를 보다 신속하고 정확하게 제공해 드릴 수 있어 귀사의 업무 효율을 증대시켜 드립니다."),(0,V.Lk)("br"),(0,V.eW)(" 특히, 본점(시드니)의 경우 일반 전자상거래 및 3PL 서비스 등 전세계를 대상으로 하는 전자상거래 업무도 수월하게 진행할 수 있습니다. ")])],-1))])):(0,V.Q3)("",!0),2===i.currTab?((0,V.uX)(),(0,V.CE)("div",V2,[(0,V.Lk)("div",R2,[(0,V.Lk)("img",{class:"w-100 mb-4",src:v(86727)},null,8,M2)]),t[5]||(t[5]=(0,V.Lk)("div",{class:"col-12 col-md-6 mb-3"},[(0,V.Lk)("h3",{class:"mb-3"},[(0,V.eW)(" 장소는 마땅하지 않고"),(0,V.Lk)("br"),(0,V.eW)(" 호주에서 한국으로"),(0,V.Lk)("br"),(0,V.eW)(" 물건은 팔고 싶고, ")]),(0,V.Lk)("h3",null,[(0,V.eW)(" 저희 에이원 택배가"),(0,V.Lk)("br"),(0,V.eW)(" 해결해 드립니다."),(0,V.Lk)("br"),(0,V.eW)(" 에이원에 문의해 주세요. ")])],-1)),(0,V.Lk)("div",$2,[(0,V.Lk)("img",{src:v(42641)},null,8,U2)])])):(0,V.Q3)("",!0),3===i.currTab?((0,V.uX)(),(0,V.CE)("div",W2,[(0,V.Lk)("div",B2,[(0,V.Lk)("img",{class:"w-100 mb-4",src:v(90922)},null,8,z2)]),t[6]||(t[6]=(0,V.Lk)("div",{class:"col-12 col-md-6"},[(0,V.Lk)("h3",{class:"mb-4"},[(0,V.eW)(" 목적지가 어디든 "),(0,V.Lk)("br"),(0,V.eW)(" 당사의 혁신적인 솔루션은 "),(0,V.Lk)("br"),(0,V.eW)(" 영업과 조달 시장을 "),(0,V.Lk)("br"),(0,V.eW)(" 이어줍니다. ")]),(0,V.Lk)("p",{class:"text-justify"}," AONE LOGISTICS의 항공/해상 화물 운송 상품은 130여개 국에 퍼져있는 수많은 네트워크를 통해 고객들을 이어줍니다. 목적지가 어디든 당사의 혁신적인 솔루션은 영업과 조달 시장을 이어줍니다. 지속적이고 신뢰할 수 있는 운항은 귀사의 화물 운송이 항상 정시에 목적지까지 도착할 수 있도록 합니다. ")],-1))])):(0,V.Q3)("",!0),4===i.currTab?((0,V.uX)(),(0,V.CE)("div",X2,[(0,V.Lk)("div",K2,[(0,V.Lk)("img",{class:"w-100 mb-4",src:v(76665)},null,8,Q2)]),t[7]||(t[7]=(0,V.Lk)("div",{class:"col-12 col-md-6"},[(0,V.Lk)("h3",{class:"mb-4"},[(0,V.eW)(" AONE LOGISTICS는 "),(0,V.Lk)("br"),(0,V.eW)(" 전세계 주요거점의 "),(0,V.Lk)("br"),(0,V.eW)(" 물류센터를 기반으로 "),(0,V.Lk)("br"),(0,V.eW)(" 물류 네트워크를 "),(0,V.Lk)("br"),(0,V.eW)(" 구축하였습니다. ")]),(0,V.Lk)("p",{class:"text-justify"},[(0,V.eW)(" 숙련된 인원과 현대화된 장비, RFID 는 물론 2D BARCODE 를 통한 재고관리를 통하여 귀사의 화물을 안전하게 관리, 보관하고 있습니다."),(0,V.Lk)("br"),(0,V.eW)(" AONE LOGISTICS는 고객의 다양한 요구를 충족시키는 한편 항상 최신화된 시스템으로 귀사에게 최고의 서비스를 제공할 수 있도록 최선을 다하겠습니다. ")])],-1))])):(0,V.Q3)("",!0),t[9]||(t[9]=(0,V.Lk)("div",{class:"column items-center q-my-xl"},[(0,V.Lk)("div",{class:"col"},[(0,V.Lk)("button",{class:"btn btn-in-service"},"서비스 상담문의")])],-1))])])])}]]);var H2=(0,e.A)({name:"ServiceFlight",data(){return{navCurrent:"service"}},methods:{}},[["render",function(e,t,a,l,i,o){var s=(0,V.g2)("q-page");return(0,V.uX)(),(0,V.Wv)(s,{id:"site-container"},{default:(0,V.k6)(()=>t[0]||(t[0]=[(0,V.Lk)("div",{class:"section section-service-flight-01"},[(0,V.Lk)("div",{class:"container doc-page"},[(0,V.Lk)("div",{class:"row items-center"},[(0,V.Lk)("div",{class:"col"},[(0,V.Lk)("h2",{class:"page-title text-center text-white"},"FLIGHT SERVICE")])])])],-1),(0,V.Lk)("div",{class:"section section-service-flight-02"},[(0,V.Lk)("div",{class:"container doc-page q-pt-xl q-pb-xl q-mt-xl q-mb-xl"},[(0,V.Lk)("div",{class:"row"},[(0,V.Lk)("div",{class:"col q-mt-md"},[(0,V.Lk)("h3",null,[(0,V.eW)(" 전 세계 어디든지,"),(0,V.Lk)("br"),(0,V.eW)(" 130개국의 파트너쉽 항공화물 네트워크 ")]),(0,V.Lk)("p",{class:"q-mb-xl"},[(0,V.eW)(" 당사는 글로벌 네트워크와 고급 물류 솔루션을 활용하여 항공 화물 서비스를 통해 항공 화물 니즈에 맞는 광범위한 솔루션을 제공합니다. 당사는 물품 목적지가 어디든, 시간이 어떻게 되든 고객이 비즈니스를 원활하게 수행할 수 있도록 도와드립니다."),(0,V.Lk)("br"),(0,V.eW)(" 당사의 최신 통합 운송 솔루션은 화물이 전 세계 목적지로 문제없이 배송되도록 지원하고 불편함이 없도록 최선을 다합니다."),(0,V.Lk)("br"),(0,V.eW)(" AONE LOGISTICS의 고객들은 뛰어난 운송 연계 및 지속적인 배송 추적 시스템을 갖춘 퍼스트클래스 항공사를 선택하는 혜택을 누릴 수 있습니다. 신속한 배송이 필요하거나 대형 화물을 배송해야 할 경우, 당사는 일정과 예산에 맞는 항공 화물 상품 서비스를 제공해 드립니다. 니즈와 요구 사항에 상관없이, 당사는 다양한 서비스를 갖추고 있습니다. ")]),(0,V.Lk)("h3",null,"최고의 유연성과 효율성, 신속한 서비스"),(0,V.Lk)("p",{class:"q-mb-xl"},[(0,V.eW)(" 한가지 솔루션에 절대로 만족하지 마십시오. AONE LOGISTICS를 이용하시면 모든 항공 화물 니즈에 맞는 최고의 유연성과 효율성을 누릴 수 있는 운송 상품을 선택할 수 있습니다."),(0,V.Lk)("br"),(0,V.eW)(" 호주 최고의 항공 화물 운송 업체 중 하나인 AONE LOGISTICS를 이용하시면 안심할 수 있습니다. 퍼스트클래스 항공사의 광범위한 서비스, 신속한 배송 그리고 저렴한 항공 비용 선택은 고객님의 화물 운송을 보다 손쉽게 진행 해 드립니다. ")])])]),(0,V.Lk)("div",{class:"column q-mt-xl items-center"})])],-1)])),_:1,__:[0]})}]]);var j2=(0,e.A)({name:"ServiceFlight",components:{},data(){return{navCurrent:"service"}},methods:{}},[["render",function(e,t,a,l,i,o){var s=(0,V.g2)("NavBar");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.bF)(s,{current:i.navCurrent},null,8,["current"]),t[0]||(t[0]=(0,V.Fv)('

OCEAN SERVICE

전 세계 어디든지,
130개국의 파트너쉽 해상화물 네트워크

AONE LOGISTICS의 해상 화물 운송 상품은 130여개 국에 퍼져있는 수많은 네트워크를 통해 고객들을 이어줍니다. 목적지가 어디든 당사의 혁신적인 솔루션은 영업과 조달 시장을 이어줍니다. 지속적이고 신뢰할 수 있는 운항은 고객의 해상 화물 운송이 항상 정시에 목적지까지 도착할 수 있도록 합니다.
당사는 FCL 및 LCL 운송 분야에서 장점을 가지고 있습니다. 또한, 시간과 비용을 절약하기 위해 항공과 해상 운송 상품을 연계하여 비용 대비 효과가 가장 뛰어난 솔루션도 제공합니다.
AONE LOGISTICS의 해상화물 상품은 해상 공급망 요구를 충족하기 위해 다양한 서비스를 제공합니다. 각 상품은 최고 수준의 광범위한 도어 투 도어 솔루션을 충족하도록 개발되었습니다.

',1))],64)}]]);let Y2={class:"container q-pa-lg"},Z2={class:"row justify-center"},J2={class:"col-12 col-sm-10 col-md-8"};p=(0,e.A)({name:"SignUp",meta:{title:"공지사항"},components:{NoticeList:p},data(){return{noticeList:[],authLevel:0,navCurrent:"notice"}},methods:{async loadNoticeList(){var e={paging:0,type:"customer"},e=(this.$log.debug("payload = ",e),{method:"POST",url:"/api/board/getNoticeList",data:e,name:"[ Axios / 공지사항목록조회 ]"});await this.$http(e).then(e=>{this.noticeList=e.data}).catch(e=>{this.$log.debug(e),alert("공지글 불러오기 실패!")})},async loadMoreList(e){this.$log.debug("공지글 더 불러오기 시작 page = ",e);e={paging:e},this.$log.debug("payload = ",e),e={method:"POST",url:"/api/board/getNoticeList",data:e,name:"[ Axios / 공지사항목록추가조회 ]"};await this.$http(e).then(e=>{this.$log.debug(e.data),0===e.data.length||void 0===e.data.length?alert("더이상 공지사항이 없습니다."):(this.$log.debug("불러오기 성공"),e.data.map(e=>{this.noticeList.push(e)}))}).catch(e=>{this.$log.debug(e),alert("불러오기 실패!")})}},mounted(){this.$log.debug("Notice list mounted"),this.loadNoticeList()}},[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("NoticeList");var r=(0,V.g2)("q-page");return(0,V.uX)(),(0,V.Wv)(r,{id:"site-container"},{default:(0,V.k6)(()=>[t[0]||(t[0]=(0,V.Lk)("div",{class:"section section-notice-01"},[(0,V.Lk)("div",{class:"container doc-page"},[(0,V.Lk)("div",{class:"row items-center"},[(0,V.Lk)("div",{class:"col"},[(0,V.Lk)("h2",{class:"page-title text-center text-white"}," 공지사항 ")])])])],-1)),(0,V.Lk)("div",Y2,[(0,V.Lk)("div",Z2,[(0,V.Lk)("div",J2,[(0,V.bF)(s,{"notice-list":i.noticeList,"auth-level":i.authLevel,onLoadMoreList:o.loadMoreList},null,8,["notice-list","auth-level","onLoadMoreList"])])])])]),_:1,__:[0]})}]]);let ex={id:"site-container"},tx={class:"container doc-page q-py-xl"},ax={class:"row justify-center q-mt-xl"},lx={class:"col-12 col-md-9"},ix={class:"lookup-form"},ox={key:0,class:"row"},sx={key:0,class:"container doc-page q-pb-xl"},rx={class:"row q-pb-xl"},nx={class:"col"},dx={class:"comp-box"};f={name:"PageCustomerParcelInquiry",meta:{title:"고객-배송상품조회"},components:{ParcelList:(0,e.A)({name:"Parcel-list",components:{ParcelInfoForm:f},watch:{"$store.getters.getParcelList"(e){this.parcelList=e}},data(){return{columns:[{name:"hblNo",label:"H/BL No.",align:"center",field:"hblNo"},{name:"partnerName",label:"파트너명",align:"center",field:"partnerName"},{name:"statusName",label:"진행상태",align:"center",field:"statusName"},{name:"receiverName",label:"받는 사람",align:"center",field:"receiverName"},{name:"receiverMobile",label:"전화번호",align:"center",field:"receiverMobile"},{name:"regDate",label:"등록일",align:"center",field:"regDate"}],modifyModalShow:!1,selectedParcel:(0,c.KR)([]),userType:"cus",pagination:(0,c.KR)({rowsPerPage:10}),parcelList:this.$store.getters.getParcelList}},methods:{statusColor(e=""){e=String(e||"");return e.includes("완료")||e.includes("반출")||e.includes("배송")?"positive":e.includes("출항")||e.includes("대기")||e.includes("접수")?"primary":e.includes("보류")||e.includes("지연")?"warning":e.includes("취소")||e.includes("삭제")||e.includes("오류")?"negative":"grey-7"},modalParcelDetail(t){this.modifyModalShow=!this.modifyModalShow;var e=this.parcelList.filter(e=>{if(e.id==t)return e});this.selectedParcel=e},closeModal(){this.modifyModalShow=!1}}},[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-badge"),r=(0,V.g2)("q-td");var n=(0,V.g2)("q-table");let d=(0,V.g2)("ParcelInfoForm");var c=(0,V.g2)("q-dialog");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.bF)(n,{class:"my-sticky-virtscroll-table","virtual-scroll":"",pagination:i.pagination,"onUpdate:pagination":t[0]||(t[0]=e=>i.pagination=e),"rows-per-page-options":[0],"virtual-scroll-sticky-size-start":48,"row-key":"index",rows:i.parcelList,columns:i.columns},{"body-cell-statusName":(0,V.k6)(e=>[(0,V.bF)(r,{props:e},{default:(0,V.k6)(()=>[(0,V.bF)(s,{color:o.statusColor(e.row.statusName),label:e.row.statusName||"-"},null,8,["color","label"])]),_:2},1032,["props"])]),_:1},8,["pagination","rows","columns"]),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(c,{modelValue:i.modifyModalShow,"onUpdate:modelValue":t[1]||(t[1]=e=>i.modifyModalShow=e)},{default:(0,V.k6)(()=>[(0,V.bF)(d,{selectedParcel:i.selectedParcel,user:i.userType},null,8,["selectedParcel","user"])]),_:1},8,["modelValue"])]))],64)}]])},data(){return{navCurrent:"parcel-info",hblNo:"",receiverMobileLast4:""}},methods:{async loadParcelList(){var e=this.hblNo.trim(),t=this.receiverMobileLast4.trim();e?/^\d{4}$/.test(t)?(this.$log.debug("[ Axios / 고객 배송상품조회 ] hblNo = ",e),this.$log.debug("[ Axios / 고객 배송상품조회 ] payload = ",e={hblNo:e,receiverMobileLast4:t}),await this.$http({method:"POST",url:"/api/parcel/byHblNo",data:e,name:"[ Axios / 고객 배송상품조회 ]"}).then(e=>{var t=e.data;this.$store.dispatch("loadParcel",e.data),0===t?.length&&this.$q.notify({type:"positive",message:"조회된 배송상품이 없습니다.",position:"top",timeout:3e3})}).catch(e=>{this.$log.debug("[ Axios / 고객 배송상품조회 / 실패 ]",e),this.$q.notify({type:"negative",message:e.response?.data?.message||"배송 상품 조회에 실패 했습니다.",position:"top",timeout:3e3})})):this.$q.notify({type:"warning",message:"수취인 전화번호 뒷자리 4자리를 입력해 주세요.",position:"top",timeout:3e3}):this.$q.notify({type:"warning",message:"H/BL 번호를 입력해 주세요.",position:"top",timeout:3e3})},normalizeMobileLast4(e){this.receiverMobileLast4=String(e||"").replace(/\D/g,"").slice(0,4)},async loginedLoadParcelList(e){await this.$http({method:"POST",url:"/api/parcel/byCustomer",data:{id:e},name:"[ Axios / 로그인된 고객 배송조회 ]"}).then(e=>{var t=e.data;this.$store.dispatch("loadParcel",e.data),this.$store.getters.getSessionStatus&&0===t.length&&this.$q.notify({type:"positive",message:"배송상품 조회를 완료했습니다.",position:"top",timeout:3e3})}).catch(e=>{this.$log.debug("/api/parcel/byCustomer",e),alert("배송 상품 조회에 실패 했습니다.")})},validator(e){e=e.mobile+e.email+e.courierCode.value+e.courierNum;return this.$log.debug("Validator executed templength = ",e),""!==e}},mounted(){this.$log.debug("[ ParcelInfo.vue / Mounted ]");var e=JSON.parse(sessionStorage.getItem("vuexStore"));this.$log.debug("checkSession sess = ",e),null!=e&&(e=e.user.localSession.id,this.$log.debug("checkSession sessData = ",e),this.$log.debug("로그인 상태임"))}},v(57160),f=(0,e.A)(f,[["render",function(e,t,a,l,i,o){var s=(0,V.g2)("q-input");let r=(0,V.g2)("q-btn");var n=(0,V.g2)("ParcelList");return(0,V.uX)(),(0,V.CE)("main",ex,[(0,V.Lk)("div",tx,[t[3]||(t[3]=(0,V.Fv)('
배송 진행상태 조회
안내받은 H/BL 번호와 수취인 전화번호 뒷자리 4자리를 입력하면 현재 배송 진행상태를 확인할 수 있습니다. H/BL 번호를 모르는 경우 배송을 접수한 파트너사 또는 AONE 담당자에게 문의해 주세요.
',1)),(0,V.Lk)("div",ax,[(0,V.Lk)("div",lx,[(0,V.Lk)("div",ix,[(0,V.bF)(s,{class:"search-bar",modelValue:i.hblNo,"onUpdate:modelValue":t[0]||(t[0]=e=>i.hblNo=e),outlined:"",rounded:"",label:"H/BL No.",onKeyup:(0,I.jR)(o.loadParcelList,["enter"])},null,8,["modelValue","onKeyup"]),(0,V.bF)(s,{class:"mobile-last4-input",modelValue:i.receiverMobileLast4,"onUpdate:modelValue":[t[1]||(t[1]=e=>i.receiverMobileLast4=e),o.normalizeMobileLast4],outlined:"",rounded:"",maxlength:"4",inputmode:"numeric",label:"전화번호 뒷자리 4자리",onKeyup:(0,I.jR)(o.loadParcelList,["enter"])},{append:(0,V.k6)(()=>[(0,V.bF)(r,{round:"",color:"primary",icon:"search",onClick:o.loadParcelList},null,8,["onClick"])]),_:1},8,["modelValue","onUpdate:modelValue","onKeyup"])])])]),0===this.$store.getters.getParcelList.length?((0,V.uX)(),(0,V.CE)("div",ox,t[2]||(t[2]=[(0,V.Lk)("div",{class:"col text-center"},[(0,V.Lk)("h4",null,"고객님의 배송상품을 검색해보세요."),(0,V.Lk)("p",{class:"text-grey-7"}," 아직 조회 결과가 없습니다. H/BL 번호와 전화번호 뒷자리 4자리를 입력한 뒤 검색 버튼을 눌러주세요. ")],-1)]))):(0,V.Q3)("",!0)]),0 KOR",desc:"호주에서 한국으로 보내는 배송요청을 접수하세요."},partnerId:"",partnerName:"",memberId:""}},methods:{},mounted(){this.partnerId=this.$route.query.partnerId||"1",this.partnerName=this.$route.query.partnerName||"AONE",this.memberId=this.$route.query.memberId||""}},v(36702),u=(0,e.A)(u,[["render",function(e,t,a,l,i,o){var s=(0,V.g2)("RegiParcelComp");return(0,V.uX)(),(0,V.CE)("main",cx,[(0,V.Lk)("div",ux,[(0,V.Lk)("div",mx,[(0,V.Lk)("div",px,[(0,V.Lk)("div",gx,[t[2]||(t[2]=(0,V.Lk)("h4",{class:"page-title text-center"}," AUS -> KOR ",-1)),(0,V.Lk)("p",hx,[t[0]||(t[0]=(0,V.eW)("방문하신 파트너사는 [")),(0,V.Lk)("span",null,(0,R.v_)(i.partnerName),1),t[1]||(t[1]=(0,V.eW)("] 입니다"))])])])])]),(0,V.Lk)("div",bx,[(0,V.Lk)("div",fx,[(0,V.Lk)("div",vx,[(0,V.bF)(s,{memberId:i.memberId,partnerId:i.partnerId},null,8,["memberId","partnerId"])])])])])}],["__scopeId","data-v-78883006"]]);var kx=(0,e.A)({name:"Shipping-infomation",components:{NavBar:Z},data(){return{}},methods:{}},[["render",function(e,t,a,l,i,o){var s=(0,V.g2)("NavBar");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.bF)(s),t[0]||(t[0]=(0,V.Fv)('

운송정보

이곳은 운송정보를 표기하는 곳입니다.
이곳은 운송정보를 표기하는 곳입니다.
',1))],64)}]]);let yx={class:"signup-header"},Lx=["src"],_x={class:"form-section"},wx={class:"section-title"},xx={class:"row q-col-gutter-md"},Cx={class:"col-12 col-sm-6"},Sx={class:"col-12 col-sm-6"},Fx={class:"form-section"},qx={class:"section-title"},Ix={class:"row q-col-gutter-md"},Px={class:"col-12 col-sm-6"},Ax={class:"col-12 col-sm-6"},Tx={class:"row q-col-gutter-md"},Nx={class:"col-12 col-sm-7"},Ex={class:"col-12 col-sm-5"},Dx={key:0,class:"field-error"},Ox={class:"terms-section"},Vx={class:"row items-center justify-between no-wrap"},Rx={key:0,class:"signup-error",role:"alert"},Mx={class:"login-link"};var $x={name:"TermsConditions",emits:["accept"],components:{},data(){},methods:{accept(){this.$emit("accept")}}},$x=(v(316),{name:"CustomerSignUp",components:{Conditions:(0,e.A)($x,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-toolbar-title"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("q-toolbar"),d=(0,V.g2)("q-header"),c=(0,V.g2)("q-footer"),u=(0,V.g2)("q-page"),m=(0,V.g2)("q-page-container");var p=(0,V.g2)("q-layout");let g=(0,V.gN)("close-popup");return(0,V.uX)(),(0,V.Wv)(p,{container:"",class:"bg-white"},{default:(0,V.k6)(()=>[(0,V.bF)(d,{class:"bg-primary"},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[0]||(t[0]=[(0,V.eW)("이용약관")])),_:1,__:[0]}),(0,V.bo)((0,V.bF)(r,{flat:"",round:"",dense:"",icon:"close"},null,512),[[g]])]),_:1})]),_:1}),(0,V.bF)(c,{class:"bg-white text-black"},{default:(0,V.k6)(()=>[(0,V.bF)(n,null,{default:(0,V.k6)(()=>[(0,V.bo)((0,V.bF)(r,{label:"동의 및 확인",class:"full-width",color:"primary",onClick:o.accept},null,8,["onClick"]),[[g]])]),_:1})]),_:1}),(0,V.bF)(m,null,{default:(0,V.k6)(()=>[(0,V.bF)(u,{padding:""},{default:(0,V.k6)(()=>t[1]||(t[1]=[(0,V.Lk)("div",{class:"row"},[(0,V.Lk)("div",{class:"col px-5 py-4"},[(0,V.Lk)("h2",null,"목 차"),(0,V.Lk)("ul",null,[(0,V.Lk)("li",null,"1. 총칙 (사업의 종류)"),(0,V.Lk)("li",null,"2. 정의"),(0,V.Lk)("li",null,"3. 운송장"),(0,V.Lk)("li",null,"4. 통관용 운송장 (송장)"),(0,V.Lk)("li",null,"5. 주소 보정"),(0,V.Lk)("li",null,"6. 화물의 내용 확인"),(0,V.Lk)("li",null,"7. 포장"),(0,V.Lk)("li",null,"8. 인수 거부"),(0,V.Lk)("li",null,"9. 인수 제한"),(0,V.Lk)("li",null,"10. 운임 요금"),(0,V.Lk)("li",null,"11. 운임 요금 징수"),(0,V.Lk)("li",null,"12. 운송 경로 및 방법"),(0,V.Lk)("li",null,"13. 화물의 인도"),(0,V.Lk)("li",null,"14. 화물의 인도를 할 수 없는 경우의 조치"),(0,V.Lk)("li",null,"15. 인도 할 수 없는 화물의 처분"),(0,V.Lk)("li",null,"16. 유치권의 행사"),(0,V.Lk)("li",null,"17. 책임"),(0,V.Lk)("li",null,"18. 화물 검사"),(0,V.Lk)("li",null,"19. 정보 보호 및 개인정보에 관한 법률"),(0,V.Lk)("li",null,"20. 위험 회피 조치와 손해 배상"),(0,V.Lk)("li",null,"21. 손해 배상 청구 및 소송 제기 기간"),(0,V.Lk)("li",null,"22. 재판의 관할"),(0,V.Lk)("li",null,"23. 약관의 적용 및 규정")]),(0,V.Lk)("ul",null,[(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"1. 총칙"),(0,V.eW)(" 본 약관은 AONE LOGISTICS PTY LTD 의 “국제 운송 서비스” 전반에 적용되는 것으로 합니다. 이 서비스는 항공 및 해상 운송 사업자가 벌이는 화물 국제 운송에 따른 제 2 종 이용 운송 사업을 제공하는 것 입니다. 운송인은 본 약관 및 이를 바탕으로 정해진 규정에 동의한 것으로 합니다. ")]),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"2. 정의"),(0,V.eW)(' “국제 운송 서비스”는 발송인에서 수취인까지 도어 투 도어 운송 또는 운송의 인수 또는 수배 및 그와 연관된 부대 업무를 “안내 운임 요금”에서 실시하는 것을 말합니다. “국제 운송 서비스”는 본 약관의 규정에 따라 AONE LOGISTICS PTY LTD에 의한 한 화주로부터 일시에 한자리에 위탁되어 한일로 취급 한 대상 지역의 한 수취인 앞으로 한 통의 운송장에 운송되는 한 개 또는 몇 개의 짐을 말합니다. (이하 “화물”이라 한다.) AONE LOGISTICS PTY LTD는“국제 운송 서비스” 전반을 제공하는 회사를 말합니다. “국제 익스프레스 운송장”은 화주에 의하여 또는 화주를 대신하여 작성되는 서류로 국제 특급 운송 서비스에 대해 화주와 AONE LOGISTICS PTY LTD 사이의 계약을 증명하는 서류를 말합니다. (이하 “운송장” 이라 한다.) “화주”라 함은 화물의 운송에 관하여 AONE LOGISTICS PTY LTD와 계약을 체결한 당사자로서 운송장에 그 성명이 기재 되어 있는 것을 말합니다. “수취인”이라 함은 AONE LOGISTICS PTY LTD가 화물을 인도 할 자로서 운송장에 그 성명이 기재 되어 있는 것을 말 합니다. “조약”이라 함은 다음 중 적용 되는 것을 말합니다. 1929 년 10 월 12 일바르샤바에서서명된 "국제항공운송에관하여 일부규칙들의통일에관한협약"(이하 "바르샤바조약"이라고 합니다.) 및 헤이그 의정서와 몬트리올 제 4 의정서를 포함한 개정된 당해 조약을 의미 합니다. “몬트리올 조약”이란 1999년 5월 28일 몬트리올에서 서명된 국제 항공 운송 관련 일부 규칙들의 통일에 관한 협약을 의미합니다. “SDR”은 국제 통화 기금이 정하는 특별 인출권(스페셜 드로잉 라이트/SDR)을 말합니다. ')]),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"3. 운송장"),(0,V.eW)(" 화주가 화물 운송을 위탁 할 때 화주는 화물 한 개마다 운송장을 작성해야 합니다. 운송장 작성 화주의 요청에 따라 AONE LOGISTICS PTY LTD가 대신 할 수 있지만, 기재 내용에 대한 책임은 발송인에 있습니다. 운송장의 필요 기재 사항은 다음과 같습니다. - 발송인 이름 ∙ 주소 ∙ 전화번호 - 수취인의 성명 ∙ 주소 ∙ 전화번호 - 명세(Description) - 화주의 서명 ∙ 날짜 - 신고가액 - 수량 ∙ 무게 - 기타 AONE LOGISTICS PTY LTD에 필요한 기재 사항 ")]),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"4. 통관용 운송장 (송장)"),(0,V.eW)(" 발송인은 통관 절차에 필요한 경우 화물 내용에 따라 화물 한 개마다 통관용 운송장 (송장)을 만들고 AONE LOGISTICS PTY LTD에 교부하여야 합니다. ")]),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"5. 주소 보정"),(0,V.eW)(" 부정확한 우편번호가 기재되어 있는 경우, 아파트 번호 (동/호수)가 누락되어 있는 경우, 이미 이사한 수취인의 과거 주소로 기재된 경우 등 수취인의 주소가 불완전하거나 부정확한 경우에도 AONE LOGISTICS PTY LTD는 올바른 주소를 찾아내어 배달하도록 노력할 것이나 이러한 경우 배달을 할 수 없거나 배달이 되지 않을 때에는 책임을 지지 않습니다. 이러한 서비스에 별도의 특별 취급 요금이 부가 될 수 있습니다. 자세한 사항은 고객서비스에 문의할 수 있습니다. 정확한 주소를 확인할 수 없거나 수취인을 찾을 수 없거나 또는 연락이 되지 않는 경우 AONE LOGISTICS PTY LTD는 발송인에게 연락하여 주소를 확인하거나 화물의 반송에 대한 지시를 받는 등 해당 화물의 취급에 대한 추가적인 지시를 받을 수 있습니다.배달처 주소가 불완전 또는 부정확한 화물에 대해서는 배달 예정 시간을 지키지 못한 것에 대한 책임을 지지 않습니다. ")]),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"6. 화물의 내용 확인"),(0,V.eW)(" AONE LOGISTICS PTY LTD는 필요하다고 판단할 경우 필요한 사항에 대해 화물을 검사할 수 있습니다. 그러나 검사한 것으로 해당 화물의 운송이 발송지, 경유지 및 목적지로 하는 국가의 법령에 위반하지 않는 다는 것을 보증하는 것은 아닙니다. ")]),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"7. 포장"),(0,V.eW)(" 포장의 책임은 화주에 있는 것으로 화주는 화물의 운송에 적합하도록 포장을 해야 합니다. 포장이 운송에 적합하지 않다고 인정되는 경우 AONE LOGISTICS PTY LTD는 화주에게 필요한 포장을 요구하거나 화주의 부담으로 화물의 운송에 적합한 포장을 합니다. ")]),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"8. 인수 거부"),(0,V.eW)(" AONE LOGISTICS PTY LTD는 다음의 경우에는 운송의 인수를 거부할 수 있습니다. - 운송의 신청이 약관에 의하지 않을 때 - 포장이 운송에 적합하지 않을 때 - 운송 관련 화주에게 특별한 부담을 요구받았을 때 ")]),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"9. 인수 제한"),(0,V.eW)(" 무게 ∙ 양 또는 금액이 별도로 정해진 AONE LOGISTICS PTY LTD 규정을 넘을 때. 화물이 아래의 물품에 해당하는 경우. - 금 ∙ 은 ∙ 백금 기타 귀금속, 다이아몬드를 포함 보석 및 반 보석, 각국 통화 (지폐, 동전) 모든 종류의 보석 장식품, 기타 귀중품 - 유가 증권 류 (다만, 서면으로 특약을 한 경우 제외) - 서신 또는 현행법에서 서신으로 정의 된 통신 수단 - 동식물 - 사체 - 변질 또는 부패하기 쉬운 것 - 소형 무기용 폭약 및 화기 - 폭발물 - 압축 가스 - 인화성 액체 및 고체, 가연성 고체 - 사진용 섬광 전구 - 자기성 물질 - 수은 - 산 기타 부패 물질, 모든 염기 및 산 - 산화제 - 독극물 - 기화 물질 - 위험물로 정의되는 것 (ICAO 위험물 규칙 및 IATA 위험물 규칙) - 법정 운송 금지 품목 - 통과 국을 포함한 수출 입국, 주 지방 자치 단체, 연방 정부의 법령에 의하여 운송, 수출 및 수입 등이 금지되거나 제한 되는 화물 - 통상 미풍양속에 반하는 것 - 기타 AONE LOGISTICS PTY LTD가 부적당하다고 인정하는 것 ")]),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"10. 운임 요금"),(0,V.eW)(" 운임 요금이란 화물의 운송에 대하여 청구되는 금액을 의미하며, 그 내역은 AONE LOGISTICS PTY LTD가 정하는 요금표에 따릅니다. 덧붙여 운임요금은 출발지 집배 수수료, 통관 수수료, 운임 등을 포함합니다. 하지만, 일반적인 운임 요금 외에 특별한 통관 수수료, 관세 징수 ∙ 수정 신고 등의 통관 부대 서비스가 필요한 경우에는 별도로 정하는 운임 요금표에 따라 소정의 요금을 징수 합니다. 관세, 국내 소비세, 부가가치세, 공탁금 벌금, 과징금, 기타 부담금을 포함하지 않습니다. 만약 AONE LOGISTICS PTY LTD가 이러한 부담금을 지불한 경우 수취인은 즉시 AONE LOGISTICS PTY LTD에 그 전액을 지급하여야 합니다. AONE LOGISTICS PTY LTD가 화주의 요청에 따라 운송 보험 계약의 체결을 맡은 경우는 관통 운임 요금은 따로 보험료를 징수 합니다. AONE LOGISTICS PTY LTD가 화주 또는 수취인의 요청에 따라 정상 범위의 초과 수속이나 작업의 제공을 한 경우에는 그 비용 및 부담금은 의뢰를 한 화주 또는 수취인에게 청구가 됩니다. 수취인이 부담해야 할 금액을 지불하지 않을 경우, 발송인이 그 책임을 져야 합니다. 요금은 항공 운임의 개정 및 기타 경제 변동에 따라 개정 할 수 있습니다. ")]),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"11. 운임 요금 징수"),(0,V.eW)(" 운임 요금은 원칙적으로 운송 인수시에 지불을 해야 합니다. 또한 예외적으로 운임 요금에 대해 수취인 부담을 인정하는 경우가 있습니다. 수취인에 의해 지불이 없는 경우에는 발송인이 그 책임을 져야 합니다. 또한 운송 요금의 대한 대금 지불을 한달 주기 또는 보름 주기 등으로 지정을 할 수는 있지만, 그건 거래 업체의 신용도 및 AONE LOGISTICS PTY LTD 임원진 판단에 의거하여 결정이 됩니다. ")]),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"12. 운송 경로 및 방법"),(0,V.eW)(" AONE LOGISTICS PTY LTD는 화물의 취급, 보관, 통관 및 운송에 있어서 취해야 할 수단 경로 및 절차를 일임 받고 최선의 방법을 취하는 것으로 합니다. ")]),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"13. 화물의 인도"),(0,V.eW)(" AONE LOGISTICS PTY LTD는 운송장에 기재된 장소에서 수취인에게 화물을 인도 합니다. 그러나 배달시 해당 위치에 수취인이 없을 경우 또는 직접 수취인에게 배달 할 수 없는 경우 화주와의 특약이 없는 한 대리인 또는 대리인으로 간주되는 자 (수취인 취급 창구, 관리인, 가족, 동거인, 이웃 또는 수취인의 동료 등으로 수취인에게 대신 화물의 인도를 받아 줄 사람)에게 화물을 인도 할 수 있는 것으로 합니다. ")]),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"14. 화물의 인도를 할 수 없는 경우의 조치"),(0,V.eW)(" AONE LOGISTICS PTY LTD는 운송장에 수취인이 기재된 주소에 없는 경우, 또는 수하인이 화물의 수취를 게을리 혹은 거절 한 경우 또는 기타 이유로 화물의 인도가 되지 않을 때에는 지체없이 발송인에게 알리고, 상당 기간을 정하여 화물의 처분에 대한 지시를 구합니다. 전 항에 규정하는 오더 청구 및 그 지시에 따라 행한 처분에 소요된 비용은 화주가 부담합니다. ")]),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"15. 인도 할 수 없는 화물의 처분"),(0,V.eW)(" AONE LOGISTICS PTY LTD는 화물의 인도를 할 수 없는 경우의 조치에 대하여 지시가 없는 경우, 그 지시를 요구 한 날로부터 30일을 경과한 날까지 화물을 보관한 후 목적지 국가의 법령에 의하여 이를 매각하거나 기타의 방법으로 처분을 할 수 있습니다. 그러나 화물이 변질 또는 부패하기 쉬운 것 일 때는 즉시 화물의 매각, 기타 처분을 할 수 있습니다. AONE LOGISTICS PTY LTD는 규정에 의한 처분을 진행 할 경우 지체 없이 통지를 합니다. AONE LOGISTICS PTY LTD는 처분 할 경우에는 그 대금을 오더 청구 및 화물의 보관 및 처분에 소요 된 비용 및 기타 대납금 등에 충당하고 부족이 있을 시에는 발송인이 그 지불을 청구하고 잉여가 있는 때에는 이를 화주에게 반환합니다. ")]),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"16. 유치권의 행사"),(0,V.eW)(" AONE LOGISTICS PTY LTD는 운임 요금, 입체금, 기타 운송 약관에 따라 발생하는 모든 비용의 회수를 위해 화물에 대하여 유치권을 가집니다. 비용을 지불 하기 전까지 당해 화물의 인도를 거절 할 수 있습니다. AONE LOGISTICS PTY LTD는 본 약관에 따라 화주와 체결한 운송 약관에 따라 발생하는 모든 비용의 지불이 이루어 질 때까지 당해 화주와의 운송 계약에 의해 AONE LOGISTICS PTY LTD가 점유하는 화주의 화물 인도를 거절 할 수 있습니다. ")]),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"17. 책임"),(0,V.eW)(" AONE LOGISTICS PTY LTD의 책임은 다음과 같습니다. 그러나 조약 기타 법률에 특정한 규정이 있는 경우에 규정은 그 조약 적용 법령의 규정보다 AONE LOGISTICS PTY LTD의 책임을 면제하거나 낮은 한도를 정하고 있는 것으로 무효가 되는 경우를 제외 합니다. 운송장 및 포장의 규정된 경우를 제외하고 화물의 운송 또는 그에 부수하여 AONE LOGISTICS PTY LTD가 할 기타 업무 또는 이와 관련하여 발생하는 화물의 파손, 멸실, 훼손 또는 지연에 따른 손해에 대하여 그 손해의 원인이 된 사고가 운송 중 발생한 것일 때에 책임을 집니다. 그러나 AONE LOGISTICS PTY LTD는 멸실 또는 지연의 원인이 아래와 같은 경우에, 자신과 그 사용인의 손해를 방지하기 위해 합리적으로 요구되는 모든 조치를 취한 것 또는 그 조치를 취하기가 불가능한 것을 증명한 경우에는 책임을 지지 않습니다. - 화물 고유의 결함, 자연적 소모 - 포장 상태, 주소, 기호, 숫자 등의 필요 사항을 기재의 불완전 또는 결함 - 화물의 성질에 의한 발화, 폭발, 뜸, 곰팡이, 부패, 변색, 부식 기타 이와 유사한 사유 - X선, 방사선, 자기 등의 영향에 의한 장애 - 동맹 파업, 동맹태업, 사회적 소요, 납치, 테러 행위, 강도, 사변, 전쟁 및 전쟁 유사 행위 등 - 불가항력에 의한 화재 등의 재해 - 예견 할 수 없는 이상 교통 장애, 항해상의 위험 회피, 구조 구난 활동 - 지진, 해일, 고조, 홍수, 폭풍우, 산사태 등의 자연재해 - 법령 또는 공권력의 발동에 의한 운송의 금지, 화물의 개곤, 검사, 몰수, 압수, 또는 제3자 인도 - 운송인의 책임으로 하는 기재 사항, 신고 사항의 오기, 미비, 허위 기재, 신고, 기타 운송인 또는 수하인의 고의 또는 과실 몬트리올 넷째 의정서가 적용되는 화물의 운송 또는 그에 부수하여 AONE LOGISTICS PTY LTD가 할 기타 업무 또는 이와 관련하여 발생 지연으로 인한 손해에 대해서는 AONE LOGISTICS PTY LTD는 그 손해가 운송 도중 발생한 경우에는 책임을 집니다. 그러나 화물의 지연에 따른 AONE LOGISTICS PTY LTD의 책임은 해당 화물에 따른 운임 요금의 금액을 한도로 합니다. 또한 AONE LOGISTICS PTY LTD는 자신과 그 사용인, 대리인의 손해를 방지하기 위해 합리적으로 요구되는 모든 조치를 취한 것 또는 그 조치를 취하기가 불가능한 것을 증명한 경우에는 책임을 지지 않습니다. 몬트리올 넷째 의정서가 적용되는 화물의 운송 또는 그에 부수하여 AONE LOGISTICS PTY LTD가 할 기타 업무 또는 이와 관련하여 발생하는 화물의 파손, 멸실, 훼손에 의한 손해에 대해서는 AONE LOGISTICS PTY LTD는 그 손해의 원인이 된 사고가 운송 중 발생한 것이라는 사실만을 조건으로 책임을 집니다. 다만 AONE LOGISTICS PTY LTD는 그 손해가 아래의 원인에서만 생긴 것임을 증명한 경우에는 책임을 지지 않습니다. - 화물의 고유 결함 또는 성질 - AONE LOGISTICS PTY LTD, 그 사용인 또는 대리인 이외의 자가 열린 화물 포장의 결함 - 전쟁행위 또는 무력분쟁 - 화물 수입, 수출 또는 통관에 의해서 빼앗긴 공적 기관의 조치 몬트리올 협약의 적용을 받는 화물의 운송 또는 그것에 부수해서 AONE LOGISTICS PTY LTD가 실시하는 기타 업무에서 생기거나 이에 관련된 발생 지연에 따른 손해에 대해서는 AONE LOGISTICS PTY LTD는 그 손해가 운송 중 관련된 운임요금의 금액을 한도로 합니다. 또한 AONE LOGISTICS PTY LTD는 자신과 그 사용인, 대리인의 손해를 방지하기 위해 합리적으로 요구되는 모든 조치를 취한 것 또는 그 조치를 취하기가 불가능한 것을 증명한 경우에는 책임을 지지 않습니다. 몬트리올 협약의 적용을 받은 화물의 운송 또는 그것에 부수해서 AONE LOGISTICS PTY LTD가 실시하는 기타 업무에서 생기거나 이에 관련되어 생기는 화물의 파괴, 멸실, 훼손에 의한 손해에 대해서는 AONE LOGISTICS PTY LTD는 그 손해의 원인이 된 사고가 운송 중 생긴 것이라는 사실만을 조건으로 책임을 집니다. 다만 AONE LOGISTICS PTY LTD는 그 손해가 아래의 원인에서만 생긴 것임을 증명한 경우는 그 범위 내에서 책임을 면합니다. - 화물의 고유 결함 또는 성질 - AONE LOGISTICS PTY LTD, 그 사용인 또는 대리인 이외의 자가 열린 화물 포장의 결함 - 전쟁행위 또는 무력분쟁 - 화물 수입, 수출 또는 통관에 의해서 빼앗긴 공적 기관의 조치 아래 항에 대한 경우를 제외하고 AONE LOGISTICS PTY LTD의 책임은 손해를 받은 화물 운송장당 US$500의 높은 하나를 한도로 합니다. 다만 사용인의 고의 또는 중과실에 의해 생긴 것이 증명된 경우는 해당이 없습니다. 위의 항에 불구하고 화주가 화물의 인수 시 필요한 할증 요금을 지불하고 운송장에 신고 가격을 신고한 경우에는 그 가격이 정당한 것인지에 한에서 운송장에 기재된 신고 가격을 회사의 책임 한도로 합니다. 어느 경우에도 손해 배상 청구에 있어서는 물품의 실제 구매 가격, 동종의 품질 물품의 통상 가격 또는 그 어느 쪽도 아닌 경우에는 한도 내에서 정당하다고 인정되는 물품의 가격을 기초로 산출되는 해당 물품의 실제 손해액에 운임 요금을 더한 금액을 넘을 수 없습니다. AONE LOGISTICS PTY LTD는 지연에 따른 손해 이외의 어떤 간접적인 손해에 대해서도 책임을 지지 않습니다. 즉 화물에 대해서 직접 발생한 물적 손해에 대해서만 책임을 지고 그 결과 발생한 간접적 손해에는 이익, 이자 및 효용 손실 및 기회의 일실에 따른 손실을 포함하는 것으로 이들에는 한정되지 않습니다. 손해 배상에 관한 통화 환산은 소송의 경우에는 최종 구두 변론 종결일에 유효한 환산률을 적용하고, 소송 이외의 경우에는 지불해야 하는 손해 배상액 확정된 날에 유효한 환산율을적용합니다. ")]),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"18. 화물 검사"),(0,V.eW)(" 통지 없이 AONE LOGISTICS PTY LTD는 언제든지 임의로 화물을 개봉하여 그 내용물을 검사할 수 있으나 의무는 없습니다. 정부 기관 역시 언제든지 화물을 개봉, 검사할 수 있습니다. ")]),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"19. 정보 보호 및 개인정보에 관한 법률"),(0,V.eW)(" 화물과 관련하여 발송인이 제공한 수취인 또는 제3자에 관한 개인정보에 대해서 발송인은 정보의 보호 및 개인정보 보호에 관해 적용되는 모든 법률을 준수합니다. 여기에는 AONE LOGISTICS PTY LTD, 그 대리인 또는 협력 업체가 화물의 배달을 위해 개인정보를 처리하고 당사에게 그러한 개인정보를 제공하는 것에 관하여 모든 필요한 정보 공개를 실시 및 모든 필요한 동의를 얻는 것을 포함하지만 이에 한정되지는 않습니다. 해당 적용 법률을 준수하는 조건으로 필요한 정보 공개에는 통상 다음의 사항을 포함 합니다. - AONE LOGISTICS PTY LTD를 정보의 이용자 또는 관리자로 확인하는 것 - 화물의 배달에 관하여 개인정보를 처리할 목적 - 발송인이 AONE LOGISTICS PTY LTD에 제공하는 개인정보의 정류 - 수취인의 배달 지시를 포함하여 화물의 배달과 관련한 개인정보가 당초 제공된 관할지 내외에 소재하는 AONE LOGISTICS PTY LTD (관련회사 포함), 그 대리인 또는 협력 업체에게 해당 개인정보가 전달 될 것임을 통지 - 당사에 개인정보를 제공할 강제 또는 임의의 성질 및 해당 개인 정보를 제공하는 것을 거부할 경우에 따른 결과 - 개인정보에 접근하기 위하거나 부정확한 정보를 수정하기 위해 또는 정보를 처리하는데 반대하기 위한 정보 주체의 권리 및 해당 권리를 행사하기 위해 정보주체에 의해 이용되는 상세 연락처 발송인은 발송인이 본 위의 항을 준수하지 않은 것과 관련하여 발생한 일체의 비용, 청구, 손해 및 경비에 대하여 AONE LOGISTICS PTY LTD, 그 임원, 이사, 직원 및 대리인에게 이를 보상하고 이들을 방어하며 면책합니다. ")]),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"20. 위험 회피 조치와 손해 배상"),(0,V.eW)(" 화주 및 수취인은 어떤 경우에 있어서도 자기 화물이 다른 화물 또는 AONE LOGISTICS PTY LTD의 재산에 손해를 끼친 경우에는 그것에 의한 AONE LOGISTICS PTY LTD가 입은 모든 손실 및 비용을 변상합니다. AONE LOGISTICS PTY LTD는 인력 및 항공기 기타 물건에 해가 미칠 우려가 있는 화물을 예고 없이 폐기하거나 파괴할 수 있고 이를 위해서는 아무런 책임을 지지 않습니다. ")]),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"21. 손해 배상 청구 및 소송 제기 기간"),(0,V.eW)(" 화물의 인도를 받을 자격이 있는 사람이 불만 제기를 하지 않고 화물을 수령한 경우에는 그 화물이 양호한 상태로 인도되었고, 운송 계약에 따라 인도 된 것으로 추정됩니다. 화물에 대한 손해 배상 청구는 아래의 기간 내에 문서로 AONE LOGISTICS PTY LTD에 제출되지 않으면, AONE LOGISTICS PTY LTD는 그 손해 배상 청구의 접수를 하지 않습니다. - 화물의 파괴, 훼손이 있는 경우는 화물의 인도 날로부터 14일 이내 - 화물 지연이 있는 경우는 수취인이 화물을 처분 할 수 있게 된 날로부터 21일 이내 - 화물이 멸실 및 분실한 경우에는 운송장 발행일로부터 120일 이내 ")]),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"22. 재판의 관할"),(0,V.eW)(" AONE LOGISTICS PTY LTD에 대한 호소는 발송 국가의 AONE LOGISTICS PTY LTD의 주소지, AONE LOGISTICS PTY LTD의 주된 영업소의 소재지 또는 AONE LOGISTICS PTY LTD가 계약을 한 영업소의 소재지 법원에 제기하여야 합니다. AONE LOGISTICS PTY LTD에 대한 소송 절차는 출발지 국가의 법률에 따라 다릅니다. ")]),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"23. 약관의 적용 및 규정"),(0,V.eW)(" 본 약관의 규정이 조약, 법률, 정부 규정, 명령 또는 요구에 반하는 경우에는 그 규정은 이러한 법령과 저촉되지 않는 한도 내에서 적용되는 것으로 그 어떠한 조항의 무효도 다른 규정에 영향을 미치지 않습니다. ")])]),(0,V.Lk)("ul",null,[(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"개인정보취급방침")]),(0,V.Lk)("li",null,"AONE LOGISTICS PTY LTD를 관리하는 이용자들의 개인정보보호를 매우 중요시하며, 이용자가 서비스(이하 AONE LOGISTICS PTY LTD 이라 함)를 이용함과 동시에 온라인상에서 AONE LOGISTICS PTY LTD에 제공한 개인정보가 보호 받을 수 있도록 최선을 다하고 있습니다. 이에 AONE LOGISTICS PTY LTD는 통신비밀보호법, 전기통신사업법, 정보통신망이용촉진 등에 관한 법률 등 정보통신서비스제공자가 준수하여야 할 관련 법규상의 개인정보보호 규정 및 정보통신부가 제정한 개인정보보호지침을 준수하고 있습니다. AONE LOGISTICS PTY LTD는 개인정보 보호정책을 통하여 이용자들이 제공하는 개인정보가 어떠한 용도와 방식으로 이용되고 있으며 개인정보보호를 위해 어떠한 조치가 취해지고 있는지 알려드립니다. AONE LOGISTICS PTY LTD는 개인정보 보호정책을 홈페이지 첫 화면에 공개함으로써 이용자들이 언제나 용이하게 보실 수 있도록 조치하고 있습니다. AONE LOGISTICS PTY LTD의 개인정보 보호정책은 정부의 법률 및 지침 변경이나 AONE LOGISTICS PTY LTD의 내부 방침 변경 등으로 인하여 수시로 변경될 수 있고, 이에 따른 개인정보 보호정책의 지속적인 개선을 위하여 필요한 절차를 정하고 있습니다. 그리고 개인정보 보호정책을 개정하는 경우 AONE LOGISTICS PTY LTD는 그 변경사항에 대하여 즉시 홈페이지를 통하여 게시하고 개정일자 등을 부여하여 개정된 사항을 이용자들이 쉽게 알아볼 수 있도록 하고 있습니다. 이용자들께서는 사이트 방문시 수시로 확인하시기 바랍니다."),(0,V.Lk)("li",null,"AONE LOGISTICS PTY LTD의 개인정보 보호정책은 다음과 같은 내용을 담고 있습니다."),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"개인정보 수집에 대한 동의")]),(0,V.Lk)("li",null,"AONE LOGISTICS PTY LTD는 이용자들이 AONE LOGISTICS PTY LTD의 개인정보 보호정책 또는 이용약관의 내용에 대하여 「동의」버튼을 클릭할 수 있는 절차를 마련하여, 「동의」버튼을 클릭하면 개인정보 수집에 대해 동의한 것으로 봅니다."),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"개인정보의 수집목적 및 이용목적")]),(0,V.Lk)("li",null,"개인정보라 함은 생존하는 개인에 관한 정보로서 당해 정보에 포함되어 있는 성명, 전화번호, 이메일주소 등의 사항에 의하여 당해 개인을 식별할 수 있는 정보(당해 정보만으로는 특정 개인을 식별할 수 없더라도 다른 정보와 용이하게 결합하여 식별할 수 있는 것을 포함)를 말합니다. AONE LOGISTICS PTY LTD 서비스는 별도의 사용자 등록이 없이 언제든지 사용할 수 있는 메뉴와 사용할 수 없는 메뉴로 구성되어 있습니다. 그러나 AONE LOGISTICS PTY LTD는 서비스·부가서비스 등을 통하여 이용자들에게 보다 더 향상된 양질의 서비스를 제공하기 위하여 이용자 개인의 정보를 수집하고 있습니다. AONE LOGISTICS PTY LTD는 이용자의 사전 동의 없이는 이용자의 개인 정보를 함부로 공개하지 않으며, 수집된 정보는 아래와 같이 이용하고 있습니다. 첫째, 이용자가 제공한 개인정보를 바탕으로 보다 더 유용한 서비스를 개발할 수 있습니다. AONE LOGISTICS PTY LTD는 신규 서비스개발이나 컨텐츠의 확충 시에 기존 이용자들이 AONE LOGISTICS PTY LTD에 제공한 개인정보를 바탕으로 개발해야 할 서비스의 우선 순위를 보다 더 효율적으로 정하고, AONE LOGISTICS PTY LTD는 이용자들이 필요로 할 컨텐츠를 합리적으로 선택하여 제공할 수 있습니다. 둘째, 각 수집정보별 수집목적은 다음과 같습니다. ① 성명, 아이디, 비밀번호, 이메일주소 : 서비스이용에 따른 본인식별 ② 이메일주소, 전화번호 : 고지사항 전달, 본인의사확인, 불만처리 등 원활한 의사소통 경로의 확보, 최신정보의 안내 ③ 그 외 선택항목 : 개인 맞춤서비스를 제공하기 위한 자료"),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"AONE LOGISTICS PTY LTD가 수집하는 개인정보 항목 및 수집방법")]),(0,V.Lk)("li",null,"AONE LOGISTICS PTY LTD는 이용자들이 회원서비스를 이용하기 위해 회원으로 가입하실 때 서비스 제공을 위한 필수적인 정보들을 온라인상에서 입력 받고 있습니다. 회원 가입시에 받는 필수적인 정보는 이름, 이메일, 연락처 입니다. 또한 양질의 서비스 제공을 위하여 이용자들이 선택적으로 입력할 수 있는 사항으로서 추가 정보를 입력 받고 있습니다. 또한 AONE LOGISTICS PTY LTD 내에서의 이벤트 행사 시 통계분석이나 경품제공 등을 위해 선별적으로 개인정보 입력을 요청할 수 있습니다. 그러나, 이용자의 기본적 인권 침해의 우려가 있는 민감한 개인정보(인종 및 민족, 사상 및 신조, 출신지 및 본적지, 정치적 성향 및 범죄기록, 건강상태 및 성생활 등)는 가급적 수집하지 않으며 부득이하게 수집해야 할 경우 이용자들의 사전동의를 반드시 구할 것입니다. 그리고, 어떤 경우에라도 입력하신 정보를 이용자들에게 사전에 밝힌 목적 이외에 다른 목적으로는 사용하지 않으며 외부로 유출하지 않습니다. 다만 오픈되어 있는 정보, 이름/이메일/홈페이지주소 등은 어떠한 목적으로 수집될 수 있음을 알려드립니다. AONE LOGISTICS PTY LTD에 오픈 되어 있는 정보는 본 개인정보 보호정책이 적용되지 않음을 알려 드립니다."),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"AONE LOGISTICS PTY LTD이가 수집하는 개인정보의 보유 및 이용기간")]),(0,V.Lk)("li",null,"이용자가 AONE LOGISTICS PTY LTD의 회원으로서 AONE LOGISTICS PTY LTD에 제공하는 서비스를 이용하는 동안 AONE LOGISTICS PTY LTD는 이용자들의 개인정보를 계속적으로 보유하며 서비스 제공 등을 위해 이용합니다. 다만, 회원 본인이 직접 삭제하거나 수정한 정보, 가입해지를 요청한 경우에는 이름과 아이디를 제외한 모든 정보는 재생할 수 없는 방법에 의하여 디스크에서 완전히 삭제하며 추후 열람이나 이용이 불가능한 상태로 처리됩니다. 귀하의 개인정보는 다음과 같이 개인정보의 수집목적 또는 제공받은 목적이 달성되면 파기하는 것을 원칙으로 합니다. 다만, 아래의 경우 회원정보를 보관합니다. 그리고 상법,전자상거래등에서의 소비자보호에 관한 법률 등 관계법령의 규정에 의하여 보존할 필요가 있는 경우 AONE LOGISTICS PTY LTD는 관계법령에서 정한 일정한 기간 동안 회원정보를 보관합니다. 이 경우 AONE LOGISTICS PTY LTD는 보관하는 정보를 그 보관의 목적으로만 이용합니다. - 계약 또는 청약철회 등에 관한 기록 : 5년 - 대금결제 및 재화등의 공급에 관한 기록 : 5년 - 소비자의 불만 또는 분쟁처리에 관한 기록 : 3년"),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"AONE LOGISTICS PTY LTD가 수집한 개인정보의 공유 및 제공")]),(0,V.Lk)("li",null,"AONE LOGISTICS PTY LTD는 이용자들의 개인정보를 개인정보의 수집목적 및 이용목적에서 고지한 범위 내에서 사용하며, 이용자의 사전 동의 없이는 동 범위를 초과하여 이용하거나 원칙적으로 이용자의 개인정보를 외부에 공개하지 않습니다. 다만, 아래의 경우에는 예외로 합니다. 첫째, 이용자들이 사전에 공개에 동의한 경우 둘째, 사이트에 게시한 AONE LOGISTICS PTY LTD 서비스 이용약관이나 기타 회원서비스 등의 이용약관을 위반한 경우 셋째, AONE LOGISTICS PTY LTD 서비스를 이용하여 타인에게 정신적·물질적 피해를 줌으로서 그에 대한 법적인 조치를 취하기 위하여 개인정보를 공개해야 한다고 판단되는 충분한 근거가 있는 경우 넷째, 기타 법에 의해 요구된다고 선의로 판단되는 경우(예. 관련법에 의거 적법한 절차에 의한 정부기관의 요청이 있는 경우 등) 다섯째, 통계작성, 학술연구나 시장조사를 위하여 특정개인을 식별할 수 없는 형태로 광고주, 협력업체나 연구단체 등에 제공하는 경우 그리고 AONE LOGISTICS PTY LTD는 새로운 기술개발이나 보다 나은 서비스의 제공을 위하여 이용자들의 개인정보를 공유할 수 있습니다. 이 경우에도 정보수집 또는 정보제공 이전에 이용자들에게 개인정보를 공유할 기관이나 단체가 누구인지, 어떤 정보가 왜 필요한지, 그리고 언제까지 어떻게 보호되고 관리되는지 알려드리고 동의를 구하는 절차를 거치게 되며, 이용자들의 동의가 없는 경우에는 추가적인 정보를 임의로 수집하거나 공유하지 않습니다. 성별, 연령별 기타 특정 조건의 집단에 대한 광고 게재 및 발송 시에도 이용자들의 개인정보는 광고를 의뢰한 개인이나 기업 등에 제공되지 않으며, 기타 통계처리나 학술연구, 시장조사를 위하여 필요한 경우에도 특정한 개인을 식별할 수 없는 형태로만 정보가 제공됩니다."),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"이용자 자신의 개인정보 관리(열람,정정,삭제 등)에 관한 사항")]),(0,V.Lk)("li",null,"이용자는 언제든지 AONE LOGISTICS PTY LTD 홈페이지를 이용하여 등록되어 있는 자신의 개인정보를 조회하거나 수정할 수 있으며 가입해지를 요청할 수도 있습니다. 이용자들의 개인정보 조회 및 수정을 위해서는 AONE LOGISTICS PTY LTD에 아이디와 비밀번호를 사용하여 로그인하면 되는데, 아이디(ID) 및 이름을 제외한 모든 입력사항을 수정할 수 있습니다. 가입해지는 이메일을(CS@AONELOGISTICS.COM.AU) 통하여 회원탈퇴를 요청하시면, 탈퇴처리 됩니다. 이용자들은 AONE LOGISTICS PTY LTD 서비스의 회원 아이디(ID)에 대하여 가입해지 또는 이용해지를 할 수 있으나 이로 인하여 모든 서비스를 이용할 수 없게 되는 것은 아니며, 일부 회원전용 서비스에 대해서만 그 기능을 이용할 수 없게 됩니다. AONE LOGISTICS PTY LTD는 이용자의 요청에 의해 해지 또는 삭제된 개인정보는 AONE LOGISTICS PTY LTD가 수집하는 개인정보의 보유 및 이용기간에 명시된 바에 따라 처리하고 그 외의 용도로 열람 또는 이용할 수 없도록 처리하고 있습니다."),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"세션(session)의 운영에 관한 사항")]),(0,V.Lk)("li",null,"이용자들에게 특화된 맞춤서비스를 제공하기 위해서 AONE LOGISTICS PTY LTD는 이용자들의 정보를 저장하고 수시로 불러오는 세션(session)을 사용합니다. 세션은 웹사이트를 운영하는데 이용되는 서버에 저장되어지는 소량의 정보입니다. AONE LOGISTICS PTY LTD는 이용자들에게 적합하고, 보다 유용한 서비스를 제공하기 위해서 세션을 이용하여 회원인증 상태를 유지합니다."),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"개인정보관련 기술적·관리적 대책")]),(0,V.Lk)("li",null,"AONE LOGISTICS PTY LTD는 이용자들의 개인정보를 취급함에 있어 개인정보가 분실, 도난, 누출, 변조 또는 훼손되지 않도록 안전성 확보를 위하여 다음과 같은 기술적 대책을 강구하고 있습니다. 이용자들의 개인정보는 비밀번호에 의해 철저히 보호되고 있습니다. AONE LOGISTICS PTY LTD 회원 아이디(ID)의 비밀번호는 본인만이 알고 있으며, 개인정보의 확인 및 변경도 비밀번호를 알고 있는 본인에 의해서만 가능합니다. 따라서 이용자 여러분께서는 비밀번호를 누구에게도 알려주시면 안됩니다. 이를 위해 AONE LOGISTICS PTY LTD에서는 기본적으로 PC에서의 사용을 마치신 후 온라인상에서 로그아웃하시고 웹브라우저를 종료하도록 권장합니다. 특히 다른 사람과 PC를 공유하여 사용하거나 공공장소(회사나 학교, 도서관, 인터넷 게임방 등)에서 이용한 경우에는 개인정보가 다른 사람에게 알려지는 것을 막기 위해 위와 같은 절차가 더욱 필요할 것입니다. AONE LOGISTICS PTY LTD는 해킹이나 컴퓨터 바이러스 등에 의해 회원의 개인정보가 유출되거나 훼손되는 것을 막기 위해 최선을 다하고 있습니다. 개인정보의 훼손에 대비해서 자료를 수시로 백업하고 있고, 최신 백신프로그램을 이용하여 이용자들의 개인정보나 자료가 누출되거나 손상되지 않도록 방지하고 있으며, 암호알고리즘 등을 통하여 네트워크상에서 개인정보를 안전하게 전송할 수 있도록 하고 있습니다. 그리고 침입차단시스템을 이용하여 외부로부터의 무단 접근을 통제하고 있으며, 기타 시스템적으로안정성을 확보하기 위한 가능한 모든 기술적 장치를 갖추려 노력하고 있습니다. 하지만 해킹이나 바이러스 등의 불가피한 사유로 인한 정보의 유출 또는 훼손은 AONE LOGISTICS PTY LTD가 책임을 지지는 않습니다. AONE LOGISTICS PTY LTD의 개인정보관련 취급 직원은 담당자에 한정시키고 있고 이를 위한 별도의 비밀번호를 부여하여 정기적으로 갱신하고 있으며, 담당자에 대한 수시 교육을 통하여 AONE LOGISTICS PTY LTD 개인정보 보호정책의 준수를 항상 강조하고 있습니다."),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"개인정보의 위탁 처리")]),(0,V.Lk)("li",null,"AONE LOGISTICS PTY LTD는 서비스 향상을 위해서 이용자들의 개인정보를 외부전문업체에 위탁하여 처리할 수 있습니다. 개인정보의 처리를 위탁하는 경우에는 미리 그 사실을 이용자들에게 공지할 것입니다. 또한 위탁계약 등을 통하여 서비스제공자의 개인정보보호 관련 지시엄수, 개인정보에 관한 비밀유지, 제3자 제공의 금지 및 사고시의 책임부담 등을 명확히 규정하고 당해 계약내용을 서면 또는 전자적으로 보관할 것입니다."),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"개인정보관려 의견수렴 및 불만처리에 관한 사항")]),(0,V.Lk)("li",null,"AONE LOGISTICS PTY LTD는 개인정보보호와 관련하여 이용자 여러분들의 의견을 수렴하고 있으며 불만을 처리하기 위하여 모든 절차와 방법을 마련하고 있습니다. 이용자들은 하단에 명시한 AONE LOGISTICS PTY LTD 개인정보 관리책임자 및 담당자의 성명 및 연락처를 참고하여 전화나 메일을 통하여 불만사항을 신고할 수 있고, AONE LOGISTICS PTY LTD는 이용자들의 신고사항에 대하여 신속하고도 충분한 답변을 해 드릴 것입니다. 또는 정부에서 설치하여 운영중인 개인정보침해신고센터(http://www.cyberprivacy.or.kr, 전화번호 02-1336, PC통신 go eprivacy), 정보보호마크인증위원회(www.privacymark.or.kr, 02-580-0533), 경찰청(http://www.police.go.kr)에 불만처리를 신청할 수 있습니다."),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"AONE LOGISTICS PTY LTD 개인정보 관리책임자의 성명·연락처")]),(0,V.Lk)("li",null,"AONE LOGISTICS PTY LTD는 귀하가 좋은 정보를 안전하게 이용할 수 있도록 최선을 다하고 있습니다. 개인정보를 보호하는데 있어 귀하께 고지한 사항들에 반하는 사고가 발생할 경우 개인정보관리책임자가 책임을 집니다. 이용자 개인정보와 관련한 아이디(ID)의 비밀번호에 대한 보안유지책임은 해당 이용자 자신에게 있습니다. AONE LOGISTICS PTY LTD에서는 비밀번호에 대해 어떠한 방법으로도 이용자에게 직접적으로 질문하는 경우는없으므로 타인에게 비밀번호가 유출되지 않도록 각별히 주의하시기 바랍니다. 특히, 공공장소에서 온라인상에서 접속해 있을 경우에는 더욱 유의하셔야 합니다. AONE LOGISTICS PTY LTD는 개인정보에 대한 의견수렴 및 불만처리를 담당하는 개인정보 관리담당자를 지정하고 있고, 연락처는 아래와 같습니다."),(0,V.Lk)("li",null,"강대한 danny@aonelogistics.com.au (02-8515-7070)"),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"수집하는 개인정보의 항목")]),(0,V.Lk)("li",null,"가. 회사는 회원가입, 원활한 고객상담, 각종 서비스의 제공을 위해 최초 회원가입 당시 아래와 같은 개인정보를 수집하고 있습니다. - 필수항목 : 성명, 아이디, 비밀번호, 이메일 주소, 연락처 (전화번호 또는 모바일 번호) - 선택사항 : 전화번호, 모바일 번호 나. 서비스 이용과정에서 아래와 같은 정보들이 자동으로 생성되어 수집될 수 있습니다. - IP Address, 쿠키, 방문 일시, 서비스 이용 기록, 불량 이용 기록 다. 부가 서비스 및 맞춤식 서비스 이용 과정에서 해당 서비스의 이용자에 한해서만 추가 정보들이 수집될 수 있습니다."),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"개인정보의 수집 및 이용 목적")]),(0,V.Lk)("li",null,"가. 서비스 제공에 관한 계약 이행 및 서비스 제공에 따른 요금정산 컨텐츠 제공, 특정 맞춤 서비스 제공, 물품배송 또는 청구서 등 발송, 본인인증, 구매 및 요금 결제, 요금추심 나. 회원관리 회원제 서비스 이용 및 제한적 본인 확인제에 따른 본인확인, 개인식별, 불량회원의 부정 이용방지와 비인가 사용방지, 가입의사 확인, 가입 및 가입횟수 제한, 분쟁 조정을 위한 기록보존, 불만처리 등 민원처리, 고지사항 전달 다. 신규 서비스 개발 및 마케팅·광고에의 활용 신규 서비스 개발 및 맞춤 서비스 제공, 통계학적 특성에 따른 서비스 제공 및 광고 게재, 서비스의 유효성 확인, 이벤트 및 광고성 정보 제공 및 참여기회 제공, 접속빈도 파악, 회원의 서비스 이용에 대한 통계"),(0,V.Lk)("li",null,[(0,V.Lk)("h3",null,"개인정보의 보유 및 이용기간")]),(0,V.Lk)("li",null,"이용자의 개인정보는 원칙적으로 개인정보의 수집 및 이용목적이 달성되면 지체 없이 파기합니다. 단, 다음의 정보에 대해서는 아래의 이유로 명시한 기간 동안 보존합니다. 가. 회사 내부 방침에 의한 정보보유 사유 - 부정이용기록 (이유 : 부정 이용 방지, 기간 : 1년) 나. 관련법령에 의한 정보보유 사유 상법, 전자상거래 등에서의 소비자보호에 관한 법률 등 관계법령의 규정에 의하여 보존할 필요가 있는 경우 회사는 관계법령에서 정한 일정한 기간 동안 회원정보를 보관합니다. 이 경우 회사는 보관하는 정보를 그 보관의 목적으로만 이용하며 보존기간은 아래와 같습니다. - 방문에 관한 기록 (이유 : 통신비밀보호법, 기간 : 3개월) - 본인확인에 관한 기록 (이유 : 정보통신망 이용촉진 및 정보보호 등에 관한 법률, 기간 : 6개월) - 소비자의 불만 또는 분쟁처리에 관한 기록 (이유 : 전자상거래 등에서의 소비자보호에 관한 법률, 기간 : 3년) - 계약 또는 청약철회 등에 관한 기록 (이유 : 전자상거래 등에서의 소비자보호에 관한 법률, 기간 : 5년) - 대금결제 및 재화 등의 공급에 관한 기록 (이유 : 전자상거래 등에서의 소비자보호에 관한 법률, 기간 : 5년)")])])],-1)])),_:1,__:[1]})]),_:1})]),_:1})}],["__scopeId","data-v-f6c7657c"]])},data(){return{email:"",password:"",passwordConfirm:"",firstName:"",lastName:"",mobile:"",country:"",termsAccepted:!1,conditionsModalShow:!1,showPassword:!1,showPasswordConfirm:!1,isSubmitting:!1,isCountryLoading:!1,countryLoadError:"",submitError:""}},computed:{countryList(){return this.$store.getters.getNationCodeList}},methods:{requiredRule(e){return 0[(0,V.bF)(p,{class:"signup-card"},{default:(0,V.k6)(()=>[(0,V.Lk)("section",yx,[(0,V.Lk)("img",{class:"signup-logo",src:v(34074),alt:"AONE Logistics"},null,8,Lx),t[18]||(t[18]=(0,V.Lk)("div",null,[(0,V.Lk)("div",{class:"text-overline text-primary"},"AONE ACCOUNT"),(0,V.Lk)("h1",null,"회원가입"),(0,V.Lk)("p",null,"배송 조회와 물류 서비스를 이용할 고객 계정을 만듭니다.")],-1))]),(0,V.bF)(s),(0,V.bF)(m,{ref:"signUpForm",class:"signup-form",onSubmit:(0,I.D$)(o.signUp,["prevent"])},{default:(0,V.k6)(()=>[(0,V.Lk)("section",_x,[(0,V.Lk)("div",wx,[(0,V.bF)(r,{name:"account_circle"}),t[19]||(t[19]=(0,V.Lk)("span",null,"계정 정보",-1))]),(0,V.bF)(n,{modelValue:i.email,"onUpdate:modelValue":[t[0]||(t[0]=e=>i.email=e),t[1]||(t[1]=e=>i.submitError="")],outlined:"",type:"email",label:"이메일 *",autocomplete:"username",maxlength:"254","lazy-rules":"",disable:i.isSubmitting,rules:[o.requiredRule,o.emailRule]},{prepend:(0,V.k6)(()=>[(0,V.bF)(r,{name:"mail_outline"})]),_:1},8,["modelValue","disable","rules"]),(0,V.Lk)("div",xx,[(0,V.Lk)("div",Cx,[(0,V.bF)(n,{modelValue:i.password,"onUpdate:modelValue":[t[3]||(t[3]=e=>i.password=e),t[4]||(t[4]=e=>i.submitError="")],outlined:"",type:i.showPassword?"text":"password",label:"비밀번호 *",autocomplete:"new-password",hint:"8자 이상, 72바이트 이하","lazy-rules":"",disable:i.isSubmitting,rules:[o.passwordRule]},{prepend:(0,V.k6)(()=>[(0,V.bF)(r,{name:"lock_outline"})]),append:(0,V.k6)(()=>[(0,V.bF)(r,{class:"cursor-pointer",name:i.showPassword?"visibility_off":"visibility",onClick:t[2]||(t[2]=e=>i.showPassword=!i.showPassword)},null,8,["name"])]),_:1},8,["modelValue","type","disable","rules"])]),(0,V.Lk)("div",Sx,[(0,V.bF)(n,{modelValue:i.passwordConfirm,"onUpdate:modelValue":[t[6]||(t[6]=e=>i.passwordConfirm=e),t[7]||(t[7]=e=>i.submitError="")],outlined:"",type:i.showPasswordConfirm?"text":"password",label:"비밀번호 확인 *",autocomplete:"new-password","lazy-rules":"",disable:i.isSubmitting,rules:[o.requiredRule,o.passwordConfirmRule]},{prepend:(0,V.k6)(()=>[(0,V.bF)(r,{name:"verified_user"})]),append:(0,V.k6)(()=>[(0,V.bF)(r,{class:"cursor-pointer",name:i.showPasswordConfirm?"visibility_off":"visibility",onClick:t[5]||(t[5]=e=>i.showPasswordConfirm=!i.showPasswordConfirm)},null,8,["name"])]),_:1},8,["modelValue","type","disable","rules"])])])]),(0,V.Lk)("section",Fx,[(0,V.Lk)("div",qx,[(0,V.bF)(r,{name:"badge"}),t[20]||(t[20]=(0,V.Lk)("span",null,"기본 정보",-1))]),(0,V.Lk)("div",Ix,[(0,V.Lk)("div",Px,[(0,V.bF)(n,{modelValue:i.lastName,"onUpdate:modelValue":[t[8]||(t[8]=e=>i.lastName=e),t[9]||(t[9]=e=>i.submitError="")],outlined:"",label:"성 *",maxlength:"100","lazy-rules":"",disable:i.isSubmitting,rules:[o.requiredRule]},null,8,["modelValue","disable","rules"])]),(0,V.Lk)("div",Ax,[(0,V.bF)(n,{modelValue:i.firstName,"onUpdate:modelValue":[t[10]||(t[10]=e=>i.firstName=e),t[11]||(t[11]=e=>i.submitError="")],outlined:"",label:"이름 *",maxlength:"100","lazy-rules":"",disable:i.isSubmitting,rules:[o.requiredRule]},null,8,["modelValue","disable","rules"])])]),(0,V.Lk)("div",Tx,[(0,V.Lk)("div",Nx,[(0,V.bF)(n,{"model-value":i.mobile,outlined:"",type:"tel",inputmode:"numeric",maxlength:"13",label:"휴대폰번호 *",hint:"국가번호를 제외한 숫자 10~11자리를 입력해 주세요.","lazy-rules":"",disable:i.isSubmitting,rules:[o.mobileRule],"onUpdate:modelValue":o.normalizeMobile},{prepend:(0,V.k6)(()=>[(0,V.bF)(r,{name:"phone_iphone"})]),_:1},8,["model-value","disable","rules","onUpdate:modelValue"])]),(0,V.Lk)("div",Ex,[(0,V.bF)(d,{modelValue:i.country,"onUpdate:modelValue":[t[12]||(t[12]=e=>i.country=e),t[13]||(t[13]=e=>i.submitError="")],outlined:"","emit-value":"","map-options":"",label:"국가 *",options:o.countryList,loading:i.isCountryLoading,disable:i.isSubmitting||i.isCountryLoading||Boolean(i.countryLoadError),rules:[o.requiredRule]},null,8,["modelValue","options","loading","disable","rules"]),i.countryLoadError?((0,V.uX)(),(0,V.CE)("div",Dx,[(0,V.eW)((0,R.v_)(i.countryLoadError)+" ",1),(0,V.bF)(c,{flat:"",dense:"",color:"primary",label:"다시 시도",onClick:o.loadCountries},null,8,["onClick"])])):(0,V.Q3)("",!0)])])]),(0,V.Lk)("section",Ox,[(0,V.Lk)("div",Vx,[(0,V.bF)(u,{modelValue:i.termsAccepted,"onUpdate:modelValue":[t[14]||(t[14]=e=>i.termsAccepted=e),t[15]||(t[15]=e=>i.submitError="")],disable:i.isSubmitting,label:"이용약관 및 개인정보 수집·이용에 동의합니다. (필수)"},null,8,["modelValue","disable"]),(0,V.bF)(c,{flat:"",dense:"","no-caps":"",color:"primary",label:"내용 보기",onClick:t[16]||(t[16]=e=>i.conditionsModalShow=!0)})])]),i.submitError?((0,V.uX)(),(0,V.CE)("div",Rx,[(0,V.bF)(r,{name:"error_outline"}),(0,V.Lk)("span",null,(0,R.v_)(i.submitError),1)])):(0,V.Q3)("",!0),(0,V.bF)(c,{class:"full-width signup-submit",type:"submit",color:"primary",unelevated:"",size:"lg",label:"가입하기",loading:i.isSubmitting,disable:i.isSubmitting||i.isCountryLoading||Boolean(i.countryLoadError)},null,8,["loading","disable"]),(0,V.Lk)("div",Mx,[t[21]||(t[21]=(0,V.Lk)("span",null,"이미 계정이 있으신가요?",-1)),(0,V.bF)(c,{flat:"","no-caps":"",color:"primary",label:"로그인",to:"/login"})])]),_:1},8,["onSubmit"])]),_:1})]),_:1}),(0,V.bF)(b,{modelValue:i.conditionsModalShow,"onUpdate:modelValue":t[17]||(t[17]=e=>i.conditionsModalShow=e)},{default:(0,V.k6)(()=>[(0,V.bF)(h,{onAccept:o.acceptTerms},null,8,["onAccept"])]),_:1},8,["modelValue"])],64)}],["__scopeId","data-v-45f81b40"]]));var Ux=(0,e.A)({name:"ResetPassword",meta:{title:"비밀번호 재설정"},components:{},data(){return{form:{password:"",password2:""},token:""}},methods:{async onSubmit(){if(this.$log.debug("Check method onSubmit"),this.form.password&&this.form.password2)if(this.form.password!==this.form.password2)this.$q.notify({type:"negative",message:"비밀번호가 일치하지 않습니다."});else{var e={method:"POST",url:"/api/admin/reset-password",data:{token:this.token,password:this.form.password},name:"[ Axios / 비밀번호 재설정 실행 ]"};try{await this.$http(e).then(e=>{if(200!==e?.status)throw new Error("Reset password failed");this.$log.debug("[ Axios / 비밀번호 재설정 실행 ] 결과 = ",e),this.$q.notify({type:"positive",message:"비밀번호가 변경되었습니다."}),this.$router.push("/login")}).catch(e=>{this.$q.notify({type:"negative",message:e.response?.data?.message||"오류가 발생했습니다."})})}catch(e){this.$log.debug("[ ResetPassword ] error = ",e)}}else this.$q.notify({type:"negative",message:"비밀번호를 입력해주세요."})}},mounted(){var e=new URL(window.location.href);this.token=e.searchParams.get("token"),this.token||(this.$q.notify({type:"negative",message:"토큰 정보가 없습니다."}),hF.push("/"))}},[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-card-section"),r=(0,V.g2)("q-input"),n=(0,V.g2)("q-btn"),d=(0,V.g2)("q-card-actions"),c=(0,V.g2)("q-form"),u=(0,V.g2)("q-card");var m=(0,V.g2)("q-page");return(0,V.uX)(),(0,V.Wv)(m,{id:"site-container"},{default:(0,V.k6)(()=>[(0,V.bF)(u,{style:{"min-width":"360px"}},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[2]||(t[2]=[(0,V.Lk)("div",{class:"text-h6"},"비밀번호 재설정",-1)])),_:1,__:[2]}),(0,V.bF)(c,null,{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>[(0,V.bF)(r,{modelValue:i.form.password,"onUpdate:modelValue":t[0]||(t[0]=e=>i.form.password=e),type:"password",label:"새 비밀번호",rules:[e=>!!e||"비밀번호를 입력하세요"],autofocus:""},null,8,["modelValue","rules"]),(0,V.bF)(r,{modelValue:i.form.password2,"onUpdate:modelValue":t[1]||(t[1]=e=>i.form.password2=e),type:"password",label:"새 비밀번호 확인",rules:[e=>e===i.form.password||"비밀번호가 일치하지 않습니다."]},null,8,["modelValue","rules"])]),_:1}),(0,V.bF)(d,{align:"right"},{default:(0,V.k6)(()=>[(0,V.bF)(n,{label:"재설정",color:"primary",onClick:o.onSubmit},null,8,["onClick"])]),_:1})]),_:1})]),_:1})]),_:1})}]]);let Wx={class:"row q-gutter-sm justify-end header-actions"},Bx={class:"metric-grid q-mb-md"},zx={class:"comp-box q-pa-md metric-card"},Xx={class:"metric-value"},Kx={class:"comp-box q-pa-md metric-card"},Qx={class:"metric-value text-positive"},Gx={class:"comp-box q-pa-md metric-card"},Hx={class:"metric-value text-grey-7"},jx={class:"comp-box q-pa-md metric-card"},Yx={class:"metric-value"},Zx={class:"comp-box q-pa-md metric-card"},Jx={class:"metric-value"},eC={class:"row q-col-gutter-md q-mb-md items-stretch"},tC={class:"col-12 col-md-6"},aC={class:"comp-box q-pa-md full-height"},lC={key:0,class:"q-gutter-md"},iC={class:"row justify-between text-caption q-mb-xs"},oC={class:"text-weight-bold"},sC={class:"distribution-track"},rC={key:1,class:"empty-state"},nC={class:"col-12 col-md-6"},dC={class:"comp-box q-pa-md full-height"},cC={key:0,class:"q-gutter-md"},uC={class:"row justify-between text-caption q-mb-xs"},mC={class:"text-weight-bold"},pC={class:"distribution-track"},gC={key:1,class:"empty-state"},hC={class:"row q-col-gutter-md items-stretch"},bC={class:"col-12 col-lg-7"},fC={class:"comp-box q-pa-md full-height"},vC={class:"row items-center justify-between q-mb-md"},kC={key:0,class:"product-list"},yC=["onClick"],LC={class:"product-row__main"},_C={class:"text-weight-medium"},wC={class:"text-caption text-grey-7"},xC={key:1,class:"empty-state"},CC={class:"col-12 col-lg-5"},SC={class:"comp-box q-pa-md full-height"},FC={class:"row items-center justify-between q-mb-md"},qC={class:"request-grid q-mb-md"},IC={class:"request-tile"},PC={class:"request-tile request-tile--alert"},AC={class:"request-tile"},TC={class:"request-tile"},NC={key:0,class:"q-gutter-sm"},EC={class:"text-weight-medium"},DC={class:"text-caption text-grey-7"},OC={class:"text-caption text-grey-7"},VC={key:1,class:"empty-state"};let RC={class:"row q-col-gutter-md q-mb-md"},MC={class:"col-12"},$C={class:"col-12 col-md-4"},UC={class:"col-12 col-md-4"},WC={class:"col-12 col-md-4"},BC={class:"col-12 col-md-4"},zC={class:"row q-col-gutter-md q-mb-md"},XC={class:"col-12 col-md-4"},KC={class:"col-12 col-md-4"},QC={class:"col-12 col-md-4"},GC={class:"row q-mb-md"},HC={class:"col"},jC={class:"comp-box"},YC={class:"row"},ZC={class:"col"},JC={key:0,class:"text-caption text-grey q-mt-sm"};let eS={class:"guide-heading"},tS={class:"guide-copy"},aS={class:"row q-col-gutter-md q-mt-sm"},lS={class:"guide-card"},iS={class:"guide-card__title"},oS={class:"guide-card__copy"},sS={class:"guide-steps"},rS={class:"guide-subheading"},nS={class:"glossary-grid"};let dS={home:{heading:"내 상품 현황에서 하는 일",description:"현재 취급 중인 상품 구성과 등록·연결 요청을 분리하여 확인합니다.",cards:[{icon:"inventory_2",title:"취급 상품 현황",copy:"기준 상품과 연결된 내 SKU의 전체 수와 사용 가능 여부를 확인합니다."},{icon:"sell",title:"상품 구성",copy:"내가 취급하는 브랜드와 카테고리별 상품 분포를 확인합니다."},{icon:"fact_check",title:"등록·연결 요청",copy:"운영팀 검토 중이거나 반려되어 보완이 필요한 요청을 확인합니다."}],steps:[{title:"상단 취급 상품 현황을 확인합니다.",copy:"전체 취급 상품, 사용 가능, 사용 중지, 브랜드, 카테고리 수를 먼저 확인하세요."},{title:"브랜드와 카테고리 분포를 확인합니다.",copy:"취급 상품 수가 많은 상위 브랜드와 카테고리를 비교할 수 있습니다."},{title:"최근 취급 상품을 확인합니다.",copy:"상품 행을 누르면 내 상품 상세 화면에서 연결된 기준 상품 정보를 볼 수 있습니다."},{title:"등록·연결 요청 현황을 확인합니다.",copy:"검토 중과 반려 요청은 취급 상품과 구분하여 보조 영역에서 확인하세요."},{title:"새 상품은 상품 요청 등록으로 진행합니다.",copy:"타이틀 우측 상품 요청 등록 버튼을 누르세요."}],note:"검토 중이거나 반려된 요청은 취급 상품 수에 포함되지 않습니다. 운영팀 연결 처리가 완료된 내 SKU만 취급 상품으로 집계됩니다."},productList:{heading:"내 상품목록 관리에서 하는 일",description:"내가 등록했거나 요청한 상품을 검색하고 처리 상태를 확인합니다.",cards:[{icon:"filter_alt",title:"상태 검색",copy:"검토 중, 정상 연결, 반려 상태를 구분해 확인합니다."},{icon:"sell",title:"브랜드·카테고리 검색",copy:"내가 취급하는 브랜드와 카테고리 기준으로 상품을 찾습니다."},{icon:"add_circle",title:"상품 요청 등록",copy:"새로운 내 SKU를 운영팀에 등록 요청합니다."}],steps:[{title:"상단 상태 요약을 확인합니다.",copy:"검토 중, 반려, 정상 연결 건수를 기준으로 현재 작업 상태를 파악하세요."},{title:"검색 조건을 선택합니다.",copy:"상태, 브랜드, 카테고리 또는 내 SKU 검색어를 조합할 수 있습니다."},{title:"목록에서 요청 유형과 처리 상태를 확인합니다.",copy:"연결요청인지 신규등록요청인지, 운영팀 처리가 완료되었는지 확인하세요."},{title:"행 또는 상세보기 아이콘을 누릅니다.",copy:"내 SKU의 기준 상품 정보, 규격 상세, 반려 사유를 확인할 수 있습니다."},{title:"반려 건은 내용을 보완합니다.",copy:"반려된 요청은 운영팀 안내를 확인하고 상품 요청 등록을 다시 진행하세요."},{title:"새 상품은 상품 요청 등록 버튼을 누릅니다.",copy:"입력 팝업에서 내 SKU와 상품 조건을 입력합니다."}],note:"목록에 보이는 브랜드와 카테고리 필터는 내가 등록했거나 요청한 상품에서 사용하는 항목만 표시됩니다.",glossaryTitle:"처리 상태",glossary:[{term:"검토 중",description:"운영팀이 요청 내용을 확인하고 있습니다."},{term:"정상 연결",description:"내 SKU가 기준 상품과 연결되었습니다."},{term:"반려",description:"정보 보완 후 다시 요청해야 합니다."},{term:"내 SKU",description:"파트너사가 자체적으로 사용하는 상품 코드입니다."}]},productDetail:{heading:"내 상품 상세에서 하는 일",description:"내 SKU가 기준 상품과 연결되었는지 확인하고 운영팀 처리 결과를 조회합니다.",cards:[{icon:"inventory_2",title:"상품 정보",copy:"브랜드, 카테고리, HS CODE와 기준 상품 코드를 확인합니다."},{icon:"straighten",title:"규격 상세",copy:"등록 요청한 상품의 규격 타입과 상세 값을 확인합니다."},{icon:"fact_check",title:"처리 결과",copy:"정상 연결, 검토 중, 반려 상태와 반려 사유를 확인합니다."}],steps:[{title:"상단의 내 SKU를 확인합니다.",copy:"선택한 파트너 상품 코드가 맞는지 먼저 확인하세요."},{title:"처리 상태와 요청 유형을 확인합니다.",copy:"정상 연결인지, 신규등록요청 또는 연결요청 검토 중인지 구분할 수 있습니다."},{title:"상품 정보와 규격 상세를 확인합니다.",copy:"정상 연결된 상품은 기준 상품 코드도 함께 표시됩니다."},{title:"반려 건은 사유를 확인합니다.",copy:"반려 사유를 기준으로 내용을 보완한 뒤 다시 요청하세요."},{title:"목록으로 버튼으로 돌아갑니다.",copy:"이전 목록의 검색 조건을 유지한 상태로 이동합니다."}],note:"내 상품 상세는 조회 전용 화면입니다. 상품 연결 변경이 필요하면 운영팀에 문의하세요."},requestNew:{heading:"SKU 요청 생성에서 하는 일",description:"새로운 내 SKU의 상품 정보를 입력하고 운영팀에 등록 또는 연결을 요청합니다.",cards:[{icon:"edit_note",title:"상품 정보 입력",copy:"내 SKU, 브랜드, 카테고리, HS CODE와 규격 정보를 입력합니다."},{icon:"manage_search",title:"동일 SKU 조회",copy:"입력 조건과 같은 기준 상품이 이미 있는지 확인합니다."},{icon:"send",title:"요청 제출",copy:"같은 상품이 있으면 연결요청, 없으면 신규등록요청으로 제출됩니다."}],steps:[{title:"내 SKU 코드를 입력합니다.",copy:"파트너사에서 사용하는 상품 코드를 입력하세요."},{title:"브랜드와 카테고리를 선택합니다.",copy:"목록에 없다면 직접입력 토글을 켜고 이름을 입력할 수 있습니다."},{title:"HS CODE와 규격 정보를 입력합니다.",copy:"HS CODE는 6자리 숫자입니다. 규격 타입에 맞는 상세 값도 입력하세요."},{title:"동일 SKU 조회를 실행합니다.",copy:"브랜드, 카테고리, HS CODE, 규격 조건이 같은 기준 상품이 있는지 확인합니다."},{title:"요청 제출을 누릅니다.",copy:"동일 조건 상품이 있으면 확인 팝업에서 연결 요청 제출을 진행합니다."}],note:"동일 SKU가 있어도 요청할 수 있습니다. 이 경우 새 상품 생성이 아니라 기존 기준 상품과 연결하는 요청으로 처리됩니다.",glossaryTitle:"동일 SKU 판단 기준",glossary:[{term:"브랜드",description:"선택하거나 직접 입력한 브랜드명"},{term:"카테고리",description:"선택하거나 직접 입력한 카테고리명"},{term:"HS CODE",description:"6자리 숫자로 입력한 HS CODE"},{term:"규격",description:"규격 타입과 규격 상세 값"}]}},cS={name:"PartnerFulfillmentGuide",props:{guideKey:{type:String,required:!0}},computed:{guide(){return dS[this.guideKey]||dS.home}}};v(6153);var A=(0,e.A)(cS,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-icon");var r=(0,V.g2)("q-banner");return(0,V.uX)(),(0,V.CE)("div",null,[(0,V.Lk)("div",eS,(0,R.v_)(o.guide.heading),1),(0,V.Lk)("p",tS,(0,R.v_)(o.guide.description),1),(0,V.Lk)("div",aS,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(o.guide.cards,e=>((0,V.uX)(),(0,V.CE)("div",{key:e.title,class:"col-12 col-md-4"},[(0,V.Lk)("div",lS,[(0,V.bF)(s,{name:e.icon,color:"primary",size:"24px"},null,8,["name"]),(0,V.Lk)("div",iS,(0,R.v_)(e.title),1),(0,V.Lk)("div",oS,(0,R.v_)(e.copy),1)])]))),128))]),t[0]||(t[0]=(0,V.Lk)("div",{class:"guide-subheading"},"사용 순서",-1)),(0,V.Lk)("ol",sS,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(o.guide.steps,(e,t)=>((0,V.uX)(),(0,V.CE)("li",{key:e.title},[(0,V.Lk)("span",null,(0,R.v_)(t+1),1),(0,V.Lk)("div",null,[(0,V.Lk)("b",null,(0,R.v_)(e.title),1),(0,V.Lk)("small",null,(0,R.v_)(e.copy),1)])]))),128))]),o.guide.glossary?((0,V.uX)(),(0,V.CE)(V.FK,{key:0},[(0,V.Lk)("div",rS,(0,R.v_)(o.guide.glossaryTitle),1),(0,V.Lk)("div",nS,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(o.guide.glossary,e=>((0,V.uX)(),(0,V.CE)("div",{key:e.term,class:"glossary-item"},[(0,V.Lk)("b",null,(0,R.v_)(e.term),1),(0,V.Lk)("span",null,(0,R.v_)(e.description),1)]))),128))])],64)):(0,V.Q3)("",!0),(0,V.bF)(r,{rounded:"",class:"guide-warning q-mt-md"},{avatar:(0,V.k6)(()=>[(0,V.bF)(s,{name:"info",color:"orange-8"})]),default:(0,V.k6)(()=>[(0,V.eW)(" "+(0,R.v_)(o.guide.note),1)]),_:1})])}],["__scopeId","data-v-0c9b77e4"]]),uL={name:"PartnerSkuRequestNew",props:{inModal:{type:Boolean,default:!1}},emits:["created","close"],components:{SpecTypeForm:uL,CandidateList:S,PageGuideDialog:a,PartnerFulfillmentGuide:A},data(){return{masterDataLoading:!1,brands:[],categories:[],packUnitTypes:[],form:{partner_id:"",partner_sku_code:"",barcode:"",brand_id:"",brand_name:"",category_id:"",category_name:"",hs_code:"",spec_type:"",spec_detail:{}},candidates:[],submitCandidates:[],selectedCandidateId:null,submitting:!1,candidateLoading:!1,duplicateDialogOpen:!1,guideDialog:!1,pendingSubmitPayload:null,specTypeOptions:[{label:"APPAREL_SIZE",value:"APPAREL_SIZE"},{label:"PRODUCT_OPTION",value:"PRODUCT_OPTION"},{label:"PACK_COUNT",value:"PACK_COUNT"}],useCustomBrand:!1,useCustomCategory:!1}},computed:{duplicateActionLabel(){return 0String(e.name||"").trim().toLowerCase()===t)?.brand_id||""},getResolvedCategoryId(){if(this.form.category_id)return this.form.category_id;let t=String(this.form.category_name||"").trim().toLowerCase();return t&&this.categories.find(e=>String(e.name||"").trim().toLowerCase()===t)?.category_id||""},normalizeSpecDetail(){var e=String(this.form.spec_type||"").toUpperCase(),t=this.form.spec_detail||{};return"DIMENSION"===e?{length:t.length??t.length_cm??null,width:t.width??t.width_cm??null,height:t.height??t.height_cm??null}:"VOLUME"===e?{value:t.value??t.volume_value??null,unit:t.unit??t.volume_unit??null}:"APPAREL_SIZE"===e?{size:t.size??t.apparel_size??null}:"PRODUCT_OPTION"===e?{model_code:t.model_code??t.model??null,color:t.color??null,size:t.size??t.size_value??null}:"PACK_COUNT"===e?{unit:t.unit??t.pack_unit_type_code??null,count:t.count??t.pack_count??null,pack_uom:t.pack_uom??"ea"}:t},closeModal(){this.$emit("close")},async loadMasterData(){this.masterDataLoading=!0;await this.$http({method:"GET",url:"/api/fulfillment/brands",name:"[ Fulfillment / 브랜드 목록 ]"}).then(e=>{this.brands=e.data?.data||[]}).catch(()=>{this.brands=[]}),await this.$http({method:"GET",url:"/api/fulfillment/categories",name:"[ Fulfillment / 카테고리 목록 ]"}).then(e=>{this.categories=e.data?.data||[]}).catch(()=>{this.categories=[]}),await this.$http({method:"GET",url:"/api/fulfillment/pack-unit-types",name:"[ Fulfillment / 패키지 단위 목록 ]"}).then(e=>{this.packUnitTypes=e.data?.data||[]}).catch(()=>{this.packUnitTypes=[]}),this.masterDataLoading=!1},normalizeDefaultSpecType(e){return["APPAREL_SIZE","PRODUCT_OPTION","PACK_COUNT"].includes(e)?e:"PRODUCT_OPTION"},onCategoryChange(t){var e=this.categories.find(e=>String(e.category_id)===String(t));e&&e.default_spec_type&&(this.form.spec_type=this.normalizeDefaultSpecType(e.default_spec_type),this.form.spec_detail={})},validateForm(){return this.form.partner_sku_code?this.form.barcode&&!/^[0-9]{1,64}$/.test(this.form.barcode)?(this.notify("바코드번호는 숫자만 입력할 수 있습니다."),!1):/^[0-9]{6}$/.test(this.form.hs_code||"")?!(!this.form.brand_id&&!String(this.form.brand_name||"").trim()||!this.form.category_id&&!String(this.form.category_name||"").trim()||!this.form.spec_type)||(this.notify("브랜드/카테고리/spec_type을 입력하세요."),!1):(this.notify("HS Code는 6자리 숫자여야 합니다."),!1):(this.notify("partner_sku_code는 필수입니다."),!1)},sanitizeBarcode(e){this.form.barcode=String(e||"").replace(/\D+/g,"").slice(0,64)},notify(e,t="negative"){this.$q&&this.$q.notify?this.$q.notify({message:e,type:t}):alert(e)},buildCandidateRequestPayload(){var e,t=this.getResolvedBrandId(),a=this.getResolvedCategoryId();return t&&a&&(e=this.normalizeSpecDetail(),e=this.$makeSpecKey(this.form.spec_type,e))?{brand_id:t,category_id:a,hs_code:this.form.hs_code,spec_type:this.form.spec_type,spec_key:e}:null},async requestCandidates(e){return(await this.$http({method:"POST",url:"/api/fulfillment/master-skus/candidates",data:e,name:"[ Fulfillment / Master SKU 후보 조회 ]"})).data?.data||[]},async fetchCandidates(){var e;this.validateForm()&&((e=this.buildCandidateRequestPayload())?(this.candidateLoading=!0,await this.requestCandidates(e).then(e=>{this.candidates=e}).catch(()=>{this.candidates=[]}),this.candidateLoading=!1):this.notify("동일 SKU 조회는 기존 브랜드/카테고리를 선택하거나, 규격 정보를 정확히 입력해야 합니다."))},onCandidateSelect(e){this.selectedCandidateId=e},buildSubmitPayload(){var e=this.getResolvedBrandId(),t=this.getResolvedCategoryId(),a=this.normalizeSpecDetail(),l=this.$makeSpecKey(this.form.spec_type,a);return l?{partner_id:this.form.partner_id,partner_sku_code:this.form.partner_sku_code,barcode:this.form.barcode||null,brand_id:e,brand_name:String(this.form.brand_name||"").trim(),category_id:t,category_name:String(this.form.category_name||"").trim(),hs_code:this.form.hs_code,spec_type:this.form.spec_type,spec_key:l,spec_detail:a}:null},async executeSubmit(e){await this.$http({method:"POST",url:"/api/fulfillment/partner/sku-requests",data:e,name:"[ Fulfillment / Partner SKU 요청 생성 ]"}).then(()=>{this.notify("요청이 생성되었습니다.","positive"),this.duplicateDialogOpen=!1,this.pendingSubmitPayload=null,this.inModal?(this.$emit("created"),this.$emit("close")):this.$router.push("/partner/sku-requests")}).catch(()=>{this.notify("요청 생성에 실패했습니다.")})},async confirmDuplicateSubmit(){this.pendingSubmitPayload&&(this.submitting=!0,await this.executeSubmit(this.pendingSubmitPayload),this.submitting=!1)},async submitRequest(){if(this.validateForm()){var e=this.buildSubmitPayload();if(e){var t=this.buildCandidateRequestPayload();if(t){this.submitting=!0;try{var a=await this.requestCandidates(t);if(Array.isArray(a)&&0[(0,V.bF)(c,{class:"bg-primary"},{default:(0,V.k6)(()=>[(0,V.bF)(d,null,{default:(0,V.k6)(()=>[(0,V.bF)(n,{class:"row items-center"},{default:(0,V.k6)(()=>[t[16]||(t[16]=(0,V.Lk)("span",null,"SKU 요청 생성",-1)),(0,V.bF)(r,{flat:"",round:"",dense:"",size:"sm",icon:"help_outline","aria-label":"SKU 요청 생성 사용 가이드",class:"q-ml-xs",onClick:t[0]||(t[0]=e=>i.guideDialog=!0)},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[15]||(t[15]=[(0,V.eW)("SKU 요청 생성 사용 가이드")])),_:1,__:[15]})]),_:1})]),_:1,__:[16]}),(0,V.bF)(r,{flat:"",round:"",dense:"",icon:"close",onClick:o.closeModal},null,8,["onClick"])]),_:1})]),_:1}),(0,V.bF)(u,{class:"bg-white text-black"},{default:(0,V.k6)(()=>[(0,V.bF)(d,null,{default:(0,V.k6)(()=>[t[17]||(t[17]=(0,V.Lk)("div",{class:"text-caption text-grey-7 q-mr-md"}," 동일 SKU는 브랜드, 카테고리, HS CODE, 규격 타입, 규격값이 모두 같은 경우입니다. ",-1)),(0,V.bF)(r,{color:"primary",label:"동일 SKU 조회",loading:i.candidateLoading,onClick:o.fetchCandidates,class:"q-mr-sm"},null,8,["loading","onClick"]),(0,V.bF)(r,{color:"positive",label:"요청 제출",loading:i.submitting,onClick:o.submitRequest},null,8,["loading","onClick"])]),_:1,__:[17]})]),_:1}),(0,V.bF)(k,null,{default:(0,V.k6)(()=>[(0,V.bF)(v,{padding:""},{default:(0,V.k6)(()=>[(0,V.Lk)("div",RC,[(0,V.Lk)("div",MC,[(0,V.bF)(m,{class:"bg-grey-2 text-grey-9"},{default:(0,V.k6)(()=>t[18]||(t[18]=[(0,V.eW)(" 동일 SKU는 브랜드, 카테고리, HS CODE, 규격 타입, 규격값이 모두 같은 경우입니다. 상품명만 같아서는 동일 SKU로 판단하지 않습니다. ")])),_:1,__:[18]})]),(0,V.Lk)("div",$C,[(0,V.bF)(p,{modelValue:i.form.partner_sku_code,"onUpdate:modelValue":t[1]||(t[1]=e=>i.form.partner_sku_code=e),label:"Partner SKU Code",outlined:"",dense:""},null,8,["modelValue"])]),(0,V.Lk)("div",UC,[(0,V.bF)(p,{modelValue:i.form.barcode,"onUpdate:modelValue":[t[2]||(t[2]=e=>i.form.barcode=e),o.sanitizeBarcode],label:"바코드번호",outlined:"",dense:"",maxlength:"64",inputmode:"numeric"},null,8,["modelValue","onUpdate:modelValue"])]),(0,V.Lk)("div",WC,[(0,V.bF)(g,{modelValue:i.useCustomBrand,"onUpdate:modelValue":t[3]||(t[3]=e=>i.useCustomBrand=e),label:"브랜드 직접입력",class:"q-mb-sm"},null,8,["modelValue"]),i.useCustomBrand?((0,V.uX)(),(0,V.Wv)(p,{key:1,modelValue:i.form.brand_name,"onUpdate:modelValue":t[5]||(t[5]=e=>i.form.brand_name=e),label:"Brand 직접입력",outlined:"",dense:""},null,8,["modelValue"])):((0,V.uX)(),(0,V.Wv)(h,{key:0,modelValue:i.form.brand_id,"onUpdate:modelValue":t[4]||(t[4]=e=>i.form.brand_id=e),options:i.brands,"option-label":"name","option-value":"brand_id","emit-value":"","map-options":"",label:"Brand",outlined:"",dense:""},null,8,["modelValue","options"]))]),(0,V.Lk)("div",BC,[(0,V.bF)(g,{modelValue:i.useCustomCategory,"onUpdate:modelValue":t[6]||(t[6]=e=>i.useCustomCategory=e),label:"카테고리 직접입력",class:"q-mb-sm"},null,8,["modelValue"]),i.useCustomCategory?((0,V.uX)(),(0,V.Wv)(p,{key:1,modelValue:i.form.category_name,"onUpdate:modelValue":t[8]||(t[8]=e=>i.form.category_name=e),label:"Category 직접입력",outlined:"",dense:""},null,8,["modelValue"])):((0,V.uX)(),(0,V.Wv)(h,{key:0,modelValue:i.form.category_id,"onUpdate:modelValue":[t[7]||(t[7]=e=>i.form.category_id=e),o.onCategoryChange],options:i.categories,"option-label":"name","option-value":"category_id","emit-value":"","map-options":"",label:"Category",outlined:"",dense:""},null,8,["modelValue","options","onUpdate:modelValue"]))])]),(0,V.Lk)("div",zC,[(0,V.Lk)("div",XC,[(0,V.bF)(p,{modelValue:i.form.hs_code,"onUpdate:modelValue":t[9]||(t[9]=e=>i.form.hs_code=e),label:"HS Code (6 digits)",outlined:"",dense:"",maxlength:"6"},null,8,["modelValue"])]),(0,V.Lk)("div",KC,[(0,V.bF)(h,{modelValue:i.form.spec_type,"onUpdate:modelValue":t[10]||(t[10]=e=>i.form.spec_type=e),options:i.specTypeOptions,"emit-value":"","map-options":"",label:"Spec Type",outlined:"",dense:""},null,8,["modelValue","options"])]),(0,V.Lk)("div",QC,[(0,V.bF)(p,{modelValue:i.form.partner_id,"onUpdate:modelValue":t[11]||(t[11]=e=>i.form.partner_id=e),label:"Partner ID",outlined:"",dense:"",disable:""},null,8,["modelValue"])])]),(0,V.Lk)("div",GC,[(0,V.Lk)("div",HC,[(0,V.Lk)("div",jC,[t[19]||(t[19]=(0,V.Lk)("div",{class:"text-body2 q-mb-sm"},"Spec Detail",-1)),(0,V.bF)(b,{"spec-type":i.form.spec_type,modelValue:i.form.spec_detail,"onUpdate:modelValue":t[12]||(t[12]=e=>i.form.spec_detail=e)},null,8,["spec-type","modelValue"])])])]),(0,V.Lk)("div",YC,[(0,V.Lk)("div",ZC,[(0,V.bF)(f,{candidates:i.candidates,onSelect:o.onCandidateSelect},null,8,["candidates","onSelect"]),i.selectedCandidateId?((0,V.uX)(),(0,V.CE)("div",JC," 선택된 동일 SKU ID: "+(0,R.v_)(i.selectedCandidateId),1)):(0,V.Q3)("",!0)])])]),_:1})]),_:1}),(0,V.bF)(x,{modelValue:i.duplicateDialogOpen,"onUpdate:modelValue":t[13]||(t[13]=e=>i.duplicateDialogOpen=e)},{default:(0,V.k6)(()=>[(0,V.bF)(w,{style:{"min-width":"720px","max-width":"92vw"}},{default:(0,V.k6)(()=>[(0,V.bF)(L,{class:"row items-center q-pb-none"},{default:(0,V.k6)(()=>[t[20]||(t[20]=(0,V.Lk)("div",{class:"text-h6"},"동일 조건 SKU가 이미 있습니다",-1)),(0,V.bF)(y),(0,V.bo)((0,V.bF)(r,{icon:"close",flat:"",round:"",dense:""},null,512),[[q]])]),_:1,__:[20]}),(0,V.bF)(L,null,{default:(0,V.k6)(()=>[t[21]||(t[21]=(0,V.Lk)("div",{class:"text-body2 q-mb-sm"}," 입력한 브랜드, 카테고리, HS CODE, 규격 조건과 같은 SKU가 이미 등록되어 있습니다. ",-1)),t[22]||(t[22]=(0,V.Lk)("div",{class:"text-caption text-grey-7 q-mb-md"}," 동일 조건의 기준 상품이 이미 있으므로 신규 등록 요청이 아니라 연결 요청으로 제출됩니다. ",-1)),(0,V.bF)(f,{candidates:i.submitCandidates,onSelect:o.onCandidateSelect},null,8,["candidates","onSelect"])]),_:1,__:[21,22]}),(0,V.bF)(_,{align:"right"},{default:(0,V.k6)(()=>[(0,V.bo)((0,V.bF)(r,{flat:"",label:"취소"},null,512),[[q]]),(0,V.bF)(r,{color:"positive",label:o.duplicateActionLabel,loading:i.submitting,onClick:o.confirmDuplicateSubmit},null,8,["label","loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),(0,V.bF)(S,{modelValue:i.guideDialog,"onUpdate:modelValue":t[14]||(t[14]=e=>i.guideDialog=e),title:"SKU 요청 생성 사용 가이드",description:"새로운 내 SKU를 등록 또는 연결 요청하는 방법입니다."},{default:(0,V.k6)(()=>[(0,V.bF)(C,{"guide-key":"requestNew"})]),_:1},8,["modelValue"])]),_:1})}]]);let uS=()=>({products:{total:0,active:0,inactive:0,brandCount:0,categoryCount:0},requests:{total:0,requested:0,rejected:0,newRequested:0,linkRequested:0},brandDistribution:[],categoryDistribution:[],recentProducts:[],actionRequests:[]}),mS={name:"PartnerFulfillmentHome",components:{Title:b,StatusBadge:F,PartnerSkuRequestNew:S,PageGuideDialog:a,PartnerFulfillmentGuide:A},data(){return{description:{title:"내 상품 현황"},dashboard:uS(),loading:!1,guideDialog:!1,showNewModal:!1}},watch:{"$route.fullPath":{immediate:!0,handler(){this.applyRouteContext()}}},methods:{applyRouteContext(){var e=String(this.$route?.meta?.title||"").replace(/^Aone 관리자 \|\s*/,"");e&&(this.description.title=e)},async loadDashboard(){this.loading=!0;try{var e=await this.$http({method:"GET",url:"/api/fulfillment/partner/sku-products/dashboard",name:"[ Fulfillment / Partner 상품 현황 ]"});this.dashboard={...uS(),...e.data?.data}}catch(e){this.dashboard=uS()}finally{this.loading=!1}},getRequestTypeLabel(e){return"LINK_REQUEST"===e.request_type?"연결요청":"신규등록요청"},getProductStatus(e){return 1===Number(e.partner_sku_is_active)&&1===Number(e.master_sku_is_active)?"사용 가능":"사용 중지"},getProductStatusColor(e){return"사용 가능"===this.getProductStatus(e)?"positive":"grey-7"},distributionWidth(e,t){t=Math.max(...t.map(e=>Number(e.product_count||0)),1);return Math.max(Number(e||0)/t*100,8)+"%"},formatDateTime(e){return e?this.$formatDate(e,"YYYY-MM-DD HH:mm:ss"):"-"},goToNewRequest(){this.showNewModal=!0},closeNewModal(){this.showNewModal=!1},async onCreated(){this.closeNewModal(),await this.loadDashboard()},goToProductList(){this.$router.push("/admin/fulfillment/sku-requests")},goToProductDetail(e){this.$router.push({path:"/admin/fulfillment/my-products/detail",query:{partner_sku_code:e.partner_sku_code}})}},async mounted(){this.applyRouteContext(),await this.loadDashboard()}};v(3861);uL=(0,e.A)(mS,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-tooltip"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("Title"),d=(0,V.g2)("q-badge"),c=(0,V.g2)("q-icon"),u=(0,V.g2)("StatusBadge"),m=(0,V.g2)("q-spinner"),p=(0,V.g2)("q-inner-loading"),g=(0,V.g2)("PartnerFulfillmentGuide"),h=(0,V.g2)("PageGuideDialog");var b=(0,V.g2)("q-page");let f=(0,V.g2)("PartnerSkuRequestNew");var v=(0,V.g2)("q-dialog");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.bF)(b,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.bF)(n,{desc:i.description},{"title-action":(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",round:"",dense:"",size:"sm",color:"primary",icon:"help_outline","aria-label":"내 상품 현황 사용 가이드",onClick:t[0]||(t[0]=e=>i.guideDialog=!0)},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[3]||(t[3]=[(0,V.eW)("내 상품 현황 사용 가이드")])),_:1,__:[3]})]),_:1})]),default:(0,V.k6)(()=>[(0,V.Lk)("div",Wx,[(0,V.bF)(r,{flat:"",color:"primary",label:"내 상품목록 관리",onClick:o.goToProductList},null,8,["onClick"]),(0,V.bF)(r,{color:"primary",label:"상품 요청 등록",onClick:o.goToNewRequest},null,8,["onClick"])])]),_:1},8,["desc"]),t[25]||(t[25]=(0,V.Lk)("div",{class:"text-caption text-grey-7 q-mt-sm q-mb-lg page-intro"}," 현재 취급 중인 상품 구성과 등록·연결 요청을 분리하여 확인합니다. ",-1)),t[26]||(t[26]=(0,V.Lk)("div",{class:"section-heading q-mb-sm"},[(0,V.Lk)("div",{class:"text-subtitle1 text-weight-bold"},"취급 상품 현황"),(0,V.Lk)("div",{class:"text-caption text-grey-7"},"기준 상품과 연결된 내 SKU만 집계합니다.")],-1)),(0,V.Lk)("div",Bx,[(0,V.Lk)("div",zx,[t[4]||(t[4]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"전체 취급 상품",-1)),(0,V.Lk)("div",Xx,(0,R.v_)(i.dashboard.products.total),1),t[5]||(t[5]=(0,V.Lk)("div",{class:"text-caption text-grey"},"연결이 완료된 내 SKU",-1))]),(0,V.Lk)("div",Kx,[t[6]||(t[6]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"사용 가능",-1)),(0,V.Lk)("div",Qx,(0,R.v_)(i.dashboard.products.active),1),t[7]||(t[7]=(0,V.Lk)("div",{class:"text-caption text-grey"},"현재 운영 가능한 상품",-1))]),(0,V.Lk)("div",Gx,[t[8]||(t[8]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"사용 중지",-1)),(0,V.Lk)("div",Hx,(0,R.v_)(i.dashboard.products.inactive),1),t[9]||(t[9]=(0,V.Lk)("div",{class:"text-caption text-grey"},"연결 또는 기준 상품 비활성",-1))]),(0,V.Lk)("div",jx,[t[10]||(t[10]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"브랜드",-1)),(0,V.Lk)("div",Yx,(0,R.v_)(i.dashboard.products.brandCount),1),t[11]||(t[11]=(0,V.Lk)("div",{class:"text-caption text-grey"},"취급 중인 브랜드 수",-1))]),(0,V.Lk)("div",Zx,[t[12]||(t[12]=(0,V.Lk)("div",{class:"text-caption text-grey-7"},"카테고리",-1)),(0,V.Lk)("div",Jx,(0,R.v_)(i.dashboard.products.categoryCount),1),t[13]||(t[13]=(0,V.Lk)("div",{class:"text-caption text-grey"},"취급 중인 카테고리 수",-1))])]),(0,V.Lk)("div",eC,[(0,V.Lk)("div",tC,[(0,V.Lk)("div",aC,[t[14]||(t[14]=(0,V.Lk)("div",{class:"text-subtitle1 text-weight-bold"},"브랜드별 취급 상품",-1)),t[15]||(t[15]=(0,V.Lk)("div",{class:"text-caption text-grey-7 q-mb-md"},"상품 수가 많은 브랜드 상위 5개입니다.",-1)),i.dashboard.brandDistribution.length?((0,V.uX)(),(0,V.CE)("div",lC,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(i.dashboard.brandDistribution,e=>((0,V.uX)(),(0,V.CE)("div",{key:e.brand_id},[(0,V.Lk)("div",iC,[(0,V.Lk)("span",null,(0,R.v_)(e.name),1),(0,V.Lk)("span",oC,(0,R.v_)(e.product_count),1)]),(0,V.Lk)("div",sC,[(0,V.Lk)("div",{class:"distribution-bar",style:(0,R.Tr)({width:o.distributionWidth(e.product_count,i.dashboard.brandDistribution)})},null,4)])]))),128))])):((0,V.uX)(),(0,V.CE)("div",rC,"취급 중인 브랜드가 없습니다."))])]),(0,V.Lk)("div",nC,[(0,V.Lk)("div",dC,[t[16]||(t[16]=(0,V.Lk)("div",{class:"text-subtitle1 text-weight-bold"},"카테고리별 취급 상품",-1)),t[17]||(t[17]=(0,V.Lk)("div",{class:"text-caption text-grey-7 q-mb-md"},"상품 수가 많은 카테고리 상위 5개입니다.",-1)),i.dashboard.categoryDistribution.length?((0,V.uX)(),(0,V.CE)("div",cC,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(i.dashboard.categoryDistribution,e=>((0,V.uX)(),(0,V.CE)("div",{key:e.category_id},[(0,V.Lk)("div",uC,[(0,V.Lk)("span",null,(0,R.v_)(e.name),1),(0,V.Lk)("span",mC,(0,R.v_)(e.product_count),1)]),(0,V.Lk)("div",pC,[(0,V.Lk)("div",{class:"distribution-bar distribution-bar--category",style:(0,R.Tr)({width:o.distributionWidth(e.product_count,i.dashboard.categoryDistribution)})},null,4)])]))),128))])):((0,V.uX)(),(0,V.CE)("div",gC,"취급 중인 카테고리가 없습니다."))])])]),(0,V.Lk)("div",hC,[(0,V.Lk)("div",bC,[(0,V.Lk)("div",fC,[(0,V.Lk)("div",vC,[t[18]||(t[18]=(0,V.Lk)("div",null,[(0,V.Lk)("div",{class:"text-subtitle1 text-weight-bold"},"최근 취급 상품"),(0,V.Lk)("div",{class:"text-caption text-grey-7"},"최근 변경된 연결 상품을 확인합니다.")],-1)),(0,V.bF)(r,{flat:"",dense:"",color:"primary",label:"전체보기","icon-right":"arrow_forward",onClick:o.goToProductList},null,8,["onClick"])]),i.dashboard.recentProducts.length?((0,V.uX)(),(0,V.CE)("div",kC,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(i.dashboard.recentProducts,t=>((0,V.uX)(),(0,V.CE)("button",{key:t.partner_sku_code,type:"button",class:"product-row",onClick:e=>o.goToProductDetail(t)},[(0,V.Lk)("div",LC,[(0,V.Lk)("div",_C,(0,R.v_)(t.partner_display_name||t.display_name||t.partner_sku_code),1),(0,V.Lk)("div",wC,(0,R.v_)(t.partner_sku_code)+" · "+(0,R.v_)(t.barcode||"바코드 없음")+" · "+(0,R.v_)(t.brand_name||"-")+" / "+(0,R.v_)(t.category_name||"-"),1)]),(0,V.bF)(d,{color:o.getProductStatusColor(t),label:o.getProductStatus(t)},null,8,["color","label"]),(0,V.bF)(c,{name:"chevron_right",color:"grey-6",size:"20px"})],8,yC))),128))])):((0,V.uX)(),(0,V.CE)("div",xC,"아직 연결된 취급 상품이 없습니다."))])]),(0,V.Lk)("div",CC,[(0,V.Lk)("div",SC,[(0,V.Lk)("div",FC,[t[20]||(t[20]=(0,V.Lk)("div",null,[(0,V.Lk)("div",{class:"text-subtitle1 text-weight-bold"},"등록·연결 요청 현황"),(0,V.Lk)("div",{class:"text-caption text-grey-7"},"처리가 필요한 요청만 보조적으로 확인합니다.")],-1)),(0,V.bF)(r,{flat:"",dense:"",color:"primary",icon:"add","aria-label":"상품 요청 등록",onClick:o.goToNewRequest},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[19]||(t[19]=[(0,V.eW)("상품 요청 등록")])),_:1,__:[19]})]),_:1},8,["onClick"])]),(0,V.Lk)("div",qC,[(0,V.Lk)("div",IC,[t[21]||(t[21]=(0,V.Lk)("span",null,"검토 중",-1)),(0,V.Lk)("b",null,(0,R.v_)(i.dashboard.requests.requested),1)]),(0,V.Lk)("div",PC,[t[22]||(t[22]=(0,V.Lk)("span",null,"반려",-1)),(0,V.Lk)("b",null,(0,R.v_)(i.dashboard.requests.rejected),1)]),(0,V.Lk)("div",AC,[t[23]||(t[23]=(0,V.Lk)("span",null,"신규등록요청",-1)),(0,V.Lk)("b",null,(0,R.v_)(i.dashboard.requests.newRequested),1)]),(0,V.Lk)("div",TC,[t[24]||(t[24]=(0,V.Lk)("span",null,"연결요청",-1)),(0,V.Lk)("b",null,(0,R.v_)(i.dashboard.requests.linkRequested),1)])]),i.dashboard.actionRequests.length?((0,V.uX)(),(0,V.CE)("div",NC,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(i.dashboard.actionRequests,e=>((0,V.uX)(),(0,V.CE)("div",{key:e.request_id,class:"request-row"},[(0,V.Lk)("div",null,[(0,V.Lk)("div",EC,(0,R.v_)(e.partner_sku_code),1),(0,V.Lk)("div",DC,(0,R.v_)(e.barcode||"바코드 없음"),1),(0,V.Lk)("div",OC,(0,R.v_)(o.getRequestTypeLabel(e))+" · "+(0,R.v_)(o.formatDateTime(e.updated_at||e.created_at)),1)]),(0,V.bF)(u,{status:e.status},null,8,["status"])]))),128))])):((0,V.uX)(),(0,V.CE)("div",VC,"현재 확인할 요청이 없습니다."))])])]),i.loading?((0,V.uX)(),(0,V.Wv)(p,{key:0,showing:!0},{default:(0,V.k6)(()=>[(0,V.bF)(m,{color:"primary",size:"42px"})]),_:1})):(0,V.Q3)("",!0),(0,V.bF)(h,{modelValue:i.guideDialog,"onUpdate:modelValue":t[1]||(t[1]=e=>i.guideDialog=e),title:"내 상품 현황 사용 가이드",description:"취급 상품 구성과 등록·연결 요청을 확인하는 방법입니다."},{default:(0,V.k6)(()=>[(0,V.bF)(g,{"guide-key":"home"})]),_:1},8,["modelValue"])]),_:1,__:[25,26]}),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(v,{modelValue:i.showNewModal,"onUpdate:modelValue":t[2]||(t[2]=e=>i.showNewModal=e),maximized:"",persistent:""},{default:(0,V.k6)(()=>[(0,V.bF)(f,{"in-modal":!0,onCreated:o.onCreated,onClose:o.closeNewModal},null,8,["onCreated","onClose"])]),_:1},8,["modelValue"])]))],64)}],["__scopeId","data-v-464e7b92"]]);let pS={class:"row q-mb-lg"},gS={class:"col"},hS={class:"row q-col-gutter-md q-mb-md items-stretch"},bS={class:"col-12 col-md-3"},fS={class:"comp-box q-pa-md dashboard-card"},vS={class:"text-h5 q-mt-sm"},kS={class:"col-12 col-md-3"},yS={class:"comp-box q-pa-md dashboard-card"},LS={class:"text-h5 q-mt-sm"},_S={class:"col-12 col-md-3"},wS={class:"comp-box q-pa-md dashboard-card"},xS={class:"text-h5 q-mt-sm"},CS={class:"col-12 col-md-3"},SS={class:"comp-box q-pa-md dashboard-card"},FS={class:"text-h5 q-mt-sm"},qS={class:"row q-mb-lg"},IS={class:"col-12 col-md-12 col-lg-10 q-mb-md"},PS={class:"comp-box q-pa-md"},AS={class:"row q-col-gutter-lg"},TS={class:"col-12 col-md-3"},NS={class:"col-12 col-md-3"},ES={class:"col-12 col-md-3"},DS={class:"col-12 col-md-3"},OS={class:"col-12 col-md-12 col-lg-2 q-mb-md"},VS={class:"row"},RS={class:"col"},MS={class:"comp-box"},$S={class:"row items-center justify-between q-pa-md table-load-more"},US={class:"text-caption text-grey-7"};q={name:"PartnerSkuRequestList",components:{Title:b,StatusBadge:F,DataTable:q,PartnerSkuRequestNew:S,PageGuideDialog:a,PartnerFulfillmentGuide:A},data(){return{description:{title:"내 상품목록 관리"},statusOptions:[{label:"전체",value:""},{label:"검토 중",value:"REQUESTED"},{label:"정상 연결",value:"APPROVED"},{label:"반려",value:"REJECTED"}],filters:{status:"",brand_id:"",category_id:"",q:""},rows:[],summary:{total:0,requested:0,rejected:0,approved:0},brands:[],categories:[],loading:!1,loadingMore:!1,hasNext:!1,masterDataLoading:!1,pagination:{page:1,rowsPerPage:20},showNewModal:!1,guideDialog:!1}},computed:{brandOptions(){return[{brand_id:"",name:"전체"},...this.brands]},categoryOptions(){return[{category_id:"",name:"전체"},...this.categories]},tablePagination(){return{page:1,rowsPerPage:0}}},watch:{"$route.fullPath":{immediate:!0,handler(){this.applyRouteContext()}}},methods:{applyRouteContext(){var e=String(this.$route?.meta?.title||"").replace(/^Aone 관리자 \|\s*/,"");e&&(this.description.title=e),this.showNewModal="/admin/fulfillment/request/new"===this.$route.path},normalizeRows(e){return(Array.isArray(e)?e:Array.isArray(e?.items)?e.items:Array.isArray(e?.list)?e.list:[]).map((e,t)=>({...e,row_key:e.request_id||`${e.partner_id||"partner"}-${e.partner_sku_code||"sku"}-${e.status||"status"}-`+t}))},buildListQuery(e={}){return new URLSearchParams({status:e.status??this.filters.status??"",brand_id:e.brand_id??this.filters.brand_id??"",category_id:e.category_id??this.filters.category_id??"",q:e.q??this.filters.q??"",page:String(e.page??this.pagination.page??1),pageSize:String(e.pageSize??this.pagination.rowsPerPage??20),lazy:e.lazy??"1"}).toString()},async loadFilterOptions(){this.masterDataLoading=!0;await this.$http({method:"GET",url:"/api/fulfillment/partner/sku-requests/filter-options",name:"[ Fulfillment / Partner SKU 필터 옵션 ]"}).then(e=>{this.brands=e.data?.data?.brands||[],this.categories=e.data?.data?.categories||[]}).catch(()=>{this.brands=[],this.categories=[]}),this.masterDataLoading=!1},async loadSummary(){try{var e=(await this.$http({method:"GET",url:"/api/fulfillment/partner/sku-products/dashboard",name:"[ Fulfillment / Partner SKU 요약 ]"})).data?.data||{},t=e.products||{},a=e.requests||{},l=Number(t.total||0),i=Number(a.requested||0),o=Number(a.rejected||0);this.summary={total:l+i+o,requested:i,rejected:o,approved:l}}catch(e){this.summary={total:0,requested:0,rejected:0,approved:0}}},async loadList({append:a=!1}={}){if(a){if(this.loadingMore||!this.hasNext)return;this.loadingMore=!0}else this.loading=!0;var e={method:"GET",url:"/api/fulfillment/partner/sku-requests?"+this.buildListQuery(),name:"[ Fulfillment / Partner SKU 요청 목록 ]"};await this.$http(e).then(e=>{var e=e.data?.data,t=this.normalizeRows(e);this.rows=a?[...this.rows,...t]:t,this.hasNext=Boolean(e?.hasNext)}).catch(()=>{a||(this.rows=[]),this.hasNext=!1}),a?this.loadingMore=!1:this.loading=!1},async loadInitialData(){this.pagination.page=1,this.hasNext=!1,await Promise.all([this.loadSummary(),this.loadList()])},onLoadMore(){this.loading||this.loadingMore||!this.hasNext||(this.pagination.page+=1,this.loadList({append:!0}))},formatDateTime(e){return e?this.$formatDate(e,"YYYY-MM-DD HH:mm:ss"):"-"},getRequestTypeLabel(e){return"LINK_REQUEST"===e.request_type?"연결요청":"NEW_REQUEST"===e.request_type?"신규등록요청":"정상 연결"},getStatusBadgeStatus(e){return"APPROVED"===e.status?"MAPPED":e.status},goToDetail(e){e?.partner_sku_code&&this.$router.push({path:"/admin/fulfillment/my-products/detail",query:{partner_sku_code:e.partner_sku_code,returnQuery:JSON.stringify(this.$route.query||{})}})},onRowClick({row:e}){this.goToDetail(e)},goNew(){this.openNewModal()},openNewModal(){this.showNewModal=!0},closeNewModal(){this.showNewModal=!1,"/admin/fulfillment/request/new"===this.$route.path&&this.$router.replace("/admin/fulfillment/sku-requests")},onCreated(){this.loadList(),this.closeNewModal()},onSearch(){this.pagination.page=1,this.hasNext=!1,this.loadList()}},mounted(){this.applyRouteContext(),this.loadFilterOptions(),this.loadInitialData()}},v(81465),S=(0,e.A)(q,[["render",function(e,a,t,l,i,o){let s=(0,V.g2)("q-tooltip"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("Title"),d=(0,V.g2)("q-select"),c=(0,V.g2)("q-input"),u=(0,V.g2)("StatusBadge"),m=(0,V.g2)("q-td"),p=(0,V.g2)("DataTable"),g=(0,V.g2)("PartnerFulfillmentGuide"),h=(0,V.g2)("PageGuideDialog");var b=(0,V.g2)("q-page");let f=(0,V.g2)("PartnerSkuRequestNew");var v=(0,V.g2)("q-dialog");return(0,V.uX)(),(0,V.CE)(V.FK,null,[(0,V.bF)(b,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",pS,[(0,V.Lk)("div",gS,[(0,V.bF)(n,{desc:i.description},{"title-action":(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",round:"",dense:"",size:"sm",color:"primary",icon:"help_outline","aria-label":"내 상품목록 관리 사용 가이드",onClick:a[0]||(a[0]=e=>i.guideDialog=!0)},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>a[7]||(a[7]=[(0,V.eW)("내 상품목록 관리 사용 가이드")])),_:1,__:[7]})]),_:1})]),default:(0,V.k6)(()=>[(0,V.bF)(r,{color:"primary",label:"상품 요청 등록",onClick:o.goNew},null,8,["onClick"])]),_:1},8,["desc"]),a[8]||(a[8]=(0,V.Lk)("div",{class:"text-caption text-grey-7 q-mt-sm"}," 내가 등록했거나 요청한 상품을 브랜드, 카테고리, 상태 기준으로 검색하고 관리합니다. ",-1))])]),(0,V.Lk)("div",hS,[(0,V.Lk)("div",bS,[(0,V.Lk)("div",fS,[a[9]||(a[9]=(0,V.Lk)("div",{class:"text-caption text-grey"},"전체 상품",-1)),(0,V.Lk)("div",vS,(0,R.v_)(i.summary.total),1),a[10]||(a[10]=(0,V.Lk)("div",{class:"text-caption text-grey q-mt-sm"},"연결 완료와 요청 중인 상품을 함께 봅니다.",-1))])]),(0,V.Lk)("div",kS,[(0,V.Lk)("div",yS,[a[11]||(a[11]=(0,V.Lk)("div",{class:"text-caption text-grey"},"검토 중",-1)),(0,V.Lk)("div",LS,(0,R.v_)(i.summary.requested),1),a[12]||(a[12]=(0,V.Lk)("div",{class:"text-caption text-grey q-mt-sm"},"운영팀 검토를 기다리는 건입니다.",-1))])]),(0,V.Lk)("div",_S,[(0,V.Lk)("div",wS,[a[13]||(a[13]=(0,V.Lk)("div",{class:"text-caption text-grey"},"반려",-1)),(0,V.Lk)("div",xS,(0,R.v_)(i.summary.rejected),1),a[14]||(a[14]=(0,V.Lk)("div",{class:"text-caption text-grey q-mt-sm"},"수정 후 다시 요청이 필요한 건입니다.",-1))])]),(0,V.Lk)("div",CS,[(0,V.Lk)("div",SS,[a[15]||(a[15]=(0,V.Lk)("div",{class:"text-caption text-grey"},"정상 연결",-1)),(0,V.Lk)("div",FS,(0,R.v_)(i.summary.approved),1),a[16]||(a[16]=(0,V.Lk)("div",{class:"text-caption text-grey q-mt-sm"},"기준 상품과 연결되었거나 처리가 완료된 건입니다.",-1))])])]),(0,V.Lk)("div",qS,[(0,V.Lk)("div",IS,[(0,V.Lk)("div",PS,[(0,V.Lk)("div",AS,[(0,V.Lk)("div",TS,[(0,V.bF)(d,{modelValue:i.filters.status,"onUpdate:modelValue":a[1]||(a[1]=e=>i.filters.status=e),options:i.statusOptions,label:"상태","emit-value":"","map-options":"",dense:"",outlined:""},null,8,["modelValue","options"])]),(0,V.Lk)("div",NS,[(0,V.bF)(d,{modelValue:i.filters.brand_id,"onUpdate:modelValue":a[2]||(a[2]=e=>i.filters.brand_id=e),options:o.brandOptions,"option-label":"name","option-value":"brand_id",label:"브랜드","emit-value":"","map-options":"",dense:"",outlined:"",loading:i.masterDataLoading},null,8,["modelValue","options","loading"])]),(0,V.Lk)("div",ES,[(0,V.bF)(d,{modelValue:i.filters.category_id,"onUpdate:modelValue":a[3]||(a[3]=e=>i.filters.category_id=e),options:o.categoryOptions,"option-label":"name","option-value":"category_id",label:"카테고리","emit-value":"","map-options":"",dense:"",outlined:"",loading:i.masterDataLoading},null,8,["modelValue","options","loading"])]),(0,V.Lk)("div",DS,[(0,V.bF)(c,{modelValue:i.filters.q,"onUpdate:modelValue":a[4]||(a[4]=e=>i.filters.q=e),label:"검색 (내 SKU / 바코드 / 브랜드 / 카테고리)",dense:"",outlined:"",onKeyup:(0,I.jR)(o.onSearch,["enter"])},null,8,["modelValue","onKeyup"])])])])]),(0,V.Lk)("div",OS,[(0,V.bF)(r,{color:"primary",size:"lg",label:"검색",class:"full-width",style:{height:"100%"},onClick:o.onSearch},null,8,["onClick"])])]),(0,V.Lk)("div",VS,[(0,V.Lk)("div",RS,[(0,V.Lk)("div",MS,[(0,V.bF)(p,{rows:i.rows,columns:[{name:"request_id",label:"요청 ID",field:"request_id",align:"left"},{name:"partner_sku_code",label:"내 SKU",field:"partner_sku_code",align:"left"},{name:"barcode",label:"바코드",field:e=>e.barcode||"-",align:"left"},{name:"brand_name",label:"브랜드",field:e=>e.brand_name||"-",align:"left"},{name:"category_name",label:"카테고리",field:e=>e.category_name||"-",align:"left"},{name:"hs_code",label:"HS CODE",field:"hs_code",align:"left"},{name:"spec_type",label:"규격 타입",field:"spec_type",align:"left"},{name:"request_type",label:"요청 유형",field:e=>o.getRequestTypeLabel(e),align:"center"},{name:"status",label:"처리 상태",field:e=>o.getStatusBadgeStatus(e),align:"center"},{name:"created_at",label:"최근 요청일",field:e=>o.formatDateTime(e.created_at),align:"left"},{name:"actions",label:"",field:"actions",align:"center"}],"row-key":"row_key",loading:i.loading,pagination:o.tablePagination,onRowClick:o.onRowClick},{"body-cell-status":(0,V.k6)(e=>[(0,V.bF)(m,{props:e},{default:(0,V.k6)(()=>[(0,V.bF)(u,{status:e.value},null,8,["status"])]),_:2},1032,["props"])]),"body-cell-actions":(0,V.k6)(t=>[(0,V.bF)(m,{props:t},{default:(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",round:"",dense:"",color:"primary",icon:"open_in_new","aria-label":"내 상품 상세보기",onClick:(0,I.D$)(e=>o.goToDetail(t.row),["stop"])},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>a[17]||(a[17]=[(0,V.eW)("내 상품 상세보기")])),_:1,__:[17]})]),_:2},1032,["onClick"])]),_:2},1032,["props"])]),_:1},8,["rows","columns","loading","pagination","onRowClick"]),(0,V.Lk)("div",$S,[(0,V.Lk)("div",US," 현재 "+(0,R.v_)(i.rows.length)+"건 표시 ",1),i.hasNext?((0,V.uX)(),(0,V.Wv)(r,{key:0,outline:"",color:"primary",label:"더보기",loading:i.loadingMore,disable:i.loading||i.loadingMore,onClick:o.onLoadMore},null,8,["loading","disable","onClick"])):(0,V.Q3)("",!0)])])])]),(0,V.bF)(h,{modelValue:i.guideDialog,"onUpdate:modelValue":a[5]||(a[5]=e=>i.guideDialog=e),title:"내 상품목록 관리 사용 가이드",description:"내 상품 검색과 요청 상태 확인 방법입니다."},{default:(0,V.k6)(()=>[(0,V.bF)(g,{"guide-key":"productList"})]),_:1},8,["modelValue"])]),_:1}),((0,V.uX)(),(0,V.Wv)(V.Im,{to:"body"},[(0,V.bF)(v,{modelValue:i.showNewModal,"onUpdate:modelValue":a[6]||(a[6]=e=>i.showNewModal=e),maximized:"",persistent:"",onHide:o.closeNewModal},{default:(0,V.k6)(()=>[(0,V.bF)(f,{"in-modal":!0,onCreated:o.onCreated,onClose:o.closeNewModal},null,8,["onCreated","onClose"])]),_:1},8,["modelValue","onHide"])]))],64)}],["__scopeId","data-v-2a576126"]]);let WS={class:"row q-mb-lg"},BS={class:"col"},zS={class:"row q-col-gutter-md q-mb-lg items-stretch"},XS={class:"col-12 col-sm-6 col-lg-3"},KS={class:"comp-box q-pa-md summary-card"},QS={class:"text-subtitle1 text-weight-bold q-mt-sm"},GS={class:"col-12 col-sm-6 col-lg-3"},HS={class:"comp-box q-pa-md summary-card"},jS={class:"q-mt-sm"},YS={class:"col-12 col-sm-6 col-lg-3"},ZS={class:"comp-box q-pa-md summary-card"},JS={class:"text-subtitle1 text-weight-bold q-mt-sm"},eF={class:"col-12 col-sm-6 col-lg-3"},tF={class:"comp-box q-pa-md summary-card"},aF={class:"text-body2 text-weight-medium q-mt-sm"},lF={class:"row q-col-gutter-md items-stretch"},iF={class:"col-12 col-lg-7"},oF={class:"comp-box q-pa-lg detail-card"},sF={class:"detail-grid"},rF={class:"col-12 col-lg-5"},nF={class:"comp-box q-pa-lg detail-card"},dF={key:0,class:"detail-grid detail-grid--single"},cF={key:1,class:"text-caption text-grey-7"},uF={class:"q-mt-xs"};q={name:"PartnerSkuProductDetail",components:{Title:b,StatusBadge:F,PageGuideDialog:a,PartnerFulfillmentGuide:A},data(){return{description:{title:"내 상품 상세"},partnerSkuCode:"",detail:null,loading:!1,guideDialog:!1}},computed:{isMapped(){return"MAPPED"===this.detail?.detail_type},requestTypeLabel(){return"LINK_REQUEST"===this.detail?.request_type?"연결요청":"NEW_REQUEST"===this.detail?.request_type?"신규등록요청":"정상 연결"},statusBadge(){return this.isMapped?"MAPPED":this.detail?.status},updatedAt(){return this.detail?.updated_at||this.detail?.created_at},specRows(){var e=this.detail?.spec_detail||{};switch(this.detail?.spec_type){case"DIMENSION":return[{label:"가로",value:this.withUnit(e.length,"cm")},{label:"세로",value:this.withUnit(e.width,"cm")},{label:"높이",value:this.withUnit(e.height,"cm")}];case"VOLUME":return[{label:"부피",value:this.withUnit(e.value,e.unit)}];case"APPAREL_SIZE":return[{label:"의류 사이즈",value:this.formatValue(e.size)}];case"PRODUCT_OPTION":return[{label:"모델코드",value:this.formatValue(e.model_code)},{label:"색상",value:this.formatValue(e.color)},{label:"사이즈",value:this.formatValue(e.size)}];case"PACK_COUNT":return[{label:"포장 단위",value:this.formatValue(e.unit)},{label:"입수량",value:this.formatValue(e.count)},{label:"표기 단위",value:this.formatValue(e.pack_uom)}];default:return[]}}},methods:{formatValue(e){return null==e||""===e?"-":e},withUnit(e,t){e=this.formatValue(e);return"-"===e?"-":e+(t?" "+t:"")},formatDateTime(e){return e?this.$formatDate(e,"YYYY-MM-DD HH:mm:ss"):"-"},goToList(){let t={};try{t=JSON.parse(String(this.$route.query?.returnQuery||"{}"))}catch(e){t={}}this.$router.push({path:"/admin/fulfillment/sku-requests",query:t})},async loadDetail(){if(this.partnerSkuCode){this.loading=!0;var e={method:"GET",url:"/api/fulfillment/partner/sku-products/detail?"+new URLSearchParams({partner_sku_code:this.partnerSkuCode}).toString(),name:"[ Fulfillment / Partner 내 상품 상세 ]"};try{var t=await this.$http(e);this.detail=t.data?.data||null}catch(e){this.detail=null}finally{this.loading=!1}}}},mounted(){this.partnerSkuCode=String(this.$route.query?.partner_sku_code||"").trim(),this.loadDetail()}},v(23613),b=(0,e.A)(q,[["render",function(e,t,a,l,i,o){let s=(0,V.g2)("q-tooltip"),r=(0,V.g2)("q-btn"),n=(0,V.g2)("Title"),d=(0,V.g2)("q-spinner"),c=(0,V.g2)("q-inner-loading"),u=(0,V.g2)("q-banner"),m=(0,V.g2)("StatusBadge"),p=(0,V.g2)("q-icon"),g=(0,V.g2)("PartnerFulfillmentGuide"),h=(0,V.g2)("PageGuideDialog");var b=(0,V.g2)("q-page");return(0,V.uX)(),(0,V.Wv)(b,{class:"q-pa-lg"},{default:(0,V.k6)(()=>[(0,V.Lk)("div",WS,[(0,V.Lk)("div",BS,[(0,V.bF)(n,{desc:i.description},{"title-action":(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",round:"",dense:"",size:"sm",color:"primary",icon:"help_outline","aria-label":"내 상품 상세 사용 가이드",onClick:t[0]||(t[0]=e=>i.guideDialog=!0)},{default:(0,V.k6)(()=>[(0,V.bF)(s,null,{default:(0,V.k6)(()=>t[2]||(t[2]=[(0,V.eW)("내 상품 상세 사용 가이드")])),_:1,__:[2]})]),_:1})]),default:(0,V.k6)(()=>[(0,V.bF)(r,{flat:"",color:"grey-7",icon:"arrow_back",label:"목록으로",onClick:o.goToList},null,8,["onClick"])]),_:1},8,["desc"]),t[3]||(t[3]=(0,V.Lk)("div",{class:"text-caption text-grey-7 q-mt-sm"}," 내 SKU의 연결 상태와 운영팀 처리 결과를 확인합니다. ",-1))])]),i.loading?((0,V.uX)(),(0,V.Wv)(c,{key:0,showing:!0},{default:(0,V.k6)(()=>[(0,V.bF)(d,{color:"primary",size:"42px"})]),_:1})):(0,V.Q3)("",!0),i.loading||i.detail?(0,V.Q3)("",!0):((0,V.uX)(),(0,V.Wv)(u,{key:1,rounded:"",class:"bg-grey-2 text-grey-8"},{default:(0,V.k6)(()=>t[4]||(t[4]=[(0,V.eW)(" 상품 상세 정보를 찾을 수 없습니다. 목록에서 다시 선택해 주세요. ")])),_:1,__:[4]})),i.detail?((0,V.uX)(),(0,V.CE)(V.FK,{key:2},[(0,V.Lk)("div",zS,[(0,V.Lk)("div",XS,[(0,V.Lk)("div",KS,[t[5]||(t[5]=(0,V.Lk)("div",{class:"text-caption text-grey"},"내 SKU",-1)),(0,V.Lk)("div",QS,(0,R.v_)(i.detail.partner_sku_code),1)])]),(0,V.Lk)("div",GS,[(0,V.Lk)("div",HS,[t[6]||(t[6]=(0,V.Lk)("div",{class:"text-caption text-grey"},"처리 상태",-1)),(0,V.Lk)("div",jS,[(0,V.bF)(m,{status:o.statusBadge},null,8,["status"])])])]),(0,V.Lk)("div",YS,[(0,V.Lk)("div",ZS,[t[7]||(t[7]=(0,V.Lk)("div",{class:"text-caption text-grey"},"요청 유형",-1)),(0,V.Lk)("div",JS,(0,R.v_)(o.requestTypeLabel),1)])]),(0,V.Lk)("div",eF,[(0,V.Lk)("div",tF,[t[8]||(t[8]=(0,V.Lk)("div",{class:"text-caption text-grey"},"최근 변경일",-1)),(0,V.Lk)("div",aF,(0,R.v_)(o.formatDateTime(o.updatedAt)),1)])])]),(0,V.Lk)("div",lF,[(0,V.Lk)("div",iF,[(0,V.Lk)("div",oF,[t[18]||(t[18]=(0,V.Lk)("div",{class:"text-subtitle1 text-weight-bold q-mb-md"},"상품 정보",-1)),(0,V.Lk)("div",sF,[(0,V.Lk)("div",null,[t[9]||(t[9]=(0,V.Lk)("span",null,"상품명",-1)),(0,V.Lk)("b",null,(0,R.v_)(o.formatValue(i.detail.display_name||i.detail.partner_display_name)),1)]),(0,V.Lk)("div",null,[t[10]||(t[10]=(0,V.Lk)("span",null,"기준 상품 코드",-1)),(0,V.Lk)("b",null,(0,R.v_)(o.formatValue(i.detail.master_sku_code)),1)]),(0,V.Lk)("div",null,[t[11]||(t[11]=(0,V.Lk)("span",null,"바코드번호",-1)),(0,V.Lk)("b",null,(0,R.v_)(o.formatValue(i.detail.barcode)),1)]),(0,V.Lk)("div",null,[t[12]||(t[12]=(0,V.Lk)("span",null,"브랜드",-1)),(0,V.Lk)("b",null,(0,R.v_)(o.formatValue(i.detail.brand_name)),1)]),(0,V.Lk)("div",null,[t[13]||(t[13]=(0,V.Lk)("span",null,"카테고리",-1)),(0,V.Lk)("b",null,(0,R.v_)(o.formatValue(i.detail.category_name)),1)]),(0,V.Lk)("div",null,[t[14]||(t[14]=(0,V.Lk)("span",null,"HS CODE",-1)),(0,V.Lk)("b",null,(0,R.v_)(o.formatValue(i.detail.hs_code)),1)]),(0,V.Lk)("div",null,[t[15]||(t[15]=(0,V.Lk)("span",null,"규격 타입",-1)),(0,V.Lk)("b",null,(0,R.v_)(o.formatValue(i.detail.spec_type)),1)]),(0,V.Lk)("div",null,[t[16]||(t[16]=(0,V.Lk)("span",null,"규격 키",-1)),(0,V.Lk)("b",null,(0,R.v_)(o.formatValue(i.detail.spec_key)),1)]),(0,V.Lk)("div",null,[t[17]||(t[17]=(0,V.Lk)("span",null,"요청 ID",-1)),(0,V.Lk)("b",null,(0,R.v_)(o.formatValue(i.detail.request_id)),1)])])])]),(0,V.Lk)("div",rF,[(0,V.Lk)("div",nF,[t[19]||(t[19]=(0,V.Lk)("div",{class:"text-subtitle1 text-weight-bold q-mb-md"},"규격 상세",-1)),o.specRows.length?((0,V.uX)(),(0,V.CE)("div",dF,[((0,V.uX)(!0),(0,V.CE)(V.FK,null,(0,V.pI)(o.specRows,e=>((0,V.uX)(),(0,V.CE)("div",{key:e.label},[(0,V.Lk)("span",null,(0,R.v_)(e.label),1),(0,V.Lk)("b",null,(0,R.v_)(e.value),1)]))),128))])):((0,V.uX)(),(0,V.CE)("div",cF,"등록된 규격 상세 정보가 없습니다."))])])]),"REJECTED"===i.detail.status?((0,V.uX)(),(0,V.Wv)(u,{key:0,rounded:"",class:"bg-red-1 text-red-9 q-mt-md"},{avatar:(0,V.k6)(()=>[(0,V.bF)(p,{name:"error_outline"})]),default:(0,V.k6)(()=>[t[20]||(t[20]=(0,V.Lk)("b",null,"반려 사유",-1)),(0,V.Lk)("div",uF,(0,R.v_)(o.formatValue(i.detail.reject_reason)),1)]),_:1,__:[20]})):((0,V.uX)(),(0,V.Wv)(u,{key:1,rounded:"",class:"bg-blue-1 text-blue-9 q-mt-md"},{avatar:(0,V.k6)(()=>[(0,V.bF)(p,{name:"info_outline"})]),default:(0,V.k6)(()=>[(0,V.eW)(" "+(0,R.v_)(o.isMapped?"내 SKU가 기준 상품과 정상적으로 연결되어 있습니다.":"운영팀이 요청 내용을 검토하고 있습니다."),1)]),_:1}))],64)):(0,V.Q3)("",!0),(0,V.bF)(h,{modelValue:i.guideDialog,"onUpdate:modelValue":t[1]||(t[1]=e=>i.guideDialog=e),title:"내 상품 상세 사용 가이드",description:"상품 연결 상태와 요청 처리 결과를 확인하는 방법입니다."},{default:(0,V.k6)(()=>[(0,V.bF)(g,{"guide-key":"productDetail"})]),_:1},8,["modelValue"])]),_:1})}],["__scopeId","data-v-4fb910a6"]]),F="Aone Logistics | ",a="Aone Logistics BIZ | ",A="Aone 관리자 | ";let mF="계약되지 않은 서비스입니다.",pF="LOCAL"===String("DEVELOPMENT").toUpperCase();e=(0,M.aE)({history:(0,M.LA)(),routes:[{path:"/biz",name:"BizHome",component:$,children:[{path:"",name:"BIZ 홈페이지",component:m,meta:{title:a+"홈페이지",description:"AONE Logistics 비즈니스 물류 서비스"}},{path:"service",name:"BIZ 서비스 설명",component:G2,meta:{title:a+"서비스 설명"}},{path:"service-flight",name:"BIZ 서비스 - 항공",component:H2,meta:{title:a+"서비스 - 항공"}},{path:"service-ocean",name:"BIZ 서비스 - 해상",component:j2,meta:{title:a+"서비스 - 해상"}},{path:"notice",name:"BIZ 공지사항",component:p,meta:{title:a+"공지사항"}},{path:"parcel-info",name:"BIZ 배송조회",component:f,meta:{title:a+"배송조회",localOnly:!0}},{path:"parcel-reg-aus-to-kor",name:"BIZ 배송등록 호주 -> 한국",component:u,meta:{title:a+"배송등록 호주 -> 한국"}},{path:"shipping-infomation",name:"BIZ 운송정보",component:kx,meta:{title:a+"운송정보"}},{path:"aboutUs",name:"BIZ About us",component:F2,meta:{title:a+"About us"}}],meta:{authRequired:!1}},{path:"/",name:"HomePage",component:$,children:[{path:"/",name:"홈페이지",component:m,meta:{title:F+"홈페이지",description:"어디든 달려가는 호주글로벌 로지스틱스"}},{path:"/service",name:"서비스 설명",component:G2,meta:{title:F+"서비스 설명"}},{path:"/service-flight",name:"서비스 - 항공",component:H2,meta:{title:F+"서비스 - 항공"}},{path:"/service-ocean",name:"서비스 - 해상",component:j2,meta:{title:F+"서비스 - 해상"}},{path:"/notice",name:"공지사항",component:p,meta:{title:F+"공지사항"}},{path:"/parcel-info",name:"배송조회",component:f,meta:{title:F+"배송조회",localOnly:!0}},{path:"/parcel-reg-aus-to-kor",name:"배송등록 호주 -> 한국",component:u,meta:{title:F+"배송등록 호주 -> 한국"}},{path:"/shipping-infomation",name:"운송정보",component:kx,meta:{title:F+"운송정보"}},{path:"/signUp",name:"회원가입",component:$x,meta:{title:F+"회원가입"}},{path:"/login",name:"로그인",component:ml,meta:{title:F+"로그인"}},{path:"/aboutUs",name:"About us",component:F2,meta:{title:F+"About us"}},{path:"/partnerAdmin",redirect:"/login"},{path:"/reset-password",name:"비밀번호 재설정",component:Ux,meta:{title:F+"비밀번호 재설정"}}],meta:{authRequired:!1}},{path:"/admin",name:"Admin",component:Wa,children:[{path:"/admin/dashboard",name:"DashBoard",component:d,meta:{title:A+"대쉬보드"},authLevel:80},{path:"/admin/inventory",name:"Admin-inventory-home",component:S2,meta:{title:A+"Inventory",service:"inventory"},authLevel:80},{path:"/admin/parcel-info",name:"Admin-parcel-infomation",component:Eo,meta:{title:A+"배송상품조회"},authLevel:80},{path:"/admin/dashboard/orders",name:"Admin-dashboard-orders",component:t,meta:{title:A+"대시보드 조회 목록"},authLevel:80},{path:"/admin/packing",name:"Admin-packing",component:gu,meta:{title:A+"포장관리"},authLevel:80},{path:"/admin/console",name:"Admin-console-management",component:Hc,meta:{title:A+"콘솔"},authLevel:90},{path:"/admin/hbl-no-manage",name:"Admin-hbl-no-management",component:cu,meta:{title:A+"화물번호 대역폭관리"},authLevel:90},{path:"/admin/hs-code-manage",name:"Admin-hs-code-management",component:k,meta:{title:A+"HS CODE 관리"},authLevel:90},{path:"/admin/freight-manage",name:"Admin-Freight-Management",component:_c,meta:{title:A+"운송편관리"},authLevel:90},{path:"/admin/pickup-request-list",name:"Admin-Export-Pickup-Request-List",component:ac,meta:{title:A+"픽업요청"},authLevel:90},{path:"/admin/courier-manage",name:"Admin-courier-manage",component:L,meta:{title:A+"택배사관리"},authLevel:90},{path:"/admin/pickup-manage",name:"Admin-pickup-manage",component:y,meta:{title:A+"픽업지관리"},authLevel:90},{path:"/admin/location-manage",name:"Admin-location-manage",component:w,meta:{title:A+"배송위치관리"},authLevel:90},{path:"/admin/customer-manage",name:"Admin-customer-manage",component:_,meta:{title:A+"고객관리"},authLevel:90},{path:"/admin/partner-manage",name:"Admin-partner-manage",component:ah,meta:{title:A+"파트너사관리"},authLevel:90},{path:"/admin/common/notice",name:"Admin-notice-manage",component:Lh,meta:{title:A+"공지사항관리"},authLevel:90},{path:"/admin/inquery",name:"Admin-customer-inquery-manage",component:l,meta:{title:A+"고객문의관리"},authLevel:90},{path:"/admin/manage-schedule",name:"Admin-manage-schedule",component:Ab,meta:{title:A+"일정관리"},authLevel:80},{path:"/admin/common/code-management",name:"Admin-code-management",component:pf,meta:{title:A+"코드관리"},authLevel:90},{path:"/admin/common/backup-management",name:"Admin-backup-management",component:ef,meta:{title:A+"데이터백업"},authLevel:90},{path:"/admin/common/schema-snapshots",name:"Admin-schema-snapshots",component:rf,meta:{title:A+"DB 스키마 스냅샷"},authLevel:90},{path:"/admin/common/logis-sample-data",name:"Admin-logis-sample-data",component:Jb,meta:{title:A+"운영 샘플 데이터"},authLevel:90},{path:"/admin/common/update-report",name:"Admin-udpate-report",component:pv,meta:{title:A+"업데이트 리포트"},authLevel:90},{path:"/admin/lab",name:"Admin-lab",component:kv,meta:{title:A+"실험실"},authLevel:99},{path:"/admin/common/login-history-manage",name:"Admin-login-history-manage",component:Ev,meta:{title:A+"인증·접속 이력",minAuth:90}},{path:"/admin/common/user-behavior-tracking",name:"Admin-user-behavior-tracking",component:tk,meta:{title:A+"사용자 활동 로그",minAuth:90}},{path:"/admin/fulfillment/home",name:"Partner-fulfillment-home",component:uL,meta:{title:A+"내 상품 현황"},authLevel:80},{path:"/admin/fulfillment/request/new",name:"Partner-sku-request-new",component:S,meta:{title:A+"상품 요청 등록"},authLevel:80},{path:"/admin/fulfillment/sku-requests",name:"Partner-sku-requests",component:S,meta:{title:A+"내 상품목록 관리"},authLevel:80},{path:"/admin/fulfillment/my-products/detail",name:"Partner-sku-product-detail",component:b,meta:{title:A+"내 상품 상세"},authLevel:80},{path:"/admin/fulfillment/request-mappings",name:"Admin-request-mappings",component:Uw,meta:{title:A+"요청/매핑 관리"},authLevel:90},{path:"/admin/fulfillment/approvals",redirect:e=>{var e={...e.query},t=String(e.status||"");return delete e.status,{path:"/admin/fulfillment/request-mappings",query:{...e,tab:"REJECTED"===t?"rejected":"requested"}}}},{path:"/admin/fulfillment/operations",name:"Admin-fulfillment-operations",component:$_,meta:{title:A+"상품 운영 현황"},authLevel:90},{path:"/admin/fulfillment/approvals/:id",name:"Admin-sku-request-detail",component:l1,meta:{title:A+"승인 대기 상세"},authLevel:90},{path:"/admin/fulfillment/master-skus",name:"Admin-master-skus",component:A1,meta:{title:A+"목록 조회"},authLevel:90},{path:"/admin/fulfillment/products/register",name:"Admin-master-sku-register",component:LL,meta:{title:A+"신규 등록"},authLevel:90},{path:"/admin/fulfillment/packing/express-rules",name:"Admin-packing-express-rules",component:x,meta:{title:A+"익스프레스 규칙 관리",minAuth:90}},{path:"/admin/fulfillment/packing/receiving",name:"Admin-partner-order-receiving",component:v2,meta:{title:A+"파트너 오더 입고처리",minAuth:90}},{path:"/admin/fulfillment/master-data",name:"Admin-fulfillment-master-data",component:R_,meta:{title:A+"브랜드/카테고리 관리"},authLevel:90},{path:"/admin/fulfillment/brands",redirect:()=>({path:"/admin/fulfillment/master-data",query:{tab:"brand"}})},{path:"/admin/fulfillment/categories",redirect:()=>({path:"/admin/fulfillment/master-data",query:{tab:"category"}})},{path:"/admin/fulfillment/mappings",redirect:e=>({path:"/admin/fulfillment/request-mappings",query:{...e.query,tab:"pending"}})},{path:"/admin/fulfillment/master-skus/:id",name:"Admin-master-sku-detail",component:w_,meta:{title:A+"상품 상세"},authLevel:90}],meta:{authRequired:!0,authLv:"admin"}}]});e.beforeEach(async(e,t,a)=>{o.debug("beforeEach - 1. beforeEach 실행됨"),o.debug("beforeEach to = ",e),o.debug("from = ",t);var l,i,t=e.meta.title,t=(t&&(document.title=t),e.meta.description);return t&&((l=document.querySelector('meta[name="description"]')||document.createElement("meta")).setAttribute("name","description"),l.setAttribute("content",t),l.parentNode||document.head.appendChild(l)),e.matched.some(e=>e.meta.localOnly)&&!pF?(o.debug("beforeEach - localOnly 페이지 차단: "+e.path),a("/biz")):e.matched.some(e=>e.meta.authRequired)?(o.debug("beforeEach - 2.1 로그인 필요 페이지"),await gF()?(t=s.getters.getLocalSession||{},l=80===Number(t?.authLevel),(i=e.matched.reduce((e,t)=>Math.max(e,Number(t.meta?.minAuth||0)),0))&&Number(t?.authLevel||0){o.debug("afterEach - 1. afterEach 실행됨"),window.scrollTo({top:0,left:0,behavior:"auto"})});let gF=async()=>{o.debug("beforeEach - 2.1.1 routerCheckSession 실행됨");var e={method:"GET",url:"/api/admin/getSession?_="+Date.now(),name:"[ AXIOS / 관리자 세션확인 ]"};try{var t,a=await UF.http(e);return o.debug("/admin/getSession 실행됨",a),200===a.status&&a.data&&a.data.isLogin?(o.debug("res.data.isLogin = true",a.data.isLogin),o.debug("res.data",a.data),t=a.data.user,s.dispatch("setCustomerInfo",t),!0):(o.debug("res.data.isLogin = false",a.data&&a.data.isLogin),s.dispatch("destroyCustomerInfo"),sessionStorage.removeItem("vuexStore"),!1)}catch(e){return o.debug("/admin/getSession 실패",e),s.dispatch("destroyCustomerInfo"),sessionStorage.removeItem("vuexStore"),!1}};e.addRoute({path:"/dev",component:At,children:[{path:"dev-tools",name:"DevTools",component:()=>v.e(757).then(v.bind(v,83757))},{path:"comp-tester",name:"CompTester",component:()=>v.e(570).then(v.bind(v,52570))}]});var hF=e;i().defaults.baseURL="https://aidenport.com",i().defaults.withCredentials=!0,i().defaults.headers.common.Accept="*/*",i().defaults.headers.post["Content-Type"]="application/json",i().interceptors.response.use(e=>e,async e=>(console.error("Axios Error:",e),!e.response||403!==e.response.status||"SESSION_EXPIRED"!==e.response.data?.code&&"1"!==e.response.headers["x-session-expired"]||(window.$store&&window.$store.commit("auth/logout"),localStorage.clear(),sessionStorage.clear(),window.location.href="/login"),Promise.reject(e)));let T=async l=>{o.debug("[ http / rawConfig ] = ",l);var e={url:l.url,method:l.method,data:"multipart"==l?.headers?l?.formData:l.data,name:l?.name,responseType:l?.responseType||"json",headers:{Accept:"*/*","Content-Type":"multipart"==l?.headers?"multipart/form-data":"application/json"},withCredentials:!0};return o.debug("[ http / rePackedConfig ] = ",e),l?.skipSpinner||s.dispatch("showSpinner"),i()(e).then(e=>{o.debug((null!=l?.name?l?.name:"Axios 이름이 없습니다.")+" => ",e);e.status;return o.debug(l?.name+" 실행됨"),e}).catch(e=>{o.error(l?.name+" 에서 오류가 발생되었습니다. "+e);var t=e.response?.status,a=e.code;if((401===t||403===t)&&("SESSION_EXPIRED"===e.response?.data?.code||"1"===e.response?.headers?.["x-session-expired"]))return void hF.push("/login");throw"ERR_NETWORK"===a&&o.error("네트워크 오류가 있습니다.",a),e}).finally(()=>{l?.skipSpinner||s.dispatch("killSpinner")})},bF=async()=>{await T({method:"get",url:"/api/cust/getSession",name:"[ Axios / 고객 세션확인 ]"}).then(e=>{o.debug("1. Result check session => ",e);e=e.data.passport;void 0===e?(o.debug("1.1 로그인 되어있지 않음"),s.dispatch("destroyCustomerInfo"),sessionStorage.removeItem("vuexStore")):(o.debug("1.2 로그인 되어있음 isSignedIn = ",e.user),s.dispatch("setCustomerInfo",e.user))}).catch(e=>{o.debug("3.3 Result check session has error => ",e),s.dispatch("destroyCustomerInfo"),sessionStorage.removeItem("vuexStore"),alert("router 이동 시 세션 체크중 오류가 발생했습니다."),hF.push("/login")})},fF=()=>{var e=JSON.parse(sessionStorage.getItem("vuexStore"))?.user;return void 0!==e?e.localSession.authLevel:"00"},vF=e=>!(0(o.debug("validMobile executed => "+e),e.replace(/[^0-9]/g,"")),yF=e=>{var t=/^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$/i.test(e);return!(0{let a=e;e=Object.keys(e),o.debug("Extracted keyArr = ",e),e=e.filter(e=>{var t=a[e];if(o.debug("resData[key].value = "+t.value),o.debug("resData[key].required = "+t.required),(""===t?.value||void 0===t?.value)&&!0===t?.required||void 0===t?.required)return e});return o.debug("emptyList = ",e),e},_F=a=>{var e=Object.keys(a),e=(o.debug("Extracted keyArr = ",e),e.filter(e=>{o.debug("key = "+e);var t=a[e];if(o.debug("data[key].value = "+t),""===t||void 0===t)return e}));return o.debug("emptyList are = ",e),e},wF=e=>e.filter(e=>""===e.modelValue||void 0===e.modelValue).map(e=>e.label),xF=e=>{o.debug("checkInvalidRefList executed with refs =",e);var t,a,l=[];for(t of e)o.debug("checkInvalidRefList executed with refs 1 =",t),t&&"function"==typeof t.validate&&(a=t.validate(),o.debug("checkInvalidRefList executed with refs 2 valid = ",a),a||l.push(t.label));return l},CF={alpha:e=>!e||/^[A-Za-z\s]+$/.test(e)||"영문만 입력 가능합니다.",alphaNum:e=>!e||/^[A-Za-z0-9\s]+$/.test(e)||"영문과 숫자만 입력 가능합니다.",itemName:e=>!e||/^[A-Za-z0-9\s()]+$/.test(e)||"상품명은 영문, 숫자, 괄호만 입력 가능합니다.",korean:e=>!e||/^[가-힣\s]+$/.test(e)||"한글만 입력 가능합니다.",korNum:e=>!e||/^[가-힣0-9\s]+$/.test(e)||"한글과 숫자만 입력 가능합니다.",num:e=>!e||/^[0-9\s]+$/.test(e)||"숫자만 입력 가능합니다.",maxLength:t=>e=>!e||String(e).length<=t||`최대 ${t}자까지 입력 가능합니다.`,minLength:t=>e=>!e||String(e).length>=t||`최소 ${t}자 이상 입력해야 합니다.`,engAddr:e=>!e||/^[A-Za-z0-9\s-]+$/.test(e)||"영문과 숫자만 입력 가능합니다.",korAddr:e=>!e||/^[가-힣0-9\s-]+$/.test(e)||"한글과 숫자만 입력 가능합니다."},SF={kor:e=>/[ㄱ-ㅎㅏ-ㅣ가-힣]/.test(e)?e.replace(/[^a-zA-Z0-9]/g,""):e},FF=()=>{var e;0{e=e.data;s.dispatch("loadCourier",e)}))},qF=t=>{var e=(s.getters.getCourierList.find(e=>e.value===t)||{}).label;return e||""},IF=()=>{var e;0{e=e.data;o.debug("/parcelLocation/getParcelLocationList 실행됨",e),s.dispatch("loadParcelLocation",e)}))},PF=async()=>{var e=s.getters.getPickupLocationList;0{e=e.data;s.dispatch("loadPickupLocation",e)}))},AF=()=>{var e;0{e=e.data;s.dispatch("fetchCityList",e)}))},TF=()=>{var e;0{e=e.data;s.dispatch("fetchFreightList",e)}))},NF=()=>{var e;0{e=e.data;s.dispatch("fetchMemberAuthLevelList",e)}))},EF=()=>{var e;0{e=e.data;o.debug("/api/partner/getPartnerList 실행됨",e),s.dispatch("fetchPartnerList",e)}))},DF=async(a,e)=>{o.debug("불러올 부모코드가 있을 경우 = ",e),o.debug("불러올 코드목록 = ",a);e={method:"POST",url:"/api/code/getCodeList",data:{parentCode:e,code:a},name:`[ AXIOS / 코드목록 불러오기 / ${a} ]`};await T(e).then(e=>{var t=e.data;switch(a){case"NATION":s.dispatch("actNationList",t);break;case"CIT":s.dispatch("actCityList",t);break;case"REGION":s.dispatch("actRegionList",t);break;case"ORDSTT":s.dispatch("actOrderStatusList",t);break;case"CONSTT":s.dispatch("actConsolStatusList",t);break;case"BIZTYP":s.dispatch("actBizTypeList",t);break;case"AUTHLV":s.dispatch("actAuthLevelList",t);break;case"FREIGH":s.dispatch("actFreightList",t);break;case"SEQTYP":s.dispatch("actSeqTypeList",t);break;case"BRDTYP":s.dispatch("actBrdTypeList",t)}})},OF=(e,t="xxxx년 xx월 xx일")=>{var a,l,i,o,s;return e?(s=new Date(e),Number.isNaN(s.getTime())?String(e):(e=s.getFullYear(),a=String(s.getMonth()+1).padStart(2,"0"),l=String(s.getDate()).padStart(2,"0"),i=String(s.getHours()).padStart(2,"0"),o=String(s.getMinutes()).padStart(2,"0"),s=String(s.getSeconds()).padStart(2,"0"),t.replace("YYYY",e).replace("xxxx",e).replace("HH",i).replace("mm",o).replace("ss",s).replace("xx월",a+"월").replace("xx일",l+"일").replace("MM",a).replace("DD",l))):""},VF=e=>e&&10===e.length?`${e.slice(0,3)}-${e.slice(3,5)}-`+e.slice(5):e,RF=(e,t)=>{if(e){var a=e.replace(/[^0-9]/g,"");if("mobile"===t){if(10===a.length)return`${a.slice(0,3)}-${a.slice(3,6)}-`+a.slice(6);if(11===a.length)return`${a.slice(0,3)}-${a.slice(3,7)}-`+a.slice(7)}else if("home"===t){if(10===a.length)return`${a.slice(0,2)}-${a.slice(2,6)}-`+a.slice(6);if(11===a.length)return`${a.slice(0,3)}-${a.slice(3,7)}-`+a.slice(7)}}return e},MF=(e,t={})=>{var a,l,i,o;return e?(a=e=>null==e||""===e||(e=Number(e),Number.isNaN(e))?null:e,"DIMENSION"===(e=String(e).toUpperCase())?(i=a(t.length_cm??t.length),o=a(t.width_cm??t.width),l=a(t.height_cm??t.height),null===i||null===o||null===l?"":i+`x${o}x${l}cm`):"VOLUME"===e?null===(i=a(t.volume_value??t.value))?"":("l"===String(t.volume_unit??t.unit??"ml").toLowerCase()?Math.round(1e3*i):i)+"ml":"APPAREL_SIZE"===e?(o=t.apparel_size??t.size)?"size:"+String(o).toUpperCase():"":"PRODUCT_OPTION"===e?(i=(l=e=>String(e||"").replace(/\s+/g,""))(t.model_code??t.model),o=l(t.color),l=l(t.size??t.size_value),i&&o&&l?`model:${i}|color:${o}|size:`+l:""):"PACK_COUNT"===e&&(i=t.pack_unit_type_code??t.unit,o=a(t.pack_count??t.count),i)&&null!==o?String(i).toLowerCase()+`-${o}ea`:""):""},$F={install(e){e.config.globalProperties.$http=T,e.config.globalProperties.$checkSession=bF,e.config.globalProperties.$getAuthLevel=fF,e.config.globalProperties.$checkEmpty=LF,e.config.globalProperties.$checkEmptyVModelList=_F,e.config.globalProperties.$checkEmptyRefList=wF,e.config.globalProperties.$checkInvalidRefList=xF,e.config.globalProperties.$validKor=vF,e.config.globalProperties.$validMobile=kF,e.config.globalProperties.$validEmail=yF,e.config.globalProperties.$validationSet=CF,e.config.globalProperties.$preventSet=SF,e.config.globalProperties.$formatDate=OF,e.config.globalProperties.$formatBusinessNumber=VF,e.config.globalProperties.$formatPhoneNumber=RF,e.config.globalProperties.$makeSpecKey=MF,e.config.globalProperties.$getCourierList=FF,e.config.globalProperties.$getParcelLocationList=IF,e.config.globalProperties.$getPickupLocationList=PF,e.config.globalProperties.$getCityList=AF,e.config.globalProperties.$getFreightList=TF,e.config.globalProperties.$getMemberLevelList=NF,e.config.globalProperties.$getPartnerList=EF,e.config.globalProperties.$getCodeList=DF,e.config.globalProperties.$getCourierName=qF}},UF={http:T,checkSession:bF,getAuthLevel:fF,checkEmpty:LF,checkEmptyVModelList:_F,checkEmptyRefList:wF,checkInvalidRefList:xF,validKor:vF,validMobile:kF,validEmail:yF,validationSet:CF,preventSet:SF,formatDate:OF,formatBusinessNumber:VF,formatPhoneNumber:RF,makeSpecKey:MF,getCourierList:FF,getCourierName:qF,getParcelLocationList:IF,getPickupLocationList:PF,getFreightList:TF,getCityList:AF,getMemberLevelList:NF,getPartnerList:EF,getCodeList:DF},WF=v(70992),N=v(18199);v(68660),v(76443),v(81627);i().defaults.baseURL="https://aidenport.com",i().defaults.headers.common["Content-Type"]="application/json",i().defaults.headers.common.Accept="application/json",i().defaults.withCredentials=!0;q=(0,I.Ef)(O);q.use(o),q.use(hF),q.use(s),q.use($F),q.use(WF.Ay,{appName:"Aone logistics",pageTrackerScreenviewEnabled:!0,config:{id:{VUE_APP_API_URL:"https://aidenport.com",NODE_ENV:"production",VUE_APP_LOG_LEVEL:"debug",VUE_APP_ENV_LEVEL:"DEVELOPMENT",BASE_URL:"/"}.VUE_APP_GTAG}},hF),q.use(N.y87,{plugins:{Notify:N.M9W,Dialog:N.lGe},config:{notify:{position:"top",timeout:2500,actions:[{icon:"close",color:"white"}]}},directives:{ClosePopup:N.TMM,Ripple:N.n0I},components:{QBtn:N.IlC,QCard:N.C$d,QInput:N.ieb,QTable:N.kH6,QIcon:N.bP4,QDialog:N.OQI,QSelect:N.Sic,QCheckbox:N.vZi,QRadio:N.$as,QToggle:N.c5C,QDate:N.wZt,QTime:N.TpF,QToolbar:N.ZVc,QToolbarTitle:N.r_C,QHeader:N.rpC,QFooter:N.jQd,QDrawer:N.psX,QLayout:N.QQm,QPage:N.Tuf,QPageContainer:N.kci,QTabs:N.uwj,QTab:N.zuD,QTabPanels:N.gFA,QTabPanel:N.Zzm,QSeparator:N.N7v,QAvatar:N.zbR,QTooltip:N.nCc,QMenu:N.Tsm,QPagination:N.aot,QSpinner:N.$fs,QBadge:N.tBz,QChip:N.wQl,QBanner:N.GrT,QExpansionItem:N.AIx,QForm:N.iXO,QField:N.OmQ,QItem:N.H0$,QItemSection:N.ypq,QItemLabel:N.TwD,QImg:N.PiT,QSpace:N.yDU,QScrollArea:N.iMu,QLinearProgress:N.GFm,QStepper:N.jnW,QStep:N.q$F,QStepperNavigation:N.BX_,QOptionGroup:N.EXb,QSlider:N.jdB,QRange:N.FMu,QBtnDropdown:N.B4t,QBtnGroup:N.bkU,QBtnToggle:N.QL$,QCarousel:N.ciK,QCarouselSlide:N.xpN,QCarouselControl:N.rGT,QTh:N.EJt,QTr:N.qhW,QTd:N.Efd,QTree:N.I79,QTimeline:N.Ta$,QTimelineEntry:N.HVu,QVideo:N.d7y,QEditor:N.jXJ,QList:N.Mbi,QPopupProxy:N.MO,QMarkupTable:N.Sau,QResizeObserver:N.QWb,QCardSection:N.XH8,QUploader:N.IuS,QCardActions:N.zZw,QSlideTransition:N.KDC}}),q.config.errorHandler=(e,t,a)=>{console.error("Vue Global Error:",e,a),i().post("/api/log",{level:"error",message:e.message,stack:e.stack,meta:{info:a}}).catch(()=>{})},q.mount("#app")},13598:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".guide-heading[data-v-0c9b77e4]{color:#183b56;font-size:20px;font-weight:700}.guide-copy[data-v-0c9b77e4]{margin:8px 0 0;color:#607171}.guide-card[data-v-0c9b77e4]{height:100%;padding:16px;border:1px solid #d8e1df;border-radius:12px;background:#fff}.guide-card__title[data-v-0c9b77e4],.guide-subheading[data-v-0c9b77e4]{color:#183b56;font-weight:700}.guide-card__title[data-v-0c9b77e4]{margin-top:10px}.glossary-item span[data-v-0c9b77e4],.guide-card__copy[data-v-0c9b77e4],.guide-steps small[data-v-0c9b77e4]{color:#607171;font-size:13px}.guide-subheading[data-v-0c9b77e4]{margin-top:24px;font-size:16px}.guide-steps[data-v-0c9b77e4]{display:grid;gap:14px;margin:14px 0 0;padding:0;list-style:none}.guide-steps li[data-v-0c9b77e4]{display:flex;gap:12px;align-items:flex-start}.guide-steps li>span[data-v-0c9b77e4]{display:inline-flex;width:28px;height:28px;flex:0 0 28px;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:#1976d2;font-size:12px;font-weight:700}.glossary-item b[data-v-0c9b77e4],.glossary-item span[data-v-0c9b77e4],.guide-steps b[data-v-0c9b77e4],.guide-steps small[data-v-0c9b77e4]{display:block}.glossary-grid[data-v-0c9b77e4]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.glossary-item[data-v-0c9b77e4]{padding:12px;border:1px solid #d8e1df;border-radius:10px;background:#f8fafc}.glossary-item b[data-v-0c9b77e4]{color:#183b56}.guide-warning[data-v-0c9b77e4]{color:#8b581d;background:#fff8e8}@media (max-width:600px){.glossary-grid[data-v-0c9b77e4]{grid-template-columns:1fr}}",""]),t.default=a},14002:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".full-height[data-v-0a41340a]{height:100%}.sku-form-sections[data-v-0a41340a]{border:1px solid #dfe5ec;border-radius:10px;background:#fff}.sku-form-section[data-v-0a41340a]{padding:18px}.sku-form-section+.sku-form-section[data-v-0a41340a]{border-top:1px solid #e7ecf2}.sku-form-section__header[data-v-0a41340a]{margin-bottom:14px}.sku-form-section__header--split[data-v-0a41340a]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.sku-form-section__title[data-v-0a41340a]{color:#263238;font-size:15px;font-weight:700}.sku-form-section__caption[data-v-0a41340a]{margin-top:3px;color:#6b7280;font-size:12px;line-height:1.45}.excel-intro[data-v-0a41340a]{display:flex;align-items:center;justify-content:space-between;gap:12px}.excel-workflow[data-v-0a41340a],.import-review[data-v-0a41340a]{border:1px solid #dfe5ec;border-radius:12px;background:#f8fafc}.workflow-block[data-v-0a41340a]{height:100%}.workflow-label[data-v-0a41340a]{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:600;color:#374151}.workflow-number[data-v-0a41340a]{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:#1976d2;font-size:12px}.excel-upload-box[data-v-0a41340a]{min-height:88px;border:1px dashed #b8c2cf;border-radius:10px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff}.excel-upload-box--selected[data-v-0a41340a]{border-color:#1976d2;background:#f3f8ff}.excel-action-row[data-v-0a41340a]{flex-wrap:wrap}.excel-summary-card[data-v-0a41340a]{min-height:88px}.excel-summary-card--valid[data-v-0a41340a]{background:#edf9f0}.excel-summary-card--invalid[data-v-0a41340a]{background:#fff1f1}.import-review[data-v-0a41340a]{padding:16px;background:#fff}.excel-empty-state[data-v-0a41340a]{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #d3dae4;border-radius:10px;background:#fafbfc;text-align:center}",""]),t.default=a},14102:function(e,t,a){e.exports=a.p+"fonts/IBMPlexSansKR-Medium.8dac784b.woff"},14163:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".section.section-05[data-v-47c2f169]{background:#f4f2ed}.section.section-05 .display-text-1[data-v-47c2f169]{font-family:IBMPlexSansKR-SemiBold;font-size:2.7rem;color:#0b1c60}",""]),t.default=a},15158:function(e,t,a){var l=a(54680);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("9476110e",l,!0,{sourceMap:!1,shadowMode:!1})},18131:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".title-heading[data-v-24386274]{display:flex;align-items:center;gap:4px}",""]),t.default=a},18242:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),i=a.n(i),o=a(4417),o=a.n(o),a=new URL(a(9511),a.b),i=i()(l()),l=o()(a);i.push([e.id,".pdfArea[data-v-99370c6e]{width:17cm;margin:0 auto;padding:0;background:#fff}.pdfArea .waybill[data-v-99370c6e]{width:17cm!important;height:11cm!important;margin:0!important;padding:0!important;border:none!important;box-shadow:none!important;page-break-after:always;-moz-column-break-after:page;break-after:page;background-color:#fff;background-image:url("+l+");background-size:cover;background-position:0 0}.pdfArea .waybill-list[data-v-99370c6e]{margin:0;padding:0;font-size:.825rem}.pdfArea .waybill-list li[data-v-99370c6e]{list-style:none}@media print{.pdfArea[data-v-99370c6e]{margin:0 auto;padding:0}.pdfArea .waybill[data-v-99370c6e]{background:none;page-break-after:always;-moz-column-break-after:page;break-after:page}}@media screen{.pdfArea[data-v-99370c6e]{margin:0 auto}.pdfArea .waybill[data-v-99370c6e]{page-break-after:always;-moz-column-break-after:page;break-after:page}.pdfArea .waybill.none-background[data-v-99370c6e]{background-image:none;background-size:none;background-position:none}.pdfArea .waybill[data-v-99370c6e]:last-child{margin-bottom:0}}.q-dialog__inner--minimized>div[data-v-99370c6e]{max-width:20cm}.wb-right-col[data-v-99370c6e]{position:relative;top:0;right:0;width:58px;height:363px;box-sizing:border-box;overflow:hidden}.wb-rotor[data-v-99370c6e]{position:absolute;top:-58px;right:-10px;transform-origin:bottom right;transform:rotate(-90deg);width:363px;height:58px;display:flex;align-items:center;gap:10px}.wb-rotor[data-v-99370c6e]>*{max-width:40%}.wb-line[data-v-99370c6e]{display:flex;flex-direction:row;align-items:center;font-size:10px;white-space:nowrap}.wb-label[data-v-99370c6e]{font-weight:700;margin-right:4px}.wb-value[data-v-99370c6e]{font-weight:500}.wb-rotor barcodeGenerator[data-v-99370c6e],.wb-rotor canvas[data-v-99370c6e],.wb-rotor svg[data-v-99370c6e]{display:block}",""]),t.default=i},18494:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".confirm-modal[data-v-12a93442]{width:420px;max-width:92vw}",""]),t.default=a},18549:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".page-title[data-v-78883006]{font-weight:600;font-size:30px;margin:0;color:#000;@media (max-width:600px){font-size:24px}}.partner{&[data-v-78883006]{font-size:16px;text-align:center;margin-top:.5rem;margin-bottom:0;color:#666}span[data-v-78883006]{font-weight:600;color:#000}@media (max-width:600px){&[data-v-78883006]{font-size:14px}}}",""]),t.default=a},21108:function(e,t,a){var l=a(58789);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("9753580e",l,!0,{sourceMap:!1,shadowMode:!1})},21524:function(e,t,a){var l=a(3609);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("10fe6a02",l,!0,{sourceMap:!1,shadowMode:!1})},21971:function(e,t,a){var l=a(31360);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("d3dc518e",l,!0,{sourceMap:!1,shadowMode:!1})},22406:function(e,t,a){e.exports=a.p+"img/banner-flight.0e8ada89.jpg"},22420:function(e,t,a){var l=a(42131);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("45466944",l,!0,{sourceMap:!1,shadowMode:!1})},23613:function(e,t,a){var l=a(82291);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("555cb9b5",l,!0,{sourceMap:!1,shadowMode:!1})},24047:function(e,t,a){var l=a(86733);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("762508a2",l,!0,{sourceMap:!1,shadowMode:!1})},24400:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".flow-banner[data-v-014d3caa]{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-left:5px solid #1976d2}.flow-banner--express[data-v-014d3caa]{border-left-color:#ef6c00;background:#fff8ed}.flow-mode-row[data-v-014d3caa]{display:flex;align-items:center;gap:10px}.flow-mode-badge[data-v-014d3caa]{min-height:28px;font-weight:700}.flow-mode-summary[data-v-014d3caa]{font-size:14px;font-weight:700;color:#223044}.flow-step-row[data-v-014d3caa]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.flow-step[data-v-014d3caa]{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:4px 9px;border:1px solid #c9d8e8;border-radius:6px;background:#f8fbff;color:#27384f;font-size:12px;font-weight:700}.flow-step--express[data-v-014d3caa]{border-color:#f4c281;background:#fffaf0;color:#633b0d}.flow-step-index[data-v-014d3caa]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:#263a56;color:#fff;font-size:11px}.flow-action-row[data-v-014d3caa],.flow-main[data-v-014d3caa]{display:flex;align-items:center;gap:8px}.flow-action-row[data-v-014d3caa]{justify-content:space-between}.flow-next[data-v-014d3caa]{font-size:13px;color:#374151}.flow-progress[data-v-014d3caa]{font-size:12px;color:#4b5563}@media(max-width:599px){.flow-action-row[data-v-014d3caa]{justify-content:flex-start}.flow-action-row[data-v-014d3caa],.flow-mode-row[data-v-014d3caa]{flex-direction:column;align-items:flex-start}}",""]),t.default=a},25185:function(e,t,a){var l=a(99435);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("67cda02c",l,!0,{sourceMap:!1,shadowMode:!1})},25414:function(e,t,a){e.exports=a.p+"fonts/titillium-web-v15-latin-200.7ae4cc7e.woff2"},26335:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".register-guide__tabs[data-v-1d73b53e]{background:#f8fafc}.register-guide__panels[data-v-1d73b53e]{background:#fff}.guide-heading[data-v-1d73b53e]{color:#183b56;font-size:20px;font-weight:700}.guide-copy[data-v-1d73b53e]{margin:8px 0 0;color:#607171}.guide-card[data-v-1d73b53e]{height:100%;padding:16px;border:1px solid #d8e1df;border-radius:12px;background:#fff}.guide-card__title[data-v-1d73b53e]{margin-top:10px;color:#183b56;font-weight:700}.guide-card__copy[data-v-1d73b53e]{margin-top:5px;color:#607171;font-size:13px}.guide-warning[data-v-1d73b53e]{color:#8b581d;background:#fff8e8}.guide-steps[data-v-1d73b53e]{display:grid;gap:14px;margin:20px 0 0;padding:0;list-style:none}.guide-steps li[data-v-1d73b53e]{display:flex;gap:12px;align-items:flex-start}.guide-steps li>span[data-v-1d73b53e]{display:inline-flex;width:28px;height:28px;flex:0 0 28px;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:#1976d2;font-size:12px;font-weight:700}.guide-steps b[data-v-1d73b53e],.guide-steps small[data-v-1d73b53e]{display:block}.guide-steps b[data-v-1d73b53e]{color:#183b56}.guide-steps small[data-v-1d73b53e]{margin-top:2px;color:#607171;font-size:13px}.same-sku-grid[data-v-1d73b53e]{display:flex;flex-wrap:wrap;gap:8px}",""]),t.default=a},26770:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".guide-heading[data-v-61f2d37e]{color:#183b56;font-size:20px;font-weight:700}.guide-copy[data-v-61f2d37e]{margin:8px 0 0;color:#607171}.guide-card[data-v-61f2d37e]{height:100%;padding:16px;border:1px solid #d8e1df;border-radius:12px;background:#fff}.guide-card__title[data-v-61f2d37e],.guide-subheading[data-v-61f2d37e]{color:#183b56;font-weight:700}.guide-card__title[data-v-61f2d37e]{margin-top:10px}.glossary-item span[data-v-61f2d37e],.guide-card__copy[data-v-61f2d37e],.guide-steps small[data-v-61f2d37e]{color:#607171;font-size:13px}.guide-subheading[data-v-61f2d37e]{margin-top:24px;font-size:16px}.guide-steps[data-v-61f2d37e]{display:grid;gap:14px;margin:14px 0 0;padding:0;list-style:none}.guide-steps li[data-v-61f2d37e]{display:flex;gap:12px;align-items:flex-start}.guide-steps li>span[data-v-61f2d37e]{display:inline-flex;width:28px;height:28px;flex:0 0 28px;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:#1976d2;font-size:12px;font-weight:700}.glossary-item b[data-v-61f2d37e],.glossary-item span[data-v-61f2d37e],.guide-steps b[data-v-61f2d37e],.guide-steps small[data-v-61f2d37e]{display:block}.glossary-grid[data-v-61f2d37e]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.glossary-item[data-v-61f2d37e]{padding:12px;border:1px solid #d8e1df;border-radius:10px;background:#f8fafc}.glossary-item b[data-v-61f2d37e]{color:#183b56}.guide-warning[data-v-61f2d37e]{color:#8b581d;background:#fff8e8}@media (max-width:600px){.glossary-grid[data-v-61f2d37e]{grid-template-columns:1fr}}",""]),t.default=a},28263:function(e,t,a){var l=a(46761);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("13f1c353",l,!0,{sourceMap:!1,shadowMode:!1})},28645:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".dashboard-card[data-v-4c8230ce],.dashboard-panel[data-v-4c8230ce]{height:100%;display:flex;flex-direction:column}",""]),t.default=a},29335:function(e,t,a){var l=a(28645);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("0a3d4940",l,!0,{sourceMap:!1,shadowMode:!1})},29354:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".applied-filter-row[data-v-6ea7861c],.quick-filter-row[data-v-6ea7861c]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.partner-names[data-v-6ea7861c]{max-width:180px}.table-load-more[data-v-6ea7861c]{border-top:1px solid #edf0f2}",""]),t.default=a},30439:function(e,t,a){var l=a(32018);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("fad2dde4",l,!0,{sourceMap:!1,shadowMode:!1})},31028:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".update-head[data-v-74de517e]{margin-top:1rem;margin-bottom:.15rem}thead{th[data-v-74de517e]{font-size:1.25rem}}tbody{td{&[data-v-74de517e]{margin-top:.25rem;margin-bottom:.25rem}&[data-v-74de517e]:first-child{font-size:1.5rem;text-align:center;width:150px}}}",""]),t.default=a},31360:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,'#consol-list-container{&[data-v-5dec4024]{display:flex;flex:1;flex-direction:row;height:100%;min-height:600px;background-color:#e6e6e6}.selected-consol-order-list[data-v-5dec4024],.side-consol-list[data-v-5dec4024]{position:relative}.empty-detail[data-v-5dec4024],.empty-list[data-v-5dec4024]{padding:24px 16px;color:#6f7d7d;line-height:1.6}.side-consol-list{&[data-v-5dec4024]{max-width:250px;overflow-y:auto;left:1px;z-index:101}.consol-list{&[data-v-5dec4024]{min-width:200px;overflow-y:auto;display:flex;flex-direction:column}.q-card{&[data-v-5dec4024]{cursor:pointer;box-shadow:none;border-radius:0;margin-bottom:0;border-right:1px solid #c8c8c8;border-bottom:1px solid #969696;background-color:#e6e6e6;position:relative;z-index:103;padding:20px 16px}&[data-v-5dec4024]:last-child{border-bottom:0}&.selected[data-v-5dec4024]{border:1px solid #c8c8c8;border-right:1px solid #fff;background-color:#fff;box-shadow:5px 5px 5px #c8c8c8;margin-bottom:8px;z-index:104}}.delete[data-v-5dec4024]{flex:auto}}}.selected-consol-order-list{&[data-v-5dec4024]{flex:1;overflow-y:auto;z-index:100;border:1px solid #c8c8c8;box-shadow:5px 5px 5px #c8c8c8;background-color:#fff;height:100%;min-height:600px;padding:10px}.my-sticky-virtscroll-table[data-v-5dec4024]{position:relative;height:100%;width:100%}}@media screen and (max-width:768px){&[data-v-5dec4024]{flex-direction:column}.selected-consol-order-list[data-v-5dec4024]{max-height:none;overflow-y:auto}.side-consol-list{&[data-v-5dec4024]{max-width:-moz-fit-content;max-width:fit-content;width:100%;left:0;bottom:-1px}.consol-list{&[data-v-5dec4024]{flex-direction:row}.q-card{&[data-v-5dec4024]{width:100%;border-bottom-right-radius:0;border-bottom-left-radius:0}&.selected{&[data-v-5dec4024]{border:1px solid #c8c8c8;border-bottom:1px solid #fff;background-color:#fff;box-shadow:5px 5px 5px #c8c8c8;margin-right:8px;margin-bottom:0;z-index:104}&[data-v-5dec4024]:after{content:"";position:absolute;left:0;width:100%;border-bottom:1px solid #fff}}}}}}}',""]),t.default=a},31377:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".section-title[data-v-5d3d383c]{font-size:1rem;font-weight:700}.pending-list[data-v-5d3d383c]{border:1px solid #f1c0c0;background:#fff7f7;border-radius:6px;padding:8px}.pending-title[data-v-5d3d383c]{font-size:12px;font-weight:700;color:#b42318;margin-bottom:4px}.pending-row[data-v-5d3d383c]{font-size:12px;color:#5f2120}.weight-source-badge[data-v-5d3d383c]{margin-top:3px;font-size:11px}",""]),t.default=a},32018:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".bundle-upload-box[data-v-e32a2fe0]{border:1px solid #d8dde6;border-radius:8px;padding:16px;background:#fbfcfe}",""]),t.default=a},33757:function(e,t,a){var l=a(6102);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("38e9c4b6",l,!0,{sourceMap:!1,shadowMode:!1})},34074:function(e,t,a){e.exports=a.p+"img/logo.a124dc3e.png"},35114:function(e,t,a){var l=a(26335);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("60546abe",l,!0,{sourceMap:!1,shadowMode:!1})},35632:function(e,t,a){var l=a(68651);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("1340b386",l,!0,{sourceMap:!1,shadowMode:!1})},35734:function(e,t,a){e.exports=a.p+"img/banner-hand-shake.4f516edd.jpg"},36393:function(e,t,a){var l=a(44651);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("33a38766",l,!0,{sourceMap:!1,shadowMode:!1})},36702:function(e,t,a){var l=a(18549);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("94bb4832",l,!0,{sourceMap:!1,shadowMode:!1})},37517:function(e,t,a){var l=a(45820);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("fdbceb36",l,!0,{sourceMap:!1,shadowMode:!1})},37567:function(e){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAFztJREFUeNrsXfmzHNV1Pv1mhCQEaEUIISGBkIgkFhWbzWqzRDYOIXb2xU6cxSknqVSSH/JL/oX8kMpeWZzFWZ29nDiV2BiXcVhisAWOwWCMkJBAaHsSetql9zr3aE4z/fp19927Z/m+qlPT090z783c8813zl3OTdI0JRckSUJAJbrKrlZ2ldgqsRXKlitbpmyxsnXKXle2Q9n/KPuCsr34+uLD1O8TEMQbm5Rdr2yj2AZl1ypbk31Vxa+u4pjxjLK/VPYpbkN8tSDIsGGJspvFblJ2g7KtohimJDC59ptik3DldgnSxVdV/zug7A5ltyu7Tdmtog5F505LnN0Hvy6PvwEladkBoCBzcJmyu8XeK+ajDHX36e79pLI/hZsixGobC5W9T+weZdsiksLm2tPKfgyJOwjSFjhsekDsroCkCEUQfv4JZX8Gl0YO0mQI9QFl28WWlH1/OWd1yS9C5iT3giDtYZwIcp2yh5V9SNmdEZw6dKKeYRvcFASJCe6OfUTZo9Qbrxg2XAs3BUFigH95PyzEWO8ZJpkct600AAhihC3Kvl/ZR5RdY+CYvg4fGzvhpiBICPCcpx8U22JBikHH83BTEMT3M/ywsh+h3uBeyATblkgxCPkVuCkI4gruAuWBtB8KmD/YhmIxVeopZZ+Hm4IgtuCp4x9V9uPK1o5w+/DMXoyigyBW4LGMjyl7yFEtfI6bBM/m/RRcFASxUY2fVPZT1Ft45JMTuKIp4mTT3TGTFwQxAk8i/LioR4jcIrRahCLO04QFUyCIBdjRfkZsg6OTtu30dTiubBdhyS0I4oD1yn5O2c8GdNzQxNHhgLLdyvYoe0tsv7JDyg4rew4uCIK4gNdk8DTv7R4hkg0ZXImTv/c7yl4Se0XsNWVTcDMQJCR4JJxX0m2JFNqEIs6rogA7xF5QdhIuBYLExC8IOVZEUI4QKvKU2DNi78CFQJAmwIuWflHZLw1gSMVEeCJnAAjSKLh+1C8r+wmNszZBhuw69yR9Udlj8ojQCQRpBZuEHB8OkDDbkqjs+rPK/kvsJbgH0CZBblT2K9RbHx4r1zAlBqvEfyj7HPW6YAGgVYLwar9fpV41ER81cA21MvBM2c8q+zdlp+AOwCAQhMnxa8ruN3DykCqRByfb/6Lsn5FfAINEkCysej/FmT2re58Xlf2Dsn+k3ig3MDzIt+tIEiRLyB8IFEbZEIzHKz6j7O+UfRO+NrTkyI7TUSMId+XyGMf23IdrKiH/krK/Ufbv8LOhJ0fjJGmCINkg4KMBk3ATYvBkwE8r+yvqTRIERoMcjYZbTRDk56m3bjxEEq47zh45Ced1FZ+Dj40sORohSbcBcnySwvZU6UbbebHRn1NvJi0wWmFV40oSkyBcuO0TNUQIkYfkz/Fef1zkGftpjAc5svNsM7FIEosgXByaFzota0A9+BwvVf1jQomccSNHdCWJQRDe3fWnlW02IIIvMfgcj4L/kbJvwL/GkhxU4k8DSxD+Rz9OvbEOUyL4hFUcUv2Bsn3wr7ElR4aJGKFWaIJ8TIwMcw3bPCTDOWW/L4Y5VCBHkiMJCVEGjiBcF/ejlgrhoh4nlP2uKAcw3uRIahL3dJAIspJ6C57WVzh+CPXgY54y8tuEioPjRA6XUItChVsTgT7sj9LsUqB5UqQ1CVRqcXxU2W+BHCCHYagVxLdDvMlDQhAbIqSWJOECa79DvQFAYPiRRgi1khLfnmibIBxa8d4cyyOqx3llvwflGFmSJB4k0BFpgjzLRvkShPfluM9SIWzVg5PxP4Q/IfxqI9TyefF7lf1AhLAqzR3/Bcgx8iqSOuYmjYRaTi9MkqRDvblWV2o+sAsxsue8foNHyDHOMZ6hlktIVeXjzRJE4fuov74j1aiHLTEY/6vsT5S9Df+BkjioRvF8Ryw+QZR6rBJymKiFSy7C1dB5CgmWxo4nQULmIEVfT6ITROERZXcYqgU5kIYXOj0Gnxl7FQmtJk4qYkUQpR6bhCCpQ+5hoiafFoIA44kZ6s+jCpWD5M93bFXEVkF4C7SNmtzDdcDwSWV/DR+BktQ4uq+aJLYqYkwQpR5bhSA6dTAJq4rPucDC31JvVSAAgsxECLOya10bv7dREC7Zs8YzrKpSl78nrAYE5oZaNmGWjhiJi4oYEUSpx2bq17QKnX9wBZLPwCeAmnzERDVswrKO8umJYARReFCjHkRuvVm8f98/EcY7AH2oFTLMmjBVES1BFNPWCUFCqUf+OReQ/m/4AmAQaoUgRlJQkcSbINQrNL3BQD1sifKysn+FDwAaTJN+lN0lzJoggwWDExr1uIT6ldh1pLAlymeFJACgC7WmKUw3b/GaVkV0CnKvslssSWFCFN4YE8WkgVgJu3GYpctFdBJzX4W82Z4rPv9PwlZngL2KTDiEWLprzIHz1gqilIc3u7nbQS10CsLduigqDbjkIjOeilEVZnVcQixeEHWpBymqiMK9VljjAbiSxDTEMiVN7cBht0I95lOvvm7R2YtyZRJW5c89SejWBfxVpBMwxCJREUrT1FhBeDr7tpwClIVLpmFV/hxPYz+NdgYCqYhPiJW/3q0SiyqC3F6RKPmEWs8rexztCwRSEd8Qq3i9Y0QQGfu4zUApUstzX1Z2BO0LeCItUREbtahMN8rGRMpkhcc9NlXkHzY5SP4cV19/Am0LBFSR1JAUZHg9GxM5rwuxtlnmGibhFifnr6JdgUCYof7oeqgQq1QwJgrhFb/o5hrnt0nWi6sFAaDtZF2nNt1ilFVkzA3KbqL6yWGmYVV2/gXqbZEGADGS9Y5jeEUViXonT74iQW6sUA/yyEGeJQwMAvGS9Y4nKcrCrEqCbCF95W3bhP2raEsgEjihnu9JiOK9ndIQS8VePK1ks0ZBbMmyQ9lzaEcgYpg1XRJmJRaEmKMgnIunMqyeV5Drqbes1jSkMlGQHWhDoAEVMa13ZXJPthz3fJEgm2piPRtS5M+/gPYDGlCRxJMUxfu6ZQTZSGY7/5jkIIw3CHuXA80QZIb6QxY+4VWGTlmSvsFSPXTXufj0FNoPiIy0Ig9xTdTnEkTlJFcLQWwJUaci30LbAQ2qiA8hkpJEvaPy9OlMQdYZhFO2KoKCDMCg5CEuinJhwDBPEF9C5K/vUfYK2g1oKQ/xUZPsNZ18DrJWE+OZhlUZXiMsjAIGKw+xVZNZBLmK6svO25JmJ9oMaDkP8VWSiXeTESGIjYLoQq9daC+gRYK47o2eFBL1CwrCew5ebqkgOuLsRnsBDWOGwo2mZwrS6Qo5dPGdzR+blCQdANpM1JMA7znR1aiH7g+Vve4tZSfRXkALiXpK7r1WlQRZ5qEgZW++H20FtKgi3QAJ+iyCLDcggU0ucgDtBLSoIkmg90qyHGSxxR83eVMUpQbaTNRDJenvKshlhs5vmpNMop2AFgmSBHy/JCOIrYzVAcXhgEFWEBs1uRBiLbJUEN2bH0M7ASOQg7yrIAs9/pkyHEc7AUOiIEYEWeCoIFXAGAjQpoLYJuK1STqPOs4L/E9iFi8wUiFWN7CCnEU7AQOAJBRBJsh+omIdptE2wIgoiHaX2xTfOTDOyOr/dAO+55w9FgCgwbAqpIKkExGc+SK0EzBKCnKG9AWAbcDdxujqBdrARAwFCdEtm980ZyHaCWgxxAqa9Hfl1z5kMn4J2gkYQgUp48AME+SE55sUcSnaCWiRIEHVhwlyLLCCLEY7AS3BdBsE0x/8mYwgvqqRx1K0EzAkCpKYEOSop4IUX7sc7QS0hK6B09v4+gWCHAmoHowVaCegxRDLVzXyvn+hePWkAxFSEAQYMgWx9fEkU5BDgZQje81K6o2FYOtnoOn8Y56HcpT5/PkJIUhasLo3qbIMS5StRnsBLahH1otVZiaKUbRpJgjXsTpoSQIdadaivYCGcRHpN/O0Ic/5CwrC20ypg30e6lF2zxq0F9Aw5tUQwUk9eKv0rN94nyURSHPP1WgvYIAUxCXsmrUN9F5NCGWaoOcJwjOEz6DdgAaQUH+ZRWLhw3U9XueyzJ/xpoEqkOE9/PxKZdei3YCGMN9BQXSEm0UQ3s9j2oEMVHN9A9oNaJAgtmTQ3dMniEpGWEF2eapH8fx1aDegISzwJEPxnnOKE7MUhKh8X0GTHquqa0yQRWg7IDImNAriEnKdzb95htc9CVG8xhuDXo/2AyJjoRCkytlNc4/8PaUE2WlBCDIky2a0H9AAQeqc3SXcOlNFkH0OyXjZeRAEaJIgiYeCFK+fKyWISkq4KvurDiFV3TkmyA1oQyASLhYLqSBnFRdmyhSEhCA2+YcJgUAQICZBbAhBBtdnVfkpVlR8JefgVUgNz1GOIBhVB0KDf9wX5Ry7auuDtECGOr9NigQpKsi3lX0roHowNim7Ge0JBMaiQoLuoiBl6lFNkJSnLxK9bJl76HISxja0JxAYl1Q4f+JBltM9ClQrCOOlAKQonmMFwQxfIBTm09wChSHIcrIsjisjyM4ApMif40ont6BdgUDg4oTzSN+1a6MePDh4SksQJTHMohctFMQ0zGKCXIa2BTzRFYL4kKJUPfLdu3UKwvg/x1yj7J7seKOy29C+QAD1uNghrNKdL92RoI4gLzuGVXXPb6ewWy0A4wX218UaYuhUpew8h1YnjAmipIbjsecDhFXF6zcpuwPtDDhiMc0tjm6iIDr1OJEWu680CsL4hrDKJ6wqu/89UBHAQz10JCDLc9NUs8NBJUEUoXjaydcNFcTkeXbMYyJ3or0BS3C9tcsMiGFLFFaPU9YEEezwyDfq1OROwjYJgDm452ppCRFChFrHdbJVh68bJuu2YRbP8r0b7Q4YYhn1BwbzDu4aVmXnWDmmnAkiYyLPeeQbdWpyF2F0HdBjYU49qhTElShTZWMfNgrC+Br162aFDLO4POm9aH9AA56FcXGFk/vkH9xTq9s8Sk8QxTBeZfhVz0S9ijT3UG9sBACqEvNlNWTwSdSPyXCGH0EEzyrbH0hB8scLREWwbRtQBBeCW0Fz9/ywIUYVUXhZ7Tsm/4QRQRTTduVUxDe0Kp7nBVXvhz8ABTA5FgciRvH5O8qnTwcjiOAZUZEQoVXxnvsIs32BPjiiWOmQc5g8N1YPK4Ioxr0uJAkRWhWPeQDofmVXwDfGHhx2X14RWiUG+Qhp8g/etPZUcIIInqZej1YoYuSPeWzkAfjH2GMl9SckmiTnNvnHGSEIRSGIUhEucv2UZWhlepyKijwIHxlbcASxypIMNmEW7+h8OhpBBE9Sv7BDSAXJwCqCIg/jmXesqiAAGapJXdh1guq3PA9DEKUik0ISXU+Vi4JkvRcPKVsHnxkbLBJyLKhwcldi5K9NSoIelyA5FXkqgoLkSwU9RBgfGQfweMeVJXmHS85Rde2Ii3o4E0Q2/vyKssOeClJFkmz14XdTf2stYPTA/se7AFxeoRqmOUcdac6KeqSNEUTA1U+esEzWdeMhxfs4ad8OPxpZrBH1qMo7fHqwKBdaTfkw2Adfpt7KQ9NQy1RB8tc+CJKMLDnW1Di+KTGo5hpPRjzkK3E+OCokOeYRUlENSbIP+gFRE2A0sFrIkWgIYdKbVdWte17Ica5NgjB4UdWXyK4r10RB8se8hv1hZe+Db40EOXgdUNdBNUxDLsZBshwUjEWQLNTaESEHyZ/jhTMfIkxsHGZwQs7d9/McVcM0FzkqBKFBIQj/Q49TfzKjKSF04VUZSb6Hel3AwHCBF8itLyGHiWrYJOk8Un7AN7QKTRAG92p90ZIQNuTIHi8SkjxM6AIeBnSEGNfkwqrEI7SqUpjs+QEyWCnYBkFIcpHHLdTClhxpIXF/hHqrzoDBBOeO1wpBEg05XEOr/Ov20+wlGQNHEHbgx5S9QGaj5i7kyD/eKyRZA18cOHAFxA1k1pUbopuXw/y3Q3+IiQhfzEEJtfY6qEXqQBJeaPWosq3wyYEBz6e7jmZPPiwLiUKR5KSQ48wwEITBtbS+UIgFQ4VXZY8bhCT3wDcHIhnnuXTLDEKqECThZHxfyLxjFnsravbqX5gkJrfxCPhHPPIR20euccSTKJ+kQN18gDG4NM/VuZDKtu1szuWf71b2lnUuYOj3sQlCQpDt5N616/LIdYV59eM34beN4AohxjJHIpiSpHjMYfwbTsmyod93G/jyPk+98Yt7AigIVfyKFJ9n8S9PhONqLO/Ah6NgAfXnVF0k33+ieSzmH8Vrdefyx/tdlGPQQqwMXB3ve6lfJM73V8WkRyx75L3fn4WaBMcqIcZyT8V3OXdQQivnpHyQQqwMVwpJbopADh1ZuIoFzxn7miR0gDu4As1VQo5OoLDY5twhCatO+nyIQSQISRLH86m2NpCPlJ3jrkCeM8a7Zx2Hr1thvhCD7VJy65a3vad4fVLI4d12g0oQxjohyZYGkvUqsrxGvXUsvBfjWfh+LTpCitUSToVqF1uSHJGwairEhxpkgmQk+aAoiQspio5PFr9o+WPOT14UOwcuzCHGagmNV1p8rzFCrMmQ5BgGgjB4QInnU90YONRyuYe7hXmy5cu+se2IhFKrhByXB/iuffLNLOfYHTokHgaCZD0hPEZyS8MhVtU5Loz3bbEDY5h8rxJbGoAMIchyQHKOE6E/7LAQhMGDS7y+485I5DBp4OIxj5t8R3KVnSMcfnUlfLpCbGEApXBNyIuPbwk5Tsf44MNEEAZPU+CKig865B0u+YjNuT0i8bvkcRSwUsKnlVQ9+h0ytLINsXbL9x7th2nYCJLhfrFFgUMuG/Wou86/aHtzdmZICHGR9ECtyJnp528yxDor3/Ebsb+QYSUI41bqrTtf3WCoZUOc7PiwhAE8trKfAi7zDBQ6LRVbTrN3iQ1NilCqMSXEeLuJL2iYCcLguVS8qc4Wg1DLpavXhRi665PS43JYjJ8fpfjjLLzGmwfuFkuizY9LhBC+ny+0ilRdy0bHjzT1CzLsBCH55eMVg3dHDrVcwi/T45OS8E9JN+Vx6ZE5JcnnGVEdNi7nmm1JzOt0OuL88yRE4u7XBZJIL5S8bZHYAvKrhxyKDC4J+h4hxylqEKNAkAt/hnr7qd9F+j75pkMtW7L4ki0UcW3DrFgJ+kkhxp42YtBRIUiGjdTrBt5K7nW1mshLYh6HJkVo9bB5PCDEONxWkjZI60FC4FVJhHkm7ntyCafuF0v7PXmcaxpV6yNs7rE9l3h+9uL7nMv1BA5FD+CwKEgerCK8ruT6FkOt0OFXzOO2EvIy1dhLAzJDYdQUJI8XRZ6ZJLeSe10sn1/G1OJ6G+qTBPi7oVTktBBjDw3PuNFQK0geXM2E53Fto2YGEmMpRxOva0M13hRyHB40xx9lBcmD50rx/u07hSTXWCpA6ngthio1pSR1imCyjtwEk0KMNwfwOxkrBcmDB8h4d1xe0muyfiGkivj+0sfOL5pSjSkhBs8wODXIjj9q3bw24FmpN4otcXSIYSFLyKTchzAnRS3epICLmkCQuFgtPV48XWUpxVlsNYgEajLnOCFqwXaUhgggSB+8ZHSzsu+i2bNY2wq9YhCkadXgMp/7hBhDWXMMBJkLntvFNWN5/GStp5M0fS7W/6J7z+L5/Azmoa4KA4JUgyf98dSV68TmRyDGIBLEVS3OCiEyG4nVlSCIGbicDXcN8yYvayI4WhMECa0a+eqFPOrNU3wmacQAgtiBx4PWU68cEdtKR4cMGfaEVAZTohwRUmQ2TSMKEMQvBFsrllUSbLJ7OGboVLVY6ZAoxkEak/pgIEg4rKZ+ATUuibO4oV/2WOHUFPVXPR4WcowdQJA4WCDhV1YVJF8AoW2ClN2Tlew8Ko+T8jj25VZBkObAg5DLqF8kIVsbfkmEkKzu2glRBzYemziWewRAkIECrym/VEiSrRvnNeQLJcdh43Xm86SDoCOvyb7UabHz1F+zfkbstBjPdTopxuQ4TkM+MXAQCfL/AgwA5RiTZrxUXwcAAAAASUVORK5CYII="},37659:function(e,t,a){var l=a(82468);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("23c269cb",l,!0,{sourceMap:!1,shadowMode:!1})},39609:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".consol-memo[data-v-05d0c444]{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.consol-range-notice[data-v-05d0c444]{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #d8e2ec;border-radius:6px;background:#f8fafc;color:#52616f;font-size:12px}.consol-summary[data-v-05d0c444]{border:1px solid #e0e0e0;border-radius:6px;padding:8px 10px;background:#fafafa}",""]),t.default=a},40124:function(e,t,a){e.exports=a.p+"img/main01.29d6bcb1.jpg"},40339:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),i=a.n(i),o=a(4417),o=a.n(o),s=new URL(a(80352),a.b),r=new URL(a(25414),a.b),n=new URL(a(91427),a.b),d=new URL(a(6115),a.b),c=new URL(a(62283),a.b),u=new URL(a(14102),a.b),m=new URL(a(74200),a.b),p=new URL(a(80653),a.b),g=new URL(a(64264),a.b),h=new URL(a(68392),a.b),b=new URL(a(50666),a.b),a=new URL(a(37567),a.b),i=i()(l()),l=o()(s),s=o()(r),r=o()(n),n=o()(d),d=o()(c),c=o()(u),u=o()(m),m=o()(p),p=o()(g),g=o()(h),h=o()(b),b=o()(a);i.push([e.id,"@font-face{font-family:Titillium-Web;font-style:normal;font-weight:400;src:url("+l+') format("woff2")}@font-face{font-family:Titilliu-Web-light;font-style:normal;font-weight:100;src:url('+s+') format("woff2")}@font-face{font-family:Titilliu-Web-bold;font-style:normal;font-weight:700;src:url('+r+') format("woff2")}@font-face{font-family:IBMPlexSansKR-Light;src:url('+n+') format("woff");font-weight:400;font-style:normal}@font-face{font-family:IBMPlexSansKR-Regular;src:url('+d+') format("woff");font-weight:400;font-style:normal}@font-face{font-family:IBMPlexSansKR-Medium;src:url('+c+') format("woff");font-weight:400;font-style:normal}@font-face{font-family:IBMPlexSansKR-SemiBold;src:url('+u+') format("woff");font-weight:400;font-style:normal}body{font-style:normal;font-weight:400;font-family:IBMPlexSansKR-Regular,Titillium-Web;word-break:keep-all;min-height:100vh;min-height:-webkit-fill-available}html{height:-webkit-fill-available}main{min-height:100%}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{font-size:16px!important}#app{min-height:100vh}.admin-nav{box-shadow:0 0 5px #dcdcdc}#site-container{position:relative}#site-container .container{height:100%}.admin-background{background-color:#f5f5f5;padding-left:3rem;padding-right:3rem}footer{background:#3a3a3a;color:#fff}footer .container .row .col{margin-left:10px;margin-right:10px}footer .container .row .col h4{line-height:1.8rem;margin-bottom:1rem}footer h4{font-family:IBMPlexSansKR-SemiBold;font-size:1.5rem}footer dl,footer dl dt{margin:0;padding:0}footer dl dt{font-size:1.125rem}footer dl dd{margin:0;padding:0;font-size:.875rem}@media(max-width:766.98px){footer .row{flex-direction:column}footer h4{font-family:IBMPlexSansKR-SemiBold}footer dl dt{font-size:1.75rem}footer dl dd{font-size:1.25rem}}@media(max-width:575.98px){footer .row{flex-direction:column}footer .menu{display:none}footer h4{font-family:IBMPlexSansKR-SemiBold}footer dl dt{font-size:1.25rem}footer dl dd{font-size:1rem}}.doc-page{padding:16px 46px;max-width:1200px;margin-left:auto;margin-right:auto}@media(max-width:575.98px){.doc-page{padding:16px 16px;max-width:1200px;margin-left:auto;margin-right:auto}}.section{position:relative;overflow-y:hidden}.section .section-title{font-family:Titilliu-Web-bold;font-weight:700;display:inline-flex;padding:0 10px 5px 10px;border-bottom:8px solid #ffc72b}.section.section-bg{height:300px}.section.section-bg.bg-site{background-color:#003c7e;background-size:cover;background-repeat:no-repeat;background-image:url('+m+")}.section.section-bg .container{height:100%;display:flex}.section.section-bg .container .row{width:100%}.section.section-bg .container .row .page-title{color:#fff;position:relative;margin-bottom:0;margin-top:0;text-shadow:0 0 5px #000}.section.section-06{background:#fff}.section.section-06 .display-text-1{font-family:IBMPlexSansKR-SemiBold;font-size:2.7rem;color:#0b1c60}.section.section-service-01{background-image:url("+p+");background-size:cover;background-position:50%;height:50vh}.section.section-service-01 .container,.section.section-service-01 .container .row{height:100%}.section.section-service-01 .container .row .page-title{color:#fff;position:relative;top:1.5rem}.section.section-service-02 h3,.section.section-service-03 h3{font-family:IBMPlexSansKR-SemiBold;font-size:2.5rem;color:#ffc72b}.section.section-service-02 p,.section.section-service-03 p{font-family:IBMPlexSansKR-Regular;font-size:1.25rem;color:#000}.section.section-service-03{background:#f4f2ed}.section.section-service-03 p{font-size:1rem}.section.section-service-flight-01{background-image:url("+g+")}.section.section-service-ocean-01{background-image:url("+h+")}.section.section-service-flight-01,.section.section-service-ocean-01{background-size:cover;background-position:50%;height:50vh}.section.section-service-flight-01 .container,.section.section-service-flight-01 .container .row,.section.section-service-ocean-01 .container,.section.section-service-ocean-01 .container .row{height:100%}.section.section-service-flight-01 .container .row .page-title,.section.section-service-ocean-01 .container .row .page-title{color:#fff;position:relative}.section.section-service-flight-02 h3,.section.section-service-ocean-02 h3{font-family:IBMPlexSansKR-SemiBold;font-size:2.5rem;color:#ffc72b}.section.section-service-flight-02 p,.section.section-service-ocean-02 p{font-family:IBMPlexSansKR-Regular;font-size:1.25rem;color:#000}.section.section-notice-01{background-image:url("+p+');background-size:cover;background-position:50%;height:30vh}.section.section-notice-01 .container,.section.section-notice-01 .container .row{height:100%}.section.section-notice-01 .container .row .page-title{color:#fff;position:relative}@media(max-width:991.98px){.section .row .display-text-1{font-size:2rem}.section .row .display-text-2{font-size:1.5rem}.section.section-03{background-position:100%}.section.section-03 .banner .banner-text-01{font-size:2rem}.section.section-03 .banner .banner-text-02{font-size:1.2rem}}@media(max-width:575.98px){.section .row .display-text-1{font-size:1.75rem}.section .row .display-text-2{font-size:1rem}.section.section-03{background-position:100%;height:180px}.section.section-03 .banner{height:180px}.section.section-03 .banner .banner-text-01{font-size:1.5rem}.section.section-03 .banner .banner-text-02{font-size:1rem}}.col .col-min-w{min-width:150px!important}.q-page-container{background:#f0f0f0}.comp-box{border-radius:.5rem;box-shadow:0 0 5px #dcdcdc;background:#fff;margin-left:.25rem;margin-right:.25rem;padding:1.5rem}table td{vertical-align:middle}.table-hover-pointer tr:hover{cursor:pointer}.q-table__container.q-table__card{box-shadow:none}.btn{font-family:IBMPlexSansKR-SemiBold}.btn.btn-primary{background-color:#0b1c60}.btn.btn-in-main{color:#0b1c60;font-size:1.2rem;font-weight:700;padding:.875rem 1.5rem;background-color:#ffc72b;border-radius:2rem}.btn.btn-in-main.with-border{border:1px solid #000}.btn.btn-in-service{color:#fff;font-size:1.2rem;font-weight:700;padding:.875rem 1.5rem;background-color:#0b1c60;border-radius:2rem}.btn.btn-in-service.with-border{border:1px solid #000}.btn.btn-box{font-family:IBMPlexSansKR-Regular;color:#fff;font-size:1.2rem;font-weight:700;width:100%;padding:1.4rem 1.5rem;background-color:#0b1c60}.btn.btn-box strong{font-size:2.5rem;display:block;line-height:2.5rem}.btn.btn-box.brighter{background:#858daf}@media(max-width:575.98px){.btn.btn-in-main{font-size:1rem;padding:.875rem 1.5rem;background-color:#ffc72b;border-radius:2rem}}.tab-nav{display:flex;flex:1;justify-content:center}.tab-nav li{font-family:IBMPlexSansKR-Light;padding:.5rem 1rem;margin:0;list-style:none;position:relative}.tab-nav li:hover{cursor:pointer}.tab-nav li:after{content:"";position:absolute;right:0;top:25%;height:50%;border-right:1px solid #787878}.tab-nav li.active{font-family:IBMPlexSansKR-SemiBold}.tab-nav li:last-child:after{border-right:0}#stepper.q-stepper .q-stepper__header--alternative-labels .q-stepper__tab{padding:18px 8px 12px;justify-content:center}#stepper.q-stepper .q-stepper__header--alternative-labels .q-stepper__tab .q-stepper__title{font-size:.675rem}.navbar{font-family:IBMPlexSansKR-Medium;background:transparent;padding:0!important;position:sticky;z-index:1000;width:100%;top:0}.navbar .navbar-brand{margin-left:2rem;margin-right:1rem}.navbar .navbar-brand #site-logo{height:auto}.navbar .navbar-back{max-width:1440px;background:#fff;box-shadow:0 5px 10px rgba(0,0,0,.2);flex-wrap:nowrap;align-items:stretch}.navbar .navbar-back #navbarNavDropdown .navbar-nav{flex:1;height:100%}.navbar .navbar-back #navbarNavDropdown .navbar-nav .nav-item{display:flex;flex-grow:1;height:100%;position:relative;justify-content:center}.navbar .navbar-back #navbarNavDropdown .navbar-nav .nav-item.active:after{content:"";position:absolute;width:60%;height:6px;bottom:0;background-color:#ffc72b}.navbar .navbar-back #navbarNavDropdown .navbar-nav .nav-item .nav-link{display:flex;align-items:center;color:#323232;font-weight:600;font-size:1.25rem;height:100%}.navbar .navbar-back #navbarNavDropdown .navbar-nav .nav-item-user{position:relative;display:flex;justify-content:center}.navbar .navbar-back #navbarNavDropdown .navbar-nav .nav-item-user .nav-link{display:flex;align-items:center;padding-left:1rem;padding-right:1rem;color:#323232;font-weight:600;font-size:1rem}.navbar .navbar-back #navbarNavDropdown-mobile .navbar-nav{flex:1;height:100%}.navbar .navbar-back #navbarNavDropdown-mobile .navbar-nav .nav-item{display:flex;flex-grow:1;height:100%;position:relative;justify-content:center}.navbar .navbar-back #navbarNavDropdown-mobile .navbar-nav .nav-item.active:after{content:"";position:absolute;width:60%;height:6px;bottom:0;background-color:#ffc72b}.navbar .navbar-back #navbarNavDropdown-mobile .navbar-nav .nav-item .nav-link{display:flex;align-items:center;color:#323232;font-weight:600;font-size:1.25rem;height:100%}.navbar .navbar-back #navbarNavDropdown-mobile .navbar-nav .nav-item-user{position:relative;display:flex;justify-content:center}.navbar .navbar-back #navbarNavDropdown-mobile .navbar-nav .nav-item-user .nav-link{display:flex;align-items:center;padding-left:1rem;padding-right:1rem;color:#323232;font-weight:600;font-size:1rem}.user-area{text-align:center;text-decoration:none;color:#323232}.user-area .welcome-text{text-decoration:none;line-height:1.4;color:#323232;font-size:.75rem}.navbar-toggler{display:flex;align-items:center}.dropdown-menu[data-bs-popper]{top:90%}#navbarNavDropdown-mobile{width:100%;text-align:center;background:#fff;padding:3rem 0}#navbarNavDropdown-mobile .navbar-nav .nav-link{color:#323232}#signup-container{background-image:linear-gradient(65deg,#0b1c60 20%,#003c7e);width:100%;max-width:none;padding:8rem 4rem;margin-top:0}#signup-container .white-box{max-width:768px;padding:3rem 1rem;margin:0 auto;border-radius:5px;background-color:#fff;box-shadow:0 0 7px rgba(0,0,0,.5)}#signup-container .user-icon{border:4px solid #003c7e;border-radius:50%;width:78px;height:78px;margin:0 auto}#signup-container .user-icon svg{color:#003c7e}#signup-container .form-label{color:#0b1c60}@media(max-width:575.98px){#signup-container,#signup-container .doc-page{padding:0;margin:0}}#login-page{height:100vh;max-width:100%;background-image:linear-gradient(65deg,#0b1c60,#003c7e)}.form-signin-wrapper{max-width:500px;margin:0 auto;display:flex;box-shadow:0 0 7px rgba(0,0,0,.5);border-radius:5px;overflow:hidden}.form-signin-wrapper .img{flex:1;overflow:hidden}.form-signin-wrapper .form-signin{padding:1rem 2.5rem 4rem;flex:1;min-width:10rem;background:#fff;text-align:center}.form-signin-wrapper .form-signin .form-signin .checkbox,.form-signin-wrapper .form-signin .form-signin-heading{margin-bottom:10px}.form-signin-wrapper .form-signin .checkbox{font-weight:400}.form-signin-wrapper .form-signin .form-control{position:relative;font-size:16px;height:auto;padding:10px;box-sizing:border-box}.form-signin-wrapper .form-signin .form-control:focus{z-index:2}@media(max-width:767.98px){.form-signin-wrapper .img{display:none}}.account-wall{margin-top:20px;padding:40px 0 20px 0;background-color:#f7f7f7;box-shadow:0 2px 2px rgba(0,0,0,.3)}.login-title{color:#555;font-size:2rem;font-weight:400;display:block}.profile-img{width:96px;height:96px;margin:0 auto 10px;display:block;border-radius:50%}.need-help,.new-account{margin-top:10px}.new-account{display:block}#globalModalRegiParcel .q-dialog__inner--minimized{padding:0}#btnAddParcel,#newParcelForm .card{min-height:10rem;height:100%}#btnAddParcel{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem;color:#787878}#btnAddParcel:hover{color:#003c7e;border:1px solid rgba(0,0,0,.725)}#parcel-form table .row:nth-child(2n),#parcel-form table.readonly .row:nth-child(2n){background:#e6e6e6}#parcel-form table.readonly .row:nth-child(2n) input:disabled{background-color:#e6e6e6}#parcel-form table.readonly .row input{border-radius:0;border:0;border-bottom:1px solid #c8c8c8}#parcel-form table.readonly .row input:disabled{background-color:#fff}#calculator .cal-section-title{font-family:IBMPlexSansKR-SemiBold;font-size:1.4169rem;width:100%;text-align:center;padding:0 10px 5px 10px;border-bottom:3px solid #ffc72b}#calculator .input-group .input-group-text{font-size:1.4169rem;background:none;border:0;border-radius:0}#calculator .input-group .form-control{background-color:transparent;border:0;border-bottom:2px solid #81807d}#calculator .info{font-family:IBMPlexSansKR-Regular;font-size:1.0831rem}#calculator input[type=number]{text-align:right}@media(max-width:991.98px){#calculator .cal-section-title{font-size:1.4169rem;padding:0 10px 5px 10px}#calculator .input-group .input-group-text{font-size:1.2rem}#calculator .info{font-size:1.0831rem}}@media(max-width:767.98px){#calculator .cal-section-title{font-size:1.4169rem;padding:0 10px 5px 10px}#calculator .info,#calculator .input-group .input-group-text{font-size:1rem}}@media(max-width:575.98px){#calculator .row .col{padding-left:10px;padding-right:10px}#calculator .cal-section-title{font-size:1.4169rem;padding:0 10px 5px 10px}#calculator .input-group .form-control,#calculator .input-group .input-group-text{font-size:.75rem}}.modal.depth2{z-index:1155}.modal-backdrop.depth2{z-index:1150}.modal-size-md{height:500px;max-width:80vh}.customer-list{padding:1rem}.customer-list:hover{cursor:pointer;background-color:#f5f5f5}.spinner-backdrop{background:rgba(0,0,0,.25);width:100vw;height:100vh;z-index:7000;position:fixed;top:0;left:0;display:flex;justify-content:center;align-items:center}.spinner-backdrop .spinner{background-image:url('+b+");background-repeat:no-repeat;background-size:contain;width:50px;height:50px;animation-duration:1.2s;animation-name:spinning;animation-iteration-count:infinite}@keyframes spinning{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}",""]),t.default=i},41086:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".section-title[data-v-0ce224a8]{font-size:1rem;font-weight:700}",""]),t.default=a},41621:function(e,t,a){var l=a(58835);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("02b682c7",l,!0,{sourceMap:!1,shadowMode:!1})},42009:function(e,t,a){var l=a(49871);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("10fb830c",l,!0,{sourceMap:!1,shadowMode:!1})},42131:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".action-guide[data-v-79fe44a8]{border:1px solid #d8e3ef}.action-guide--link[data-v-79fe44a8]{background:#eef7ff}.action-guide--create[data-v-79fe44a8]{background:#f3f8ff}.action-card[data-v-79fe44a8]{height:100%;border:1px solid #e1e6ed;border-radius:10px;background:#fff}.action-card--recommended[data-v-79fe44a8]{border-color:#90caf9;background:#f8fbff}.action-card-label[data-v-79fe44a8]{color:#607d8b;font-size:12px;font-weight:600}.processed-state[data-v-79fe44a8]{display:flex;align-items:center;border:1px solid #c8e6c9;border-radius:10px;background:#f1f8f2}",""]),t.default=a},42568:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".confirm-modal[data-v-d4888380]{width:420px;max-width:92vw}",""]),t.default=a},42634:function(){},42641:function(e,t,a){e.exports=a.p+"img/service-img-02-1.9886b7ae.png"},43747:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".inventory-page[data-v-fce2b50c]{min-height:calc(100vh - 58px)}",""]),t.default=a},44651:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".section.section-04[data-v-6177fb88]{background:#fff;padding-bottom:3rem}.section.section-04 .display-text-1[data-v-6177fb88]{font-family:IBMPlexSansKR-SemiBold;font-weight:700;font-size:2.7rem;color:#0b1c60}.section.section-04 .display-text-2[data-v-6177fb88]{font-size:1.75rem;color:#0b1c60}",""]),t.default=a},45820:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".bar-search[data-v-9fc68bc8]{max-width:400px;min-width:280px}.dashboard-page[data-v-9fc68bc8]{max-width:1680px;margin:0 auto}.dashboard-toolbar[data-v-9fc68bc8]{border-bottom:1px solid #e7e9ed;padding-bottom:16px}.section-title[data-v-9fc68bc8]{font-size:1rem;font-weight:700;margin:0 0 10px 4px;color:#3d4652}.comp-box{&[data-v-9fc68bc8]{display:flex;flex-direction:row;align-items:flex-start;justify-content:center;height:-webkit-fill-available;margin-left:0;margin-right:0;border:1px solid #edf0f3;border-radius:10px;background:#fff}.title[data-v-9fc68bc8]{font-size:1rem;margin-top:0;line-height:inherit}.count[data-v-9fc68bc8]{font-size:1.4rem}}.btn-refresh[data-v-9fc68bc8]{height:-moz-fit-content;height:fit-content}.dashboard-summary[data-v-9fc68bc8]{height:100%;min-height:122px;transition:box-shadow .15s ease,transform .15s ease;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr auto;align-items:start}.dashboard-summary[data-v-9fc68bc8]>:first-child{grid-column:1;grid-row:1;font-size:1rem;font-weight:700;color:#303947}.dashboard-summary[data-v-9fc68bc8]>:nth-child(2){grid-column:2;grid-row:1;font-size:1.7rem;font-weight:700;line-height:1.1;text-align:right}.dashboard-summary[data-v-9fc68bc8]>:nth-child(3){grid-column:1/-1;grid-row:3;width:100%;text-align:right}.dashboard-summary--action[data-v-9fc68bc8]{cursor:pointer}.dashboard-summary--action[data-v-9fc68bc8]:hover{box-shadow:0 5px 16px rgba(30,60,90,.12);transform:translateY(-1px)}.dashboard-partner-panel[data-v-9fc68bc8]{height:auto;display:block}.dashboard-panel[data-v-9fc68bc8]{padding:20px}.dashboard-alert[data-v-9fc68bc8]{height:auto;border-left:4px solid #f2a31a}.partner-table-scroll[data-v-9fc68bc8]{overflow-x:auto}",""]),t.default=a},46761:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,"h5[data-v-7b5c6d94]{margin-block-end:.5rem}.btn[data-v-7b5c6d94]{border-radius:0}.delete[data-v-7b5c6d94]{flex:auto}.no-gutter[data-v-7b5c6d94]{padding:0}.lg-width[data-v-7b5c6d94]{width:70vw;max-width:1024px}.custom-label.required[data-v-7b5c6d94]{color:#e53935}.custom-label[data-v-7b5c6d94]{color:#e53935;font-weight:700}@media(min-width:320px){.lg-width[data-v-7b5c6d94]{width:90vw;max-width:inherit}}@media(min-width:600px){.lg-width[data-v-7b5c6d94]{width:90vw;max-width:inherit}}@media(min-width:1024px){.lg-width[data-v-7b5c6d94]{width:70vw;max-width:1024px}}.form-column-wrap[data-v-7b5c6d94]{display:flex;flex-direction:row;flex-wrap:wrap;gap:30px}.form-column-wrap .q-field[data-v-7b5c6d94]{flex:1;flex-basis:150px}.form-column-wrap .mobile-country[data-v-7b5c6d94]{flex-basis:120px;min-width:110px;max-width:120px}.order-summary[data-v-7b5c6d94]{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(280px,1fr);gap:18px 32px;padding:22px 24px;margin-bottom:12px;border:1px solid #dfe5ec;border-radius:14px;background:linear-gradient(135deg,#f7faff,#fff 70%)}.footer-actions__inner[data-v-7b5c6d94],.order-summary__meta[data-v-7b5c6d94],.order-summary__statuses[data-v-7b5c6d94],.packing-action-card[data-v-7b5c6d94],.packing-action-card__controls[data-v-7b5c6d94]{display:flex;align-items:center}.order-summary__statuses[data-v-7b5c6d94]{justify-content:flex-end;gap:14px;flex-wrap:wrap}.summary-status[data-v-7b5c6d94]{display:flex;align-items:center;gap:6px;font-size:12px;color:#5f6b7a}.order-summary__meta[data-v-7b5c6d94]{grid-column:1/-1;flex-wrap:wrap;gap:10px 24px;padding-top:14px;border-top:1px solid #e9edf2}.section-nav[data-v-7b5c6d94]{position:sticky;top:58px;z-index:5;display:flex;gap:4px;padding:8px;margin-bottom:16px;overflow-x:auto;border:1px solid #e1e6ed;border-radius:10px;background:hsla(0,0%,100%,.96);box-shadow:0 4px 14px rgba(30,50,80,.06)}.section-nav .q-btn[data-v-7b5c6d94]{white-space:nowrap}.order-section[data-v-7b5c6d94]{scroll-margin-top:112px;margin-bottom:18px;overflow:hidden;border:1px solid #dfe5ec;border-radius:12px;background:#fff}.section-heading[data-v-7b5c6d94]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid #e8edf3;background:#f8fafc}.packing-action-card[data-v-7b5c6d94]{justify-content:space-between;gap:24px;padding:18px 20px;margin:0 16px 16px;border:1px solid #cfdcf0;border-radius:10px;background:#f5f9ff}.packing-action-card__summary[data-v-7b5c6d94]{min-width:190px}.packing-action-card__controls[data-v-7b5c6d94]{justify-content:flex-end;gap:10px;width:min(100%,470px)}.packing-action-card__controls .q-field[data-v-7b5c6d94]{flex:1}.status-badge[data-v-7b5c6d94]{padding:6px 10px;font-size:13px}.footer-actions[data-v-7b5c6d94]{border-top:1px solid #dfe5ec;box-shadow:0 -4px 14px rgba(30,50,80,.08)}.footer-actions__inner[data-v-7b5c6d94]{gap:8px;padding:12px 18px}@media(max-width:700px){.order-summary[data-v-7b5c6d94]{grid-template-columns:1fr;padding:18px}.order-summary__statuses[data-v-7b5c6d94]{justify-content:flex-start}.order-summary__meta[data-v-7b5c6d94]{grid-column:auto}.packing-action-card[data-v-7b5c6d94],.packing-action-card__controls[data-v-7b5c6d94]{align-items:stretch;flex-direction:column}.packing-action-card__controls[data-v-7b5c6d94]{width:100%}.section-heading[data-v-7b5c6d94]{align-items:flex-start;flex-direction:column}.footer-actions__inner[data-v-7b5c6d94]{flex-wrap:wrap}.footer-actions__inner .q-space[data-v-7b5c6d94]{display:none}}",""]),t.default=a},47985:function(e,t,a){var l=a(7971);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("97ef4592",l,!0,{sourceMap:!1,shadowMode:!1})},48438:function(e,t,a){var l=a(94912);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("66f449d8",l,!0,{sourceMap:!1,shadowMode:!1})},48836:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".recent-packed-notice[data-v-2aa1c308]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #eadfbe;border-radius:8px;background:#fffaf0}.recent-packed-notice__main[data-v-2aa1c308]{display:flex;align-items:flex-start;gap:12px;min-width:0}.recent-packed-notice__title[data-v-2aa1c308]{color:#1f2d3d;font-size:15px;font-weight:700}.recent-packed-notice__caption[data-v-2aa1c308]{margin-top:3px;color:#667085;font-size:13px}.recent-packed-preview[data-v-2aa1c308]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.recent-packed-preview__item[data-v-2aa1c308]{padding:4px 8px;border:1px solid #eadfbe;border-radius:6px;background:#fff;color:#394b59;font-size:12px}.recent-packed-notice__actions[data-v-2aa1c308]{display:flex;flex:0 0 auto;align-items:center;gap:8px}@media (max-width:1023px){.recent-packed-notice[data-v-2aa1c308]{flex-direction:column}.recent-packed-notice__actions[data-v-2aa1c308]{width:100%;flex-wrap:wrap}}",""]),t.default=a},49307:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,"#stepper[data-v-4f25fa13]{box-shadow:none}.parcel-unit[data-v-4f25fa13]{min-width:300px;max-width:400px}#terms li[data-v-4f25fa13]{margin-bottom:10px;line-height:1.5}.customer-guide-card[data-v-4f25fa13]{border:1px solid #dce7f5;background:#f7fbff;color:#26384f}",""]),t.default=a},49487:function(e,t,a){var l=a(31028);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("6701330a",l,!0,{sourceMap:!1,shadowMode:!1})},49871:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".q-avatar #site-logo[data-v-650e1c46]{height:auto}.doc-page[data-v-650e1c46]{max-width:1200px;margin-left:auto;margin-right:auto}",""]),t.default=a},50225:function(e,t,a){var l=a(92180);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("5300cfa6",l,!0,{sourceMap:!1,shadowMode:!1})},50666:function(e,t,a){e.exports=a.p+"img/service-ocean-01.e48cf83e.jpg"},50837:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".search-bar[data-v-077fe4a2]{max-width:420px;width:100%;min-width:260px}.mobile-last4-input[data-v-077fe4a2]{max-width:240px;width:100%;min-width:180px}.lookup-form[data-v-077fe4a2]{display:flex;justify-content:center;gap:12px;width:100%}@media (max-width:599px){.lookup-form[data-v-077fe4a2]{flex-direction:column;align-items:stretch}.mobile-last4-input[data-v-077fe4a2],.search-bar[data-v-077fe4a2]{max-width:none}}.lookup-guide-card[data-v-077fe4a2]{padding:28px;border:1px solid #e0e6ef;border-radius:18px;background:linear-gradient(135deg,#fff,#f5f9ff);text-align:center}",""]),t.default=a},52283:function(e,t,a){var l=a(88073);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("6285af20",l,!0,{sourceMap:!1,shadowMode:!1})},52415:function(e,t,a){var l=a(53126);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("cdf348a2",l,!0,{sourceMap:!1,shadowMode:!1})},53126:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".signup-page[data-v-45f81b40]{min-height:calc(100vh - 100px);background:radial-gradient(circle at 12% 10%,rgba(55,149,210,.2),transparent 32%),linear-gradient(145deg,#eef5f9,#f8fafc 55%,#e8f0f5)}.signup-card[data-v-45f81b40]{width:min(780px,100%);overflow:hidden;border-radius:20px;box-shadow:0 22px 60px rgba(16,45,66,.18)}.signup-header[data-v-45f81b40]{display:flex;gap:32px;align-items:center;padding:36px 44px 30px}.signup-logo[data-v-45f81b40]{width:128px;height:auto}.signup-header h1[data-v-45f81b40]{margin:2px 0 6px;color:#17384f;font-size:2rem;font-weight:700}.signup-header p[data-v-45f81b40]{margin:0;color:#647784}.signup-form[data-v-45f81b40]{padding:30px 44px 36px}.form-section+.form-section[data-v-45f81b40]{margin-top:10px}.section-title[data-v-45f81b40]{display:flex;gap:8px;align-items:center;margin-bottom:16px;color:#294d65;font-size:.95rem;font-weight:700}.terms-section[data-v-45f81b40]{margin:8px 0 20px;padding:10px 12px;border:1px solid #d8e2e8;border-radius:10px;background:#f8fbfc}.field-error[data-v-45f81b40]{margin-top:-12px;color:#b3261e;font-size:.78rem}.signup-error[data-v-45f81b40]{display:flex;gap:8px;align-items:center;margin-bottom:16px;padding:10px 12px;border-radius:8px;color:#b3261e;background:#fff2f0;font-size:.875rem}.signup-submit[data-v-45f81b40]{min-height:50px;border-radius:8px;font-weight:700}.login-link[data-v-45f81b40]{display:flex;align-items:center;justify-content:center;margin-top:16px;color:#647784;font-size:.875rem}@media (max-width:1023px){.signup-page[data-v-45f81b40]{min-height:calc(100vh - 60px)}}@media (max-width:599px){.signup-page[data-v-45f81b40]{padding:16px}.signup-card[data-v-45f81b40]{border-radius:14px}.signup-header[data-v-45f81b40]{display:block;padding:28px 24px 22px}.signup-logo[data-v-45f81b40]{width:112px;margin-bottom:22px}.signup-form[data-v-45f81b40]{padding:24px}.terms-section .row[data-v-45f81b40]{align-items:flex-start}}",""]),t.default=a},53880:function(e,t,a){e.exports=a.p+"img/service-img-01.273255de.jpg"},54680:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),i=a.n(i),o=a(4417),o=a.n(o),s=new URL(a(22406),a.b),r=new URL(a(61916),a.b),a=new URL(a(35734),a.b),i=i()(l()),l=o()(s),s=o()(r),r=o()(a);i.push([e.id,".section.section-02[data-v-26efdd42]{background:#e2e2e2}.section.section-02 .display-text-1[data-v-26efdd42]{font-family:IBMPlexSansKR-SemiBold;font-size:2.7rem;line-height:1.1;color:#0b1c60}.section.section-02 .display-text-2[data-v-26efdd42]{font-size:1.75rem;color:#0b1c60}.section.section-02 .banner[data-v-26efdd42]{display:flex;background-size:cover;background-repeat:no-repeat;background-position:50%;background-blend-mode:darken;font-size:3rem;font-family:Titilliu-Web-light;min-height:160px;height:100%;max-height:240px}.section.section-02 .banner[data-v-26efdd42]:hover{cursor:pointer}.section.section-02 .banner[data-v-26efdd42]>*{width:100%;margin:0}.section.section-02 .banner.banner-flight[data-v-26efdd42]{background-image:url("+l+")}.section.section-02 .banner.banner-ocean[data-v-26efdd42]{background-image:url("+s+")}.section.section-03[data-v-26efdd42]{background:#e2e2e2;background-size:cover;background-blend-mode:darken;background-image:url("+r+")}.section.section-03 .column[data-v-26efdd42]{height:170px}.section.section-03 .banner[data-v-26efdd42]{display:flex;color:#0b1c60}.section.section-03 .banner .banner-text-01[data-v-26efdd42],.section.section-03 .banner .banner-text-02[data-v-26efdd42]{font-family:IBMPlexSansKR-SemiBold}.section.section-03 .banner .banner-text-01[data-v-26efdd42]{font-size:2.5rem}.section.section-03 .banner .banner-text-02[data-v-26efdd42]{font-size:1.3rem}",""]),t.default=i},55852:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".q-pa-none-important[data-v-7d5fccc4]{padding:0}.summary-card[data-v-7d5fccc4]{height:100%}",""]),t.default=a},56174:function(e,t,a){var l=a(24400);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("4d26a496",l,!0,{sourceMap:!1,shadowMode:!1})},57160:function(e,t,a){var l=a(50837);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("473cef97",l,!0,{sourceMap:!1,shadowMode:!1})},57424:function(e,t,a){var l=a(93213);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("6bc8c2b9",l,!0,{sourceMap:!1,shadowMode:!1})},58789:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".sku-form-sections[data-v-790bdbd5]{border:1px solid #dfe5ec;border-radius:10px;background:#fff}.sku-form-section[data-v-790bdbd5]{padding:18px}.sku-form-section+.sku-form-section[data-v-790bdbd5]{border-top:1px solid #e7ecf2}.sku-form-section__header[data-v-790bdbd5]{margin-bottom:14px}.sku-form-section__title[data-v-790bdbd5]{color:#263238;font-size:15px;font-weight:700}.sku-form-section__caption[data-v-790bdbd5]{margin-top:3px;color:#6b7280;font-size:12px;line-height:1.45}",""]),t.default=a},58835:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,"",""]),t.default=a},58999:function(e,t,a){var l=a(26770);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("3b171f60",l,!0,{sourceMap:!1,shadowMode:!1})},59632:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".receiving-page[data-v-ea038f6e]{background:#f7f9fc;min-height:100%}.receiving-layout[data-v-ea038f6e]{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.8fr);gap:24px;align-items:start}.history-panel[data-v-ea038f6e],.scan-panel[data-v-ea038f6e]{border:1px solid #e4e9f1;border-radius:16px;background:#fff;box-shadow:0 8px 28px rgba(30,55,90,.06)}.scan-panel[data-v-ea038f6e]{min-height:470px;display:flex;flex-direction:column;justify-content:center}.scan-kicker[data-v-ea038f6e]{color:#2f6fed;font-size:12px;font-weight:800;letter-spacing:.18em}.scan-title[data-v-ea038f6e]{margin:10px 0 8px;font-size:clamp(28px,4vw,42px);line-height:1.2;letter-spacing:-.04em}.scan-description[data-v-ea038f6e]{max-width:680px;margin:0 0 30px;color:#5b6472;line-height:1.7}.scan-form[data-v-ea038f6e]{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:12px}.override-control[data-v-ea038f6e]{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:680px;padding:14px 16px;border:1px solid #dfe4ec;border-radius:12px;background:#f8fafc}.override-control--active[data-v-ea038f6e]{border-color:#ef9a9a;background:#fff3f3}.override-control__copy[data-v-ea038f6e]{min-width:0}.override-control__description[data-v-ea038f6e]{margin-top:5px;color:#697386;font-size:13px;line-height:1.5}.scanner-input[data-v-ea038f6e] .q-field__control{height:64px;border-radius:12px;font-size:20px}.receive-button[data-v-ea038f6e]{min-height:64px;border-radius:12px;font-weight:700}.result-card[data-v-ea038f6e]{display:flex;gap:12px;align-items:center;border-radius:12px;padding:16px 18px}.result-success[data-v-ea038f6e]{color:#17633a;background:#eaf8f0;border:1px solid #bfe8cf}.result-error[data-v-ea038f6e]{color:#9a2c2c;background:#fff0f0;border:1px solid #f2c4c4}.result-title[data-v-ea038f6e]{font-size:16px;font-weight:700}.result-detail[data-v-ea038f6e],.scan-hint[data-v-ea038f6e]{font-size:13px;opacity:.82}.scan-hint[data-v-ea038f6e]{display:flex;gap:6px;align-items:center;color:#697386}.history-panel[data-v-ea038f6e]{overflow:hidden}.history-header[data-v-ea038f6e]{justify-content:space-between}.empty-history[data-v-ea038f6e],.history-header[data-v-ea038f6e]{display:flex;align-items:center}.empty-history[data-v-ea038f6e]{min-height:260px;flex-direction:column;justify-content:center;gap:12px;color:#8a93a3}@media (max-width:960px){.receiving-layout[data-v-ea038f6e]{grid-template-columns:1fr}}@media (max-width:600px){.receiving-page[data-v-ea038f6e]{padding:16px}.scan-panel[data-v-ea038f6e]{padding:24px}.scan-form[data-v-ea038f6e]{grid-template-columns:1fr}}",""]),t.default=a},59917:function(e,t,a){a.d(t,{A:function(){return l}});var c=a(20641);let u={class:"row"},m={class:"col text-right"},p={class:"row q-mb-sm q-gutter-sm"},g={class:"col"},h={class:"row q-gutter-sm"},b={class:"col"},f={class:"col"},v={class:"col"},k={class:"col"},y={key:0,class:"col"};var t={name:"Order-Item-Regi-Form-Unit",props:{item:Object,showBarcode:{type:Boolean,default:!1},partnerId:{type:[String,Number],default:""},enableHsCodeAuto:{type:Boolean,default:!1}},emits:["remove-row","update-item"],data(){return{localItem:{...this.item},hsCodeResolveTimer:null,lastAutoHsCode:"",lastResolvedItemName:""}},watch:{item:{handler(e){this.localItem={...e}},deep:!0,immediate:!0}},computed:{calcPrice(){return this.localItem.unitPrice*this.localItem.itemQty}},methods:{shouldOverwriteHsCode(){var e=String(this.localItem.hsCode||"").trim();return!e||e===this.lastAutoHsCode},scheduleHsCodeResolve(){this.hsCodeResolveTimer&&clearTimeout(this.hsCodeResolveTimer),this.hsCodeResolveTimer=setTimeout(()=>{this.resolveHsCode()},1e3)},async resolveHsCode(){this.hsCodeResolveTimer&&(clearTimeout(this.hsCodeResolveTimer),this.hsCodeResolveTimer=null);var e=String(this.localItem.itemName||"").trim();if(this.enableHsCodeAuto&&e&&e!==this.lastResolvedItemName&&this.shouldOverwriteHsCode())try{var t=await this.$http({method:"POST",url:"/api/parcel/resolveHsCode",data:{itemName:e,partnerId:this.partnerId},name:"[ Axios / HS CODE 자동 조회 ]"}),a=String(t?.data?.hsCode||"").trim();t?.data?.matched&&/^\d{6}$/.test(a)&&this.shouldOverwriteHsCode()&&(this.localItem.hsCode=a,this.lastAutoHsCode=a,this.lastResolvedItemName=e,this.emitItemUpdate())}catch(e){this.$log?.debug?.("HS CODE 자동 조회 실패",e)}},sanitizeBarcode(e){e=String(e??"").replace(/\D+/g,"");this.localItem.barcode!==e&&(this.localItem.barcode=e),this.emitItemUpdate()},emitItemUpdate(){this.$emit("update-item",{...this.localItem})},handleItemNameUpdate(){this.emitItemUpdate(),this.scheduleHsCodeResolve()},removeThisItem(e){this.$emit("remove-row",e)},checkItemData(){let e=!0;var t,a=[this.$refs.itemNameRef,this.$refs.brandRef,this.$refs.itemQtyRef,this.$refs.unitPriceRef];return 0<(t=this.$checkEmptyRefList(a)).length?{empty:e=!1,valid:!0,result:t}:0<(t=this.$checkInvalidRefList(a)).length?{empty:e,valid:!1,result:t}:{empty:!0,valid:!0,result:[]}}},mounted(){},beforeUnmount(){this.hsCodeResolveTimer&&clearTimeout(this.hsCodeResolveTimer)}},l=(a(98359),(0,a(66262).A)(t,[["render",function(e,t,a,l,i,o){let s=(0,c.g2)("q-btn"),r=(0,c.g2)("q-card-section"),n=(0,c.g2)("q-input");var d=(0,c.g2)("q-card");return(0,c.uX)(),(0,c.Wv)(d,{class:"modal-regi-card"},{default:(0,c.k6)(()=>[(0,c.bF)(r,null,{default:(0,c.k6)(()=>[(0,c.Lk)("div",u,[t[9]||(t[9]=(0,c.Lk)("div",{class:"col"},[(0,c.Lk)("div",{class:"text-h6"}," 상품정보 ")],-1)),(0,c.Lk)("div",m,[(0,c.bF)(s,{dense:"",flat:"",color:"negative",icon:"delete",onClick:t[0]||(t[0]=e=>o.removeThisItem(a.item))})])])]),_:1}),(0,c.bF)(r,{class:"q-pt-none"},{default:(0,c.k6)(()=>[(0,c.Lk)("div",p,[(0,c.Lk)("div",g,[a.showBarcode?((0,c.uX)(),(0,c.Wv)(n,{key:0,modelValue:i.localItem.barcode,"onUpdate:modelValue":[t[1]||(t[1]=e=>i.localItem.barcode=e),o.sanitizeBarcode],label:"바코드",inputmode:"numeric",placeholder:"바코드를 입력해 주세요.",rules:[e=>{e=String(e||"").replace(/\D+/g,"");return!e||/^\d+$/.test(e)||"바코드는 숫자만 입력 가능합니다."}]},null,8,["modelValue","onUpdate:modelValue","rules"])):(0,c.Q3)("",!0),(0,c.bF)(n,{modelValue:i.localItem.itemName,"onUpdate:modelValue":[t[2]||(t[2]=e=>i.localItem.itemName=e),o.handleItemNameUpdate],ref:"itemNameRef",label:"품명",placeholder:"상품명을 적어주세요.",onBlur:o.resolveHsCode,rules:[this.$validationSet.itemName]},null,8,["modelValue","onUpdate:modelValue","onBlur","rules"]),(0,c.bF)(n,{modelValue:i.localItem.brand,"onUpdate:modelValue":[t[3]||(t[3]=e=>i.localItem.brand=e),o.emitItemUpdate],ref:"brandRef",label:"브랜드",placeholder:"브랜드명을 적어주세요.",rules:[this.$validationSet.alphaNum]},null,8,["modelValue","onUpdate:modelValue","rules"])])]),(0,c.Lk)("div",h,[(0,c.Lk)("div",b,[(0,c.bF)(n,{modelValue:i.localItem.itemQty,"onUpdate:modelValue":[t[4]||(t[4]=e=>i.localItem.itemQty=e),o.emitItemUpdate],ref:"itemQtyRef","input-class":"text-right",type:"number",maxlength:"5",min:"1",label:"수량"},null,8,["modelValue","onUpdate:modelValue"])]),(0,c.Lk)("div",f,[(0,c.bF)(n,{modelValue:i.localItem.unitPrice,"onUpdate:modelValue":[t[5]||(t[5]=e=>i.localItem.unitPrice=e),o.emitItemUpdate],ref:"unitPriceRef",label:"단가",type:"number",step:"any",min:"0","input-class":"text-right"},null,8,["modelValue","onUpdate:modelValue"])]),(0,c.Lk)("div",v,[(0,c.bF)(n,{modelValue:o.calcPrice,"onUpdate:modelValue":t[6]||(t[6]=e=>o.calcPrice=e),label:"상품가격",type:"number",min:"0",readonly:"","input-class":"text-right"},null,8,["modelValue"])]),(0,c.Lk)("div",k,[(0,c.bF)(n,{modelValue:i.localItem.weight,"onUpdate:modelValue":[t[7]||(t[7]=e=>i.localItem.weight=e),o.emitItemUpdate],ref:"weightRef",label:"무게(kg)",type:"number",step:"any",min:"0.001","input-class":"text-right"},null,8,["modelValue","onUpdate:modelValue"])]),a.enableHsCodeAuto?((0,c.uX)(),(0,c.CE)("div",y,[(0,c.bF)(n,{modelValue:i.localItem.hsCode,"onUpdate:modelValue":[t[8]||(t[8]=e=>i.localItem.hsCode=e),o.emitItemUpdate],label:"HS CODE",maxlength:"6",inputmode:"numeric",rules:[e=>!e||/^\\d{6}$/.test(String(e))||"HS CODE는 숫자 6자리입니다."]},null,8,["modelValue","onUpdate:modelValue","rules"])])):(0,c.Q3)("",!0)])]),_:1})]),_:1})}],["__scopeId","data-v-7e4b00a2"]]))},60099:function(e,t,a){var l=a(55852);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("f59468ea",l,!0,{sourceMap:!1,shadowMode:!1})},61916:function(e,t,a){e.exports=a.p+"img/banner-ocean.c4fb675c.jpg"},62283:function(e,t,a){e.exports=a.p+"fonts/IBMPlexSansKR-Regular.a32e67eb.woff"},62815:function(e,t,a){var l=a(5006);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("797615db",l,!0,{sourceMap:!1,shadowMode:!1})},63153:function(e,t,a){var l=a(89423);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("6b2c51e9",l,!0,{sourceMap:!1,shadowMode:!1})},64116:function(e,t,a){var l=a(41086);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("07cad249",l,!0,{sourceMap:!1,shadowMode:!1})},64264:function(e,t,a){e.exports=a.p+"img/service01.9f219954.jpg"},64538:function(e,t,a){var l=a(43747);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("42cfb930",l,!0,{sourceMap:!1,shadowMode:!1})},66754:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".confirm-modal[data-v-e8f40eac]{width:420px;max-width:92vw}",""]),t.default=a},67361:function(e,t,a){var l=a(49307);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("0c3227e2",l,!0,{sourceMap:!1,shadowMode:!1})},68392:function(e,t,a){e.exports=a.p+"img/service-flight-01.b298d9b5.jpg"},68584:function(e){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAH0lEQVQoU2NkYGAwZkAFZ5G5jPRRgOYEVDeB3EBjBQBOZwTVugIGyAAAAABJRU5ErkJggg=="},68651:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".guide-heading[data-v-196e6f7a]{font-size:22px;font-weight:800;color:#1f2a44}.guide-copy[data-v-196e6f7a]{margin:8px 0 18px;color:#5f6b7a;line-height:1.6}.guide-card[data-v-196e6f7a]{height:100%;padding:18px;border-radius:16px;background:#f7f9fc;border:1px solid #e2e8f0}.guide-card__title[data-v-196e6f7a],.guide-subheading[data-v-196e6f7a]{font-weight:800;color:#1f2a44}.guide-card__copy[data-v-196e6f7a],.guide-steps small[data-v-196e6f7a]{color:#607089;line-height:1.55}.guide-subheading[data-v-196e6f7a]{margin-top:24px;margin-bottom:10px;font-size:16px}.guide-steps[data-v-196e6f7a]{margin:0;padding-left:20px}.guide-steps li[data-v-196e6f7a]{margin-bottom:12px}.guide-steps li>span[data-v-196e6f7a]{display:block;font-weight:800;color:#24324a}.guide-steps code[data-v-196e6f7a]{padding:2px 5px;border-radius:5px;background:#eef2f7;color:#1f2a44}.guide-warning[data-v-196e6f7a]{background:#fff8e1;color:#6d4c00}",""]),t.default=a},69070:function(e,t,a){var l=a(5912);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("4e3e2588",l,!0,{sourceMap:!1,shadowMode:!1})},70611:function(e,t,a){var l=a(31377);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("b8f0b8ee",l,!0,{sourceMap:!1,shadowMode:!1})},72302:function(e,t,a){var l=a(95936);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("602836ac",l,!0,{sourceMap:!1,shadowMode:!1})},73182:function(e,t,a){var l=a(12852);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("6eb2c0f9",l,!0,{sourceMap:!1,shadowMode:!1})},74200:function(e,t,a){e.exports=a.p+"fonts/IBMPlexSansKR-SemiBold.939f457b.woff"},74536:function(e,t,a){var l=a(18494);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("14f1b6a8",l,!0,{sourceMap:!1,shadowMode:!1})},75339:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".page-guide-dialog[data-v-07f114ea]{width:min(980px,94vw);max-width:980px;max-height:92vh;display:flex;flex-direction:column}.page-guide-dialog__body[data-v-07f114ea]{overflow-y:auto}",""]),t.default=a},76665:function(e,t,a){e.exports=a.p+"img/service-img-04.a132aa4e.jpg"},77790:function(e,t,a){var l=a(89856);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("4921ebde",l,!0,{sourceMap:!1,shadowMode:!1})},80352:function(e,t,a){e.exports=a.p+"fonts/titillium-web-v15-latin-regular.28c7a39b.woff2"},80653:function(e,t,a){e.exports=a.p+"img/parcel.ea61363c.jpg"},80790:function(e,t,a){var l=a(92367);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("d7327bf8",l,!0,{sourceMap:!1,shadowMode:!1})},81465:function(e,t,a){var l=a(81471);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("7b06a748",l,!0,{sourceMap:!1,shadowMode:!1})},81471:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".dashboard-card[data-v-2a576126]{height:100%;display:flex;flex-direction:column}.table-load-more[data-v-2a576126]{border-top:1px solid #edf0f2}",""]),t.default=a},81627:function(e,t,a){var l=a(40339);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("72c2fd4b",l,!0,{sourceMap:!1,shadowMode:!1})},81867:function(e,t,a){var l=a(14002);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("065abdc0",l,!0,{sourceMap:!1,shadowMode:!1})},82232:function(e,t,a){var l=a(18242);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("3e25eaa2",l,!0,{sourceMap:!1,shadowMode:!1})},82291:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".detail-card[data-v-4fb910a6],.summary-card[data-v-4fb910a6]{height:100%}.detail-grid[data-v-4fb910a6]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}.detail-grid--single[data-v-4fb910a6]{grid-template-columns:1fr}.detail-grid b[data-v-4fb910a6],.detail-grid span[data-v-4fb910a6]{display:block}.detail-grid span[data-v-4fb910a6]{margin-bottom:4px;color:#7a8989;font-size:12px}.detail-grid b[data-v-4fb910a6]{color:#183b56;word-break:break-all}@media(max-width:600px){.detail-grid[data-v-4fb910a6]{grid-template-columns:1fr}}",""]),t.default=a},82468:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),i=a.n(i),o=a(4417),o=a.n(o),a=new URL(a(3895),a.b),i=i()(l()),l=o()(a);i.push([e.id,".unified-login-page[data-v-63bb9734]{min-height:calc(100vh - 100px);background:radial-gradient(circle at 12% 10%,rgba(55,149,210,.2),transparent 32%),linear-gradient(145deg,#eef5f9,#f8fafc 55%,#e8f0f5)}.login-card[data-v-63bb9734]{width:min(920px,100%);min-height:570px;overflow:hidden;border-radius:20px;box-shadow:0 22px 60px rgba(16,45,66,.18)}.login-visual[data-v-63bb9734]{min-height:570px;background:url("+l+") 50%/cover no-repeat}.login-visual__overlay[data-v-63bb9734]{display:flex;height:100%;align-items:flex-end;padding:48px;color:#fff;background:linear-gradient(180deg,rgba(4,27,44,.12),rgba(4,35,56,.88))}.login-visual__eyebrow[data-v-63bb9734]{margin-bottom:12px;font-size:.75rem;font-weight:700;letter-spacing:.18em}.login-visual h1[data-v-63bb9734]{margin:0 0 16px;font-size:2.25rem;font-weight:700;line-height:1.3}.login-visual p[data-v-63bb9734]{max-width:330px;margin:0;color:hsla(0,0%,100%,.84);font-size:.95rem;line-height:1.7}.login-form[data-v-63bb9734]{display:flex;flex-direction:column;justify-content:center;padding:48px 52px;background:#fff}.login-logo[data-v-63bb9734]{width:124px;height:auto;margin-bottom:36px}.login-heading h2[data-v-63bb9734]{margin:2px 0 8px;color:#17384f;font-size:2rem;font-weight:700}.login-heading p[data-v-63bb9734]{margin:0 0 28px;color:#647784}.login-error[data-v-63bb9734]{display:flex;gap:8px;align-items:center;padding:10px 12px;border-radius:8px;color:#b3261e;background:#fff2f0;font-size:.875rem}.login-submit[data-v-63bb9734]{min-height:50px;border-radius:8px;font-weight:700}.login-links[data-v-63bb9734]{margin-top:20px}.login-links[data-v-63bb9734] .q-btn{font-size:.875rem}.login-help[data-v-63bb9734]{margin:20px 0 0;color:#82929c;font-size:.78rem;text-align:center}@media (max-width:1023px){.unified-login-page[data-v-63bb9734]{min-height:calc(100vh - 60px)}.login-card[data-v-63bb9734]{max-width:520px;min-height:auto}}@media (max-width:599px){.unified-login-page[data-v-63bb9734]{padding:16px}.login-card[data-v-63bb9734]{border-radius:14px}.login-form[data-v-63bb9734]{padding:36px 24px}.login-logo[data-v-63bb9734]{margin-bottom:28px}}",""]),t.default=i},83935:function(e,t,a){var l=a(29354);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("355b6081",l,!0,{sourceMap:!1,shadowMode:!1})},84999:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".page-intro[data-v-464e7b92]{max-width:720px}.metric-grid[data-v-464e7b92]{display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));gap:16px;overflow-x:auto;padding-bottom:2px}.metric-card[data-v-464e7b92]{min-height:132px}.metric-value[data-v-464e7b92]{margin:8px 0;color:#183b56;font-size:30px;font-weight:700;line-height:1}.full-height[data-v-464e7b92]{height:100%}.distribution-track[data-v-464e7b92]{height:8px;overflow:hidden;border-radius:999px;background:#edf2f1}.distribution-bar[data-v-464e7b92]{height:100%;border-radius:inherit;background:#187b70}.distribution-bar--category[data-v-464e7b92]{background:#df8f32}.product-list[data-v-464e7b92],.request-row[data-v-464e7b92]{border-top:1px solid #edf0f2}.product-row[data-v-464e7b92]{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px 0;border:0;border-bottom:1px solid #edf0f2;background:transparent;color:inherit;text-align:left;cursor:pointer}.product-row[data-v-464e7b92]:hover{background:#f7faf9}.product-row__main[data-v-464e7b92]{min-width:0}.request-grid[data-v-464e7b92]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.request-tile[data-v-464e7b92]{display:flex;min-height:68px;flex-direction:column;justify-content:space-between;padding:10px;border:1px solid #e3e9e7;border-radius:8px;background:#f8fbfa;color:#607171;font-size:12px}.request-tile b[data-v-464e7b92]{color:#183b56;font-size:18px}.request-tile--alert[data-v-464e7b92]{border-color:#f2d4ce;background:#fff8f6}.request-tile--alert b[data-v-464e7b92]{color:#c54b3c}.request-row[data-v-464e7b92]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}.empty-state[data-v-464e7b92]{padding:28px 12px;color:#899593;font-size:13px;text-align:center}@media(max-width:599px){.header-actions[data-v-464e7b92]{margin-top:8px}.request-grid[data-v-464e7b92]{grid-template-columns:repeat(2,minmax(0,1fr))}}",""]),t.default=a},86314:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".admin-notification-panel[data-v-1ca1a637]{display:flex;flex-direction:column;height:100%;padding:18px;background:#f8fafc}.panel-actions[data-v-1ca1a637],.panel-header[data-v-1ca1a637]{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-header[data-v-1ca1a637]{padding-bottom:16px;border-bottom:1px solid #e3e8ef}.panel-actions[data-v-1ca1a637]{padding:14px 0}.summary-badges[data-v-1ca1a637]{display:flex;flex-wrap:wrap;gap:8px}.action-buttons[data-v-1ca1a637]{flex-shrink:0}.notification-list[data-v-1ca1a637]{flex:1;overflow-y:auto}.notification-item[data-v-1ca1a637]{border:1px solid #edf0f5;border-radius:12px;margin-bottom:10px;background:#fff}.notification-item--unread[data-v-1ca1a637]{border-color:#b9d7ff;background:#f6faff}.notification-empty[data-v-1ca1a637]{padding:40px 16px;border:1px dashed #cfd6e3;border-radius:14px;color:#687386;text-align:center;background:#fff}",""]),t.default=a},86727:function(e,t,a){e.exports=a.p+"img/service-img-02.0781c7eb.jpg"},86733:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,"h5[data-v-1cc60716]{margin-block-end:.5rem}.btn[data-v-1cc60716]{border-radius:0}.no-gutter[data-v-1cc60716]{padding:0}.lg-width[data-v-1cc60716]{width:70vw;max-width:1024px}@media(min-width:320px){.lg-width[data-v-1cc60716]{width:90vw;max-width:inherit}}@media(min-width:600px){.lg-width[data-v-1cc60716]{width:90vw;max-width:inherit}}@media(min-width:1024px){.lg-width[data-v-1cc60716]{width:70vw;max-width:1024px}}.form-column-wrap[data-v-1cc60716]{display:flex;flex-direction:row;flex-wrap:wrap;gap:30px}.form-column-wrap .q-field[data-v-1cc60716]{flex:1;flex-basis:150px}.form-column-wrap .mobile-country[data-v-1cc60716]{flex-basis:120px;min-width:110px;max-width:120px}.custom-label.required[data-v-1cc60716]{color:#e53935}.custom-label[data-v-1cc60716]{color:#e53935;font-weight:700}.partner-modal-summary[data-v-1cc60716]{border:1px solid #e0e6ef;border-radius:14px;background:linear-gradient(135deg,#fff,#f7fbff)}.partner-summary-meta[data-v-1cc60716]{min-width:220px;padding:12px;border-radius:12px;background:#f4f7fb}.partner-modal-tabs[data-v-1cc60716]{margin-top:16px}.partner-modal-panels[data-v-1cc60716],.partner-modal-tabs[data-v-1cc60716]{border:1px solid #e0e6ef;border-radius:12px;background:#fff}.danger-zone-card[data-v-1cc60716]{border:1px solid #f3b5b5;border-radius:12px;background:#fff8f8}.api-key-card[data-v-1cc60716]{border:1px solid #e0e6ef;border-radius:12px}.issued-key-banner[data-v-1cc60716]{background:#fff8e1;border:1px solid #ffe0a3}.issued-key-value[data-v-1cc60716]{word-break:break-all;padding:10px 12px;border-radius:8px;background:#fff;border:1px dashed #f0a500;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}",""]),t.default=a},87578:function(e,t,a){var l=a(39609);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("1743f262",l,!0,{sourceMap:!1,shadowMode:!1})},88073:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".manual-lookup-modal[data-v-aa4fbd80]{width:980px;max-width:95vw}",""]),t.default=a},88189:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".modal-regi-card[data-v-7e4b00a2]{width:100%;min-width:300px;max-width:400px}",""]),t.default=a},89423:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".workspace-toolbar[data-v-80e1e848]{position:relative;min-height:58px}.service-switcher[data-v-80e1e848]{position:absolute;left:50%;transform:translateX(-50%)}.workspace-brand[data-v-80e1e848]{min-width:116px;line-height:1.15}.dashboard-separator[data-v-80e1e848]{align-self:center;height:28px;opacity:.5}.dashboard-button[data-v-80e1e848]{background:hsla(0,0%,100%,.08)}.dashboard-button--active[data-v-80e1e848]{background:hsla(0,0%,100%,.24)}.version-button[data-v-80e1e848]{border:1px solid hsla(0,0%,100%,.45);border-radius:14px;padding:2px 10px}.service-tab[data-v-80e1e848]{min-height:58px;border-radius:0;border-bottom:3px solid transparent}.service-tab--active[data-v-80e1e848]{background:hsla(0,0%,100%,.16);border-bottom-color:#fff}.service-tab--blocked[data-v-80e1e848]{opacity:.78}@media(max-width:900px){.service-tab .q-badge[data-v-80e1e848],.service-tab-label[data-v-80e1e848],.workspace-brand[data-v-80e1e848]{display:none}.service-tab[data-v-80e1e848]{padding-left:10px!important;padding-right:10px!important}}.rotate[data-v-80e1e848]{transform:rotate(0deg)}.opened[data-v-80e1e848],.rotate[data-v-80e1e848]{transition:.5s ease-in-out}.opened[data-v-80e1e848]{transform:rotate(405deg)}.hover[data-v-80e1e848]:hover{cursor:pointer}.notification-button[data-v-80e1e848]{background:hsla(0,0%,100%,.12);border-color:hsla(0,0%,100%,.75)}.card-size .sm-size[data-v-80e1e848]{width:400px;max-width:80vw}.card-size .full-width[data-v-80e1e848]{width:100%;min-width:320px;max-width:1200px}",""]),t.default=a},89856:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),i=a.n(i),o=a(4417),o=a.n(o),a=new URL(a(40124),a.b),i=i()(l()),l=o()(a);i.push([e.id,".section.section-01[data-v-4ba025cb]{background-image:url("+l+");background-size:cover;height:70vw;max-height:800px}.section.section-01 .container[data-v-4ba025cb],.section.section-01 .container .row[data-v-4ba025cb]{height:100%}.section.section-01 .container .graphic-text-box[data-v-4ba025cb]{font-family:Titilliu-Web-bold;color:#fff}.section.section-01 .container .graphic-text-box .main-slogan[data-v-4ba025cb]{font-size:3rem;line-height:3rem;margin-block-end:.3rem;text-shadow:0 0 5px #000}.section.section-01 .container .graphic-text-box .main-company-name[data-v-4ba025cb]{font-size:5rem;line-height:5rem;margin-block-start:.3rem;margin-block-end:2rem;text-shadow:0 0 5px #000}.section.section-01 .container .banner-container[data-v-4ba025cb]{position:absolute;right:10%;top:10%;display:block}.section.section-01 .container .banner-container .banner[data-v-4ba025cb]{display:inline-block;margin-right:5px;width:300px}.section.section-01 .container .banner-container .banner .banner-bottom[data-v-4ba025cb]{width:100%;background:#fff;margin-top:-6px}.section.section-01 .container .banner-container .banner img[data-v-4ba025cb]{width:100%}.section.section-01 a.btn[data-v-4ba025cb]{text-decoration:none}@media(max-width:766.98px){.section.section-01[data-v-4ba025cb]{height:60vw}.section.section-01 .container[data-v-4ba025cb],.section.section-01 .container .row[data-v-4ba025cb]{height:100%}.section.section-01 .container .row .banner-container .banner[data-v-4ba025cb]{width:200px}.section.section-01 .container .graphic-text-box .main-slogan[data-v-4ba025cb]{font-size:2.2rem;line-height:2.2rem}.section.section-01 .container .graphic-text-box .main-company-name[data-v-4ba025cb]{font-size:3.5rem;line-height:3.5rem;margin-block-start:.25rem;margin-block-end:2rem}}@media(max-width:575.98px){.section.section-01[data-v-4ba025cb]{height:40vh;background-position:50%}.section.section-01 .container .row .banner-container .banner[data-v-4ba025cb]{width:150px}.section.section-01 .container .graphic-text-box .main-slogan[data-v-4ba025cb]{font-size:1.6rem;line-height:1.6rem}.section.section-01 .container .graphic-text-box .main-company-name[data-v-4ba025cb]{font-size:2.5rem;line-height:2.5rem;margin-block-start:.25rem;margin-block-end:2rem}}",""]),t.default=i},90922:function(e,t,a){e.exports=a.p+"img/service-img-03.57f6363c.jpg"},91214:function(e){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAI0AAAA2CAYAAAD6UxoTAAAACXBIWXMAAA7EAAAOxAGVKw4bAAATWUlEQVR4nO2debQcVZ3HP7d6e0v6ZQ8BggmEAMFEFpE1rCEssgjiZERHPBIGJpghMooiiisjg4AowxGGYRE44IjAhG1QBsMoAiYsgYAIAiEkQxZiNsLLe/26u37zx7eartevqrfXIcwx33PqvFd1b926t+p3f/u97cyMJpEAxgd//YqyJPA2sL7exqzYQ27ZHfStehiX7Iys47w2XCIDLoVLtoP5mOXBLw4Bm4Lfe4jv5/fF75uMv3m7YnFjmsKmXiisAu9PwELgGfBewUuvt963bMhe15IaPb3ebnYC25e6HLruBe/gDQa+i0aQBMYBGaBQ0X4RWAH0Rtw3FugK6rQSSWADsLryYrOYAVyJBhR+gYYG/RhwDtBXT2PFDc/Tt+J+XHpkRXPVYFlIHEsi9Wm81HTHsGEJ88HPY8UeXHEoRW8dVlgzDj+3H3ifA9b4udXX+H3rrkoOnbLJa9u+5lNCOBi4OjTOEjzAAT8Grm2kwQqMA/4NmAjkgjZB32kTMAt4ruIeB1wEHEd/QmsFUsA9wNfCF5slmiQiiD2r1NkZuBn4XV0tugS4JA0QzEF4bV/2kp0nukR7BpcG54EVwe+DYg9+IYtLZPHzHd3Fd195ys+vfNL8/KKOXee+4Rd6ezJjP04iW20IA9AF7FGl/AfAUuChRhoNIYMIZmJEWS/QHnHdIY4/qcln1sK4ygvNEs1+wBE16njAGTRCNPXBOZeY7RKd3/RSw7d3ySwk2sFLovfnB0STw/raXsXPz6O38FB6h1MXp0YdshbzSY06DHBd6EWPBR5HbLgWCoiqXUz5MMRt3gReqndAIRSBnpiybqI5iQGbm3hWvRjQn2aJ5lPoBdXCDDQzX65Wye9dTc+S63HJITWaM3DJc1x62FUuPSpNahikspDIgEvjnMPMDD/3HL2rfua85C/IjFrdudtcXGpY0nmpA4CDwA4G9gVGAGngbmA2rXn5uwGXAZ+jPkKsRBxBxl2vVTZYDGi7GaKZAHy8zro7AacCl1atZUWsb0OsAhxUApeY4ZJd33epEWmXGoZLDcWlsrhEG3gZcN6r5N+5DivcYamhq9LbTcfLjN4BOB74BHAkMCTiPZwBLAcupn75WA0nAl8PjsEoxh8EDPgozRDNcUTL3Cg44JPAjciaioGBFcDPxVfxUju6RPtlLtU1yqWyIpZUFy41BOd19OElbzQ/d7WXGfWyS3TgtY0ZB3w2OKbW0de5SMm8q86x1cIc4E/Az1rUXrNYB7yIRFvdOkAAD3ih8mKjRJNFoindwD0fQWLq9vgqPub3goua5NJTPG/YP7pE5z5eohOX6AiOTlxyyFLn0t8zv+8WLz3S99LDAE4Dvgrs30A/hwDfBp4HXm3gvjh0IDH1Z+CJFrTXLBYgq2sTzRHNABO/UaKZBhzY4D1pxG3uQmbkAJgV8QurcdYRUerjJYZOJZE5yyUykEhLFCXacInME+Cd75IdC503HJfIDAe+CZyNiKBRTAHOBL5Ba8TKGOAqNP63WtBeM8gj3SpOwW4YjRCNh/STOMVjPTA0qFeJw5DF9Xj0rQaWA4uaCIZZ8SxccqS5pBx7Xgq81KM4znaJjtdcqgtgV2S5nNDAmHLASuBZYDHiMC9Tdta1AvsD/wKcRcyk2cJIoIm7VYjmw0jBi0IP8M9IL9gponwUcArwJLEfwyOa3vydnfOOrVBen6VYPNu1db3mZUaU+nYjcECtQQRYAfwe+E/gaWQi5+u8txl8Fuk3P9iCz3jfEPWV4nAKZRd6JRYBtwLzq9z/SeSEioHFHEwDf2e5MAzwV+Nxntc++jWvbQzALkjZrIdglgNXBH35W+A/gNdoDcFsJN4j65AldWoLnrPVUS/RjKH6gO8F1iCXc1zYYBfg5Pq7BoAH9jHz82n8As7P5/D7vu9vXvm4lx4O8rP8KxJ91dCD3PMnAxcg5bDV+C1wC/HxnyHA5dRnybUSPi02++slmmOBvWLK3qTsNn+c6pbC6cDwgZddnEc4C243sz6s2INZ3wNW2Hx9cuheuESbh2IutXxGzyCuMpty3MahkMBoNCGyNMZ1o5ADvgP8oUqdiSheN2aQz2oECRSeSKIwRL1HBzFWcj06TTvwaeJf6iPAK8H/axG3OZxoL+W+yMF2T79RdXyIzsmX0P3CP+HS/WhqOLixWB6/+O5K17vqh8kR++cTw6aAxOWcGn2/Dfgy4oJDQ8/fDYnKrqCfrwNfBJYF97UhQlpL/bM0C/wFiaEHgrajMANZZ+c30PZgcACyXPPUb3IbGs+vge9RIb7rIZp9kakdhR5gHv1F0sNIT4gKoKWAmcB99JP/Hs5rI8IZ26nDxwrrb/WtuBAvBeIQ30AzKAoFpJh/B83uM5B/aT+ix5wD3gmdj0MccU1M+1HwKEf3LwueH4dzkcPt3xtov1mMRJO4GaxA76sf0dTDkj9D/KxZgF5SGK8Dv6rS3lHAPgMvR3rv00A7eKssv/HaZHZ30tsdA/AP0W0Aih/NAa5BhPUgUn4PJH6SPEz/ONEBRFuBtVDirtcAv6xSL4mI6ogmnvF+oo+ID1OLaHYn3u+RB+5EVkMYBcQO42bpaMRt+sOKCiX0l2oGdJifu8Glh76ZmfAFkGj5fGXFAJuBbyE96z7gkmAM1dCNuGUJnWjMjVpUYZ/BO8CFyLsch9HI8RcOyfi0PpGq5ahFNKcSbyYvBf4LcYO20JEGnkJ+kDicQMVMTo48lMz4WVhhQ0X/3Iv4ffd6qSyJ7GSQmImKffmIUMYCPwcOqjawEOYjx14JhyOR/Gad94f62u99LkGhjLVV7tkb6QwlV3jLLZ1BomFFeDSKDMdhGHKoJRg463NUD2qWONh1pQsu0Y5LdkCxF5LDCLjiOvB/gku+kt3nJhBBxDkY16OksJnUbwkVkJncHZwnkJVllJXiweBhxO1+RHz6wunIwvsR4m6tiLKH0Y38U0UasxA70DsY0J9qRHME8XoDiKjqTq6tgIeCirejQBoAiewUvI4JWGFTkMXHm5hbjp8rBib5figAGoURSOlrBPPQhy3hUyiKfyetS2y6Dvlmzowpdyid8jFkhbY6ZfNJZKm9S/0RAAvqvkOE3y2ukTb0AuOsk1ZgGopJPVi6kB59NH0r55FfMx+XGgo4s/zaYmb8WbhEh4fM1bjYV6OJSMtQnk+JaPdAymkSOerqym2uA73In7Q7cEhMnTFIWZ9FfyuuFehG1mxUQnpTiGNXH0FWzpZEG/A3VBBm+8S5eG07gJ/D+taSGT+LjkkXgJcZQ/16Si2UFOZng/MRyFs7EeX9VHPQNYPVKC63tEqdw5CPp9VIoXfdMsRxmpNRkHFL4xg0A99TRBOdk+ja/24tTTEfLzO6VDSJ6ons9aIPmeK3BuftwA8p60q/RzOz1XgGpW3cQPxH/Dytz/d9L4jXKkQRzTgU0IvDcuCPRCvAlcgDOxKvh2yPCDRsvSiNc2DdjxEvmurFWvThSgp4Fimgs4LzAvKvbKlE7duRfvO1mPJE0KcPNKKI5nhgckz9IvBdFB0upf9XQx6lLfwC5RZHYSaywlbWaGsNksvNstqFSCT9OjjfEYmk00N1HqW6Y7IVuAxxzJO28HO2GCp1mjbEIuOwGMVVupFTb0ONoxv5bKp9iKlITNXCnUTEQerAMmT2nkaZYKYhwg8TzEZERBsabL9RrAe+hPJr/l+ikmiOBj5apf4DVCzRrAOGkp02Vanzd9TOO86hj3o5tWV0L0qu+i6yuC4G/hfFk76ClqxUxtMuA/67RrutwhIUSN3wPjwrT+ssQaC/eHJo5sWx/5Uob6YZPIEskhkx5QcgT2ytj1ZAyd8ZFH9KBNdyKML8KnLdP4kU2lKIowNxs7kMjMAXkV5zeSMDagEeQgHVq2jcXdAIdkRKfiN+mjASKDn+vcV/4Ub2pbqZ/TtkATSDd1E86iiiw/NZRLDzqR17KSDO8VtEDOtR0vYa+i+T8ZDFdQQSTUcykJutRJbTNbTeqVYPrkfieVatioPAR5HXu9rK0Dg49B5/TEh5T4YKP4Hc9FHoQ8rsYDAPzfQ4s/lopDQvjikPowe4P3Q+BHHISWhm7Y58OoeghPNKbEBxs2sQV9pa6EETYE9a54OqhEf0GvBGkIw62ZHqWfzPoZk9GLyNdIk4otkJWRT1EE0Yo1EC1Sko0Wp48LcSObTSYD5KAlvAlk0mrxcrkX7zS/QdPojox4VLRDOd6nGmu9FKvcHibrTbRFy648nATdQ2v8PYgBx1byDdaAIiHIeU75Uox+dZlAC/kubTDxzNrbWuhSeRw/F64g2CLfXsetCv/SSKVn+myoNX0F8UDAaLkfl9Rkz5/shPdFMDbeaRNbIEye4M5ZzfXqRPtSrdoFq6ZCOrTqNwC+LCX40pbyM67ONa8OxaSIVPSsnGC1GENbyRDugDLKKcAzxYGFo9sA59yMrNkLKIOziad33n2HKL0l5BieHh/hnSqV5i8J7kS5FivwPRmxpFrdI0JG6X0XpxW1KEH+l3cRDbp23DXykGu2xjG/4KsY1otqFhbCOabWgY24hmGxrGNqLZhoaRRO77LHKOPc/gsrxSyNewN/L/GDKvF6FUgGb9JQnkLd0DhTrSKLSxFgXTlhGzsCvASJTE1YZWNtaTmdeFEtknIddDHjkGF6FEtKix7I082+Gyyj6VzGgPZQw8y8C413AUM8oix2QjXvI29J4mozTWRND3NWjsS6gd9R6OFhfujGikD435GWA1ZvaWmfWa2c1mljIzmjgyZna6mc03s5yZ+WZWDP6amfWY2f1mdoKZeQ20O8rMZpnZw2a2MdRmqf2imfWZ2Y1m1lGlnSPNbF0wzotqPDNpZmea2eKK55XGssrMpsfcOy+oVwgdvcH4eyuu+2b2mJllI9qZZmbLg3t+Wue7Gm1mc8zsqaD9EsJ932BmM6u00W5mXzGzP8eM/QUzm5JEsyiDuEQzXGYo2qzn3OD8VRQRXx5Q6RQUaT4RRbmvQElRtRxRB6LVAaXI+3IUL1qOAn1JNKv3QLOnmmMtgWZgafeEOLhgHFcG9f4I/AalWGQRt8ohrhyFJxAX7EWhiiRwKOJ03chJtjm4nkEzNyqk4UL9TUWUV2Iaygc6ODgvpYgsD/rbhoLBmWBMUUiizMYLg/MF6Dv2II51KHJgrsDMVgdUdFswyxrhMGkzuyJE1Teb2eSIOtPN7OkQ5Z9Xo90DzeyNoP5qM7vYzKaaWVdFvU4z2yXieuUx3cw2Be1dXKXeODN7Lqj3BzP7UEX5CDPbvsr9qWC2tgXjbjez3wTtvRTcmwzK24M6Ue1MC32X62uMbT8zWxLUXWVmF5rZxIi2s8HzXUw7Hw4981dmNraifKyJmw3qtxFAqQezg/8fQgvvuyvq9KHZei5aNrsdikrfR/SSjhLnmoD0oS+hZbZR6EZcplUocV3QDK+Mx9UK2uYZyEFL+o2hWV+gdbk7nWhN1c4oxnYR8XG7TVTPniwtqQaNvXIcq0r/DMZ6cigTrwOx2OsYSDBhLETpoqD1RXELxw4PlT1IPMFsCZQ2DgAlpc1HKaOHIhbdKNKUg5werQ8sTkXrpUCi5NYqdWvhJcpjPwqJ0guQMdBv15DBcJoMonCQFfN6HfcsRFlqCcRxojCJ8st9uqLMQ/nEx1CesaWMtGtpPrOwhALSt3IonXQXJOe/jhLk70EJ6Vtre9dKTKC85GUxg+NgPSg7rxvtHLZ3cPSg1I270NjXD4ZoHOVZVO+CrHBqQVxOS5j7VYoHD3GhmYh9ZkJtPsrgiQbEwr+FCOQ4NJP3QkrmwWhN2BcZ+BM6WwODVS8qsQqpEbegpLzDkQvlqOA4HjhvMA/NIe0cZB3sSu1fHintIN5L/K4MSxFBpJCISFKeQUXgJyhVsxcNYm6oP63Ec8FxJZpxf4/ygA5GnOdMqovj9wNvoXGnkXXURmvWbC8Ijk4knmajJdQnAevCs7rRvVF8pOB2ow87h/gds0B6QWnp64sM3EGrhEeDclAK52mhMkOEeS9aw7Swgf42izwSTeeE+jWZ92fZci0soszxpqO9EVuJbpTmez7l30g4NEw0JUUtVXGERUAlHgHuCP6fgfaQ2yNUv5RVdlJQNgr5KS5HS06i8Bfkn3kXEeHVyHewC2XF0mPgEtZWpDxmEBvek7L15NCkmEY5TfXtoH9bGxvQaoqNyCC5AqWNjkf99ygnUnWgJddxfp8hSFecQHn1rAvqH4ISwwBeKzmZQNu+ltY1hYmpHW3ufEPEg/rQ2ugs4ggzkRycj8RMBukDhwUPX4PW+twZ9xYC3B0M8tvI0roUOA9xmeXBc9vp/zsN1VIxPcovq1q9qchaS6B1WkuQaPwQmhRdwRh+SvUdrsIoKfX1LGMO97ekOtRSIR5A4uMSNLEuQVxxMWXx1YnEVzv63YiofZQPR4ruBmSALEPSZHfknG1H7+PS0s6NBWRSxi2PrbY38Nto3//HgC+gWXp6RZ0VyCS8mvqXjNyGxM9s9MF2YuAmSjn0Yt6guvVmaIwZqieVe0Fbkxm4OuMdNIZLqX+9tws9rxGdq+TTgfqS4H+OxNQcNPnHE73R5FLik/odisnthtSCMNYD/4PcDwv+D57hJ0k1SnsEAAAAAElFTkSuQmCC"},91427:function(e,t,a){e.exports=a.p+"fonts/titillium-web-v15-latin-700.c546e3f4.woff2"},91701:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".class-divider[data-v-28ca4650]{background-color:#d7d7d7;color:#111;border-left:4px solid #1e88e5;letter-spacing:.2px}.sidebar-common-break[data-v-28ca4650]{margin-top:12px;padding-top:8px;background-color:#1e88e5;color:#fff}.sidebar-avatar[data-v-28ca4650]{background:#f3f6f8;box-shadow:inset 0 -1px 0 rgba(0,0,0,.08)}.sidebar-shell[data-v-28ca4650]{height:100%;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid #ddd}.sidebar-scroll[data-v-28ca4650]{flex:1 1 auto;min-height:0}.sidebar-account-toggle[data-v-28ca4650]{min-height:82px;padding:12px}.sidebar-account-toggle[data-v-28ca4650] .q-item__section--avatar{min-width:50px}.sidebar-account-name[data-v-28ca4650],.sidebar-email[data-v-28ca4650],.sidebar-title[data-v-28ca4650]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-title[data-v-28ca4650]{font-size:14px;font-weight:700;letter-spacing:.2px}.sidebar-account-name[data-v-28ca4650]{color:#334155;margin-top:2px}.sidebar-email[data-v-28ca4650]{font-size:11px;color:#64748b}.sidebar-account-menu[data-v-28ca4650]{padding:4px 0;background:#fff;border-top:1px solid rgba(0,0,0,.06)}.sidebar-account-menu .q-item[data-v-28ca4650]{min-height:40px}.sidebar-account-menu[data-v-28ca4650] .q-item__section--avatar{min-width:42px}.sidebar-sign-out[data-v-28ca4650]{color:#475569}.workspace-summary[data-v-28ca4650]{border-bottom:1px solid #e0e0e0;background:#f8fafb}.quick-action-button[data-v-28ca4650]{min-height:38px;justify-content:flex-start}.list-background .q-item[data-v-28ca4650]:not(.class-divider){padding-left:18px}.list-background .q-item:not(.class-divider) .q-item-section[data-v-28ca4650]{padding-left:6px}",""]),t.default=a},92180:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".range-picker[data-v-de95972c]{font-size:20px;font-weight:400;margin-bottom:10px}.quick-range-buttons[data-v-de95972c]{justify-content:flex-end}",""]),t.default=a},92271:function(e,t,a){var l=a(91701);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("5a4f462c",l,!0,{sourceMap:!1,shadowMode:!1})},92367:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".comp-box{.title[data-v-07b3feda]{font-size:1rem;margin-top:0;line-height:inherit}.count[data-v-07b3feda]{font-size:1.4rem}}",""]),t.default=a},92387:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".section-title[data-v-e9feffd8]{font-size:1rem;font-weight:700}.scan-compact[data-v-e9feffd8]{padding:1rem;display:flex;flex-direction:column;height:100%}.scan-compact--express[data-v-e9feffd8]{border-left:5px solid #ef6c00;background:#fffaf3}.scan-sub-action[data-v-e9feffd8]{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:8px}",""]),t.default=a},93213:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".reset-link-dialog-card[data-v-00e2ff1c]{width:min(920px,92vw);max-width:92vw}.reset-link-box[data-v-00e2ff1c]{max-height:220px;overflow:auto;padding:10px 12px;border:1px solid #d7dde6;border-radius:8px;background:#f8fafc;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;line-height:1.5;word-break:break-all;overflow-wrap:anywhere;white-space:pre-wrap}",""]),t.default=a},94017:function(e,t,a){var l=a(14163);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("ef4155d4",l,!0,{sourceMap:!1,shadowMode:!1})},94912:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".scheduler-page[data-v-66eb2753]{display:flex;flex-direction:column}.agenda-card[data-v-66eb2753],.calendar-card[data-v-66eb2753]{background:linear-gradient(180deg,#fff,#f7f9fc);border:1px solid #dbe3ef;border-radius:18px;box-shadow:0 14px 34px rgba(13,35,67,.08)}.schedule-control-box[data-v-66eb2753]{padding:20px 22px}.month-navigator[data-v-66eb2753]{display:flex;align-items:center;justify-content:space-between;gap:20px}.month-label-wrap[data-v-66eb2753]{flex:1 1 auto;text-align:center}.month-label[data-v-66eb2753]{font-size:26px;font-weight:700;color:#17324d;letter-spacing:-.02em}.month-caption[data-v-66eb2753]{margin-top:4px;font-size:12px;color:#63788d}.schedule-search-bar[data-v-66eb2753]{padding-top:18px}.search-detail-row[data-v-66eb2753]{padding-top:16px;border-top:1px solid #e2e8f0}.search-detail-label[data-v-66eb2753]{display:block;margin-bottom:8px}.applied-filter-row[data-v-66eb2753]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.summary-box[data-v-66eb2753]{height:100%;display:flex;flex-direction:column;justify-content:center;min-height:110px}.summary-label[data-v-66eb2753]{font-size:12px;color:#62788f}.summary-value[data-v-66eb2753]{font-size:24px;font-weight:700;color:#102942}.agenda-card[data-v-66eb2753],.calendar-card[data-v-66eb2753]{height:100%;padding:16px}.day-cell[data-v-66eb2753]{display:flex;flex-direction:column;gap:6px;min-height:88px}.schedule-badge[data-v-66eb2753]{width:100%;cursor:pointer;justify-content:flex-start;min-height:20px;padding:2px 6px}.agenda-head[data-v-66eb2753]{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.agenda-title[data-v-66eb2753]{font-size:18px;font-weight:700;color:#17324d}.agenda-date[data-v-66eb2753]{font-size:13px;color:#5f7388}.agenda-item[data-v-66eb2753]{border-radius:12px}.empty-state[data-v-66eb2753]{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#6b7b8c}@media(max-width:1023px){.month-label-wrap[data-v-66eb2753]{order:-1}.search-detail-row[data-v-66eb2753]{padding-top:12px}.month-navigator[data-v-66eb2753]{flex-direction:column;align-items:stretch}}",""]),t.default=a},94925:function(e,t,a){var l=a(18131);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("06b72b6e",l,!0,{sourceMap:!1,shadowMode:!1})},95936:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".card-size[data-v-1f4f6585]{width:900px;max-width:90vw;overflow:hidden}.q-toolbar[data-v-1f4f6585]{position:sticky;top:0;background:#fff;z-index:100}.q-stepper[data-v-1f4f6585]{height:80vh;display:flex;flex-direction:column}.preview-toolbar[data-v-1f4f6585]{position:sticky;top:0;z-index:15;background:#fff;padding:8px 0}.my-sticky-table[data-v-1f4f6585]{height:calc(80vh - 250px);overflow:auto}.my-sticky-table[data-v-1f4f6585] .q-table__card{background:transparent}.my-sticky-table[data-v-1f4f6585] .q-table thead tr{position:sticky!important;top:0;z-index:10;background:#f5f5f5}.my-sticky-table[data-v-1f4f6585] .q-table th{background:#f5f5f5;font-weight:700;position:sticky;top:0;z-index:10}.my-sticky-table[data-v-1f4f6585] .q-table td{background:#fff;text-overflow:ellipsis}",""]),t.default=a},96428:function(e,t,a){var l=a(66754);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("41672748",l,!0,{sourceMap:!1,shadowMode:!1})},97967:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".partner-summary-grid[data-v-57da7373]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.partner-summary-card[data-v-57da7373]{border-radius:12px;background:#fff}.partner-filter-bar[data-v-57da7373]{padding:16px;border:1px solid #e5e9f0;border-radius:12px;background:#f8fafc}@media (max-width:1280px){.partner-summary-grid[data-v-57da7373]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:768px){.partner-summary-grid[data-v-57da7373]{grid-template-columns:repeat(1,minmax(0,1fr))}}",""]),t.default=a},98359:function(e,t,a){var l=a(88189);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("af5e6b18",l,!0,{sourceMap:!1,shadowMode:!1})},99435:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".section-title[data-v-588cb084]{font-size:1rem;font-weight:700}.meta-grid[data-v-588cb084]{display:flex;flex-direction:column;gap:6px}.meta-row[data-v-588cb084]{display:grid;grid-template-columns:86px minmax(0,1fr);align-items:start;-moz-column-gap:10px;column-gap:10px;font-size:14px}.meta-key[data-v-588cb084]{min-height:24px;padding:3px 8px;border-radius:4px;background:#eef3f8;color:#4b5d70;font-size:12px;font-weight:700;line-height:1.5;text-align:center}.meta-value[data-v-588cb084]{min-width:0;color:#172b3f;font-weight:600;line-height:1.7;word-break:keep-all;overflow-wrap:anywhere}.selection-reason-box[data-v-588cb084]{display:flex;flex-direction:column;gap:4px;flex:1 1 auto;min-width:0}.selection-reason-row[data-v-588cb084]{display:grid;grid-template-columns:78px minmax(0,1fr);align-items:start;gap:8px}.selection-reason-label[data-v-588cb084]{padding:2px 6px;border-radius:4px;background:#eef3f8;color:#4b5d70;font-size:12px;font-weight:700;line-height:1.45;text-align:center}.selection-reason-value[data-v-588cb084]{min-width:0;color:#172b3f;font-weight:600;line-height:1.45;word-break:keep-all;overflow-wrap:anywhere}.compact-btn[data-v-588cb084]{min-height:34px}.order-start--express[data-v-588cb084]{border-left:5px solid #ef6c00}.express-order-guide[data-v-588cb084]{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid #f4c281;border-radius:6px;background:#fffaf0;color:#633b0d}.express-order-guide__title[data-v-588cb084]{font-size:13px;font-weight:800}.express-order-guide__desc[data-v-588cb084]{margin-top:2px;font-size:12px;line-height:1.5}",""]),t.default=a},99690:function(e,t,a){a.r(t);var l=a(31601),l=a.n(l),i=a(76314),a=a.n(i)()(l());a.push([e.id,".suggestion-card[data-v-406ea4a0]{cursor:pointer;transition:border-color .15s ease,background .15s ease}.suggestion-card[data-v-406ea4a0]:hover{border-color:#1976d2;background:#f7fbff}.candidate-summary-card[data-v-406ea4a0]{min-height:84px}",""]),t.default=a},99921:function(e,t,a){var l=a(92387);(l="string"==typeof(l=l.__esModule?l.default:l)?[[e.id,l,""]]:l).locals&&(e.exports=l.locals);(0,a(99548).A)("0977f005",l,!0,{sourceMap:!1,shadowMode:!1})}},l={};function m(e){var t=l[e];return void 0!==t||(t=l[e]={id:e,exports:{}},a[e].call(t.exports,t,t.exports,m)),t.exports}function e(e,t){var a,l,i,o=t[0],s=t[1],r=t[2],n=0;if(o.some(function(e){return 0!==u[e]})){for(a in s)m.o(s,a)&&(m.m[a]=s[a]);r&&(i=r(m))}for(e&&e(t);nl;o--)d[o]=d[o-1];d[o]=[t,a,l]},m.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return m.d(t,{a:t}),t},s=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},m.t=function(t,e){if(1&e&&(t=this(t)),8&e)return t;if("object"==typeof t&&t){if(4&e&&t.__esModule)return t;if(16&e&&"function"==typeof t.then)return t}var a=Object.create(null),l=(m.r(a),{});o=o||[null,s({}),s([]),s(s)];for(var i=2&e&&t;"object"==typeof i&&!~o.indexOf(i);i=s(i))Object.getOwnPropertyNames(i).forEach(function(e){l[e]=function(){return t[e]}});return l.default=function(){return t},m.d(a,l),a},m.d=function(e,t){for(var a in t)m.o(t,a)&&!m.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},m.f={},m.e=function(a){return Promise.all(Object.keys(m.f).reduce(function(e,t){return m.f[t](a,e),e},[]))},m.u=function(e){return"js/"+e+"."+{418:"34bff3e6",570:"44961c60",668:"3649079d",757:"b536d4a2"}[e]+".js"},m.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),m.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},c={},m.l=function(l,e,t,a){if(c[l])c[l].push(e);else{var i,o;if(void 0!==t)for(var s=document.getElementsByTagName("script"),r=0;r