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
}
)
}
//加载更多
doInfinite(e) {
if (this.totalNum == this.goodsList.length) {
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();
this.preview.preImgSrc = this.picture + item.url;
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);
}