1
+ // рефакторить КартРОУТ - чтобы выводило по размерам + рефекторить Карт, чтобы удаляло по размеру
1
2
export const CartRoute = {
2
3
props :[ 'items' , `cart` ] ,
3
4
template :`
4
- <div class="CartRoute-main-container" >
5
- <h4 class="CartRoute-header-info">Корзина
6
- <span v-if="totalItems > 0">: всего товаров {{cart.totalItems()}} на сумму {{cart.totalPrice()}} руб</span>
7
- <span v-if="cart.totalItems() === 0">пуста...</span>
8
- </h4>
9
- <div v-if="cart.totalItems() > 0" class="CartRoute-allRows-container">
10
- <div v-for="(position,i) in cart.cartBox" class="CartRoute whole-row-container">
11
- <div class="row pic-name-container">
12
- <router-link :to="'/item/' + position.item.id">
13
- <div class=""> {{position?.item.name?.slice(9)}} <br>
14
- <img :src="position.item?.media?.images[0].image160pxUrl" alt="160">
15
- </div>
16
- </router-link>
17
- </div>
18
- <div class="row-info-container">
19
- Кол-во:
20
- <select class="row-info-container-select"
21
- :id="size(position)"
22
- :name="size(position)"
23
- :selectedIndex="amount(position)-1"
24
- @change="refresher(position)">
25
- <option v-for="i in amount(position)+5"
26
- :value="i"
27
- class="item size-amount-selector" >{{ i }}</option>
28
- </select>
29
- <div class>Размер: {{ size(position) }}</div>
30
- <div class="">На сумму {{ amount(position) * position.item.price }} р</div>
31
- <div class="row-delete-item-x" :data="i" @click="cart.removeOneLine(i),cart.saveToLS()"> X </div>
32
- </div>
33
- </div>
34
- </div>
5
+ <div class="CartRoute-main-container">
6
+ <h4 class="CartRoute-header-info">Корзина
7
+ <span v-if="totalItems > 0">: всего товаров {{ cart.totalItems() }} на сумму {{ cart.totalPrice() }} руб</span>
8
+ <span v-if="cart.totalItems() === 0">пуста...</span>
9
+ </h4>
10
+ <div v-if="cart.totalItems() > 0" class="CartRoute-allRows-container">
11
+
35
12
36
- <div class="CartRoute-order-button"
37
- v-if="cart.totalItems() > 0"
38
- id="orderRequestButton"
39
- @click="showDialog(),cart.clearLS()">Оформить заказ</div>
40
-
41
- <dialog class="cart-route-dialog">Поздравляем с покупкой! <br>
42
- <p v-if="cart.totalPrice() >= 15000">Ваш промокод на скидку в 15%: <span>{{cart.promoCodeGen(15)}}</span></p> <br>
43
- <p v-if="cart.totalPrice() >= 10000 && cart.totalPrice() < 15000">Ваш промокод на скидку в 10%: <span>{{cart.promoCodeGen(10)}}</span></p> <br>
44
- <router-link to="/">
45
- <p class="close-dialog-red-x" @click="hideDialog(),cart.cartBox=[]">Закрыть</p>
46
- </router-link>
47
- </dialog>
48
- </div>` ,
13
+ <div v-for="(position,i) in cart.cartBox" class="CartRoute whole-row-container">
14
+ <div class="row pic-name-container">
15
+ <router-link :to="'/item/' + position.item.id">
16
+ <div class=""> {{ position?.item.name?.slice(9) }} <br>
17
+ <img :src="position.item?.media?.images[0].image160pxUrl" alt="160">
18
+ </div>
19
+ </router-link>
20
+ </div>
21
+ <div class="row-info-container">
22
+ Кол-во:
23
+ <select class="row-info-container-select"
24
+ :id="size(position)"
25
+ :name="size(position)"
26
+ :selectedIndex="amount(position)-1"
27
+ @change="refresh(position)">
28
+ <option v-for="i in amount(position)+5"
29
+ :value="i"
30
+ class="item size-amount-selector">{{ i }}
31
+ </option>
32
+ </select>
33
+ <div class>Размер: {{ size(position) }}</div>
34
+ <div class="">На сумму {{ amount(position) * position.item.price }} р</div>
35
+ <div class="row-delete-item-x" :data="i" @click="cart.removeOneLine(i),cart.saveToLS()"> X</div>
36
+ </div>
37
+ </div>
38
+ </div>
39
+
40
+ <div class="CartRoute-order-button"
41
+ v-if="cart.totalItems() > 0"
42
+ id="orderRequestButton"
43
+ @click="showDialog(),cart.clearLS()">Оформить заказ
44
+ </div>
45
+
46
+ <dialog class="cart-route-dialog">Поздравляем с покупкой! <br>
47
+ <p v-if="cart.totalPrice() >= 15000">Ваш промокод на скидку в 15%: <span>{{ cart.promoCodeGen(15) }}</span></p>
48
+ <br>
49
+ <p v-if="cart.totalPrice() >= 10000 && cart.totalPrice() < 15000">Ваш промокод на скидку в 10%:
50
+ <span>{{ cart.promoCodeGen(10) }}</span></p> <br>
51
+ <router-link to="/">
52
+ <p class="close-dialog-red-x" @click="hideDialog(),cart.cartBox=[]">Закрыть</p>
53
+ </router-link>
54
+ </dialog>
55
+ </div>` ,
49
56
methods :{
50
57
size ( position ) {
51
-
52
58
return Object . keys ( position ) [ 1 ] ;
53
59
} ,
54
60
amount ( position ) {
@@ -68,8 +74,9 @@ export const CartRoute = {
68
74
return start + item
69
75
} )
70
76
} ,
71
- refresher ( position ) {
72
- position [ this . size ( position ) ] = + event . target . value
77
+ refresh ( position , size ) {
78
+ //position[this.size(position)] = +event.target.value
79
+ position . sizes [ size ] = + event . target . value
73
80
}
74
81
} ,
75
82
data ( ) {
0 commit comments