Newer
Older
import {Component, ViewChild} from '@angular/core';
import {InfiniteScrollContent, IonicPage, ModalController, NavController, NavParams} from 'ionic-angular';
import {ServeService} from "../serve.service";
import {FilterComponent} from "../../../components/filter/filter";
import {timer} from "rxjs/observable/timer";
import {CommonService} from "../../../provide/common.service";
import {CommentComponent} from "../../../components/comment/comment";
import {SpcesComponent} from "../../../components/spces/spces";
import {GoodsCartPage} from "./goods-cart/goods-cart";
@IonicPage()
@Component({
selector: 'page-goods-collect',
templateUrl: 'goods-collect.html',
})
export class GoodsCollectPage {
@ViewChild(InfiniteScrollContent) infiniteScrollContent: InfiniteScrollContent;
goodsList = []; //商品列表
typeList = []; //分类
pageNumber = 1;
pageSize = 20;
obj = {
params: '',
type: ''
};
totalNum;
isLoad = true;
loadMore = true;
chooseObj;
constructor(public navCtrl: NavController, public navParams: NavParams,
private serveSer: ServeService, private modalCtrl: ModalController,
private commonSer: CommonService, private appMainSer: AppMainService) {
ionViewDidLeave() {
this.preview.showPreView = false;
this.preview.preImgSrc = null;
}
this.getList();
}
//商品列表
getList() {
const data = {
P_pageNumber: this.pageNumber,
P_pageSize: this.pageSize,
param1: this.obj.params,
type: this.obj.type
};
this.serveSer.searchSupplies(data).subscribe(
(res) => {
this.goodsList = res.list;
this.totalNum = res.total;
}
)
}
//分类列表
getTypeList() {
this.serveSer.getTypeList().subscribe(
(res) => {
this.typeList = res.data.map(e => {
const data = {
name: e,
type: e,
};
return data;
});
let modal = this.modalCtrl.create(FilterComponent,
{
list: this.typeList,
type: this.obj.type,
title: '物品分类',
desc: "点击进入分类"
},
{
enterAnimation: 'modal-from-right-enter',
leaveAnimation: 'modal-from-right-leave'
});
}
//下拉刷新
doRefresh(e) {
this.loadMore = true;
this.infiniteScrollContent.inf.enable(true);
const data = {
P_pageNumber: 1,
P_pageSize: this.pageSize,
param1: this.obj.params,
type: this.obj.type
};
this.serveSer.searchSupplies(data).subscribe(
(res) => {
this.goodsList = res.list;
this.totalNum = res.total;
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
}
)
}
//加载更多
doInfinite(e) {
console.log("doInfinite")
if (this.totalNum == this.goodsList.length) {
console.log("没有更多了")
this.loadMore = false;
e.enable(false);
return false;
}
this.pageNumber++;
const data = {
P_pageNumber: this.pageNumber,
P_pageSize: this.pageSize,
param1: this.obj.params,
type: this.obj.type
};
this.serveSer.searchSupplies(data).subscribe(
(res) => {
this.totalNum = res.total;
res.list.forEach(e => {
this.goodsList.push(e);
});
timer(800).subscribe(() => e.complete());
}
)
}
// 放大图片
previewImg(item, e) {
e.stopPropagation();
console.log(item);
this.preview.preImgSrc = this.picture + item.url;
this.preview.showPreView = true;
console.log(this.preview.preImgSrc);
}
closePreview() {
this.preview.showPreView = false;
this.preview.preImgSrc = null;
}
let modal = this.modalCtrl.create(SpcesComponent, {goodsId: item.id});
modal.onDidDismiss(res => {
if (res) {
this.chooseObj = res;
this.addCart();
}
})
modal.present();
}
//添加到购物车
//审核提交
goVerify() {
this.navCtrl.push(GoodsVerifyPage);
}
//订单
goOrder() {
this.navCtrl.push(GoodsOrderPage);
}