1"use strict"; 2/* eslint-disable no-var */ 3/* globals KbbJS */ 4/* 5 * íì 주ìë¡ íì¤ ì¸í°íì´ì¤ 6 * - 1. íì 기본배ì¡ì§ ì¡°í 7 * order.popup.delivery.interfaces.getDefaultDeliveryAddressAsync() 8 * # async í¨ìì´ë¯ë¡ 결과를 .then ì¼ë¡ ë°ê±°ë await ì¼ë¡ ë°ìê² 9 * @return { 10 * dlpnSrmb: ë°°ì¡ì§ìë² 11 * dlpnName: ë°°ì¡ì§ëª 12 * recvName: ë°ëë¶ 13 * cphnTlnm: í´ëì íì íë²í¸ 14 * dlvrAdrsDvsnCode: ë°°ì¡ì£¼ì구ë¶ì½ë 15 * dlvrAdrsDvsnCodeName: ë°°ì¡ì£¼ì구ë¶ì½ëëª 16 * rdnmAdrsYsno: ëë¡ëª 주ìì¬ë¶ 17 * frngDlvrNtnCode: í´ì¸ë°°ì¡êµê°ì½ë 18 * ntnName: êµê°ëª 19 * frngPssrNum: ì°í¸ë²í¸ 20 * bscAdrs: 기본주ì 21 * dtlAdrs: ìì¸ì£¼ì 22 * frngAddtAdrs1: í´ì¸ë¶ê°ì£¼ì1 23 * frngAddtAdrs2: í´ì¸ë¶ê°ì£¼ì2 24 * bscDlpnYsno: 기본배ì¡ì§ì¬ë¶ 25 * } 26 * # ë¡ê·¸ì¸íì§ ìì ê²½ì° ëë 기본배ì¡ì§ê° ìë ê²½ì° null 27 * 28 * - 2. íì ë°°ì¡ì§ëª©ë¡ íì 29 * order.popup.delivery.interfaces.openDeliveryListPopup({ 30 * callback: (data) => {}, // ì½ë°±í¨ì (íì 기본배ì¡ì§ ì¡°íì ê°ì ê²°ê³¼ ì ê³µ) 31 * // ìëë ì í í목 (ìì´ë ë¨) 32 * dmstDlvrPsblYn: "", // êµë´ë°°ì¡ ê°ë¥ì¬ë¶ - Nì¼ë¡ ëª ìí ê²½ì° êµë´ë°°ì¡ ì ë ¥ë¶ê° 33 * frngDlvrPsblYn: "", // í´ì¸ë°°ì¡ ê°ë¥ì¬ë¶ - Nì¼ë¡ ëª ìí ê²½ì° í´ì¸ë°°ì¡ ì ë ¥ë¶ê° 34 * }); 35 * # ì íí ë°°ì¡ì§ê° callback í¨ìì ì¸ìë¡ ì ë¬ë¨ (ë ì´ììì 기본배ì¡ì§ ì¡°íì ê°ì) 36 * # ë¡ê·¸ìì ìíììë ë¹íì ë°°ì¡ì§ ì ë ¥ íì ì´ ì´ë¦¬ê³ ì ë ¥ì ìë£íë©´ ì½ë°± í¸ì¶ 37 * 38 * - 2-1. ì ê·ë°°ì¡ì§(êµë´) ë±ë¡ íì (íì/ë¹íì ê°ë¥) 39 * order.popup.delivery.interfaces.openDeliveryAddressDetailPopup({ 40 * dlvrAdrsDvsnCode: "100", // 100:êµë´ì£¼ì 41 * isNewYn: "Y", // Y: ì ê·, N: 기존주ì ìì 42 * dlpnSrmb: "", // isNewYn=Nì¼ ê²½ì° ë°°ì¡ì§ìë² 43 * callback: (data) => {}, // ì½ë°±í¨ì (resources.dataRegister ì ê³µ) 44 * // ìëë ì í í목 (ìì´ë ë¨) 45 * dmstDlvrPsblYn: "", // êµë´ë°°ì¡ ê°ë¥ì¬ë¶ - Nì¼ë¡ ëª ìí ê²½ì° êµë´ë°°ì¡ ì ë ¥ë¶ê° 46 * frngDlvrPsblYn: "", // í´ì¸ë°°ì¡ ê°ë¥ì¬ë¶ - Nì¼ë¡ ëª ìí ê²½ì° í´ì¸ë°°ì¡ ì ë ¥ë¶ê° 47 * showDefaultYn: "", // 기본배ì¡ì§ë¡ì¤ì íìì¬ë¶ - Nì¼ë¡ ëª ìí ê²½ì° ê¸°ë³¸ë°°ì¡ì§ë¡ ì¤ì ìµì ì¨ê²¨ì§ (기본배ì¡ì§ ìë ê²½ì° ì í íë¼ë ë©ìì§ ë¹íì) 48 * frngDlvrImpbMsg: "", // í´ì¸ë°°ì¡ë¶ê° ë©ìì§ - í´ì¸ë°°ì¡ ê°ë¥ì¬ë¶ N ì¼ë í´ì¸ë°°ì¡ì£¼ì ì ííë©´ alert íìí ë©ìì§ 49 * }); 50 * 51 * - 2-2. ì ê·ë°°ì¡ì§(í´ì¸) ë±ë¡ íì (íì/ë¹íì ê°ë¥) 52 * order.popup.delivery.interfaces.openDeliveryAddressDetailPopup({ 53 * dlvrAdrsDvsnCode: "200", // 200:í´ì¸ì£¼ì 54 * isNewYn: "Y", // Y: ì ê·, N: 기존주ì ìì 55 * dlpnSrmb: "", // isNewYn=Nì¼ ê²½ì° ë°°ì¡ì§ìë² 56 * callback: (data) => {}, // ì½ë°±í¨ì (resources.dataRegister ì ê³µ) 57 * // ìëë ì í í목 (ìì´ë ë¨) 58 * dmstDlvrPsblYn: "", // êµë´ë°°ì¡ ê°ë¥ì¬ë¶ - Nì¼ë¡ ëª ìí ê²½ì° êµë´ë°°ì¡ ì ë ¥ë¶ê° 59 * frngDlvrPsblYn: "", // í´ì¸ë°°ì¡ ê°ë¥ì¬ë¶ - Nì¼ë¡ ëª ìí ê²½ì° í´ì¸ë°°ì¡ ì ë ¥ë¶ê° 60 * }); 61 * 62 * - 3. (220802 SBì¶ê°) ë°°ì¡ì§ ì¡°í/ë±ë¡ ë§ì´ë£¸ 커ì¤í°ë§ì´ì§ 63 * [íì ë ¸ì¶ íë©´ ë²í¸] 64 * SCR-BIZ08-02-P910 Sam_ë°°ì¡ì§ë±ë¡ 65 * SCR-BIZ08-02-P905 ì 물ë±ë¡_ì 물íì¸ 66 * SCR-BIZ08-05-P008 êµíë²í¸_ìíë±ë¡ 67 * 68 * order.popup.delivery.interfaces.openDeliveryListPopup({ 69 * callback: (data) => {}
69, // ì½ë°±í¨ì (íì 기본배ì¡ì§ ì¡°íì ê°ì ê²°ê³¼ ì ê³µ) 70 * frngDlvrPsblYn: "N", // í´ì¸ë°°ì¡ ê°ë¥ì¬ë¶ - Nì¼ë¡ ëª ìí ê²½ì° í´ì¸ë°°ì¡ ì ë ¥ë¶ê° (ë§ì´ë£¸ì Nì¼ë¡ í¸ì¶) 71 * showDefaultYn: "N", // 기본배ì¡ì§ë¡ì¤ì íìì¬ë¶ - Nì¼ë¡ ëª ìí ê²½ì° ê¸°ë³¸ë°°ì¡ì§ë¡ ì¤ì ìµì ì¨ê²¨ì§ (기본배ì¡ì§ ìë ê²½ì° ì í íë¼ë ë©ìì§ ë¹íì) 72 * // í´ì¸ë°°ì¡ë¶ê° ë©ìì§ - í´ì¸ë°°ì¡ ê°ë¥ì¬ë¶ N ì¼ë í´ì¸ë°°ì¡ì£¼ì ì ííë©´ alert íìí ë©ìì§ 73 * frngDlvrImpbMsg: "ì 물, Sam ê·¸ëê³ ì± , êµíë²í¸ ë±ë¡ì ê²½ì° í´ì¸ë°°ì¡ì§ ë±ë¡ ëì§ ììµëë¤. êµë´ì£¼ìì§ë¡ ì¬ë±ë¡ ë°ëëë¤", 74 * }); 75 */ 76(function() { 77 78 /* -------------------------------------------------------------------------------- 79 * ë´ë¶ ë³ì 80 * -------------------------------------------------------------------------------- */ 81 let resources = { 82 controls: { 83 // ë°°ì¡ì§ ëª©ë¡ ë¤ì´ì¼ë¡ê·¸ 84 popupListDialogId: "#popDeliveryList", // ë°°ì¡ì§ ëª©ë¡ íì ID 85 listPopupTitle: "#popDeliveryList [data-pop-delivery-list=title]", // ë°°ì¡ì§ ëª©ë¡ ë¤ì´ì¼ë¡ê·¸ íì´í 86 addressAddBtn: ".address_wrap button[data-pop-delivery-list=pop-register]", // ë°°ì¡ì§ ì¶ê° ë²í¼ 87 deliveryListContainer: ".address_wrap ul[data-pop-delivery-list=list]", // ë°°ì¡ì§ 리ì¤í¸ 컨í ì´ë 88 deliveryListNoData: ".address_wrap [data-pop-delivery-list=no-data]", // ë±ë¡ë ë°°ì¡ì§ ìì 89 itemSelectCheck: ".address_item input[data-pop-delivery-list-item=check]", // ë°°ì¡ì§ í목 ì²´í¬ë°ì¤ 90 itemActionBtn: ".address_item button[data-pop-delivery-list-item]", // ë°°ì¡ì§ ìì /ìì 91 listPopupFooterArea: "#popDeliveryList [data-pop-delivery-list=data-footer]", // footer ìì 92 defaultAddressCheckArea: "#popDeliveryList [data-pop-delivery-list=default-checkbox-area]", // 기본배ì¡ì§ë¡ ì¤ì ìì 93 defaultAddressCheck: "#popDeliveryList [data-pop-delivery-list=default-checkbox]", // 기본배ì¡ì§ë¡ ì¤ì ì²´í¬ë°ì¤ 94 addressSelectBtn: "#popDeliveryList button[data-pop-delivery-list=item-select]", // 주ì ì í ë²í¼ 95 // êµë´ë°°ì¡ì§ ë±ë¡/ìì 96 popupDomesticDialogId: "#popDeliveryAddressDetail", // êµë´ë°°ì¡ì§ ë±ë¡/ìì íì ID 97 domDetailPopupTitle: "#popDeliveryAddressDetail [data-pop-delivery-detail=title]", // ë¤ì´ì¼ë¡ê·¸ íì´í 98 domDeliveryNameArea: "#popDeliveryAddressDetail [data-pop-delivery-detail=address-name-area]", // ë°°ì¡ì§ëª ì ë ¥ìì 99 domDeliveryName: "#popDeliveryAddressDetail [data-pop-delivery-detail=address-name]", // ë°°ì¡ì§ëª 100 domRecvName: "#popDeliveryAddressDetail [data-pop-delivery-detail=recipient-name]", // ë°ëë¶ 101 domTelno: "#popDeliveryAddressDetail [data-pop-delivery-detail=recipient-phone]", // í´ëí°ë²í¸ 102 domOverSeasChgBtn: "#popDeliveryAddressDetail [data-pop-delivery-detail=btn-overseas]", // í´ì¸ë°°ì¡ì¼ë¡ ì íë²í¼ 103 domAddrBtnArea: "#popDeliveryAddressDetail [data-pop-delivery-detail=search-btn-area]", // 주ì찾기 ë²í¼ ìì(주ìì ë ¥ì ) 104 domAddrShowArea: "#popDeliveryAddressDetail [data-pop-delivery-detail=address-data-area]", // 주ìì ë ¥/ìì ìì 105 domAddrBtn: "#popDeliveryAddressDetail [data-pop-delivery-detail=search-popup-call]", // 주ì찾기 ë²í¼ 106 domAddr1: "#popDeliveryAddressDetail [data-pop-delivery-detail=basic-address]", // 기본주ì íì 107 domAddr2: "#popDeliveryAddressDetail [data-pop-delivery-detail=detail-address]", // ìì¸ì£¼ì ì ë ¥ 108 domDefaultCommonEnterCheckArea: "#popDeliveryAddressDetail [data-pop-common-enter-detail=common-enter-data-area]", // ê³µëíê´ ì¶ì ë°©ë² ì¤ì ìì 109 domCommonEnterPasswordInput: "#popDeliveryAddressDetail [data-pop-common-enter-detail=common-enter-data-area] input[type='text']", // ê³µëíê´ ë¹ë°ë²í¸ ì ë ¥ 110 domCommonEnterPasswordRadio: "#popDeliveryAddressDetail [name='doorPassword']", // ê³µëíê´ ì¶ì ë°©ë² 111 domDefaultAddressCheckArea: "#popDeliveryAddressDetail [data-pop-delivery-detail
111=address-data-area2]", // 기본배ì¡ì§ë¡ ì¤ì ìì 112 domDefaultAddressCheck: "#popDeliveryAddressDetail [data-pop-delivery-detail=default-delivery]", // 기본배ì¡ì§ë¡ ì¤ì ì²´í¬ë°ì¤ 113 domSaveBtn: "#popDeliveryAddressDetail [data-pop-delivery-detail=save]", // ì ì¥ ë²í¼ 114 // í´ì¸ë°°ì¡ì§ ë±ë¡/ìì 115 popupForeignDialogId: "#popOverseasDeliveryDetail", // í´ì¸ë°°ì¡ ë±ë¡/ìì íì ID 116 fgnDetailPopupTitle: "#popOverseasDeliveryDetail [data-pop-overseas-detail=title]", // ë¤ì´ì¼ë¡ê·¸ íì´í 117 fgnDeliveryNameArea: "#popOverseasDeliveryDetail [data-pop-overseas-detail=address-name-area]", // ë°°ì¡ì§ëª ì ë ¥ìì 118 fgnDeliveryName: "#popOverseasDeliveryDetail [data-pop-overseas-detail=address-name]", // ë°°ì¡ì§ëª 119 fgnDomesticChgBtn: "#popOverseasDeliveryDetail [data-pop-overseas-detail=btn-internal]", // êµë´ë°°ì¡ì¼ë¡ ì íë²í¼ 120 fgnCountryChgBtn: "#popOverseasDeliveryDetail [data-pop-overseas-detail=btn-popup-country]", // í´ì¸ë°°ì¡ êµê°ì í ë²í¼ 121 fgnCountryName: "#popOverseasDeliveryDetail [data-pop-overseas-detail=country-name]", // í´ì¸ë°°ì¡ êµê°ëª 122 fgnDeliveryFee: "#popOverseasDeliveryDetail [data-pop-overseas-detail=delivery-fee]", // ììë°°ì¡ë¹ 123 fgnDeliveryFeeCalcBtn: "#popOverseasDeliveryDetail [data-pop-overseas-detail=btn-popup-delivery-fee]", // ììë°°ì¡ë¹ ê³ì° íì ë²í¼ 124 fgnRecvName: "#popOverseasDeliveryDetail [data-pop-overseas-detail=recipient-name]", // ë°ëë¶ 125 fgnTelno: "#popOverseasDeliveryDetail [data-pop-overseas-detail=recipient-phone]", // í´ëí°ë²í¸ 126 fgnEmailArea: "#popOverseasDeliveryDetail [data-pop-overseas-detail-email-area]", // email ìì 127 fgnEmail: "#popOverseasDeliveryDetail [data-pop-overseas-detail=recipient-email]", // email 128 fgnAddress: "#popOverseasDeliveryDetail [data-pop-overseas-detail=address]", // Address 129 fgnCity: "#popOverseasDeliveryDetail [data-pop-overseas-detail=city]", // City 130 fgnState: "#popOverseasDeliveryDetail [data-pop-overseas-detail=state]", // State/Province 131 fgnZipCode: "#popOverseasDeliveryDetail [data-pop-overseas-detail=zip]", // Zip Code 132 fgnDefaultAddressCheckArea: "#popOverseasDeliveryDetail [data-pop-overseas-detail=default-delivery-box]", // 기본배ì¡ì§ë¡ ì¤ì ìì 133 fgnDefaultAddressCheck: "#popOverseasDeliveryDetail [data-pop-overseas-detail=default-delivery]", // 기본배ì¡ì§ë¡ ì¤ì ì²´í¬ë°ì¤ 134 fgnSaveBtn: "#popOverseasDeliveryDetail [data-pop-overseas-detail=save]", // ì ì¥ ë²í¼ 135 fgnOverseasInfo: "#popOverseasDeliveryDetail [data-pop-overseas-detail=btn-overseas-info]", // í´ì¸ë°°ì¡ ìë´ íì 136 popupOverseasInfoDialogId: "#popOverseasDeliveryInfo", // í´ì¸ë°°ì¡ ìë´ íì ID 137 // í´ì¸ë°°ì¡êµê° ëª©ë¡ 138 popupCountriesDialogId: "#popSelDeliveryCountry", 139 countryList: "#popSelDeliveryCountry_list", 140 countryQuickLinkList: "#popSelDeliveryCountry_quick", 141 countryQuickLink: "#pop_delivery_country_quick", 142 countryListItem: "#pop_delivery_country_item", 143 countryItemSelect: ".country_item button[data-pop-delivery-country=country]", 144 // í´ì¸ Fedex ììë°°ì¡ë¹ ìë´ 145 popupFedexFeeDialogId: "#popDeliveryFedExInfo", // FedEx ê³ì°/ìë´ íì ID 146 dlvFeeSelects: "#popDeliveryFedExInfo select[data-pop-delivery-fedex-info]", 147 dlvFeeBoxCnt: "#popDeliveryFedExInfo select[data-pop-delivery-fedex-info=amount]", 148 dlvFeeRegion: "#popDeliveryFedExInfo select[data-pop-delivery-fedex-info=region]", 149 dlvFeeAmt: "#popDeliveryFedExInfo input[data-pop-delivery-fedex-info-fee=fee]", 150 }, 151 apiUrl: { 152 deliveryList: "/api/comm/ord/v1/delivery/address", // ë°°ì¡ì§ì¡°í 153 deliveryListV2: "/api/comm/ord/v2/delivery/address", // ë°°ì¡ì§ ì¡°í v2 154 deliveryDetail: "/api/comm/ord/v1/delivery/address", // ë°°ì¡ì§ ì¡°í 155 deliveryDelete: "/api/comm/ord/v1/delivery/address", // ë°°ì¡ì§ ìì 156 deliveryUpdate: "/api/comm/ord/v1/delivery/address", // ë°°ì¡ì§ ìì 157 countryList: "/api/comm/ord/v1/delivery/frng-dlvr-ntn", // í´ì¸ë°°ì¡ êµê° 목ë¡ì¡°í 158 zoneList: "/api/comm/ord/v1/delivery/frng-dlvr-zone", // í´ì¸ë°°ì¡ ë°°ì¡êµ¬ì 목ë¡ì¡°í 159 fgnDeliveryFee: "/api/comm/ord/v1/delivery/frng-dlvr-expn", // í´ì¸ë°°ì¡ ë°°ì¡ë¹ ì¡°í 160 }, 161 constraints: { 162 pageUnit: "100", // íì´ì§ë¹ 목ë¡ê±´ì (íì ê¸°ë³¸ê° 100) 163 frngDscmCode: "104", // í´ì¸íë°°ì¬ì½ë (104:FedEx) 164 }, 165 // íì í¸ì¶ì ëì´ì¨ ë°ì´í° 166 request: { 167 // ë°°ì¡ì§ ì íìë£ì ì íí ë°°ì¡ì§ ëê²¨ì¤ ì½ë°± 168 callback: (data) => { }, 169 }, 170 requestRegister: { 171 // ë°°ì¡ì§ ë±ë¡/ìì ì í´ë¹ ë°°ì¡ì§ì ë³´ ëê²¨ì¤ ì½ë°± 172 callback: (data) => { }, 173 isNewYn: "Y", 174 dlpnSrmb: "", 175 dmstDlvrPsblYn: "", 176 frngDlvrPsblYn: "", 177 }, 178 // ë°°ì¡ì§ ëª©ë¡ (api ì²ë¦¬ê²°ê³¼) 179 dataList: [], 180 // ë² ì¡ì§ ë±ë¡/ìì ì ë³´ 181 dataRegister: { 182 dlpnSrmb: "", // ë°°ì¡ì§ìë² (ì ê·ë°°ì¡ì§ ë±ë¡ ëë ë¹íìì¸ ê²½ì° ì ê³µíì§ ìì) 183 dlpnName: "", // ë°°ì¡ì§ëª 184 recvName: "", // ë°ëë¶ëª 185 cphnTlnm: "", // í´ëì íì íë²í¸ 186 email: "", // ì´ë©ì¼ 187 dlvrAdrsDvsnCode: "", // ë°°ì¡ì£¼ì구ë¶ì½ë (100:êµë´, 200:í´ì¸) 188 rdnmAdrsYsno: "", // ëë¡ëª 주ìì¬ë¶ 189 frngDlvrNtnCode: "", // í´ì¸ë°°ì¡êµê°ì½ë 190 ntnName: "", // êµê°ëª (07/19 ì¶ê°) 191 frngPssrNum: "", // ì°í¸ë²í¸ 192 bscAdrs: "", // 기본주ì (í´ì¸ì¸ ê²½ì° Address) 193 dtlAdrs: "", // ìì¸ì£¼ì (í´ì¸ì¸ ê²½ì° ìì) 194 frngAddtAdrs1: "", // í´ì¸ë¶ê°ì£¼ì1 (êµë´ì ê²½ì° ê±´ë¬¼ëª , í´ì¸ì ê²½ì° City) 195 frngAddtAdrs2: "", // í´ì¸ë¶ê°ì£¼ì2 (êµë´ì ê²½ì° ë, í´ì¸ì ê²½ì° State) 196 bscDlpnYsno: "", // 기본배ì¡ì§ì¬ë¶ (ë¹íìì¸ ê²½ì° ì ê³µíì§ ìì) 197 bildgMngmNum: "", // 건물ê´ë¦¬ë²í¸ 198 cmnEntMthdCode: "", // ê³µëíê´ ì¶ì ë°©ë²ì½ë 199 cmnEntMthdMemo: "" // ê³µëíê´ ì¶ì ë¹ë°ë²í¸ 200 }, 201 countries: [], 202 regions: [], 203 }; 204 205 /* -------------------------------------------------------------------------------- 206 * ì¸ë¶ ì¸í°íì´ì¤ 207 * -------------------------------------------------------------------------------- */ 208 let interfaces = { 209 /* -------------------------------------------------------------------------------- 210 * 기ë¥ëª : 기본 ë°°ì¡ì§ ì¡°í 211 * return: eos.t_so_dlvr_addr_m SO_íìë°°ì¡ì£¼ìë¡ê¸°ë³¸ ì°¸ê³ , ì¤ë¥ê° ë°ìíê±°ë ë¡ê·¸ì¸íì§ ììì¼ë©´ null 212 * ë¡ê·¸ì¸ íì 213 * -------------------------------------------------------------------------------- */ 214 getDefaultDeliveryAddressAsync: async () => { 215 if (!order.user.exists) { 216 return null; 217 } 218 219 // console.log(">>> 기본 ë°°ì¡ì§ ì¡°í <<<"); 220 try { 221 let param = `bscDlpnYsno=Y&page=1&pageUnit=100`; 222 let delivery = await order.utils.asyncManual( 223 `${resources.apiUrl.deliveryList}?${param}`, 224 { method: 'GET', }); 225 226 // console.log(">>> 기본 ë°°ì¡ì§ ì¡°í ê²°ê³¼ <<<", delivery); 227 if (Array.isArray(delivery.data) && delivery.data.length > 0) { 228 return delivery.data[0]; 229 } 230 231 //console.log(">>> 기본 ë°°ì¡ì§ ì¡°í ê²°ê³¼ê° ìì <<<"); 232 return null; 233 } catch (e) { 234 console.error(">>> 기본 ë°°ì¡ì§ ì¡°í ì¤ë¥ <<<", e); 235 return null; 236 } 237 }, // getDefaultDeliveryAddressAsync 238 /* -------------------------------------------------------------------------------- 239 * 기ë¥ëª : ë°°ì¡ì§ ëª©ë¡ íì
240 * ë¡ê·¸ì¸ëì´ìì§ ìì¼ë©´ ë°°ì¡ì§ ì ë ¥ íì ì¼ë¡ ì í 241 * data = { 242 * callback: ì í ìë£ì ì½ë°±í¨ì (ì ííì§ ìê³ ì°½ì ë«ì ê²½ì° ì무ê²ë íì§ ìì) 243 * dmstDlvrPsblYn: êµë´ë°°ì¡ ê°ë¥ì¬ë¶(N-ë¶ê°, 기본 Y) 244 * frngDlvrPsblYn: í´ì¸ë°°ì¡ ê°ë¥ì¬ë¶(N-ë¶ê°, 기본 Y) 245 * showDefaultYn: 기본배ì¡ì§ë¡ì¤ì íìì¬ë¶(N-ë¹íì, 기본 Y) 246 * frngDlvrImpbMsg: í´ì¸ë°°ì¡ë¶ê° ë©ìì§(frngDlvrPsblYn=N ì¼ ë í´ì¸ì£¼ì ì ííë©´ alert ë©ìì§) 247 * } 248 * -------------------------------------------------------------------------------- */ 249 openDeliveryListPopup : (data) => { 250 Object.assign(resources.request, data); 251 252 resources.requestRegister["dmstDlvrPsblYn"] = methods.nullToEmpty(data["dmstDlvrPsblYn"]).toUpperCase(); 253 resources.requestRegister["frngDlvrPsblYn"] = methods.nullToEmpty(data["frngDlvrPsblYn"]).toUpperCase(); 254 255 // ë¡ê·¸ì¸ ëì´ ìì§ ìì¼ë©´ ë°°ì¡ì§ ë±ë¡ íì ì¼ë¡ ë³ê²½ 256 if (order.user.notExists) { 257 interfaces.openDeliveryAddressDetailPopup({ 258 dlvrAdrsDvsnCode: "100", 259 isNewYn: "Y", 260 dlpnSrmb: "", 261 callback: data["callback"], 262 dmstDlvrPsblYn: data["dmstDlvrPsblYn"], 263 frngDlvrPsblYn: data["frngDlvrPsblYn"], 264 }); 265 return; 266 } 267 268 methods.list.displayListItem([]); 269 interfaces.api.getDeliveryList(methods.list.displayListItem, undefined, undefined, "bsc_dlpn_ysno desc, dlpn_srmb desc", undefined); 270 order.utils.openDialog(resources.controls.popupListDialogId); 271 }, // openDeliveryListPopup 272 273 /* -------------------------------------------------------------------------------- 274 * 기ë¥ëª : ë°°ì¡ì§ ì¶ê°(ìì ) ì ë ¥ íì 275 * data = { 276 * dlvrAdrsDvsnCode: ë°°ì¡ì£¼ì구ë¶ì½ë (100:êµë´, 200:í´ì¸) 277 * isNewYn: ì ê·ì ë ¥(Y/N) 278 * dlpnSrmb: ë°°ì¡ì§ìë²(ì ê·ì ë ¥ì´ Yê° ìë ê²½ì° íì) 279 * callback: ìë£ì ì½ë°±í¨ì 280 * dmstDlvrPsblYn: êµë´ë°°ì¡ ê°ë¥ì¬ë¶(N-ë¶ê°, ì´ì¸ ê°ë¥) 281 * frngDlvrPsblYn: í´ì¸ë°°ì¡ ê°ë¥ì¬ë¶(N-ë¶ê°, ì´ì¸ ê°ë¥) 282 * } 283 * -------------------------------------------------------------------------------- */ 284 openDeliveryAddressDetailPopup : (data) => { 285 let dlvrAdrsDvsnCode = `${data["dlvrAdrsDvsnCode"]}`; 286 let dmstDlvrPsblYn = `${data["dmstDlvrPsblYn"]}`.toUpperCase(); 287 let frngDlvrPsblYn = `${data["frngDlvrPsblYn"]}`.toUpperCase(); 288 switch (dlvrAdrsDvsnCode) { 289 case "100": // êµë´ë°°ì¡ì£¼ì 290 if (dmstDlvrPsblYn !== "N") 291 methods.domestic.openDialog(data); 292 else 293 KbbJS.ui.alert("êµë´ë°°ì¡ì´ ë¶ê°í©ëë¤."); 294 break; 295 case "200": // í´ì¸ë°°ì¡ì£¼ì 296 if (frngDlvrPsblYn !== "N") 297 methods.foreign.openDialog(data); 298 else 299 KbbJS.ui.alert(resources.request["frngDlvrImpbMsg"] || "í´ì¸ë°°ì¡ì´ ë¶ê°í©ëë¤."); 300 break; 301 default: // ê·¸ì¸ì ê²½ì° (í¸ìì , ë°ë¡ë림) 302 return; 303 } 304 }, // openDeliveryAddressDetailPopup 305 306 api: { 307 // API 기본: 308 // - API ìì²ì íë¼ë§í°ë¥¼ ì ë ¥íì§ ìì¼ë©´ 기본 ê°ì ì¬ì©íë¤. 309 // * ì ë ¥íì§ ìëë¤ë ì미ë í¸ì¶í ë íë¼ë§í°ë¥¼ ìëµíê±°ë, ì¤ê° íë¼ë§í°ë¼ ìëµì´ ë¶ê°ë¥í ê²½ì° undefined 를 ë£ëë¤.. 310 // * ì) getDeliveryList(callback); // page, pageUnit, sortColumn, sortOrder, callbackError ê¸°ë³¸ê° ì¬ì© 311 // * getDeliveryList(callback, 1); // pageUnit, sortColumn, sortOrder, callbackError ê¸°ë³¸ê° ì¬ì© 312 // * getDeliveryList(callback, 1, undefined, undefined, undefined, callback2); // pageUnit, sortColumn, sortOrder ê¸°ë³¸ê° ì¬ì© 313 // - callbackSuccess ë° callbackErrorë ì±ê³µ/ì¤í¨ì í¸ì¶ëë©°, 미ì ë ¥ì í´ë¹ ì½ë°±ì í¸ì¶íì§ ìëë¤. 314 // - async ííë¡ ë³ííë ¤ë©´ Promise를 ì¬ì©íë¤. 315 // * ì) let apiFunc = new Promise((resolve, reject) => { getAddressDetail(dlpnSrmb, resolve, reject); }); 316 // try { 317 // let result = await apiFunc; 318 // } catch (err) { 319 // } 320 // * Promiseì resolve ë íëì ê²°ê³¼ë§ ë°ì¼ë¯ë¡ ì½ë°±í¨ìê° ì¬ë¬ ì¸ì를 ë°ë ê²½ì°(getDeliveryList)ìë ë³ëì í¨ì wrapperë¡ êµ¬ííë¤.
321 // ì) let apiFunc = new Promise((resolve, reject) => { 322 // order.popup.delivery.interfaces.api.getDeliveryList((d, p) => { 323 // resolve({ data: d, page: p}); 324 // }); 325 // }); 326 // let result = await apiFunc; // result.data, result.page 327 /* -------------------------------------------------------------------------------- 328 * 기ë¥ëª : íì ë°°ì¡ì§ ëª©ë¡ ì¡°í 329 * @param callback api ì±ê³µì í¸ì¶í ì½ë°± (íì) 330 * @param page íì´ì§ë²í¸ 331 * @param pageUnit íì´ì§ë¹ ê±´ì 332 * @param sortColumn ì ë ¬ ì»¬ë¼ 333 * @param sortOrder ì ë ¬ ìì 334 * @param callbackError ìë ê²½ì° ì¤ë¥ ë°ìì í¸ì¶, ìì¼ë©´ callback([])ì ëì í¸ì¶ 335 * -------------------------------------------------------------------------------- */ 336 getDeliveryList: (callback, page, pageUnit, sortColumn, sortOrder, callbackError) => { 337 //console.log(">>> íì ë°°ì¡ì§ëª©ë¡ ì¡°í <<<"); 338 339 page = (page === undefined) ? "1" : page; 340 pageUnit = (pageUnit === undefined) ? resources.constraints.pageUnit : pageUnit; 341 sortColumn = (sortColumn === undefined) ? "" : sortColumn; 342 sortOrder = (sortOrder === undefined) ? "" : sortOrder; 343 344 let param1 = `page=${page}`, 345 param2 = `&pageUnit=${pageUnit}`, 346 param3 = (sortColumn === "") ? "" : `&sortColumn=${sortColumn}`, 347 param4 = (sortOrder === "") ? "" : `&sortOrder=${sortOrder}`; 348 order.utils.async( 349 `${resources.apiUrl.deliveryList}?${param1}${param2}${param3}${param4}`, 350 { method: 'GET', }, 351 (data) => { 352 //console.log(">> íì ë°°ì¡ì§ëª©ë¡ ì¡°í ì±ê³µ <<", data); 353 if(data.data.length > 0){ 354 if(data.data[0].bscDlvrMsg != null){ //기본배ì¡ì§ ë³ê²½íê²½ì° ë©ì¸ì§ ì¶ê°. 355 KbbJS.ui.alert(data.data[0].bscDlvrMsg); 356 } 357 }else{ 358 order.utils.callbackExec(callback, data.data); 359 } 360 361 if (Array.isArray(data.data) && data.data.length > 0) { 362 // ì ë ¬ ë° íì´ì§ 363 let pageMsg = methods.nullToEmpty(data.detailMessage) 364 if (pageMsg.startsWith("{") && pageMsg.indexOf("pageParam") > 0) { 365 pageMsg = JSON.parse(pageMsg); 366 } else { 367 pageMsg = {}; 368 } 369 370 order.utils.callbackExec(callback, data.data, pageMsg); 371 } 372 }, 373 (err) => { 374 //console.log(">> íì ë°°ì¡ì§ëª©ë¡ ì¡°í ì¤ë¥ <<", err); 375 if (callbackError !== undefined && typeof callbackError === "function") { 376 order.utils.callbackExec(callbackError, err); 377 } else { 378 order.utils.callbackExec(callback, []); 379 } 380 }); 381 }, // listProcess 382 getDeliveryListV2: async (page, size) => { 383 page = (page === undefined) ? "1" : page; 384 size = (size === undefined) ? resources.constraints.pageUnit : size; 385 386 const data = await order.utils.asyncManual( 387 `${resources.apiUrl.deliveryListV2}?page=${page - 1}&size=${size}`, 388 { method: 'GET' } 389 ); 390 return { 391 list: data.data.content, 392 pageInfo: { 393 pageParam: "page", 394 totalRecords: data.data.totalElements, 395 page: data.data.number + 1, 396 pageUnit: data.data.size 397 } 398 }; 399 }, 400 401 /* -------------------------------------------------------------------------------- 402 * 기ë¥ëª : ë°°ì¡ì§ ì¡°í 403 * -------------------------------------------------------------------------------- */ 404 getAddressDetail: (dlpnSrmb, callbackSuccess, callbackError) => { 405 //console.log(`>>> ë°°ì¡ì§ ì¡°í ${dlpnSrmb} <<<`); 406 407 order.utils.async( 408 `${resources.apiUrl.deliveryDetail}/${dlpnSrmb}`, 409 { method: 'GET', }, 410 (data) => { 411 //console.log(">> ë°°ì¡ì§ ì¡°í ì±ê³µ <<", data); 412 order.utils.callbackExec(callbackSuccess, data.data); 413 }, 414 (err) => { 415 //console.log(">> ë°°ì¡ì§ ì¡°í ì¤ë¥ <<", err); 416 if (callbackError !== undefined && typeof callbackError === "function") { 417 order.utils.callbackExec(callbackError, err); 418 } else { 419 KbbJS.ui.alert(err.resultMessage); 420 } 421 }); 422 }, // getAddressDetail 423 424 /* -------------------------------------------------------------------------------- 425 * 기ë¥ëª : ë°°ì¡ì§ ë±ë¡/ìì 426 * -------------------------------------------------------------------------------- */ 427 saveAddressDetail: (data, callbackSuccess, callbackError) => { 428 let method = ""; 429 let apiPath = resources.apiUrl.deliveryUpdate; 430 if (data.dlpnSrmb === "" || data.dlpnSrmb === "0" || data.dlpnSrmb === 0) { 431 method = "POST"; 432 } else { 433 method = "PUT"; 434 apiPath = `${apiPath}/${data.dlpnSrmb}`; 435 } 436 437 //console.log(`>>> ë°°ì¡ì§ ë±ë¡/ìì ${method} <<<`, data); 438 439 order.utils.async( 440 apiPath, 441 { method: method, body: data}, 442 (result) => { 443 //console.log(">> ë°°ì¡ì§ ë±ë¡/ìì ì±ê³µ <<", result); 444 order.utils.callbackExec(callbackSuccess); 445 }, 446 (err) => { 447 KbbJS.ui.alert(order.utils.getErrorMessage(err)); 448 }); 449 }, // saveAddressDetail 450 451 /* -------------------------------------------------------------------------------- 452 * 기ë¥ëª : 기본 ë°°ì¡ì§ë¡ ì¤ì 453 * -------------------------------------------------------------------------------- */ 454 setDefaultAddress: (dlpnSrmb, callbackSuccess, callbackError) => { 455 //console.log(`>>> 기본 ë°°ì¡ì§ë¡ ì¤ì ${dlpnSrmb} <<<`); 456 457 order.utils.async( 458 `${resources.apiUrl.deliveryUpdate}/${dlpnSrmb}/base`, 459 { method: 'PUT', body: {}, }, 460 (data) => { 461 //console.log(">> 기본 ë°°ì¡ì§ë¡ ì¤ì ì±ê³µ <<", data); 462 order.utils.callbackExec(callbackSuccess); 463 }, 464 (err) => { 465 //console.log(">> 기본 ë°°ì¡ì§ë¡ ì¤ì ì¤ë¥ <<", err); 466 if (callbackError !== undefined && typeof callbackError === "function") { 467 order.utils.callbackExec(callbackError, err); 468 } else { 469 let resultMsg = { resultMessage: order.utils.getErrorMessage(err) }; 470 KbbJS.ui.alert(resultMsg.resultMessage); 471 } 472 }); 473 }, // setDefaultAddress 474 475 /* -------------------------------------------------------------------------------- 476 * 기ë¥ëª : íì ë°°ì¡ì§ ìì 477 * -------------------------------------------------------------------------------- */ 478 deleteAddress: (dlpnSrmb, callbackSuccess, callbackError) => { 479 //console.log(`>>> ë°°ì¡ì§ 주ì ìì ${dlpnSrmb} <<<`); 480 481 order.utils.async( 482 `${resources.apiUrl.deliveryDelete}/${dlpnSrmb}`, 483 { method: 'DELETE', }, 484 (data) => { 485 //console.log(">> ë°°ì¡ì§ 주ì ìì ì±ê³µ <<", data); 486 order.utils.callbackExec(callbackSuccess); 487 }, 488 (err) => { 489 //console.log(">> íì ë°°ì¡ì§ëª©ë¡ ìì ì¤ë¥ <<", err); 490 if (callbackError !== undefined && typeof callbackError === "function") { 491 order.utils.callbackExec(callbackError, err); 492 } else { 493 494 KbbJS.ui.alert(err.resultMessage); 495 } 496 }); 497 }, // deleteAddress 498 499 /* -------------------------------------------------------------------------------- 500 * 기ë¥ëª : í´ì¸ë°°ì¡êµê° 목ë¡ì¡°í 501 * frngDscmCode íë°°ì¬ì½ë 502 * -------------------------------------------------------------------------------- */ 503 listCountries: (frngDscmCode, callbackSuccess, callbackError) => { 504 let params = `frngDscmCode=${frngDscmCode}`; 505 506 //console.log(`>>> í´ì¸ë°°ì¡êµê° 목ë¡ì¡°í <<<`); 507 if (resources.countries.length > 0) { 508 order.utils.callbackExec(callbackSuccess, resources.countries); 509 return; 510 } 511 512 order.utils.async( 513 `${resources.apiUrl.countryList}?${params}`, 514 { method: 'GET', }, 515 (data) => { 516 //console.log(">> í´ì¸ë°°ì¡êµê° 목ë¡ì¡°í ì±ê³µ <<", data); 517 // ì ìë³ìì ì ì¥ (ìëëìì) 518 resources.countries = data.data; 519 order.utils.callbackExec(callbackSuccess, resources.countries); 520 }, 521 (err) => { 522 //console.log(">> í´ì¸ë°°ì¡êµê° 목ë¡ì¡°í ì¤ë¥ <<", err); 523 if (callbackError !== undefined && typeof callbackError === "function") { 524 order.utils.callbackExec(callbackError, err); 525 } else { 526 KbbJS.ui.alert(err.resultMessage); 527 } 528 }); 529 }, // listCountries 530 531 /* -------------------------------------------------------------------------------- 532 * 기ë¥ëª : í´ì¸ë°°ì¡ë¹ ì¡°í 533 * frngDlvrCmdtStnrQntt í´ì¸ë°°ì¡ìí기ì¤ìë 534 * frngDlvrZoneCode í´ì¸ë°°ì¡êµ¬ìì½ë 535 * frngDscmCode íë°°ì¬ì½ë 536 * -------------------------------------------------------------------------------- */ 537 getForeginDeliveryFee: (frngDlvrCmdtStnrQntt, frngDlvrZoneCode, frngDscmCode, callbackSuccess, callbackError) => { 538 let param = `frngDlvrCmdtStnrQntt=${frngDlvrCmdtStnrQntt}&frngDlvrZoneCode=${frngDlvrZoneCode}&frngDscmCode=${frngDscmCode}`; 539 order.utils.async(`${resources.apiUrl.fgnDeliveryFee}?${param}`, 540 { method: "GET" }, 541 (data) => { 542 //console.log(">> í´ì¸ë°°ì¡ ë°°ì¡ë¹ì¡°í ì±ê³µ <<", data); 543 order.utils.callbackExec(callbackSuccess, data.data); 544 }, (err) => { 545 //console.log(">> í´ì¸ë°°ì¡ ë°°ì¡ë¹ì¡°í ì¤ë¥ <<", err); 546 if (callbackError !== undefined && typeof callbackError === "function") { 547 order.utils.callbackExec(callbackError, err); 548 } else { 549 KbbJS.ui.alert(err.resultMessage); 550 } 551 }); 552 }, // getForeginDeliveryFee 553 554 /* -------------------------------------------------------------------------------- 555 * 기ë¥ëª : í´ì¸ë°°ì¡ ë°°ì¡êµ¬ì 목ë¡ì¡°í 556 * frngDscmCode íë°°ì¬ì½ë 557 * -------------------------------------------------------------------------------- */ 558 getForeginZoneList: (frngDscmCode, callbackSuccess, callbackError) => { 559 let params = `frngDscmCode=${frngDscmCode}`; 560 561 //console.log(`>>> í´ì¸ë°°ì¡êµ¬ì 목ë¡ì¡°í <<<`); 562 if (resources.regions.length > 0) { 563 order.utils.callbackExec(callbackSuccess, resources.regions); 564 return; 565 } 566 567 order.utils.async( 568 `${resources.apiUrl.zoneList}?${params}`, 569 { method: 'GET', }, 570 (data) => { 571 //console.log(">> í´ì¸ë°°ì¡êµ¬ì 목ë¡ì¡°í ì±ê³µ <<", data); 572 // ì ìë³ìì ì ì¥ (ìëëìì) 573 resources.regions = data.data; 574 order.utils.callbackExec(callbackSuccess, resources.regions); 575 }, 576 (err) => { 577 //console.log(">> í´ì¸ë°°ì¡êµ¬ì 목ë¡ì¡°í ì¤ë¥ <<", err); 578 if (callbackError !== undefined && typeof callbackError === "function") { 579 order.utils.callbackExec(callbackError, err); 580 } else { 581 KbbJS.ui.alert(err.resultMessage); 582 } 583 }); 584 }, // getFeeByZone 585 586 }, // api 587 }; 588 589 /* -------------------------------------------------------------------------------- 590 * ì´ë²¤í¸ 591 * -------------------------------------------------------------------------------- */ 592 let addEvents = () => { 593 // 리ì¤í¸ íì ì´ë²¤í¸ 594 (function listEvents () { 595 /* -------------------------------------------------------------------------------- 596 * 기ë¥ëª : ë°°ì¡ì§ ì¶ê° ë²í¼ 597 * -------------------------------------------------------------------------------- */ 598 $(document).on("click", resources.controls.addressAddBtn, function () { 599 //console.log("ë°°ì¡ì§ ì¶ê°ë²í¼"); 600 interfaces.openDeliveryAddressDetailPopup({ 601 dlvrAdrsDvsnCode: "100", 602 isNewYn: "Y", 603 dlpnSrmb: "", 604 frngDlvrPsblYn: resources.requestRegister.frngDlvrPsblYn, 605 callback: (data) => { interfaces.api.getDeliveryList(methods.list.displayListItem, undefined, undefined, "bsc_dlpn_ysno desc, dlpn_srmb desc", undefined); }, 606 }); 607 }); 608 609 /* -------------------------------------------------------------------------------- 610 * 기ë¥ëª : ë°°ì¡ì§ 목ë¡ìì ë°°ì¡ì§ í목 ì í 611 * 기본 ë°°ì¡ì§ë¡ ì¤ì ì²´í¬ë°ì¤ë¥¼ íìíê³ ëª©ë¡ ì¤ì 기본배ì¡ì§ê° ì¤ì ëì§ ììì¼ë©´ ì²´í¬ë°ì¤ ì²´í¬ 612 * -------------------------------------------------------------------------------- */ 613 $(document).on("click", resources.controls.itemSelectCheck, function () { 614 let showDefaultYn = `${resources.request["showDefaultYn"]}`.toUpperCase(); 615 if (showDefaultYn === "N") { 616 // 기본배ì¡ì§ ì í area ì¨ê¸°ê¸° 617 $(resources.controls.defaultAddressCheckArea).hide(); 618 // ì²´í¬ë°ì¤ í´ì 619 $(resources.controls.defaultAddressCheck).prop("checked", false); 620 } else { 621 // 기본배ì¡ì§ ì í area ë³´ì¬ì£¼ê¸° 622 $(resources.controls.defaultAddr
622essCheckArea).show(); 623 624 // 기본배ì¡ì§ê° ë±ë¡ëì´ ìë ê²½ì°ìë uncheckedê° default 625 // 기본배ì¡ì§ê° ë±ë¡ëì´ ìì§ ìì¼ë©´ check íì±í 626 $(resources.controls.defaultAddressCheck).prop("checked", !methods.list.isDefaultDeliverySet()); 627 } 628 $(resources.controls.addressSelectBtn).prop("disabled", false); 629 }); 630 631 /* -------------------------------------------------------------------------------- 632 * 기ë¥ëª : 기본배ì¡ì§ ì¤ì ì²´í¬ë°ì¤ 컨í¸ë¡¤ (기본배ì¡ì§ê° ìë ê²½ì° ì²´í¬ë°ì¤ í´ì ë¶ê°ë¥) 633 * -------------------------------------------------------------------------------- */ 634 $(document).on("change", resources.controls.defaultAddressCheck, async function (event) { 635 // 기본배ì¡ì§ê° ë±ë¡ëì´ ìì§ ìì¼ë©´ uncheck ë¶ê°ë¥ 636 if (!methods.list.isDefaultDeliverySet() && !this.checked) { 637 this.checked = true; 638 await KbbJS.ui.alert("기본배ì¡ì§ ì¤ì í ì´ì©ê°ë¥í©ëë¤."); 639 } 640 }); 641 642 /* -------------------------------------------------------------------------------- 643 * 기ë¥ëª : ë°°ì¡ì§ ìì /ìì ë²í¼ í´ë¦ 644 * -------------------------------------------------------------------------------- */ 645 $(document).on("click", resources.controls.itemActionBtn, function () { 646 let actionType = $(this).data("pop-delivery-list-item"); 647 let dataKey = $(this).data("key"); 648 //console.log(`ë°°ì¡ì§ ìì /ìì ë²í¼ í´ë¦ : ${actionType} ${dataKey}`); 649 650 if (actionType === "modify") { 651 // 주ì ìì íì 652 interfaces.openDeliveryAddressDetailPopup({ 653 dlvrAdrsDvsnCode: $(this).data("dvsn-code"), 654 isNewYn: "N", 655 dlpnSrmb: dataKey, 656 dmstDlvrPsblYn: resources.request.dmstDlvrPsblYn, 657 frngDlvrPsblYn: resources.request.frngDlvrPsblYn, 658 callback: (data) => { interfaces.api.getDeliveryList(methods.list.displayListItem, undefined, undefined, "bsc_dlpn_ysno desc, dlpn_srmb desc", undefined); }, 659 }); 660 } else if (actionType === "delete") { 661 // 주ì ìì 662 KbbJS.ui.alert({ 663 text: "ë°°ì¡ì§ ìì ì ë ì´ì<br/>ë°°ì¡ì§ 목ë¡ì ë ¸ì¶ëì§ ììµëë¤.<br/><br/>ìì íìê² ìµëê¹?", 664 cancel: true, 665 confirm: { 666 label: "íì¸", 667 callback: (b) => { 668 b && interfaces.api.deleteAddress(dataKey, (r) => { 669 interfaces.api.getDeliveryList(methods.list.displayListItem, undefined, undefined, "bsc_dlpn_ysno desc, dlpn_srmb desc", undefined); 670 }); 671 } 672 } 673 }); 674 } // if 675 }); 676 677 /* -------------------------------------------------------------------------------- 678 * 기ë¥ëª : ì í(ë«ê¸°)ë²í¼ í´ë¦ 679 * -------------------------------------------------------------------------------- */ 680 $(document).on("click", resources.controls.addressSelectBtn, async function () { 681 if (!await methods.list.validateAsync()) { 682 //console.log('validateAsync fail~~'); 683 return; 684 } 685 686 // ì°½ ë«ê¸° 687 $(resources.controls.popupListDialogId).dialog("close"); 688 689 // ì½ë°± í¨ì ì¤í 690 if (resources.request["callback"] !== undefined && typeof resources.request["callback"] === "function") { 691 let selItem = methods.list.getSelectAddressData(); 692 order.utils.callbackExec(resources.request.callback, selItem); 693 } 694 695 //ì¥ë°êµ¬ë ëª©ë¡ íë©´ìì ë°°ì¡ì§ ë±ë¡ ì 696 // ì½ë°±í¨ì ë´ë¶ë¡ ì´ë 697 // if($("[data-popup-delivery-regist-wrapper='wrapper']").is(":visible") == false && $("[id^='cartListDeliveryBtn']").is(":visible") == true) { 698 // window.location.reload(); //ì¥ë°êµ¬ë ì¬ì¡°í 699 // }; 700 }); 701 })(); 702 703 // êµë´ë°°ì¡ì§ ì ê·/ìì ì´ë²¤í¸ 704 (function domesticEvents () { 705 /* -------------------------------------------------------------------------------- 706 * 기ë¥ëª : 주ìê²ì íì 707 * -------------------------------------------------------------------------------- */ 708 $(document).on("click", resources.controls.domAddrBtn, function () { 709 order.popup.addressSearch.interfaces.openDialog((data) => { 710 resources.dataRegister["rdnmAdrsYsno"] = "Y"; 711 resources.dataRegister["frngPssrNum"] = data.zipCode5; 712 resources.dataRegister["bscAdrs"] = `${data.viewRoadBscAdrs} ${data.viewRmrk}`; 713 resources.dataRegister["dtlAdrs"] = ""; 714 resources.dataRegister["frngAddtAdrs1"] = data.address3BdngName; 715 resources.dataRegister["frngAddtAdrs2"] = data.address4DongName; 716 resources.dataRegister["bildgMngmNum"] = data.bildgMngmNum; // 건물ê´ë¦¬ë²í¸ 717
718 $(resources.controls.domAddr1).val(resources.dataRegister["bscAdrs"]); 719 $(resources.controls.domAddr2).val(""); 720 721 $(resources.controls.domAddrBtnArea).hide(); 722 $(resources.controls.domAddrShowArea).show(); 723 $(resources.controls.domDefaultCommonEnterCheckArea).show(); 724 methods.domestic.toggleCommonEnterPasswordArea(); 725 }); 726 }); 727 728 /* -------------------------------------------------------------------------------- 729 * 기ë¥ëª : í´ì¸ ë°°ì¡ì§ë¡ ë³ê²½ 730 * -------------------------------------------------------------------------------- */ 731 $(document).on("click", resources.controls.domOverSeasChgBtn, function () { 732 methods.foreign.openDialog(resources.dataRegister); 733 $(resources.controls.popupDomesticDialogId).dialog("close"); 734 }); 735 736 /* -------------------------------------------------------------------------------- 737 * 기ë¥ëª : ì ì¥ ë²í¼ (êµë´ë°°ì¡ì§) 738 * -------------------------------------------------------------------------------- */ 739 $(document).on("click", resources.controls.domSaveBtn, async function () { 740 if (!await methods.domestic.validateAsync()) { 741 //console.log('validateAsync fail~~'); 742 return; 743 } 744 745 // ì°½ ë«ê¸° 746 $(resources.controls.popupDomesticDialogId).dialog("close"); 747 748 // ì½ë°± í¨ì ì¤í 749 if (resources.requestRegister["callback"] !== undefined && 750 typeof resources.requestRegister["callback"] === "function") { 751 order.utils.callbackExec(resources.requestRegister.callback, resources.dataRegister); 752 } 753 }); 754 755 /* -------------------------------------------------------------------------------- 756 * 기ë¥ëª : íì íëª©ì´ ëª¨ë ì ë ¥ëë©´ ì ì¥ ë²í¼ì íì±í 757 * -------------------------------------------------------------------------------- */ 758 const updateDomesticSaveState = () => { 759 let recvName = $(resources.controls.domRecvName).val().trim(); 760 let telNo = $(resources.controls.domTelno).val().trim(); 761 let addr1 = $(resources.controls.domAddr1).val().trim(); 762 let addr2 = $(resources.controls.domAddr2).val().trim(); 763 764 const commonEnterInput = $(resources.controls.domCommonEnterPasswordInput); 765 const hasCommonEnterInput = commonEnterInput.length > 0; 766 const isCommonEnterVisible = $(resources.controls.domDefaultCommonEnterCheckArea).is(":visible"); 767 const isPasswordRequired = hasCommonEnterInput && isCommonEnterVisible && 768 $(`${resources.controls.popupDomesticDialogId} #doorPassword_01`).prop("checked"); 769 const gatePassword = hasCommonEnterInput ? commonEnterInput.val().trim() : ""; 770 const isGatePasswordValid = !isPasswordRequired || gatePassword.length > 0; 771 772 const isRequiredFilled = recvName.length > 0 && telNo.length > 0 && addr1.length > 0 && addr2.length > 0; 773 $(resources.controls.domSaveBtn).attr("disabled", !(isRequiredFilled && isGatePasswordValid)); 774 }; 775 776 $(document).on("keyup change", `${resources.controls.popupDomesticDialogId} input`, updateDomesticSaveState); 777 $(document).on("change", resources.controls.domCommonEnterPasswordRadio, function () { 778 methods.domestic.toggleCommonEnterPasswordArea(); 779 updateDomesticSaveState(); 780 }); 781 782 // ë°°ì¡ì§ëª ì ë ¥ê¸ìì ì í 783 order.utils.limitInputText(resources.controls.domDeliveryName, 7, ""); 784 // ë°ëë¶ ì ë ¥ê¸ìì ì í(íê¸10, ì문ì«ì20) 785 methods.limitInputText(resources.controls.domRecvName, 20); 786 787 // ë°ëë¶ í´ëí°ë²í¸ ì ë ¥ê¸ìì ì í (í´ì¸ ì°ë½ì² íì©ì ìí´ ì í "+" 를 ë¨ê¸°ê³ ìµë 15ì리) 788 order.utils.number.limitContactNumbers(resources.controls.domTelno, 15); 789 // ì ì¥í기 ì ì íì ì¤ë¥ë¥¼ 미리 ìë ¤ì¤ë¤. 790 order.utils.bindContactNumberValidMessage(resources.controls.domTelno); 791 // ìì¸ì£¼ì ì ë ¥ê¸ìì ì í 792 order.utils.limitInputText(resources.controls.domAddr2, 50, ""); 793 })(); 794 795 // í´ì¸ë°°ì¡ì§ ì ê·/ìì ì´ë²¤í¸ 796 (function foreignEvents () { 797 // êµë´ ë°°ì¡ì§ë¡ ë³ê²½ 798 $(document).on("click", resources.controls.fgnDomesticChgBtn, function () { 799 methods.domestic.openDialog(resources.dataRegister); 800 $(resources.controls.popupForeignDialogId).dialog("close"); 801 }); 802 803 // í´ì¸ë°°ì¡ ë°°ì¡êµê° ì í(ë³ê²½) íì ë²í¼ 804 $(document).on("click", resources.controls.fgnCountryChgBtn, function () { 805 methods.foreign.openCountryListDialog(); 806 }); 807 808 // í´ì¸ë°°ì¡ Fedex ë°°ì¡ë¹ ê³ì°/ìë´ íì ë²í¼ 809 $(document).on("click", resources.controls.fgnDeliveryFeeCalcBtn, function () { 810 // ë°°ì¡êµ¬ìì´ ìì¼ë©´ api í¸ì¶ 811 if (resources.regions.length === 0) { 812 $(`${resources.controls.dlvFeeBoxCnt} option`).remove(); 813 for (let i = 1; i <= 99; i++) { 814 $(resources.controls.dlvFeeBoxCnt).append(`<option value='${i}'>${i}</option>`); 815 } 816 if (!order.utils.isMobile()) { 817 $(resources.controls.dlvFeeBoxCnt).selectmenu().selectmenu("refresh"); 818 } 819 820 interfaces.api.getForeginZoneList(resources.constraints.frngDscmCode, (data) => { 821 $(`${resources.controls.dlvFeeRegion} option`).remove(); 822 $(resources.controls.dlvFeeRegion).append("<option value=''>ì§ìì ì íí´ ì£¼ì¸ì.</option>"); 823 for (const item of data) { 824 $(resources.controls.dlvFeeRegion).append(`<option value='${item.frngDlvrZoneCode}'>${item.frngDlvrZoneName}</option>`); 825 } 826 827 if (!order.utils.isMobile()) { 828 $(resources.controls.dlvFeeRegion).selectmenu().selectmenu("refresh"); 829 } 830 }); 831 } 832 833 order.utils.openDialog(resources.controls.popupFedexFeeDialogId); 834 }); 835 836 // í´ì¸ë°°ì¡ ìë´ íì ë²í¼ 837 $(document).on("click", resources.controls.fgnOverseasInfo, function () { 838 order.utils.openDialog(resources.controls.popupOverseasInfoDialogId); 839 }); 840 841 // ì ì¥ ë²í¼ (í´ì¸ë°°ì¡ì§) 842 $(document).on("click", resources.controls.fgnSaveBtn, async function () { 843 if (!await methods.foreign.validateAsync()) { 844 //console.log('validateAsync fail~~'); 845 return; 846 } 847 848 // ì°½ ë«ê¸° 849 $(resources.controls.popupForeignDialogId).dialog("close"); 850 851 // ì½ë°± í¨ì ì¤í 852 if (resources.requestRegister["callback"] !== undefined && 853 typeof resources.requestRegister["callback"] === "function") { 854 order.utils.callbackExec(resources.requestRegister.callback, resources.dataRegister); 855 } 856 }); 857 858 859 // í´ì¸ë°°ì¡ ë°°ì¡êµê° íì - 모ë°ì¼ íµë§í¬ ì¤í¬ë¡¤ ì²ë¦¬ (ëì ìì±í í목ì¼ë¡ ì¤í¬ë¡¤ëì§ ììì ì´ë²¤í¸ ì¶ê°) 860 $(document).on("click", "#popSelDeliveryCountry_quick button[data-filter]", function (evt) { 861 const filterName = $(this).data("filter"); 862 document.getElementById(filterName).scrollIntoView(true); 863 }) 864 865 // í´ì¸ë°°ì¡ ë°°ì¡êµê° íì - ë°°ì¡êµê° ì í 866 $(document).on("click", resources.controls.countryItemSelect, function () { 867 const current = $(this); 868 let result = { 869 frngDlvrNtnClstCode: current.data("pop-delivery-national-code"), // êµê° ë¶ë¥ì½ë 870 frngDlvrZoneCode: current.data("pop-delivery-zone-code"), // í´ì¸ë°°ì¡êµ¬ìì½ë 871 frngDlvrNtnCode: current.data("pop-delivery-country-code"), // í´ì¸ë°°ì¡êµê°ì½ë 872 ntnName: current.data("pop-delivery-country-name"), // êµê°ëª 873 frngDscmCode: current.data("pop-delivery-delivery-code"), // í´ì¸íë°°ì¬ì½ë 874 }; 875 876 $(resources.controls.popupCountriesDialogId).dialog("close"); 877 878 // ë°°ì¡êµê°ëª íì 879 //console.log("ë² ì¡êµê° ì í", result); 880 $(resources.controls.fgnCountryName).text(result.ntnName); 881 $(resources.controls.fgnDeliveryFee).text(0); 882 // ë³ì update 883 resources.dataRegister.frngDlvrNtnCode = result.frngDlvrNtnCode; 884 resources.dataRegister.ntnName = result.ntnName; 885 886 // í´ì¸ë°°ì¡ë¹ ì¡°í 887 methods.foreign.setForeignDeliveryFeeVal(result.frngDlvrNtnCode); 888 889 // 미êµì¸ ê²½ì° email ìì ì´ê¸°í 890 // $(resources.controls.fgnEmailArea).hide(); 891 // $(resources.controls.fgnEmail).val(""); 892 // if (result.frngDlvrNtnCode === 'US') { 893 // $(resources.controls.fgnEmailArea).show(); 894 // } 895 896 $(resources.controls.fgnRecvName).trigger("keyup"); 897 }); 898 899 /* -------------------------------------------------------------------------------- 900 * 기ë¥ëª : í´ì¸ë°°ì¡ ë°°ì¡êµ¬ìë³ ë°°ì¡ë£ ì¡°í 901 * -------------------------------------------------------------------------------- */ 902 $(document).on((order.utils.isMobile() ? "change" : "selectmenuchange"), resources.controls.dlvFeeSelects, function () { 903 let amount = $(resources.controls.dlvFeeBoxCnt).val(); 904 let region = $(resources.controls.dlvFeeRegion).val(); 905 let fee = $(resources.controls.dlvFeeAmt); 906 907 fee.val("0"); 908 if (amount !== "" && region !== "") { 909 interfaces.api.getForeginDeliveryFee(amount, region, resources.constraints.frngDscmCode, (data) => { 910 fee.val(order.utils.number.comma(data.frngDlvrAmnt)); 911 }); 912 } 913 }); 914 915 /* -------------------------------------------------------------------------------- 916 * 기ë¥ëª : íì íëª©ì´ ëª¨ë ì ë ¥ëë©´ ì ì¥ ë²í¼ì íì±í 917 * -------------------------------------------------------------------------------- */ 918 $(document).on("keyup change", `${resources.controls.popupForeignDialogId} input`, function () { 919 let ntnCode = methods.nullToEmpty(resources.dataRegister.frngDlvrNtnCode); 920 let recvName = $(resources.controls.fgnRecvName).val().trim(); 921 let telNo = $(resources.controls.fgnTelno).val().trim(); 922 let addr1 = $(resources.controls.fgnAddress).val().trim(); 923 let addr2 = $(resources.controls.fgnCity).val().trim(); 924 let addr3 = $(resources.controls.fgnState).val().trim(); 925 let addr4 = $(resources.controls.fgnZipCode).val().trim(); 926 927 $(resources.controls.fgnSaveBtn).attr("disabled", !(ntnCode.length > 0 && recvName.length > 0 && 928 telNo.length > 0 && addr1.length > 0 && addr2.length > 0 && addr3.length > 0 && addr4.length > 0)); 929 }); 930 931 // ë°°ì¡ì§ëª ì ë ¥ê¸ìì ì í 932 methods.limitChars(resources.controls.fgnDeliveryName, 50); 933 // ë°ëë¶ ì ë ¥ê¸ìì ì í 934 methods.limitChars(resources.controls.fgnRecvName, 50); 935 // ë°ëë¶ í´ëí°ë²í¸ ì ë ¥ê¸ìì ì í 936 methods.limitFgnPhoneNumber(resources.controls.fgnTelno, 15); 937 // email ì¼ë ¥ê¸ìì ì í 938 methods.limitInputText(resources.controls.fgnEmail,
938100); 939 // ìì¸ì£¼ì ì ë ¥ê¸ìì ì í 940 methods.limitChars(resources.controls.fgnAddress, 100); 941 methods.limitChars(resources.controls.fgnCity, 100); 942 methods.limitChars(resources.controls.fgnState, 100); 943 944 // 2022-10-09 í´ì¸ì°í¸ë²í¸ ì문/ì«ì ì ë ¥ê°ë¥ 945 //order.utils.number.limitInputNumbers(resources.controls.fgnZipCode, 10); 946 //methods.limitChars(resources.controls.fgnZipCode, 10); 947 methods.limitFgnZip(resources.controls.fgnZipCode, 10); 948 949 })(); 950 }; 951 952 953 let methods = { 954 list: { 955 // ë°°ì¡ì§ 목ë¡ì 리ì¤í¸ë¡ íí 956 displayListItem: (list) => { 957 resources.dataList = list; 958 let showDefaultYn = `${resources.request["showDefaultYn"]}`.toUpperCase(); 959 960 let ul = $(resources.controls.deliveryListContainer); 961 ul.empty(); 962 963 if (list.length === 0) { 964 $(resources.controls.listPopupTitle).text("ë°°ì¡ì§ ì¶ê°"); 965 $(resources.controls.deliveryListNoData).show(); 966 $(resources.controls.listPopupFooterArea).hide(); 967 ul.hide(); 968 return; 969 } 970 971 $(resources.controls.listPopupTitle).text("ë°°ì¡ì§ ë³ê²½"); 972 $(resources.controls.deliveryListNoData).hide(); 973 $(resources.controls.listPopupFooterArea).show(); 974 $(resources.controls.addressSelectBtn).prop("disabled", true); 975 976 if (showDefaultYn === "N") { 977 $(resources.controls.defaultAddressCheckArea).hide(); 978 } else { 979 $(resources.controls.defaultAddressCheckArea).show(); 980 } 981 982 let tmplItem = $("#tmpl_pop_delivery_list_item").render(list, { 983 commaFormat: (val) => order.utils.number.comma(Number(val)), 984 telNo: (dlvrAdrsDvsnCode, val) => dlvrAdrsDvsnCode === "100" ? order.utils.number.toKrPhone(val) : `+${val}`, 985 joinAddress: (dlvrAdrsDvsnCode, frngPssrNum, bscAdrs, dtlAdrs, frngAddtAdrs1, frngAddtAdrs2) => { 986 let displayAddress = ""; 987 switch (dlvrAdrsDvsnCode) { 988 case "100": // êµë´ 989 displayAddress = `[${frngPssrNum}] ${bscAdrs} ${dtlAdrs}`; 990 break; 991 case "200": // í´ì¸ 992 displayAddress = `[${frngPssrNum}] ${bscAdrs} ${frngAddtAdrs1} ${frngAddtAdrs2}`; 993 break; 994 } 995 return displayAddress; 996 }, 997 }); 998 ul.append(tmplItem); 999 ul.show(); 1000 }, // displayListItem 1001 1002 /* -------------------------------------------------------------------------------- 1003 * 기ë¥ëª : 리ì¤í¸ì 기본 ë°°ì¡ì§ê° íì±í ëì´ ìëì§ ì¬ë¶ (기본배ì¡ì§ê° ì¤ì ëì´ ìì¼ë©´ true) 1004 * -------------------------------------------------------------------------------- */ 1005 isDefaultDeliverySet: () => { 1006 let data = resources.dataList; 1007 for (let dataItem of data) { 1008 if (dataItem["bscDlpnYsno"] === "Y") { 1009 return true; 1010 } 1011 } 1012 return false; 1013 }, // isDefaultDeliverySet 1014 1015 /* -------------------------------------------------------------------------------- 1016 * 기ë¥ëª : ë°°ì¡ì§ 목ë¡ìì íì¬ ì íí ë°°ì¡ì§ì ë°ì´í° ì ë³´ (미ì íì null) 1017 * -------------------------------------------------------------------------------- */ 1018 getSelectAddressData: () => { 1019 let checkbox = $(`${resources.controls.itemSelectCheck}:checked`); 1020 if (checkbox.length === 0) 1021 return null; 1022 1023 let dlpnSrmb = `${checkbox.data("key")}`; 1024 for (let item of resources.dataList) { 1025 if (`${item.dlpnSrmb}` === dlpnSrmb) { 1026 return item; 1027 } 1028 } 1029 1030 return null; 1031 }, // getSelectAddressData 1032 1033 /* -------------------------------------------------------------------------------- 1034 * 기ë¥ëª : íì ë«ê¸° ì ì²´í¬ 1035 * -------------------------------------------------------------------------------- */ 1036 validateAsync: async () => { 1037 let dataItem = methods.list.getSelectAddressData();
1038 let dmstDlvrPsblYn = `${resources.request["dmstDlvrPsblYn"]}`.toUpperCase(); 1039 let frngDlvrPsblYn = `${resources.request["frngDlvrPsblYn"]}`.toUpperCase(); 1040 let showDefaultYn = `${resources.request["showDefaultYn"]}`.toUpperCase(); 1041 1042 // ì íí목 ìëì§ íì¸ 1043 if (dataItem === null) { 1044 await KbbJS.ui.alert("ë°°ì¡ì§ë¥¼ ì íí´ ì£¼ì¸ì."); 1045 return false; 1046 } 1047 1048 // ìì ìëª ì´ ìëì§ íì¸ 1049 if (dataItem.recvName === '') { 1050 await KbbJS.ui.alert("ìì ìëª ì ì ë ¥í´ ì£¼ì¸ì."); 1051 return false; 1052 } 1053 // ìì ì í´ëì íë²í¸ê° ìëì§ íì¸ 1054 if (dataItem.cphnTlnm === '') { 1055 await KbbJS.ui.alert("ìì ì í´ëì í를 ì ë ¥í´ ì£¼ì¸ì."); 1056 return false; 1057 } 1058 // ë°°ì¡ì§ 주ìê° ìëì§ íì¸ 1059 if (dataItem.bscAdrs === '') { 1060 await KbbJS.ui.alert("ë°°ì¡ì§ 주ì를 ì ë ¥í´ ì£¼ì¸ì."); 1061 return false; 1062 } 1063 1064 // ì¤ì ë 기본배ì¡ì§ê° ìëë° ê¸°ë³¸ë°°ì¡ì§ ì²´í¬ë°ì¤ë¥¼ ì ííì§ ìì ê²½ì° 1065 if (!methods.list.isDefaultDeliverySet() && 1066 $(`${resources.controls.defaultAddressCheck}:checked`).length === 0 && 1067 showDefaultYn !== "N") { 1068 await KbbJS.ui.alert("기본배ì¡ì§ ì¤ì í ì´ì©ê°ë¥í©ëë¤."); 1069 return false; 1070 } 1071 1072 // êµë´ë°°ì¡ ë¶ê°ì¸ ê²½ì° 1073 if (dmstDlvrPsblYn === "N" && dataItem.dlvrAdrsDvsnCode === "100") { 1074 await KbbJS.ui.alert("êµë´ë°°ì¡ì´ ë¶ê°í©ëë¤.<br>\n í´ì¸ 주ì를 ì íí´ ì£¼ì¸ì."); 1075 return false; 1076 } 1077 1078 // í´ì¸ë°°ì¡ ë¶ê°ì¸ ê²½ì° 1079 if (frngDlvrPsblYn === "N" && dataItem.dlvrAdrsDvsnCode === "200") { 1080 await KbbJS.ui.alert(resources.request["frngDlvrImpbMsg"] || "í´ì¸ë°°ì¡ì´ ë¶ê°í©ëë¤.<br>\n êµë´ 주ì를 ì íí´ ì£¼ì¸ì."); 1081 return false; 1082 } 1083 1084 // êµë´ë°°ì¡ 구주ìì¸ì§ íì¸ 1085 if (dataItem.dlvrAdrsDvsnCode === "100" && 1086 (dataItem.rdnmAdrsYsno !== "Y" || dataItem.frngPssrNum.length > 5)) { 1087 await KbbJS.ui.alert("6ì리 ì°í¸ë²í¸ 주ìë <br/>ì¬ì©í ì ììµëë¤. <br/><br/>" + 1088 "ëë¡ëª 주ì(5ì리 ì°í¸ë²í¸)ë¡ <br/>ë³ê²½í´ì£¼ì¸ì."); 1089 return false; 1090 } 1091 1092 // 기본배ì¡ì§ ì²´í¬ëì´ ìê³ ê¸°ë³¸ë°°ì¡ì§ê° 목ë¡ì ì¤ì ë 기본배ì¡ì§ì ë¤ë¥´ë©´ 기본배ì¡ì§ ì ë°ì´í¸ 1093 if ($(`${resources.controls.defaultAddressCheck}:checked`).length > 0 && 1094 dataItem.bscDlpnYsno !== "Y" && showDefaultYn !== "N") { 1095 try { 1096 let promise = new Promise((resolve, reject) => { 1097 interfaces.api.setDefaultAddress(dataItem.dlpnSrmb, () => { 1098 dataItem.bscDlpnYsno = "Y"; 1099 resolve(); 1100 }, reject); 1101 }); 1102 await promise; 1103 } catch (err) { 1104 KbbJS.ui.alert(err.resultMessage); 1105 return false; 1106 } 1107 1108 // ë°°ì¡ì§ ë³ê²½ ì ê³µëíê´ ì ë ¥ UI ë ¸ì¶ 1109 $("#doorPassword_01").prop("checked","true"); 1110 $("[data-form-gateMessage='form']").show(); 1111 } 1112 1113 return true; 1114 }, // validateAsync 1115 }, // list 1116 domestic: { 1117 /* -------------------------------------------------------------------------------- 1118 * 기ë¥ëª : êµë´ë°°ì¡ì£¼ì ì ë ¥/ìì íì ì¤í 1119 * -------------------------------------------------------------------------------- */ 1120 openDialog: (data) => { 1121 Object.assign(resources.requestRegister, data); 1122 let isNewYn = methods.nullToEmpty(data["isNewYn"]).toUpperCase(); 1123 let dlpnSrmb = methods.nullToEmpty(data["dlpnSrmb"]); 1124 let frngDlvrPsblYn = methods.nullToEmpty(data["frngDlvrPsblYn"]); 1125 1126 methods.domestic.setDialogData({}); 1127 methods.resetDataRegister(); 1128 order.utils.setValidMessage(resources.controls.domTelno, "", ""); // ì´ì ì ë ¥ì íì ìë´ ì´ê¸°í 1129 1130 // í´ì¸ë°°ì¡ê°ë¥ì¬ë¶ê° Nì¸ê²½ì° ë²í¼ ì¨ê¹ 1131 if (frngDlvrPsblYn === "N") 1132 $(resources.controls.domOverSeasChgBtn).hide(); 1133 else 1134 $(resources.controls.domOverSeasChgBtn).show(); 1135 1136 if (isNewYn !== "Y" && dlpnSrmb !== "") { 1137 interfaces.api.getAddressDetail(dlpnSrmb, methods.domestic.setDialogData); 1138 } 1139 1140 $(resources.controls.domSaveBtn).attr("disabled", true); // ì ì¥ë²í¼ ë¹íì±í 1141 order.utils.openDialog(resources.controls.popupDomesticDialogId); 1142 methods.resetDialogScroll(resources.controls.popupDomesticDialogId); 1143 }, // openDialog 1144 1145 /* -------------------------------------------------------------------------------- 1146 * 기ë¥ëª : êµë´ë°°ì¡ì£¼ì ë³ê²½ value set 1147 * -------------------------------------------------------------------------------- */ 1148 setDialogData: (data) => { 1149 resources.dataRegister = data; 1150 1151 if (methods.nullToEmpty(data["dlpnSrmb"]) === "") {
1152 $(resources.controls.domDetailPopupTitle).text("ë°°ì¡ì§ ì¶ê°"); 1153 $(resources.controls.domAddrBtnArea).show(); 1154 $(resources.controls.domAddrShowArea).hide(); 1155 $(resources.controls.domDefaultCommonEnterCheckArea).hide(); 1156 } else { 1157 $(resources.controls.domDetailPopupTitle).text("ë°°ì¡ì§ ìì "); 1158 $(resources.controls.domAddrBtnArea).hide(); 1159 $(resources.controls.domAddrShowArea).show(); 1160 $(resources.controls.domDefaultCommonEnterCheckArea).show(); 1161 1162 } 1163 1164 if (order.user.exists) { 1165 // íì 1166 $(resources.controls.domDeliveryNameArea).show(); 1167 $(resources.controls.domDefaultAddressCheckArea).show(); 1168 } 1169 else { 1170 // ë¹íì 1171 $(resources.controls.domDeliveryNameArea).hide(); 1172 $(resources.controls.domDefaultAddressCheckArea).hide(); 1173 } 1174 1175 // 주ìì ë³´ê° í´ì¸ë°°ì¡ ì ë³´ê° ìëê²½ì° 1176 if(data["dlvrAdrsDvsnCode"] !== "200") { 1177 $(resources.controls.domDeliveryName).val(methods.nullToEmpty(data["dlpnName"])); 1178 $(resources.controls.domRecvName).val(methods.nullToEmpty(data["recvName"])); 1179 $(resources.controls.domTelno).val(methods.nullToEmpty(data["cphnTlnm"]).replace(/[^0-9]/g, '')); 1180 $(resources.controls.domAddr1).val(methods.nullToEmpty(data["bscAdrs"])); 1181 $(resources.controls.domAddr2).val(methods.nullToEmpty(data["dtlAdrs"])); 1182 1183 const cmnEntMthdCode = methods.nullToEmpty(data["cmnEntMthdCode"]); 1184 const cmnEntMthdMemo = methods.nullToEmpty(data["cmnEntMthdMemo"]); 1185 if (cmnEntMthdCode === "200") { 1186 $("#doorPassword_02").prop("checked", true); 1187 } else { 1188 $("#doorPassword_01").prop("checked", true); 1189 $(resources.controls.domCommonEnterPasswordInput).val(cmnEntMthdMemo); 1190 } 1191 methods.domestic.toggleCommonEnterPasswordArea(); 1192 $(resources.controls.domDefaultAddressCheck).prop("checked", (methods.nullToEmpty(data["bscDlpnYsno"]) === "Y")); 1193 } 1194 methods.resetDialogScroll(resources.controls.popupDomesticDialogId); 1195 }, 1196 toggleCommonEnterPasswordArea: () => { 1197 const input = $(resources.controls.domCommonEnterPasswordInput); 1198 if (input.length === 0) { 1199 return; 1200 } 1201 // ìì ì¶ì ì ì ë ¥ë¶ê° 1202 const isCommonEnterPassword = $(`${resources.controls.popupDomesticDialogId} #doorPassword_01`).prop("checked"); 1203 const gateMessageForm = $("[data-form-gateMessage='form']"); 1204 if (isCommonEnterPassword) { 1205 gateMessageForm.show(); 1206 } else { 1207 gateMessageForm.hide(); 1208 } 1209 methods.resetDialogScroll(resources.controls.popupDomesticDialogId); 1210 }, 1211 1212 /* -------------------------------------------------------------------------------- 1213 * 기ë¥ëª : êµë´ë°°ì¡ì£¼ì íì ë«ê¸° ì ì²´í¬ 1214 * -------------------------------------------------------------------------------- */ 1215 validateAsync: async () => { 1216 const current = resources.dataRegister || {}; 1217 const dlpnSrmb = current.dlpnSrmb; 1218 const rdnmAdrsYsno = (current.rdnmAdrsYsno ?? "").toString(); 1219 const frngPssrNum = (current.frngPssrNum ?? "").toString(); 1220 const bscAdrs = (current.bscAdrs ?? "").toString(); 1221 const frngAddtAdrs1 = (current.frngAddtAdrs1 ?? "").toString(); 1222 const frngAddtAdrs2 = (current.frngAddtAdrs2 ?? "").toString(); 1223 const bildgMngmNum = (current.bildgMngmNum ?? "").toString(); 1224 const isCommonEnterPassword = $(`${resources.controls.popupDomesticDialogId} #doorPassword_01`).prop("checked"); 1225 const cmnEntMthdCode = isCommonEnterPassword ? "100" : "200"; 1226 const cmnEntMthdMemo = isCommonEnterPassword 1227 ? $(resources.controls.domCommonEnterPasswordInput).val().trim() 1228 : ""; 1229 1230 // ë°ì´í° ì ë ¬ 1231 resources.dataRegister = { 1232 dlpnSrmb, // ë°°ì¡ì§ìë² 1233 dlpnName: $(resources.controls.domDeliveryName).val().trim(), // ë°°ì¡ì§ëª 1234 recvName: $(resources.controls.domRecvName).val().trim(), // ë°ëë¶ëª 1235 cphnTlnm: $(resources.controls.domTelno).val().replace(/[^0-9]/g, ''), // í´ëì íì íë²í¸ 1236 email: $(resources.controls.fgnEmail).val(), // ì´ë©ì¼ 1237 dlvrAdrsDvsnCode: "100", // ë°°ì¡ì£¼ì구ë¶ì½ë (100:êµë´, 200:í´ì¸) 1238 rdnmAdrsYsno: rdnmAdrsYsno.trim(), // ëë¡ëª 주ìì¬ë¶ 1239 frngDlvrNtnCode: "", // í´ì¸ë°°ì¡êµê°ì½ë 1240 ntnName: "", // êµê°ëª 1241 frngPssrNum: frngPssrNum.trim(), // ì°í¸ë²í¸ 1242 bscAdrs: bscAdrs.trim(), // 기본주ì 1243 dtlAdrs: $(resources.controls.domAddr2).val().trim(), // ìì¸ì£¼ì 1244 frngAddtAdrs1, // í´ì¸ë¶ê°ì£¼ì1 1245 frngAddtAdrs2, // í´ì¸ë¶ê°ì£¼ì2 1246 bscDlpnYsno: ($(resources.controls.domDefaultAddressCheck).prop("checked") ? "Y" : "N"), // 기본배ì¡ì§ì¬ë¶ 1247 bildgMngmNum, // 건물ê´ë¦¬ë²í¸ 1248 cmnEntMthdCode, // ê³µëíê´ ì¶ì ë°©ë²ì½ë 1249 cmnEntMthdMemo, // ê³µëíê´ ì¶ì ë¹ë°ë²í¸ 1250 }; 1251 1252 // ë°ëë¶ ì ë ¥ 1253 if (resources.dataRegister.recvName.length === 0) { 1254 await KbbJS.ui.alert("ì´ë¦ì ì ë ¥í´ì£¼ì¸ì."); 1255 return false;
1256 } 1257 1258 // í´ëí°ë²í¸ ì ë ¥ - êµë´ í´ëí°ë²í¸(010) ëë êµê°ë²í¸ë¡ ììíë í´ì¸ ì°ë½ì²ë§ íì© 1259 if (!order.utils.number.isAllowedContactNumber(resources.dataRegister.cphnTlnm)) { 1260 await KbbJS.ui.alert({ 1261 title: "ì°ë½ì² íìì íì¸í´ 주ì¸ì.", 1262 text: "í´ëí° ë²í¸(010ì¼ë¡ ììíë 11ì리) ëë êµê°ë²í¸ë¥¼ í¬í¨í í´ì¸ ë²í¸ë§ ì ë ¥í ì ìì´ì." 1263 }); 1264 return false; 1265 } 1266 1267 // 주ì ì ë ¥ 1268 if (resources.dataRegister.frngPssrNum.length === 0 || 1269 resources.dataRegister.bscAdrs.length === 0) { 1270 await KbbJS.ui.alert("주ì를 ì ë ¥í´ì£¼ì¸ì."); 1271 return false; 1272 } 1273 1274 // í´ëí°ë²í¸ ì ë ¥ 1275 if (resources.dataRegister.dtlAdrs.length === 0) { 1276 await KbbJS.ui.alert("ìì¸ì£¼ì를 ì ë ¥í´ì£¼ì¸ì."); 1277 return false; 1278 } 1279 1280 // ë°°ì¡ì§ëª 미ì ë ¥ì ë°ëì¬ë ì´ë¦ 1281 if (resources.dataRegister.dlpnName.length === 0) { 1282 resources.dataRegister.dlpnName = resources.dataRegister.recvName; 1283 } 1284 1285 // íìì¼ ê²½ì° ë°°ì¡ì£¼ì ì ì¥ 1286 if (order.user.exists) { 1287 // ë°°ì¡ì£¼ì ì ì¥ 1288 try { 1289 let promise = new Promise((resolve, reject) => { 1290 interfaces.api.saveAddressDetail(resources.dataRegister, resolve, reject); 1291 }); 1292 await promise; 1293 } catch (err) { 1294 KbbJS.ui.alert(err.resultMessage); 1295 return false; 1296 } 1297 } 1298 1299 return true; 1300 }, // validateAsync 1301 }, // domestic 1302 foreign: { 1303 /* -------------------------------------------------------------------------------- 1304 * 기ë¥ëª : í´ì¸ë°°ì¡ì£¼ì ì ë ¥/ìì íì ì¤í 1305 * -------------------------------------------------------------------------------- */ 1306 openDialog: (data) => { 1307 Object.assign(resources.requestRegister, data); 1308 let isNewYn = methods.nullToEmpty(data["isNewYn"]).toUpperCase(); 1309 let dlpnSrmb = methods.nullToEmpty(data["dlpnSrmb"]); 1310 let dmstDlvrPsblYn = methods.nullToEmpty(data["dmstDlvrPsblYn"]); 1311 1312 methods.foreign.setDialogData({}); 1313 methods.resetDataRegister(); 1314 1315 // êµë´ë°°ì¡ê°ë¥ì¬ë¶ê° Nì¸ê²½ì° ë²í¼ ì¨ê¹ 1316 if (dmstDlvrPsblYn === "N") 1317 $(resources.controls.fgnDomesticChgBtn).hide(); 1318 else 1319 $(resources.controls.fgnDomesticChgBtn).show(); 1320 1321 // í´ì¸ë°°ì¡ êµê°ì½ë 목ë¡ì¡°í 1322 interfaces.api.listCountries(resources.constraints.frngDscmCode, (data) => { 1323 if (isNewYn !== "Y" && dlpnSrmb !== "") { 1324 interfaces.api.getAddressDetail(dlpnSrmb, methods.foreign.setDialogData); 1325 } 1326 }); 1327 1328 $(resources.controls.fgnSaveBtn).attr("disabled", true); 1329 order.utils.openDialog(resources.controls.popupForeignDialogId); 1330 methods.resetDialogScroll(resources.controls.popupForeignDialogId); 1331 }, // openDialog 1332 1333 /* -------------------------------------------------------------------------------- 1334 * 기ë¥ëª : í´ì¸ë°°ì¡ì£¼ì ë³ê²½ value set 1335 * -------------------------------------------------------------------------------- */ 1336 setDialogData: (data) => { 1337 // 2022-10-13 í´ì¸ë°°ì¡ íë ntnName > frngDlvrNtnNameë¡ ë³ê²½ëì´ìì. ì¤í¬ë¦½í¸ë´ìì ntnName ì¬ì©ì¤. 1338 data["ntnName"] = data["frngDlvrNtnName"]; 1339 1340 resources.dataRegister = data; 1341 1342 if (methods.nullToEmpty(data["dlpnSrmb"]) === "") { 1343 $(resources.controls.fgnDetailPopupTitle).text("ë°°ì¡ì§ ì¶ê°"); 1344 } else { 1345 $(resources.controls.fgnDetailPopupTitle).text("ë°°ì¡ì§ ìì "); 1346 } 1347 1348 if (order.user.exists) { 1349 // íì 1350 $(resources.controls.fgnDeliveryNameArea).show(); 1351 $(resources.controls.fgnDefaultAddressCheckArea).show(); 1352 } 1353 else { 1354 // ë¹íì 1355 $(resources.controls.fgnDeliveryNameArea).hide(); 1356 $(resources.controls.fgnDefaultAddressCheckArea).hide(); 1357 } 1358 1359 // 주ìì ë³´ê° êµë´ë°°ì¡ ì ë³´ê° ìëê²½ì° 1360 if(data["dlvrAdrsDvsnCode"] !== "100") { 1361 $(resources.controls.fgnDeliveryName).val(methods.nullToEmpty(data["dlpnName"])); 1362 $(resources.controls.fgnRecvName).val(methods.nullToEmpty(data["recvName"])); 1363 $(resources.controls.fgnTelno).val(methods.nullToEmpty(data["cphnTlnm"]).replace(/[^0-9]/g, '')); 1364 $(resources.controls.fgnEmail).val(methods.nullToEmpty(data["email"])); 1365 $(resources.controls.fgnAddress).val(methods.nullToEmpty(data["bscAdrs"])); 1366 $(resources.controls.fgnCity).val(methods.nullToEmpty(data["frngAddtAdrs1"])); 1367 $(resources.controls.fgnState).val(methods.nullToEmpty(data["frngAddtAdrs2"])); 1368 $(resources.controls.fgnZipCode).val(methods.nullToEmpty(data["frngPssrNum"])); 1369 1370 if (methods.nullToEmpty(data["ntnName"]) !== "") { 1371 $(resources.controls.fgnCountryName).text(methods.nullToEmpty(data["ntnName"])); // êµê°ëª 1372 1373 // êµê°ë³ í´ì¸ ë°°ì¡ë¹ ì¡°í 1374 if (resources.countries.length > 0 && 1375 methods.nullToEmpty(data["frngDlvrNtnCode"]) !== "") { 1376 methods.foreign.setForeignDeliveryFeeVal(data.frngDlvrNtnCode); 1377 1378 $(resources.controls.fgnEmail).val(data["email"]); 1379 1380 //$(resources.controls.fgnEmail).val(); 1381 //$(resources.controls.fgnEmailArea).hide(); 1382 // 미êµì¸ ê²½ì° email 1383 // if (data["frngDlvrNtnCode"] === 'US') { 1384 // $(resources.controls.fgnEmail).val(data["email"]); 1385 // $(resources.controls.fgnEmailArea).show(); 1386 // } 1387 } 1388 } else { 1389 $(resources.controls.fgnCountryName).text("Select a Shipping Country"); 1390 } 1391 1392 $(resources.controls.fgnDefaultAddressCheck).prop("checked", (methods.nullToEmpty(data["bscDlpnYsno"]) === "Y")); 1393 } 1394 methods.resetDialogScroll(resources.controls.popupForeignDialogId); 1395 }, // resetParameter 1396 1397 /* -------------------------------------------------------------------------------- 1398 * 기ë¥ëª : í´ì¸ë°°ì¡êµê° ëª©ë¡ íì 1399 * -------------------------------------------------------------------------------- */ 1400 openCountryListDialog: () => { 1401 interfaces.api.listCountries(resources.constraints.frngDscmCode, methods.foreign.displayCountries); 1402 order.utils.openDialog(resources.controls.popupCountriesDialogId); 1403 }, // openCountryListDialog 1404 1405 /* -------------------------------------------------------------------------------- 1406 * 기ë¥ëª : í´ì¸ë°°ì¡êµê° ëª©ë¡ ìì± 1407 * -------------------------------------------------------------------------------- */ 1408 displayCountries: (data) => { 1409 data.sort((a, b) => { 1410 return a.ntnName.localeCompare(b.ntnName) 1411 }); 1412 1413 let countryInfo = []; 1414 let currentCountryName = ""; 1415 let countryDetail = { 1416 title: "", 1417 countries: [] 1418 }; 1419 for (const listKey of data) { 1420 const countryName = listKey.ntnName.substring(0, 1); 1421 if (countryName !== currentCountryName) { 1422 currentCountryName = countryName; 1423 countryDetail = { 1424 title: countryName, 1425 countries: [], 1426 }; 1427 countryInfo.push(countryDetail); 1428 } 1429 countryDetail.countries.push(listKey); 1430 } 1431 1432 let quickLink = $.templates(resources.controls.countryQuickLink).render({ list: countryInfo }); 1433 let countryList = $.templates(resources.controls.countryListItem).render({ list: countryInfo }); 1434 1435 $(resources.controls.countryQuickLinkList).empty().append(quickLink); // 모ë°ì¼ íµë§í¬ ì ê³µ 1436 $(resources.controls.countryList).empty().append(countryList); 1437 }, // displayCountries 1438 1439 /* -------------------------------------------------------------------------------- 1440 * 기ë¥ëª : í´ì¸ë°°ì¡ ë°°ì¡êµê°ë³ 기본배ì¡ë¹ ì¡°í 1441 * -------------------------------------------------------------------------------- */ 1442 setForeignDeliveryFeeVal: (frngDlvrNtnCode) => { 1443 $(resources.controls.fgnDeliveryFee).text("0"); 1444 1445 for (let item of resources.countries) { 1446 if (item.frngDlvrNtnCode === frngDlvrNtnCode) { 1447 //console.log(`êµê°: ${frngDlvrNtnCode}, ë°°ì¡êµ¬ì: ${item.frngDlvrZoneCode}, íë°°ì¬: ${item.frngDscmCode}`); 1448 interfaces.api.getForeginDeliveryFee(1, item.frngDlvrZoneCode, item.frngDscmCode, 1449 (data) => { 1450 $(resources.controls.fgnDeliveryFee).text(order.utils.number.comma(data["frngDlvrAmnt"])); 1451 }); 1452 break; 1453 } 1454 } 1455 }, // setForeignDeliveryFeeVal 1456 1457 /* -------------------------------------------------------------------------------- 1458 * 기ë¥ëª : í´ì¸ë°°ì¡ì£¼ì íì ë«ê¸° ì ì²´í¬ 1459 * -------------------------------------------------------------------------------- */ 1460 validateAsync: async () => { 1461 // ë°ì´í° ì ë ¬ 1462 const frngDlvrNtnCode = methods.nullToEmpty(resources.dataRegister.frngDlvrNtnCode); 1463 1464 const ntnName = methods.nullToEmpty(resources.dataRegister.ntnName); 1465 1466 resources.dataRegister = { 1467 dlpnSrmb: resources.dataRegister.dlpnSrmb, // ë°°ì¡ì§ìë² 1468 dlpnName: $(resources.controls.fgnDeliveryName).val(), // ë°°ì¡ì§ëª 1469 recvName: $(resources.controls.fgnRecvName).val().trim(), // ë°ëë¶ëª 1470 cphnTlnm: $(resources.controls.fgnTelno).val().replace(/[^0-9]/g, ''), // í´ëì íì íë²í¸ 1471 email: $(resources.controls.fgnEmail).val().trim(), // ì´ë©ì¼ 1472 dlvrAdrsDvsnCode: "200", // ë°°ì¡ì£¼ì구ë¶ì½ë (100:êµë´, 200:í´ì¸) 1473 rdnmAdrsYsno: "N", // ëë¡ëª 주ìì¬ë¶ 1474 frngDlvrNtnCode: frngDlvrNtnCode, // í´ì¸ë°°ì¡êµê°ì½ë 1475 ntnName: ntnName, // êµê°ëª 1476 frngPssrNum: $(resources.controls.fgnZipCode).val().trim(), // Zip Code 1477 bscAdrs: $(resources.controls.fgnAddress).val().trim(), // Address 1478 dtlAdrs: "", // ìì¸ì£¼ì 1479 frngAddtAdrs1: $(resources.controls.fgnCity).val().trim(), // city 1480 frngAddtAdrs2: $(resources.controls.fgnState).val().trim(), // state 1481 bscDlpnYsno: ($(resources.controls.fgnDefaultAddressCheck).prop("checked") ? "Y" : "N"), // 기본배ì¡ì§ì¬ë¶ 1482 }; 1483 1484 if (frngDlvrNtnCode.length === 0) { 1485 await KbbJS.ui.alert("Shipping Country를 ì ë ¥í´ì£¼ì¸ì."); 1486 return false;
1487 } 1488 1489 // ë°ëë¶ ì ë ¥ 1490 if (resources.dataRegister.recvName.length === 0 || resources.dataRegister.recvName === 'undefined') { 1491 await KbbJS.ui.alert("Full Nameì ì ë ¥í´ì£¼ì¸ì."); 1492 return false; 1493 } 1494 1495 // í´ëí°ë²í¸ ì ë ¥ 1496 if (resources.dataRegister.cphnTlnm.length === 0 || resources.dataRegister.cphnTlnm === 'undefined') { 1497 await KbbJS.ui.alert("Mobile Number를 ì ë ¥í´ì£¼ì¸ì."); 1498 return false; 1499 } 1500 1501 // í´ëí°ë²í¸ íì - í´ì¸ ë°°ì¡ì§ë íì§ íìì íì©íë¯ë¡ ì릿ìë§ íì¸íë¤. 1502 if (!order.utils.number.isAllowedForeignAddressNumber(resources.dataRegister.cphnTlnm)) { 1503 await KbbJS.ui.alert("Mobile Numberë ì«ì 7~15ìë¦¬ë¡ ì ë ¥í´ ì£¼ì¸ì."); 1504 return false; 1505 } 1506 1507 // email ì ë ¥ 1508 const isUSAddress = frngDlvrNtnCode === 'US'; 1509 const regEmail = /^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,}$/; // TLD ê¸¸ì´ ìí 1510 const email = resources.dataRegister.email; 1511 1512 // email ì ë ¥íëª©ì´ ìì ê²½ì° 1513 if (email && !regEmail.test(email)) { 1514 await KbbJS.ui.alert("Email Address íìì¼ë¡ ì ë ¥í´ì£¼ì¸ì."); 1515 return false; 1516 } 1517 1518 // USAì¸ ê²½ì° íì 1519 if (isUSAddress) { 1520 if (!email) { 1521 await KbbJS.ui.alert("ë¯¸êµ ì¸ê´ ê·ì ì ë°ë¼</br> ìë ¹ì¸ Email ì ë ¥ì´ íìí©ëë¤."); 1522 return false; 1523 } 1524 } 1525 1526 1527 // 주ì ì ë ¥ 1528 if (resources.dataRegister.bscAdrs.length === 0 || resources.dataRegister.bscAdrs === 'undefined') { 1529 await KbbJS.ui.alert("Address를 ì ë ¥í´ì£¼ì¸ì."); 1530 return false; 1531 } 1532 if (resources.dataRegister.frngAddtAdrs1.length === 0 || resources.dataRegister.frngAddtAdrs1 === 'undefined') { 1533 await KbbJS.ui.alert("City를 ì ë ¥í´ì£¼ì¸ì."); 1534 return false; 1535 } 1536 if (resources.dataRegister.frngAddtAdrs2.length === 0 || resources.dataRegister.frngAddtAdrs2 === 'undefined') { 1537 await KbbJS.ui.alert("State/Province를 ì ë ¥í´ì£¼ì¸ì."); 1538 return false; 1539 } 1540 if (resources.dataRegister.frngPssrNum.length === 0) { 1541 await KbbJS.ui.alert("Zip Code를 ì ë ¥í´ì£¼ì¸ì."); 1542 return false; 1543 } 1544 1545 // ë°°ì¡ì§ëª 미ì ë ¥ì ë°ëì¬ë ì´ë¦ 1546 if (resources.dataRegister.dlpnName.length === 0) { 1547 resources.dataRegister.dlpnName = resources.dataRegister.recvName; 1548 } 1549 1550 // íìì¼ ê²½ì° ë°°ì¡ì£¼ì ì ì¥ 1551 if (order.user.exists) { 1552 // ë°°ì¡ì£¼ì ì ì¥ 1553 try { 1554 let promise = new Promise((resolve, reject) => { 1555 // í´ì¸ë² ì¡ êµê°ëª ì¶ê° 1556 resources.dataRegister["frngDlvrNtnName"] = resources.dataRegister.ntnName; 1557 1558 interfaces.api.saveAddressDetail(resources.dataRegister, resolve, reject); 1559 }); 1560 await promise; 1561 } catch (err) { 1562 KbbJS.ui.alert(err.resultMessage); 1563 return false; 1564 } 1565 } 1566 1567 return true; 1568 }, // validateAsync 1569 1570 }, // foreign 1571 /* -------------------------------------------------------------------------------- 1572 * 기ë¥ëª : 문ìì´ ì ë ¥ ì í(byte) 1573 * ì문,ì«ì 1byte, íê¸ 2byteë¡ ê³ì° 1574 * 1575 * methods.limitInputText(selector, limitTextCount) 1576 * @param {string} selector ì ë ¥ììì íì 1577 * @param {number} limitTextCount ì íê¸ìì 1578 * -------------------------------------------------------------------------------- */ 1579 limitInputText : (selector, limitTextCount) => { 1580 if($(selector).length > 0) { 1581 $(selector).attr("maxlength", limitTextCount); 1582 1583 $(document).off("keyup", selector).on("keyup", selector, function() { 1584 1585 let text = String($(selector).val()); 1586 let byte = order.utils.getStringByteLength(text); 1587 if(byte > limitTextCount) { 1588 let sliceText = (val) => { 1589 let vByte = order.utils.getStringByteLength(val); 1590 if(vByte > limitTextCount) return sliceText(val.slice(0, val.length-1)); 1591 else return val; 1592 } 1593 1594 let value = sliceText(text.slice(0, text.length-1)); 1595 $(selector).val(value); 1596 } 1597 1598 }); 1599 } else { 1600 console.warn("ì íìì í´ë¹íë ììê° ììµëë¤. " + selector); 1601 } 1602 }, // limitInputText 1603 /* -------------------------------------------------------------------------------- 1604 * 기ë¥ëª : ì문주ì ì ë ¥ ê¸ì ë° ê¸ìì ì í 1605 * - ì문ì(a-z,A-Z), ì«ì(0-9), ë§ì¹¨í(.), 공백( ), ëì¬(-) ì¸ ë¤ë¥¸ ê¸ì ì ë ¥ ë¶ê° 1606 * -------------------------------------------------------------------------------- */ 1607 limitChars: (selector, limitCnt) => { 1608 $(document).on("keyup change", selector, function () { 1609 let target = $(this); 1610 let text = `${target.val()}`.replace(/[^a-zA-Z0-9,\\. \-]/g,""); 1611 if (text.length > Number(limitCnt)) { 1612 text = text.substring(0, Number(limitCnt)); 1613 } 1614 target.val(text); 1615 }); 1616 }, 1617 1618 /* -------------------------------------------------------------------------------- 1619 * 기ë¥ëª : í´ì¸ì£¼ì phone number ì«ìë§ íì© 1620 * - ì문ì(a-z,A-Z), ì«ì(0-9), ëì¬(-) ì¸ ë¤ë¥¸ ê¸ì ì ë ¥ ë¶ê° 1621 * -------------------------------------------------------------------------------- */ 1622 limitFgnPhoneNumber: (selector, limitCnt) => { 1623 $(document).on("keyup change", selector, function () { 1624 let target = $(this); 1625 let text = `${target.val()}`.replace(/[^0-9]/g, ""); 1626 text = text.replace(/[âââââï¼]/g, "-"); 1627 1628 if (text.length > Number(limitCnt)) { 1629 text = text.substring(0, Number(limitCnt)); 1630 } 1631 target.val(text); 1632 }); 1633 }, 1634 1635 /* -------------------------------------------------------------------------------- 1636 * 기ë¥ëª : í´ì¸ì£¼ì ì ë ¥ ê¸ì ë° ê¸ìì ì í 1637 * - ì문ì(a-z,A-Z), ì«ì(0-9), ëì¬(-) ì¸ ë¤ë¥¸ ê¸ì ì ë ¥ ë¶ê° 1638 * -------------------------------------------------------------------------------- */ 1639 limitFgnZip: (selector, limitCnt) => { 1640 $(document).on("keyup change", selector, function () { 1641 let target = $(this); 1642 let text = `${target.val()}`.replace(/[^A-Za-z0-9 \-âââââï¼]/g,""); 1643 text = text.replace(/[âââââï¼]/g, "-"); 1644 1645 if (text.length > Number(limitCnt)) { 1646 text = text.substring(0, Number(limitCnt)); 1647 } 1648 target.val(text); 1649 }); 1650 }, 1651 /* -------------------------------------------------------------------------------- 1652 * 기ë¥ëª : undefined ëë null ì "" 1653 * -------------------------------------------------------------------------------- */ 1654 nullToEmpty: (o) => (o === undefined || o === null) ? "" : o, 1655 1656 /* -------------------------------------------------------------------------------- 1657 * 기ë¥ëª : ë±ë¡/ìì ë°ì´í° ì´ê¸°í 1658 * -------------------------------------------------------------------------------- */ 1659 resetDataRegister: () => { 1660 resources.dataRegister = { 1661 dlpnSrmb: "", // ë°°ì¡ì§ìë² 1662 dlpnName: "", // ë°°ì¡ì§ëª 1663 recvName: "", // ë°ëë¶ëª 1664 cphnTlnm: "", // í´ëì íì íë²í¸ 1665 email: "", //ì´ë©ì¼ 1666 dlvrAdrsDvsnCode: "", // ë°°ì¡ì£¼ì구ë¶ì½ë (100:êµë´, 200:í´ì¸) 1667 rdnmAdrsYsno: "", // ëë¡ëª 주ìì¬ë¶ 1668 frngDlvrNtnCode: "", // í´ì¸ë°°ì¡êµê°ì½ë 1669 ntnName: "", // êµê°ëª 1670 frngPssrNum: "", // ì°í¸ë²í¸ 1671 bscAdrs: "", // 기본주ì 1672 dtlAdrs: "", // ìì¸ì£¼ì 1673 frngAddtAdrs1: "", // í´ì¸ë¶ê°ì£¼ì1 1674 frngAddtAdrs2: "", // í´ì¸ë¶ê°ì£¼ì2 1675 bscDlpnYsno: "", // 기본배ì¡ì§ì¬ë¶ 1676 bildgMngmNum: "", // 건물ê´ë¦¬ë²í¸ 1677 cmnEntMthdCode: "", // ê³µëíê´ ì¶ì ë°©ë²ì½ë 1678 cmnEntMthdMemo: "", // ê³µëíê´ ì¶ì ë¹ë°ë²í¸ 1679 }; 1680 }, // resetDataRegister 1681 resetDialogScroll: (selector) => { 1682 const dialog = $(selector); 1683 if (dialog.length === 0) { 1684 return; 1685 } 1686 dialog.find(".custom_scroll_wrap").each(function () { 1687 const wrap = $(this); 1688 wrap.addClass("active"); 1689 wrap.find(".custom_scroll_inner").css("height", ""); 1690 const simplebar = this.SimpleBar; 1691 if (simplebar && typeof simplebar.recalculate === "function") { 1692 simplebar.recalculate(); 1693 } 1694 }); 1695 }, 1696 1697 1698 }; // methods 1699 1700 // ì¤ë³µ include ë°©ì§ 1701 if (order !== undefined && order["popup"] !== undefined && order.popup["delivery"] !== undefined) { 1702 return; 1703 } 1704 1705 addEvents(); 1706 1707 let _interfaces = order.utils.createNestedObject(order, "popup.delivery.interfaces", {});
1708 Object.assign(_interfaces, interfaces); 1709})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.