поменял формат адреса, починил тип доставки
This commit is contained in:
gofnnp 2023-02-19 22:23:20 +04:00
parent c282a6e521
commit c24e94c255
4 changed files with 186 additions and 179 deletions

View File

@ -8,7 +8,7 @@
<p сlass="form-row form-row-wide">
<input formControlName="first_name" id="first_name" pInputText placeholder="Ваше имя" type="text">
</p>
<div *ngIf="deliverData.deliveryType?.title === 'Доставка'">
<div *ngIf="deliverData.deliveryType?.name === 'Доставка'">
<p сlass="form-row form-row-last">
<input formControlName="flat" id="flat" pInputText placeholder="Квартира" type="number" min="1">
</p>

View File

@ -134,15 +134,15 @@ export class UserDataOrderComponent implements OnInit, OnDestroy {
changeDeliveryType(event: any) {
this.deliverData.deliveryType = event.value;
if (this.deliverData.deliveryType?.title) {
this.changeValidators(this.deliverData.deliveryType.title)
if (this.deliverData.deliveryType?.name) {
this.changeValidators(this.deliverData.deliveryType.name)
}
}
changeValidators(title: string) {
changeValidators(name: string) {
const comment = this.mainFormGroup.controls['deliveryDataForm'].value.comment;
const streetValidators = title === 'Доставка' ? [Validators.required, Validators.minLength(2), Validators.maxLength(255),] : []
const houseValidators = title === 'Доставка' ? [Validators.required, Validators.maxLength(10),] : []
const streetValidators = name === 'Доставка' ? [Validators.required, Validators.minLength(2), Validators.maxLength(255),] : []
const houseValidators = name === 'Доставка' ? [Validators.required, Validators.maxLength(10),] : []
const userDataForm = this.fb.group({
phone: [this.userData.phone],
first_name: [this.userData.first_name, [Validators.required, Validators.minLength(2), Validators.maxLength(255),]],
@ -233,7 +233,7 @@ export class UserDataOrderComponent implements OnInit, OnDestroy {
this.userData.city = this.cities[0];
this.userData.phone = this.order.phone;
// await this.autoCompleteService.setCity(this.userData.city);
const isSelfDelivery = this.deliverData.deliveryType?.type === "self_delivery"
const isSelfDelivery = this.deliverData.deliveryType?.name === "Самовывоз"
return this.fb.group({
phone: [this.userData.phone],
first_name: [this.userData.first_name, [Validators.required, Validators.minLength(2), Validators.maxLength(255),]],

View File

@ -1,19 +1,18 @@
import { CartProduct } from "../models/cart-product";
import { CartProduct } from '../models/cart-product';
export enum PageCode {
// Auth,
BonusProgram,
Orders,
RefSystem,
UserData
UserData,
}
export enum MainPageCode {
Account,
Products,
Cart,
Info
Info,
}
export interface Page {
@ -23,7 +22,7 @@ export interface Page {
description?: string;
getMethod?: string;
resName?: string;
onSideBar: boolean
onSideBar: boolean;
icon?: string;
}
@ -82,11 +81,14 @@ export interface OrderStatus {
}
export interface DeliveryType {
cost: number;
title: string;
id: number;
type: string;
// cost: number;
// title: string;
// id: number;
// type: string;
name: string;
iikoId: string;
iikoName: string;
isPickUp: boolean;
}
export interface AcceptedOrder {
@ -106,7 +108,7 @@ export interface AcceptedOrder {
total: number;
};
date_created: string;
items: OrderProduct[]
items: OrderProduct[];
}
export interface Product {
@ -132,7 +134,7 @@ export interface AllData {
products: Product[];
modifiers_groups: ModifiersGroup[];
modifiers: Modifier[];
categories: any[]
categories: any[];
}
export interface Group {
@ -141,30 +143,30 @@ export interface Group {
}
export interface ModifiersGroup {
name: string,
id: string,
name: string;
id: string;
restrictions: {
minQuantity: number,
maxQuantity: number,
freeQuantity: number,
byDefault: number
}
minQuantity: number;
maxQuantity: number;
freeQuantity: number;
byDefault: number;
};
}
export interface Modifier {
id: string,
idLocal: string,
name: string,
groupId: string,
price?: number,
quantity?: number,
id: string;
idLocal: string;
name: string;
groupId: string;
price?: number;
quantity?: number;
image?: string;
restrictions: {
minQuantity: number,
maxQuantity: number,
freeQuantity: number,
byDefault: number
}
minQuantity: number;
maxQuantity: number;
freeQuantity: number;
byDefault: number;
};
}
export interface CartModifier {
@ -175,11 +177,11 @@ export interface CartModifier {
options: Modifier[];
allQuantity: number;
restrictions: {
minQuantity: number,
maxQuantity: number,
freeQuantity: number,
byDefault: number
}
minQuantity: number;
maxQuantity: number;
freeQuantity: number;
byDefault: number;
};
}
export interface Cart {
@ -203,11 +205,11 @@ export interface Option {
name: string;
groupId: string;
restrictions: {
minQuantity: number,
maxQuantity: number,
freeQuantity: number,
byDefault: number
}
minQuantity: number;
maxQuantity: number;
freeQuantity: number;
byDefault: number;
};
}
export interface OrderProduct {
@ -216,8 +218,8 @@ export interface OrderProduct {
name: string;
price: number;
modifiers: {
[name: string]: OrderModifier[]
}
[name: string]: OrderModifier[];
};
}
export interface OrderModifier {

View File

@ -54,8 +54,13 @@ export class Order {
delivery_fio: this.userData?.first_name,
subtotal: this.price,
delivery_comment: this.deliveryData?.comment,
delivery: this.deliveryData?.deliveryType?.type,
delivery_address: this.deliveryData?.deliveryType?.type === "self_delivery" ? '' : `${environment.cities[0]}, ул ${this.userData?.street}, ${this.userData?.house}`,
delivery: this.deliveryData?.deliveryType?.name,
delivery_address: {
street: this.userData?.street || '',
house: this.userData?.house || '',
flat: '',
city: ''
},
amount: this.price + 100,
terminal_id: this.terminal_id
},