1export default { 2 ADD_PRODUCT_IN_BASKET(state, product) { 3 if (!product.basket_price) product.basket_price = product.price; 4 if (!product.basket_old_price) { 5 if (product.old_price) { 6 product.basket_old_price = product.old_price; 7 } 8 } 9 state.basket.products.push(product); 10 }, 11 12 SET_MIN_SUM(state, sum) { 13 state.min_sum = sum; 14 }, 15 16 SET_BONUS_WRITE_OFF_AVAILABLE(state, bonusWriteOffAvailable) { 17 state.bonus_write_off_available = bonusWriteOffAvailable; 18 }, 19 20 REMOOVE_PRODUCT_FROM_BASKET(state, product) { 21 const products = state.basket.products; 22 23 state.basket.products = products.filter((basketProduct) => { 24 return basketProduct.basket_id !== product.basket_id; 25 }); 26 }, 27 28 CALC_DELIVERY_PROGRESS(state) { 29 if (state.min_sum > state.basket.total_sum) { 30 let basketTotalSum = state.basket.total_sum 31 32 if (state.basket.pay_bonuses && state.bonus_write_off_available?.write_off_available) { 33 basketTotalSum = basketTotalSum - state.bonus_write_off_available?.write_off_available; 34 } 35 36 state.delivery_progress = ( 37 basketTotalSum / 38 (state.min_sum / 100) 39 ).toFixed(2); 40 } else { 41 state.delivery_progress = 100; 42 } 43 state.basket.preloader = false; 44 state.basket.reload = false; 45 }, 46 47 INIT_PRODUCT_LIST(state, list) { 48 state.basket.products = list; 49 return true; 50 }, 51 52 CALC_BASKET_PRICES(state, bonuses) { 53 let sum = 0; 54 let discount = 0; 55 let sum_products_not_bonus_charge = 0; 56 57 state.basket.products.forEach((product) => { 58 if (product.basket_old_price) { 59 sum += product.quantity * product.basket_old_price; 60 discount += 61 (product.basket_old_price - product.basket_price) * product.quantity; 62 } else sum += product.basket_price * product.quantity; 63 64 if (product.properties.not_bonus_charge.value == "Y") { 65 sum_products_not_bonus_charge += 66 product.quantity * product.basket_price; 67 } 68 }); 69 70 // let payed_bonuses = 0; 71 // // ТепеÑÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво бонÑÑов на ÑпиÑание пÑиÑÑÐ»Ð°ÐµÑ ÐÑемиÑм ÐонÑÑ 72 // try { 73 // if (state.bonus_write_off_available && state.bonus_write_off_available.write_off_available) { 74 // console.log({ 75 // 'write_off_available' : state.bonus_write_off_available.write_off_available 76 // }); 77 // payed_bonuses = state.bonus_write_off_available.write_off_available; 78 // } 79 // } 80 // catch(e) { 81 // } 82 83 84 // let payed_bonuses = bonuses; 85 // if ( 86 // payed_bonuses > 87 // (sum - sum_products_not_bonus_charge - discount) * 0.2 88 // ) { 89 // payed_bonuses = ( 90 // (sum - sum_products_not_bonus_charge - discount) * 91 // 0.2 92 // ).toFixed(0); 93 // } 94 95 state.basket.added_bonuses = ( 96 (sum - discount/* - (state.basket.pay_bonuses ? payed_bonuses : 0) */) * 97 0.03 98 ).toFixed(0); 99 100 // СÑиÑаем дополниÑелÑнÑе бонÑÑÑ Ð¿Ð¾ ÑоваÑам 101 state.basket.products.forEach(function (product) { 102 state.basket.added_bonuses = Number(state.basket.added_bonuses); 103 state.basket.added_bonuses += Number(product.properties.bonus.value) * Number(product.quantity); 104 }); 105 106 state.basket.sum = sum.toFixed(0); 107 state.basket.discount = discount.toFixed(0); 108 // state.basket.payed_bonuses = payed_bonuses; 109 state.basket.sum_with_discounts = (sum - discount).toFixed(0); 110 state.basket.total_sum = ( 111 sum - 112 discount 113 // (state.basket.pay_bonuses ? payed_bonuses : 0) 114 ).toFixed(0); 115 }, 116 117 CLEAN_BASKET_PRODUCT_LIST(state) { 118 state.basket.products.forEach((product) => { 119 product.quantity = 0; 120 product.basket_id = false; 121 }); 122 state.basket.products = []; 123 }, 124 125 SET_GIFTS(state, gifts) { 126 state.basket.gifts = gifts; 127 }, 128 129 SET_PROMOCODE(state, { message = null, value = "", status = "def" }) { 130 if (status == "applied" && state.basket.pay_bonuses) { 131 return; 132 } 133 134 state.basket.promocode = { message, value, status }; 135 }, 136 137 SET_PROMOCODE_ERROR(state, responce) { 138 if (responce) { 139 this.commit("SET_PROMOCODE", { 140 status: "error", 141 message: responce.error, 142 value: responce.value, 143 }); 144 } else { 145 this.commit("SET_PROMOCODE"); 146 } 147 }, 148 149 SET_BASKET_POSITION_QUANTITY(state, basketPositionQuantity) { 150 state.basketPositionQuantity = basketPositionQuantity; 151 }, 152 153 SET_PAYMENT_METHODS(state, payment_methods) { 154 state.payment_methods = payment_methods; 155 }, 156 157 SET_COMPLEAT_MESSAGE(state, responce) { 158 state.compleatMessage = responce; 159 state.compleatMessage.show = true; 160 }, 161 SET_RECOMENDATION(state, recomendations) { 162 state.basket.recomendations = recomendations; 163 }, 164 165 SET_BASKET_CHANGE (state, sdacha) { 166 state.basket.change = sdacha; 167 }, 168};
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.