Commit 3c12b0d0 authored by wangqinghua's avatar wangqinghua

物品领用

用车 理发
parent 1dad36a3
......@@ -45,9 +45,12 @@ import {MineService} from "../pages/mine-pages/mine.service";
import {ScreenOrientation} from "@ionic-native/screen-orientation";
import {AppAvailability} from "@ionic-native/app-availability";
import {SMS} from "@ionic-native/sms";
import {ServeService} from "../pages/service-pages/serve.service";
import { ModalFromRightEnter, ModalFromRightLeave, ModalScaleEnter, ModalScaleLeave } from './modal-transitions';
import {GoodsCollectPageModule} from "../pages/service-pages/goods-collect/goods-collect.module";
import {ServeService} from "../pages/serve-pages/serve.service";
import {ModalFromRightEnter, ModalFromRightLeave, ModalScaleEnter, ModalScaleLeave} from './modal-transitions';
import {GoodsCollectPageModule} from "../pages/serve-pages/goods-collect/goods-collect.module";
import {HairCutPageModule} from "../pages/serve-pages/hair-cut/hair-cut.module";
import {MeetRoomPageModule} from "../pages/serve-pages/meet-room/meet-room.module";
import {UseCarPageModule} from "../pages/serve-pages/use-car/use-car.module";
@NgModule({
......@@ -70,7 +73,7 @@ import {GoodsCollectPageModule} from "../pages/service-pages/goods-collect/goods
mode: 'ios', //安卓和IOS的样式以IOS样式为准
modalEnter: 'modal-slide-in',
modalLeave: 'modal-slide-out',
swipeBackEnabled:false
swipeBackEnabled: false
}),
IonicStorageModule.forRoot(),
TabsModule,
......@@ -82,6 +85,9 @@ import {GoodsCollectPageModule} from "../pages/service-pages/goods-collect/goods
PublishPageModule,
ProposalPageModule,
GoodsCollectPageModule,
HairCutPageModule,
MeetRoomPageModule,
UseCarPageModule
],
bootstrap: [IonicApp],
entryComponents: [
......
<!-- Generated template for the FilterComponent component -->
<ion-content>
<ion-row class="padding-20-10">
<ion-col col-4 *ngFor="let item of list">
<div class="item-style">
{{item}}
</div>
</ion-col>
</ion-row>
<div class="padding-20-10">
<ion-row>
<ion-col col-4 *ngFor="let item of list" (click)="choose = item">
<div class="item-style" [ngClass]="choose == item?'select':''">
{{item}}
</div>
</ion-col>
</ion-row>
<button style="margin-top: 50px" class="margin-5" small color="danger" ion-button (click)="dismiss()">确定</button>
</div>
</ion-content>
......@@ -2,7 +2,13 @@ filter {
.item-style{
text-align: center;
background-color: #f2f2f2;
border-radius: 2px;
padding: 6px 2px;
border-radius: 6px;
padding: 4px 2px;
border: 1px solid #f2f2f2;
}
.select{
background-color: #fdf8f2;
border: 1px solid #e42417;
color: #e42417;
}
}
import { Component } from '@angular/core';
import {NavParams} from "ionic-angular";
import {Component} from '@angular/core';
import {NavParams, ViewController} from "ionic-angular";
@Component({
selector: 'filter',
templateUrl: 'filter.html'
selector: 'filter',
templateUrl: 'filter.html'
})
export class FilterComponent {
list = [];
list = [];
choose;
constructor(private params:NavParams) {
this.list = this.params.get("list");
console.log(this.list);
}
constructor(private params: NavParams,
private viewCtrl: ViewController) {
this.list = this.params.get("list");
this.choose = this.params.get("choose");
}
dismiss() {
const data = {
choose:this.choose
}
this.viewCtrl.dismiss(data);
}
}
<ion-header>
<ion-navbar>
<ion-title>购物车</ion-title>
<ion-buttons end>
<button ion-button icon-only (click)="goOrder()" class="toolbar-icon">
<span style="color: #ffffff" class="icon iconfont icon-order"></span>
</button>
</ion-buttons>
</ion-navbar>
</ion-header>
<ion-content>
<div class="goodsItem" *ngFor="let goods of cartList">
<ion-row class="cart-item">
<ion-col col-2 class="center">
<ion-checkbox [(ngModel)]="goods.checkbox" color="danger"
(ngModelChange)="changeCheck(goods)"></ion-checkbox>
</ion-col>
<ion-col col-8>
<p class="model">
{{goods.model}}
</p>
<p>
<span class="amount">数量:{{goods.amount}}</span>
<span class="specs">规格:
<span>{{goods.specs1}}</span>
<span>{{goods.specs2}}</span>
<span>{{goods.specs3}}</span>
<span>{{goods.specs4}}</span>
<span>{{goods.specs5}}</span>
</span>
</p>
</ion-col>
<ion-col col-2 class="center" (click)="choose(goods)">
<span class="icon iconfont icon-fabu"></span>
</ion-col>
</ion-row>
</div>
</ion-content>
<div *ngIf="footerView" class="stuff-footer">
<div class="footer-flex">
<div class="flex-all">
<ion-item>
<ion-label>全选</ion-label>
<ion-checkbox [(ngModel)]="checkAll" (ngModelChange)="selectAll($event)" color="danger"></ion-checkbox>
</ion-item>
</div>
<div (click)="submit()">
<button round small color="danger" ion-button>提交申请</button>
</div>
</div>
</div>
......@@ -2,7 +2,7 @@ page-goods-cart {
.stuff-footer {
position: fixed;
bottom: 0;
height: 6rem;
height: 4rem;
width: 100%;
text-align: center;
border-top: 1px solid #eeeeee;
......@@ -13,16 +13,6 @@ page-goods-cart {
width: 30px;
}
button {
width: 100px;
height: 35px;
line-height: 35px;
background: #e42417;
color: #fff;
border-radius: 5px;
font-size: 1.6rem;
}
.tip-num {
position: absolute;
right: 15px;
......@@ -59,5 +49,39 @@ page-goods-cart {
border-bottom: 1px solid #ddd;
margin-bottom: 5px;
padding: 5px;
.model{
padding: 5px 0;
font-size: 1.4rem;
}
.specs {
margin-left: 5px;
color: #666666;
font-size: 1.3rem;
}
.amount {
color: #666666;
font-size: 1.3rem;
span {
margin-left: 5px;
}
}
.center{
display: flex;
justify-content: center;
align-items: center;
}
}
.footer-flex{
display: flex;
}
.footer-flex > div{
width: 50%;
line-height: 3rem;
padding: 0 20px;
}
}
import {Component} from '@angular/core';
import {IonicPage, NavController, NavParams} from 'ionic-angular';
import {IonicPage, ModalController, NavController, NavParams} from 'ionic-angular';
import {ServeService} from "../../serve.service";
import {GoodsOrderPage} from "../goods-order/goods-order";
import {SpcesComponent} from "../../../../components/spces/spces";
import {CommonService} from "../../../../provide/common.service";
@Component({
......@@ -13,8 +15,11 @@ export class GoodsCartPage {
footerView = false;
chooseObj = [];
checkAll;
constructor(public navCtrl: NavController, public navParams: NavParams,
private serveSer: ServeService) {
private serveSer: ServeService, private modalCtrl: ModalController,
private commonSer: CommonService) {
}
ionViewDidEnter() {
......@@ -28,6 +33,7 @@ export class GoodsCartPage {
changeCheck(goods) {
const data = {
id: goods.id,
amount: goods.amount,
brand: goods.brand,
officeId: goods.officeId,
......@@ -40,17 +46,18 @@ export class GoodsCartPage {
};
let get = 0;
let number;
this.chooseObj.forEach((e,index)=>{
if(e.officeId == goods.officeId){
get = 1;
number = index;
}
this.chooseObj.forEach((e, index) => {
if (e.id == goods.id) {
get = 1;
number = index;
}
});
if(get == 0) this.chooseObj.push(data);
if(get == 1) this.chooseObj.splice(number,1);
if (get == 0) this.chooseObj.push(data);
if (get == 1) this.chooseObj.splice(number, 1);
console.log(this.chooseObj);
}
//获取购物车列表
getCart() {
const data = {
P_pageNumber: '1',
......@@ -60,37 +67,67 @@ export class GoodsCartPage {
this.serveSer.shoppingCar(data).subscribe(
(res) => {
this.cartList = res.list;
this.cartList.forEach(e=>{
e.check = false;
this.cartList.forEach(e => {
e.checkbox = false;
})
}
)
}
//选择规格 数量
choose(item) {
let modal = this.modalCtrl.create(SpcesComponent, {goods: item});
modal.onDidDismiss(res => {
if (res) {
this.chooseObj = res;
}
});
modal.present();
}
//全选
selectAll() {
selectAll(e) {
this.chooseObj = [];
this.cartList.forEach(e=>{
e.check = true;
this.chooseObj.push(e);
})
if (e == false) {
this.cartList.forEach(e => {
e.checkbox = false;
})
} else {
this.cartList.forEach(e => {
e.checkbox = true;
this.chooseObj.push(e);
})
}
console.log(e);
console.log(this.chooseObj);
}
//提交订单
submit() {
if (this.chooseObj.length == 0) {
this.commonSer.toast('请选择申请物品')
return false;
}
const data = {
"status": 2,
"orderSuppies": this.chooseObj
};
console.log(data);
this.serveSer.saveOrder(data).subscribe(
(res) => {
}
)
this.commonSer.alert('确定申请所选物品?', () => {
this.serveSer.saveOrder(data).subscribe(
(res) => {
if (res.errcode == 1000) {
this.commonSer.toast("提交申请成功");
this.getCart();
} else {
this.commonSer.toast(res.errmsg);
}
}
)
});
}
goOrder(){
//前往订单
goOrder() {
this.navCtrl.push(GoodsOrderPage);
}
......
......@@ -7,8 +7,8 @@
<span style="color: #ffffff" class="icon iconfont icon-cart"></span>
</button>
</ion-buttons>
<ion-buttons end class="margin-left-10">
<button ion-button icon-only (click)="goCart()" class="toolbar-icon">
<ion-buttons end class="margin-0-10">
<button ion-button icon-only (click)="goOrder()" class="toolbar-icon">
<span style="color: #ffffff" class="icon iconfont icon-order"></span>
</button>
</ion-buttons>
......
......@@ -7,6 +7,7 @@ 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";
import {GoodsOrderPage} from "./goods-order/goods-order";
@IonicPage()
......@@ -81,10 +82,14 @@ export class GoodsCollectPage {
//打开过滤条件
fliter() {
this.modalCtrl.create(FilterComponent, {list: this.typeList}, {
let modal = this.modalCtrl.create(FilterComponent, {list: this.typeList,choose:this.obj.type}, {
enterAnimation: 'modal-from-right-enter',
leaveAnimation: 'modal-from-right-leave'
}).present();
});
modal.onDidDismiss(data => {
this.filterType(data.choose);
});
modal.present();
}
//下拉刷新
......@@ -167,4 +172,9 @@ export class GoodsCollectPage {
this.navCtrl.push(GoodsCartPage);
}
//订单
goOrder() {
this.navCtrl.push(GoodsOrderPage);
}
}
<ion-header>
<ion-navbar>
<ion-title>我的申领</ion-title>
</ion-navbar>
</ion-header>
<ion-content class="bgc-e7e8ed">
<ion-refresher (ionRefresh)="doRefresh($event)">
<ion-refresher-content pullingText="下拉刷新"
refreshingSpinner="bubbles">
</ion-refresher-content>
</ion-refresher>
<div class="order" *ngFor="let item of orderList">
<div class="goodsItem" *ngFor="let goods of item.suppies">
<p class="model">
{{goods.model}}
</p>
<p>
<span class="amount">数量:{{goods.amount}}</span>
<span class="specs">规格:
<span>{{goods.specs1}}</span>
<span>{{goods.specs2}}</span>
<span>{{goods.specs3}}</span>
<span>{{goods.specs4}}</span>
<span>{{goods.specs5}}</span>
</span>
</p>
</div>
</div>
<ion-infinite-scroll (ionInfinite)="doInfinite($event)">
<ion-infinite-scroll-content
loadingSpinner="bubbles"
loadingText="加载中"></ion-infinite-scroll-content>
</ion-infinite-scroll>
</ion-content>
page-goods-order {
.order {
padding: 5px;
font-size: 1.6rem;
color: #333333;
background-color: #fff;
.goodsItem {
padding: 5px;
}
.model{
padding: 5px 0;
font-size: 1.4rem;
}
.specs {
margin-left: 5px;
color: #666666;
font-size: 1.3rem;
}
.amount {
color: #666666;
font-size: 1.3rem;
span {
margin-left: 5px;
}
}
}
.order + .order {
border-top: 5px solid #e7e8ed;
}
}
import {Component, ViewChild} from '@angular/core';
import {InfiniteScrollContent, IonicPage, NavController, NavParams} from 'ionic-angular';
import {ServeService} from "../../serve.service";
import {timer} from "rxjs/observable/timer";
import {CommonService} from "../../../../provide/common.service";
@Component({
selector: 'page-goods-order',
templateUrl: 'goods-order.html',
})
export class GoodsOrderPage {
@ViewChild(InfiniteScrollContent) infiniteScrollContent: InfiniteScrollContent;
orderList = [];
pageNum = 1;
pageSize = 10;
loadMore = false;
totalNum;
constructor(public navCtrl: NavController, public navParams: NavParams,
private serveSer: ServeService, private commonSer: CommonService) {
}
ionViewDidLoad() {
this.getList();
}
getList() {
const data = {
P_pageNumber: this.pageNum,
P_pageSize: this.pageSize,
};
this.serveSer.myOrder(data).subscribe(
(res) => {
this.orderList = res.list;
}
)
}
//下拉刷新
doRefresh(e) {
this.loadMore = true;
this.infiniteScrollContent.inf.enable(true);
const data = {
P_pageNumber: 1,
P_pageSize: this.pageSize,
};
this.serveSer.myOrder(data).subscribe(
(res) => {
this.orderList = res.list;
this.totalNum = res.total;
timer(800).subscribe(() => {
this.commonSer.toast('刷新成功');
e.complete()
});
}
)
}
//加载更多
doInfinite(e) {
if (this.totalNum == this.orderList.length) {
console.log("没有更多了")
this.loadMore = false;
e.enable(false);
return false;
}
this.pageNum++;
const data = {
P_pageNumber: this.pageNum,
P_pageSize: this.pageSize,
};
this.serveSer.myOrder(data).subscribe(
(res) => {
this.totalNum = res.total;
res.list.forEach(e => {
this.orderList.push(e);
});
timer(800).subscribe(() => e.complete());
}
)
}
}
<!--
Generated template for the HairCutPage page.
See http://ionicframework.com/docs/components/#navigation for more info on
Ionic pages and navigation.
-->
<ion-header>
<ion-navbar>
<ion-title>hairCut</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding>
</ion-content>
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { HairCutPage } from './hair-cut';
@NgModule({
declarations: [
HairCutPage,
],
imports: [
IonicPageModule.forChild(HairCutPage),
],
})
export class HairCutPageModule {}
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
/**
* Generated class for the HairCutPage page.
*
* See https://ionicframework.com/docs/components/#navigation for more info on
* Ionic pages and navigation.
*/
@IonicPage()
@Component({
selector: 'page-hair-cut',
templateUrl: 'hair-cut.html',
})
export class HairCutPage {
constructor(public navCtrl: NavController, public navParams: NavParams) {
}
ionViewDidLoad() {
console.log('ionViewDidLoad HairCutPage');
}
}
<!--
Generated template for the MeetRoomPage page.
See http://ionicframework.com/docs/components/#navigation for more info on
Ionic pages and navigation.
-->
<ion-header>
<ion-navbar>
<ion-title>meetRoom</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding>
</ion-content>
import {NgModule} from '@angular/core';
import {IonicPageModule} from 'ionic-angular';
import {MeetRoomPage} from './meet-room';
import {RoomApplyPage} from "./room-apply/room-apply";
@NgModule({
declarations: [
MeetRoomPage,
RoomApplyPage,
],
imports: [
IonicPageModule.forChild(MeetRoomPage),
],
entryComponents: [
RoomApplyPage
]
})
export class MeetRoomPageModule {
}
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
/**
* Generated class for the MeetRoomPage page.
*
* See https://ionicframework.com/docs/components/#navigation for more info on
* Ionic pages and navigation.
*/
@IonicPage()
@Component({
selector: 'page-meet-room',
templateUrl: 'meet-room.html',
})
export class MeetRoomPage {
constructor(public navCtrl: NavController, public navParams: NavParams) {
}
ionViewDidLoad() {
console.log('ionViewDidLoad MeetRoomPage');
}
}
<!--
Generated template for the RoomApplyPage page.
See http://ionicframework.com/docs/components/#navigation for more info on
Ionic pages and navigation.
-->
<ion-header>
<ion-navbar>
<ion-title>roomApply</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding>
</ion-content>
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
/**
* Generated class for the RoomApplyPage page.
*
* See https://ionicframework.com/docs/components/#navigation for more info on
* Ionic pages and navigation.
*/
@Component({
selector: 'page-room-apply',
templateUrl: 'room-apply.html',
})
export class RoomApplyPage {
constructor(public navCtrl: NavController, public navParams: NavParams) {
}
ionViewDidLoad() {
console.log('ionViewDidLoad RoomApplyPage');
}
}
import {Injectable} from "@angular/core";import {HttpClient} from "@angular/common/http";import {Http} from "@angular/http";import {Observable} from "rxjs/Observable";import {AppGlobal} from "../../service/http.service";import {CommonService} from "../../provide/common.service"; @Injectable()export class ServeService{ constructor( private http:HttpClient, //该请求 将结果转为json private commonSer:CommonService, private https:Http, //该请求不转json ){} //办公用品列表 searchSupplies(data): Observable<any>{ return this.http.post(AppGlobal.domain+'/wisdomgroup/modules/officesupplies/searchSupplies',this.commonSer.toFormData(data)); } //保存订单 saveOrder(data): Observable<any>{ return this.http.post(AppGlobal.domain+'/wisdomgroup/modules/ordermanage/saveOrder',data ); } //类型列表 getTypeList(): Observable<any>{ return this.http.post(AppGlobal.domain+'/wisdomgroup/modules/officesupplies/getTypeList',null); } //购物车 shoppingCar(data): Observable<any>{ return this.http.post(AppGlobal.domain+'/wisdomgroup/modules/ordermanage/shoppingCar',this.commonSer.toFormData(data) ); } }
\ No newline at end of file
import {Injectable} from "@angular/core";import {HttpClient} from "@angular/common/http";import {Http} from "@angular/http";import {Observable} from "rxjs/Observable";import {AppGlobal} from "../../service/http.service";import {CommonService} from "../../provide/common.service"; @Injectable()export class ServeService{ constructor( private http:HttpClient, //该请求 将结果转为json private commonSer:CommonService, private https:Http, //该请求不转json ){} //办公用品列表 searchSupplies(data): Observable<any>{ return this.http.post(AppGlobal.domain+'/wisdomgroup/modules/officesupplies/searchSupplies',this.commonSer.toFormData(data)); } //保存订单 saveOrder(data): Observable<any>{ return this.http.post(AppGlobal.domain+'/wisdomgroup/modules/ordermanage/saveOrder',data ); } //查询订单 myOrder(data): Observable<any>{ return this.http.post(AppGlobal.domain+'/wisdomgroup/modules/ordermanage/myOrder',this.commonSer.toFormData(data) ); } //类型列表 getTypeList(): Observable<any>{ return this.http.post(AppGlobal.domain+'/wisdomgroup/modules/officesupplies/getTypeList',null); } //购物车 shoppingCar(data): Observable<any>{ return this.http.post(AppGlobal.domain+'/wisdomgroup/modules/ordermanage/shoppingCar',this.commonSer.toFormData(data) ); } }
\ No newline at end of file
......
<!--
Generated template for the UseCarPage page.
See http://ionicframework.com/docs/components/#navigation for more info on
Ionic pages and navigation.
-->
<ion-header>
<ion-navbar>
<ion-title>useCar</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding>
</ion-content>
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { UseCarPage } from './use-car';
@NgModule({
declarations: [
UseCarPage,
],
imports: [
IonicPageModule.forChild(UseCarPage),
],
})
export class UseCarPageModule {}
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
/**
* Generated class for the UseCarPage page.
*
* See https://ionicframework.com/docs/components/#navigation for more info on
* Ionic pages and navigation.
*/
@IonicPage()
@Component({
selector: 'page-use-car',
templateUrl: 'use-car.html',
})
export class UseCarPage {
constructor(public navCtrl: NavController, public navParams: NavParams) {
}
ionViewDidLoad() {
console.log('ionViewDidLoad UseCarPage');
}
}
<ion-header>
<ion-navbar>
<ion-title>购物车</ion-title>
<ion-buttons end>
<button ion-button icon-only (click)="goOrder()" class="toolbar-icon">
<span style="color: #ffffff" class="icon iconfont icon-order"></span>
</button>
</ion-buttons>
</ion-navbar>
</ion-header>
<ion-content>
<ng-container *ngFor="let item of cartList">
<div class="goodsItem" *ngFor="let goods of item.suppies">
<ion-row class="cart-item">
<ion-col col-2 class="text-center">
<ion-checkbox [(ngModel)]="item.check" color="danger" (ngModelChange)="changeCheck(goods)"></ion-checkbox>
</ion-col>
<ion-col col-6>
{{goods.model}}
</ion-col>
<ion-col col-2 class="text-center">
{{goods.amount}}
</ion-col>
<ion-col col-2 class="text-center">
<span class="icon iconfont icon-fabu"></span>
</ion-col>
</ion-row>
</div>
</ng-container>
</ion-content>
<div *ngIf="footerView" class="stuff-footer">
<ion-row>
<ion-col col-6 (click)="selectAll()">
<img src="./assets/imgs/mine/verify-back.jpg">
<p>全选</p>
</ion-col>
<ion-col col-6 (click)="submit()">
<img src="./assets/imgs/mine/verify-right.jpg">
<p>提交申请</p>
</ion-col>
</ion-row>
</div>
<ion-header>
<ion-navbar>
<ion-title>我的申领</ion-title>
</ion-navbar>
</ion-header>
<ion-content>
<ng-container *ngFor="let item of orderList">
<div class="goodsItem" *ngFor="let goods of item.suppies">
<ion-row>
<ion-col col-6>
{{goods.model}}
</ion-col>
<ion-col col-2>
{{goods.amount}}
</ion-col>
</ion-row>
</div>
</ng-container>
</ion-content>
import {Component} from '@angular/core';
import {IonicPage, NavController, NavParams} from 'ionic-angular';
import {ServeService} from "../../serve.service";
@Component({
selector: 'page-goods-order',
templateUrl: 'goods-order.html',
})
export class GoodsOrderPage {
orderList = [];
pageNum = 1;
pageSize = 10;
constructor(public navCtrl: NavController, public navParams: NavParams,
private serveSer: ServeService) {
}
ionViewDidLoad() {
this.getList();
}
getList() {
const data = {
P_pageNumber: this.pageNum,
P_pageSize: this.pageSize,
status: 2
};
this.serveSer.shoppingCar(data).subscribe(
(res) => {
this.orderList = res.list;
}
)
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment