1import {cartState} from "../state/CartState.js"; 2 3/** 4 * ì¹´í¸ ë¦¬ì¤í¸ ë ëë§ ë° ìí ì ë°ì´í¸ 5 * 6 * @param {number} i - ì¥ë°êµ¬ë 그리기 ìì 7 * @param {string} k - ì¹´í ê³ ë¦¬ ì½ë('010','020','030','040','060','070') 8 * @param {Array<Object>} d - ìí ë°ì´í° 리ì¤í¸ 9 * @param {string} brdrYn - ë°ë¡ë림 ì¬ë¶('Y'/'N') 10 * @param {boolean} moreYn - ì¶ê° ë¡ë© ì¬ë¶ 11 */ 12export async function setCartList(i, k, d, brdrYn, moreYn) { 13 let html = ''; 14 15 //í¨í¤ì§ìí ì ì¸.2VM1 16 if (k === "010" || k === "020" || k === "030" || k === "040" || k === "060") { 17 //ì ì²´ 리ì¤í¸ ë´ê¸° 18 $.each(d, function (index, item) { 19 cartState.allList.push(item); 20 }); 21 22 let item = d; 23 let template = (moreYn) ? $.templates(`#templateCart${k}Contents`) : $.templates(`#templateCart${k}`); 24 let renderRowWrapper = template.render(item, { 25 numberFloor: (val) => {//saleCmdtPrceDscnRate 26 return order.utils.number.numberFloor(val); 27 }, 28 isEmpty: (val) => order.utils.isEmpty(val), 29 getSize: () => { 30 return item.length - 1; 31 }, 32 //ìí ìì¸íì´ì§ 33 getProductLink: (saleCmdtid, saleCmdtDvsnCode, cmdtcode, attName1, attWrth1) => { 34 return order.utils.getProductLink(saleCmdtid, saleCmdtDvsnCode, cmdtcode, attName1, attWrth1, false, ''); 35 }, 36 //ìíì´ë¯¸ì§ ìµì 37 getImageWrapClassName: (saleCmdtDvsnCode) => { 38 /* eBook, sam, íì ë ¼ë¬¸, ì¤ëì¤ë¶ ìíì¸ ê²½ì° [ type_bookcover ] class ì¶ê° 39 ì¸ë¤ì¼ ì ë°©íì¸ ê²½ì° (PB, í«í¸ëì¤) [ type_square_round ] class ì¶ê° 40 기íí¸ì¹´ëì¸ ê²½ì° [ type_gift_card ] class ì¶ê° 41 ì¬ìíì¸ ê²½ì° [ type_cover ] class ì¶ê° */ 42 let clsName = ""; 43 switch (saleCmdtDvsnCode) { 44 case "AUD": 45 case "SAM": 46 case "EBK": 47 case "DUM":// ì¤ëì¤ë¶, SAM, eBook, íì ë ¼ë¬¸ 48 clsName = "type_bookcover"; 49 break; 50 case "PBC": // PB 51 case "GFT": 52 case "DVD": 53 case "MUC":// í«í¸ëì¤ 54 clsName = "type_square_round"; 55 break; 56 case "GFC": // 기íí¸ì¹´ë 57 clsName = "type_gift_card"; 58 break; 59 case "OPT": // ì¬ìí 60 clsName = "type_cover"; 61 break; 62 } 63 return clsName; 64 }, 65 //ì ì²´ìí 66 entsList: (rcvIndex, goodsList, entsId, dlvrAmnt, freeDlvrStnrAmnt, freeDlvrYsno) => { 67 return $("#templateCart040prd").render(goodsList, { 68 getDualIndex: () => { 69 return rcvIndex; 70 }, 71 entsId: () => { 72 return entsId; 73 }, 74 dlvrAmnt: () => { 75 return dlvrAmnt; 76 }, 77 freeDlvrStnrAmnt: () => { 78 return freeDlvrStnrAmnt; 79 }, 80 isEmpty: (val) => order.utils.isEmpty(val), 81 getProductLink: (saleCmdtid, saleCmdtDvsnCode, cmdtcode, attName1, attWrth1) => { 82 // ìíìì¸ 83 return order.utils.getProductLink(saleCmdtid, saleCmdtDvsnCode, cmdtcode, attName1, attWrth1, false, ''); 84 }, 85 freeDlvrYsno: () => { 86 return freeDlvrYsno; 87 }, 88 }); 89 }, 90 isOPNYn: (goodsList) => { 91 if (goodsList[0].saleCmdtDvsnCode === "OPN") return "Y"; 92 else return "N"; 93 } 94 }); 95 96 if (moreYn) { 97 $('[data-cart-list-' + k + ']').append(renderRowWrapper); 98 } else { 99 $("[spbkKindGoodsList]").append(renderRowWrapper); 100 } 101 102 //íë°°ë°°ì¡ ë°ë¡ë림ë§ì¼ë ìë³´ì´ê² ì¨ê¸°ê¸° 103 if (brdrYn === "Y") { 104 $("[data-all-cart-list]").remove(); 105 } 106 } 107
108 // êµë³´ë¬¸ê³ 무ë£ë°°ì¡ íë¡ê·¸ëì¤ë° ì¤ì 109 if (k === "010" && i !== 0) { 110 $('#cartCalcWrap').attr("data-add-offset", order.utils.isMobile() ? "100" : "132"); 111 } 112 113 // í«í¸ëì¤ ë¬´ë£ë°°ì¡ íë¡ê·¸ëì¤ë° ì¤ì 114 if (k === "030" && i !== 0) { 115 $('#htrsCartCalcWrap').attr("data-add-offset", order.utils.isMobile() ? "100" : "132"); 116 } 117 118 //í¨í¤ì§ìí 리ì¤í¸ ì¸í 119 if (k === "070") { 120 let item = d; 121 let sumTotalPrice = 0; 122 let template = $.templates('#templateCart' + k + ''); 123 124 let pakTotalDscnRate = 0; //ìì í ì¸ì¨ 125 let pakTotalSaleCmdtSapr = 0; //ìì íë§¤ê° 126 let pakMobTotalSaleCmdtSapr = 0; //ìì í매ê°(모ë°ì¼) 127 let pakTotalAdtnSaleAmnt = 0; //ì¶ê°í매ê¸ì¡ 128 let pakTotalPoint = 0; //ìì ì 립í¬ì¸í¸ 129 let pakMobTotalPoint = 0; //ìì ì 립í¬ì¸í¸(모ë°ì¼) 130 let pakMobTotalSaleCmdtPrce = 0; //í¨í¤ì§ ì ê°í©ê³(모ë°ì¼) 131 let soldOutCnt = 0; // í¨í¤ì§ ë´ soldOutë íììí ì 132 let renderRowWrapper = template.render(item, { 133 isEmpty: (val) => order.utils.isEmpty(val), 134 getSize: () => { 135 return item.length - 1; 136 }, 137 getSoldOutYn: (soldOutYn, goodsList) => { 138 139 for (let j = 0; j < goodsList.length; j++) { 140 //í¨í¤ì§ ëíìíì´ íì ìíì´ê±°ë, íììíì´ë©´ì íì ì´ê±°ë, íììíì´ë©´ì ì íì¸ ê²½ì° ì ì²´ í¨í¤ì§ íì íì 141 if ((goodsList[j].soldOutYn === "Y" && goodsList[j].rqrdYsno === "Y") 142 || soldOutYn === "Y" || ((goodsList[j].saleCdtnCode !== "001" && goodsList[j].saleCdtnCode !== "008") && goodsList[j].rqrdYsno === "Y")) { 143 soldOutYn = "Y"; 144 } 145 } 146 147 return soldOutYn; 148 }, 149 setSoldOutCnt: (soldOutYn, goodsList) => { 150 soldOutCnt = 0; 151 for (let j = 0; j < goodsList.length; j++) { 152 //í¨í¤ì§ ëíìíì´ íì ìíì´ê±°ë, íììíì´ë©´ì íì ì´ê±°ë, íììíì´ë©´ì ì íì¸ ê²½ì° ì ì²´ í¨í¤ì§ íì íì 153 if ((goodsList[j].soldOutYn === "Y" && goodsList[j].rqrdYsno === "Y") 154 || soldOutYn === "Y" || ((goodsList[j].saleCdtnCode !== "001" && goodsList[j].saleCdtnCode !== "008") && goodsList[j].rqrdYsno === "Y")) { 155 soldOutCnt += 1; 156 } 157 } 158 }, 159 getSoldOutCnt: () => { 160 return soldOutCnt; 161 }, 162 getPrdSoldOutYn: (soldOutYn, goodsList) => { 163 let prdSoldOutYn = "N"; 164 if (goodsList.soldOutYn === "Y" || (goodsList.saleCdtnCode !== "001" && goodsList.saleCdtnCode !== "008") || (goodsList.spbkKindCode === "020" && (goodsList.dgctSaleCdtnCode !== "001" && goodsList.dgctSaleCdtnCode !== "003"))) { 165 prdSoldOutYn = "Y"; 166 } 167 168 if (soldOutYn === "Y" && prdSoldOutYn === "Y") { 169 prdSoldOutYn = "Y"; 170 } else if (soldOutYn === "N" && prdSoldOutYn === "N") { 171 prdSoldOutYn = "N"; 172 } 173 174 return prdSoldOutYn; 175 176 }, 177 getChekYsno: (goodsList) => { 178 return goodsList[0].chekYsno; 179 }, 180 getRequQntt: (goodsList) => { 181 let combRequQntt = 1; 182 let spbkKindCodeArry = ['020', '130']; 183 for (let j = 0; j < goodsList.length; j++) { 184 //í¨í¤ì§ ëíìíì´ íì ìíì´ê±°ë, íììíì´ë©´ì íì ì´ê±°ë, íììíì´ë©´ì ì íì¸ ê²½ì° ì ì²´ í¨í¤ì§ íì íì 185 if ($.inArray(goodsList[j].spbkKindCode, spbkKindCodeArry) === -1) { 186 combRequQntt = goodsList[j].requQntt; 187 } 188 } 189 return combRequQntt; 190 }, 191 // í¨í¤ì§ íììíì´ ì ë¶ ëì§í¸ ìíêµ°(020/130)ì´ë©´ ëí ìë ì¡°ì ë¶ê° íì 192 isAllDigital: (goodsList) => { 193 let spbkKindCodeArry = ['020', '130']; 194 return goodsList.length > 0 195 && goodsList.every((g) => $.inArray(g.spbkKindCode, spbkKindCodeArry) !== -1); 196 }, 197 getPackLink: (combCmdtSaleCmdtid) => { 198 // ìíìì¸ 199 return order.utils.getProductLink(combCmdtSaleCmdtid, '', '', '', '', false, ''); 200 }, 201 getPageLink: (saleCmdtid, saleCmdtDvsnCode, cmdtcode) => { 202 return order.utils.getProductLink(saleCmdtid, saleCmdtDvsnCode, cmdtcode, '', '', false, ''); 203 }, 204 getPakTotalPoint: (soldOutYn, goodsList) => { 205 pakTotalPoint = 0; 206 pakMobTotalPoint = 0; // 모ë°ì¼(ì 립ìì í¬ì¸í¸ * ìë ê³ì°íì¬ íí) 207 for (let j = 0; j < goodsList.length; j++) { 208 //í¨í¤ì§ ëíìíì´ íì ìíì´ê±°ë, íììíì´ë©´ì íì ì´ê±°ë, íììíì´ë©´ì ì íì¸ ê²½ì° ì ì²´ í¨í¤ì§ íì íì 209 if ((goodsList[j].soldOutYn === "Y" && goodsList[j].rqrdYsno === "Y") 210 || soldOutYn === "Y" || ((goodsList[j].saleCdtnCode !== "001" && goodsList[j].saleCdtnCode !== "008") && goodsList[j].rqrdYsno === "Y")) { 211 soldOutYn = "Y"; 212 } 213 pakTotalPoint += parseInt(goodsList[j].upntAcmlAmnt); 214 pakMobTotalPoint += parseInt(goodsList[j].upntAcmlAmnt) * goodsList[j].requQntt; 215 } 216 217 if (order.utils.isMobile()) { 218 return pakMobTotalPoint; 219 } 220 return pakTotalPoint; 221 }, 222 getPakTotalDscnRate: (combSaleCmdtPrce, soldOutYn, goodsList) => { 223 // 20221213 í¨í¤ì§ í ì¸ì¨ ì¤ë¥ ìì 224 pakTotalSaleCmdtSapr = 0; 225 pakTotalAdtnSaleAmnt = 0; 226 pakMobTotalSaleCmdtSapr = 0; // 모ë°ì¼(í ì¸ê° * ìë ê³ì°íì¬ íí) 227 pakMobTotalSaleCmdtPrce = 0; // 모ë°ì¼(ì ê° * ìë ê³ì°íì¬ íí) 228 229 for (let j = 0; j < goodsList.length; j++) { 230 //í¨í¤ì§ ëíìíì´ íì ìíì´ê±°ë, íììíì´ë©´ì íì ì´ê±°ë, íììíì´ë©´ì ì íì¸ ê²½ì° ì ì²´ í¨í¤ì§ íì íì 231 if ((goodsList[j].soldOutYn === "Y" && goodsList[j].rqrdYsno === "Y") 232 || soldOutYn === "Y" || ((goodsList[j].saleCdtnCode !== "001" && goodsList[j].saleCdtnCode !== "008") && goodsList[j].rqrdYsno === "Y")) { 233 soldOutYn = "Y"; 234 } 235 pakTotalSaleCmdtSapr += goodsList[j].totalSaleCmdtSapr; 236 pakTotalAdtnSaleAmnt += goodsList[j].adtnSaleAmnt; 237 pakMobTotalSaleCmdtSapr += ((goodsList[j].totalSaleCmdtSapr + goodsList[j].adtnSaleAmnt) * goodsList[j].requQntt) 238 pakMobTotalSaleCmdtPrce += ((goodsList[j].saleCmdtPrce + goodsList[j].adtnSaleAmnt) * goodsList[j].requQntt) 239 } 240 pakTotalSaleCmdtSapr += pakTotalAdtnSaleAmnt; 241 pakTotalDscnRate = (1 - ((pakTotalSaleCmdtSapr) / combSaleCmdtPrce)).toFixed(2) * 100; 242 243 //ìë°ì¤í¬ë¦½í¸ ììì ë²ê·¸.(ex 0.14*100) 244 if ((pakTotalDscnRate + "").length > 4) { 245 pakTotalDscnRate = pakTotalDscnRate.toFixed(); 246 } 247 248 return pakTotalDscnRate; 249 }, 250 getPakTotalSaleCmdtSapr: () => { 251 if (order.utils.isMobile()) { 252 return pakMobTotalSaleCmdtSapr; 253 } 254 return pakTotalSaleCmdtSapr; 255 }, 256 getPakTotalSaleCmdtPrce: (combSaleCmdtPrce) => { 257 if (order.utils.isMobile()) { 258 return pakMobTotalSaleCmdtPrce; 259 } 260 return combSaleCmdtPrce; 261 }, 262 setTotalPrice: (rcvIndex, totalSaleCmdtSapr, adtnSaleAmnt, requQntt, spbkKindCode, goodsList, pushYn) => { 263 ////console.log(rcvIndex); 264 if (rcvIndex == 0) sumTotalPrice = 0; 265 if (spbkKindCode !== "020") { 266 sumTotalPrice += (totalSaleCmdtSapr + adtnSaleAmnt) * requQntt; 267 } else { 268 sumTotalPrice += totalSaleCmdtSapr; 269 } 270
271 //íì ìí ì ì¸íê³ ë¦¬ì¤í¸ ë´ê¸° 272 if (pushYn == 'true') { 273 cartState.allList.push(goodsList); 274 } 275 }, 276 getSumTotalPrice: () => { 277 return sumTotalPrice; 278 } 279 }); 280 $("[spbkKindGoodsList]").append(renderRowWrapper); 281 } 282 283 if (!order.utils.isMobile()) { 284 KyoboBookPub.ink.setSpsOffsetData('.cart_calc_wrap.sps'); 285 } else { 286 let spsDiv = $('.fold_anchor_box.sps.sps-blw'); 287 $(spsDiv).removeClass("sps-blw"); 288 } 289}
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.