Это проблема: введите '{id: any;IdCliente: любой;idvendedor: любой;Феча: любая;} 'отсутствуют свойства типа' Dev ': idCliente, idVendedorts (2739)
что я могу сделать? В ventas.page.ts
import { DatabaseService, Dev } from './../../services/database.service';
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { ToastController } from '@ionic/angular';
@Component({
selector: 'app-venta',
templateUrl: './venta.page.html',
styleUrls: ['./venta.page.scss'],
})
export class ventaPage implements OnInit {
venta: Dev = null;
// id = '';
constructor(private route: ActivatedRoute, private db: DatabaseService, private router:
Router, private toast: ToastController) { }
ngOnInit() {
this.route.paramMap.subscribe(params => {
let devId = params.get('id');
this.db.getVentas(devId).then(data => {
this.venta = data; // **here is the error**
ошибка в строке выше venta не распознана: Тип '{id: любой;IdCliente: любой;idvendedor: любой;Феча: любая;} 'отсутствуют следующие свойства из типа' Dev ': idCliente, idVendedorts (2739)
});
});
}
delete() {
this.db.deleteVentas(this.venta.id).then(() => {
this.router.navigateByUrl('/');
});
}
**Database.service.ts**
import { Platform } from '@ionic/angular';
import { Injectable } from '@angular/core';
import { SQLitePorter } from '@ionic-native/sqlite-porter/ngx';
import { HttpClient } from '@angular/common/http';
import { SQLite, SQLiteObject } from '@ionic-native/sqlite/ngx';
import { BehaviorSubject, Observable } from 'rxjs';
export interface Dev {
id: number,
idCliente: number,
idVendedor: number,
Fecha: Date,
}
@Injectable({
providedIn: 'root'
})
export class DatabaseService {
private database: SQLiteObject;
private dbReady: BehaviorSubject<boolean> = new BehaviorSubject(false);
Ventas = new BehaviorSubject([]);
VentaDetalle = new BehaviorSubject([]);
constructor(private plt: Platform, private sqlitePorter: SQLitePorter, private sqlite: SQLite,
private http: HttpClient) {
this.plt.ready().then(() => {
this.sqlite.create({
name: 'Ventas.db',
location: 'default'
})
.then((db: SQLiteObject) => {
this.database = db;
this.seedDatabase();
});
});
}
seedDatabase() {
//seed.sql es el archivo que creamos primero donde insertamos unos campos
this.http.get('assets/seed.sql', { responseType: 'text'})
.subscribe(sql => {
this.sqlitePorter.importSqlToDb(this.database, sql)
.then(_ => {
this.loadVentas();
this.loadVentaDetalle();
this.dbReady.next(true);
})
.catch(e => console.error(e));
});
}
loadVentaDetalle() {
let query = 'SELECT VentaDetalle.id_venta, VentaDetalle.id_producto, VentaDetalle.cant,
VentaDetalle.Precio, Ventas.IDVendedor, Ventas.id AS creator FROM VentaDetalle JOIN Ventas ON
Ventas.id = VentasDetalle.Id_venta';
return this.database.executeSql(query, []).then(data => {
let VentaDetalle = [];
if (data.rows.length > 0) {
for (var i = 0; i < data.rows.length; i++) {
VentaDetalle.push({
id_producto: data.rows.item(i).id_producto,
id: data.rows.item(i).id,
cant: data.rows.item(i).cant,
Precio:data.rows.item(i).Precio,
});
}
}
this.VentaDetalle.next(VentaDetalle);
});
}
loadVentas() {
// const data = await this.database.executeSql('SELECT * FROM Ventas', []);
return this.database.executeSql('SELECT * FROM Ventas', []).then(data => {
let Ventas: Dev[] = [];
if (data.rows.length > 0) {
for (var i = 0; i < data.rows.length; i++) {
let Fecha = [];
if (data.rows.item(i).Fecha != '') {
//Fecha = JSON.parse(data.rows.item(i).Fecha);
}
Ventas.push({
id: data.rows.item(i).id,
idCliente: data.rows.item(i).idCliente,
idVendedor: data.rows.item(i).IdVendedor,
Fecha: data.rows.item(i).Fecha,
});
}
}
this.Ventas.next(Ventas);
});
}
getDatabaseState() {
return this.dbReady.asObservable();
}
getDevs(): Observable<Dev[]> {
return this.Ventas.asObservable();
}
getVentadetalle(): Observable<any[]> {
return this.VentaDetalle.asObservable();
}
addventas(IdCliente, idVendedor, Fecha){
let data = [IdCliente, idVendedor, Fecha];
return this.database.executeSql('INSERT INTO Ventas (IdCliente, idVendedor, Fecha) VALUES (?,
?, ?)', data).then(data => {
this.loadVentas();
});
}
//getVentas(id): Promise<Dev> {
getVentas(id) {
return this.database.executeSql('SELECT * FROM Ventas WHERE id = ?', [id]).then(data => {
let Venta =[];
//let IdCliente = [];
if (data.rows.item(0).Fecha != '') {
//IdCliente = JSON.parse(data.rows.item(0).idCliente);
// Fecha=data.rows.item0(0).Fecha;
}
return {
id: data.rows.item(0).id,
IdCliente: data.rows.item(0).idCliente,
idvendedor: data.rows.item(0).idVendedor,
Fecha: data.rows.item(0).Fecha
}
});
}
deleteVentas(id:number) {
return this.database.executeSql('DELETE FROM Ventas WHERE id = ?', [id]).then(_ => {
this.loadVentas();
this.loadVentaDetalle();
});
}
updateventas(dev: Dev) {
let data = [dev.idCliente, dev.idVendedor, dev.Fecha];
return this.database.executeSql(`UPDATE Ventas SET id = ?,IdCliente =?, idproduct0 = ?, Fecha =
? WHERE id = ${dev.id}`, data).then(data => {
this.loadVentas();
})
}
addVentasDetalle(id_venta,id_producto, Precio, Cant) {
let data = [id_venta,id_producto, Precio, Cant];
return this.database.executeSql('INSERT INTO product (id_venta,id_producto, Precio, Cant)
VALUES (?, ?)', data).then(data => {
this.loadVentaDetalle();
});
}
}