Commit d05028a8 authored by wangqinghua's avatar wangqinghua

签到

parent a9408b0f
<?xml version='1.0' encoding='utf-8'?>
<widget id="io.ionic.starter" version="1.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<widget id="io.ionic.starter" version="1.0.2" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>智汇19号</name>
<description>An awesome Ionic/Cordova app.</description>
<author email="hi@ionicframework" href="http://ionicframework.com/">Ionic Framework Team</author>
......
......@@ -23,13 +23,15 @@ import { Geolocation } from "@ionic-native/geolocation";
import {ContactModalPage} from "../pages/contact/contact-modal/contact-modal";
import { PersonPage } from "../pages/surveyManage/modal/person/person";
import {PersonListPage} from "../pages/contact/person-list/person-list";
import {BlockModalPage} from "../pages/activity-track/block-modal/block-modal";
@NgModule({
declarations: [
MyApp,
ContactModalPage,
PersonPage,
PersonListPage
PersonListPage,
BlockModalPage
],
imports: [
BrowserModule,
......@@ -53,7 +55,8 @@ import {PersonListPage} from "../pages/contact/person-list/person-list";
MyApp,
ContactModalPage,
PersonPage,
PersonListPage
PersonListPage,
BlockModalPage
],
providers: [
StatusBar,
......
......@@ -52,6 +52,9 @@ p{
.text-center{
text-align: center;
}
.text-right{
text-align: right;
}
.swiper-title{
position: relative;
......
<ion-header>
<ion-navbar>
<ion-title>选择批次</ion-title>
<ion-buttons start>
<button ion-button (click)="dismiss()">
<span ion-text color="primary" >取消</span>
</button>
</ion-buttons>
<ion-buttons end>
<button ion-button (click)="dismiss()">
<span ion-text color="primary" >确定</span>
</button>
</ion-buttons>
</ion-navbar>
</ion-header>
<ion-content padding>
<ion-list radio-group [(ngModel)]="block" >
<ion-item *ngFor="let item of blockList;let i = index;" >
<ion-label>{{item.batchName}}</ion-label>
<ion-radio checked="false" value="{{i}}"></ion-radio>
</ion-item>
</ion-list>
</ion-content>
import { Component } from '@angular/core';
import { NavController, NavParams, ViewController} from 'ionic-angular';
@Component({
selector: 'page-block-modal',
templateUrl: 'block-modal.html',
})
export class BlockModalPage {
blockList;
block;
constructor(public navCtrl: NavController, public navParams: NavParams,
public viewCtrl: ViewController) {
}
ionViewDidLoad() {
this.blockList = this.navParams.get('blockList');
console.log(this.blockList);
}
dismiss() {
this.viewCtrl.dismiss(this.blockList[this.block]);
}
}
......@@ -9,25 +9,25 @@
</div>
<div class="content-box">
<div class="content-box-item i3" (click)="noSign()">
<div class="content-box-item {{type == '1'?'bgc-34b4fc':''}} " (click)="noSign()">
<span class="item-title">未报名</span>
<span class="item-count">{{notSign}}人</span>
</div>
<div class="content-box-item i2" (click)="hasSign()">
<div class="content-box-item {{type == '2'?'bgc-34b4fc':''}}" (click)="hasSign()">
<span class="item-title">已报名</span>
<span class="item-count">{{waitgoOrder}}人</span>
</div>
<div class="content-box-item i1" (click)="waitSure()">
<div class="content-box-item {{type == '3'?'bgc-34b4fc':''}}" (click)="waitSure()">
<span class="item-title">待确认</span>
<span class="item-count">{{waitSureOrder}}人</span>
</div>
</div>
<div class="content-box">
<div class="content-box-item i4" (click)="hasgo()">
<div class="content-box-item {{type == '4'?'bgc-34b4fc':''}}" (click)="hasgo()">
<span class="item-title">已出行</span>
<span class="item-count">{{hasgoOrder}}人</span>
</div>
<div class="content-box-item i5" (click)="notgo()">
<div class="content-box-item {{type == '5'?'bgc-34b4fc':''}}" (click)="notgo()">
<span class="item-title">未出行</span>
<span class="item-count">{{notgoOrder}}人</span>
</div>
......@@ -38,8 +38,8 @@
<div class="group" *ngIf="isNoSignFlag">
<div class="inner-group">
<img *ngIf="item.user?.gender == '1'||item.user?.gender == null" src="./assets/imgs/man.png" class="person-photo">
<img *ngIf="item.user?.gender == '0'" src="./assets/imgs/woman.png" class="person-photo">
<img *ngIf="item.user?.gender == '1'||item.user?.gender == null" src="./assets/imgs/head.png" class="person-photo">
<img *ngIf="item.user?.gender == '0'" src="./assets/imgs/head.png" class="person-photo">
<div class="item-box">
<p class="person-name">{{item.username}}
<ion-icon class="person-sex-male" *ngIf="item.user?.gender == '1'||item.user?.gender == null" name="male"></ion-icon>
......@@ -57,8 +57,8 @@
<div class="group" *ngIf="!isNoSignFlag">
<div class="inner-group">
<img *ngIf="item.gender == '1'||item.gender == null" src="./assets/imgs/man.png" class="person-photo">
<img *ngIf="item.gender == '0'" src="./assets/imgs/woman.png" class="person-photo">
<img *ngIf="item.gender == '1'||item.gender == null" src="./assets/imgs/head.png" class="person-photo">
<img *ngIf="item.gender == '0'" src="./assets/imgs/head.png" class="person-photo">
<div class="item-box">
<p class="person-name">{{item.name}}
<ion-icon class="person-sex-male" *ngIf="item.gender == '1'||item.gender == null" name="male"></ion-icon>
......@@ -66,7 +66,13 @@
</p>
</div>
</div>
<button ion-button round class="btn color3">未报名</button>
<div class="inner-button">
<div class="text-right"><button ion-button round class="btn color3">未报名</button></div>
<div class="margin-top-5">
<button (click)="goSignUp(item)" ion-button round class="btn color3 blue-btn">代报名</button>
<button ion-button round class="btn color3 red-btn">不参加</button>
</div>
</div>
</div>
</ion-item>
......
......@@ -37,8 +37,13 @@ page-joinDetail {
font-size: 14px;
border-radius: 2px;
color: white;
border: 1px solid #34b4fc;
}
.content-box-item.bgc-34b4fc .item-title,
.content-box-item.bgc-34b4fc .item-count{
color: white;
}
.item-count{
font-weight: bold;
......@@ -63,7 +68,6 @@ page-joinDetail {
}
.btn{
float: right;
background-color: white;
border: 1px solid #90da91;
color: #90da91;
......@@ -74,24 +78,29 @@ page-joinDetail {
.color1{
border-color: #93cfe5;
color: #93cfe5;
border-radius: 3px;
}
.color2{
border-color: #90db90;
color: #90db90;
border-radius: 3px;
}
.color3{
border-color: #f3a778;
color: #f3a778;
border-radius: 3px;
}
.color4{
border-color: #5097f5;
color: #5097f5;
border-radius: 3px;
}
.color5{
border-color: #55efda;
color: #55efda;
border-radius: 3px;
}
.group{
......@@ -102,6 +111,10 @@ page-joinDetail {
box-sizing: border-box;
}
.group1{
}
.inner-group{
display: flex;
flex-direction: row;
......@@ -149,5 +162,24 @@ page-joinDetail {
width: 30px;
height: 30px;
}
.bgc-34b4fc{
background-color: #34b4fc;
}
.item-title{
color: #34b4fc;
}
.item-count{
color: #999999;
}
.red-btn{
background-color: #fc6063;
color: #fff;
border: 1px solid #fc6067;
}
.blue-btn{
background-color: #34b4fc;
color: #fff;
border: 2px solid #34b4fc;
}
}
......@@ -5,6 +5,7 @@ import { Http, Response, } from '@angular/http';
import { AppService } from '../../../service/appHttpService';
import { ActivityStatisticService } from '../../../service/activityStatisticService';
import {ReplaceApplyPage} from "../replace-apply/replace-apply";
@IonicPage()
@Component({
......@@ -19,8 +20,11 @@ export class JoinDetailPage {
isNoSignFlag:boolean = false;
acitivityid:string;
//待出行
type = '1';
//待出行
waitgoOrder:number;
//待确认
waitSureOrder:number;
......@@ -40,7 +44,7 @@ export class JoinDetailPage {
public activityStatisticService: ActivityStatisticService) {
}
ionViewDidLoad(){
ionViewDidEnter(){
/** 订单状态 (1.待出行(已报名)、2.待确认(已报名未确认)、3.报名未出行、4.已完成 (3,4均为确认状态))*/
this.acitivityid = this.navParams.get("id"); //活动id
//初始化加载未报备
......@@ -84,30 +88,31 @@ export class JoinDetailPage {
//报名待出行
hasSign(){
this.type = '2';
this.conmon(1);
}
//待确认
waitSure(){
this.type = '3';
this.conmon(2);
}
//已确认未出行
notgo(){
this.type = '5';
this.conmon(3);
}
//已确认出行
hasgo(){
hasgo(){
this.type = '4';
this.conmon(4);
}
//未报名
noSign(){
this.type = '1';
this.items = [];
this.isNoSignFlag = false;
this.appService.ObserverHttpPost("/wisdomgroup/modules/activity/notSignActivityList",{activityid:this.acitivityid})
......@@ -120,7 +125,10 @@ export class JoinDetailPage {
);
}
//代报名
goSignUp(item){
this.navCtrl.push('ReplaceApplyPage',{id:this.acitivityid,personInfo:item})
}
}
<ion-header>
<ion-navbar>
<ion-title text-center>报名订单</ion-title>
</ion-navbar>
</ion-header>
<ion-content class="content">
<ion-item class="content-title">
<span>活动名称</span>
<span float-right>{{activity?.activityName}}</span>
</ion-item>
<ion-item>
<span>选择批次</span>
<span float-right (click)="selectblock()">{{itemName}}<ion-icon style="vertical-align: bottom;margin-left: 8px;" ios="ios-arrow-forward" md="md-arrow-forward"></ion-icon> </span>
</ion-item>
<ion-item class="margin-top-10">
<ion-label>报名用户</ion-label>
<span class="lettr-space-1" item-right>{{personInfo?.name}}</span>
</ion-item>
<ion-item class="margin-top-10">
<span>携带人数</span>
<span class="com" float-right>
<button type="button" class="input_left" (tap)="next()">-</button>
<input type="text" readonly="readonly" [(ngModel)]='order.Personnumber' name="num" />
<button type="button" style="margin-left: -2px" class="input_right" (tap)="add()">+</button>
</span>
</ion-item>
<ion-item class="margin-top-10">
<ion-label>报名备注</ion-label>
<ion-textarea [(ngModel)]="order.Orderbz" class="content-textarea"></ion-textarea>
</ion-item>
<button class="submit-btn submit" (click)="submitOrder()">提交订单</button>
</ion-content>
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { ReplaceApplyPage } from './replace-apply';
@NgModule({
declarations: [
ReplaceApplyPage,
],
imports: [
IonicPageModule.forChild(ReplaceApplyPage),
],
})
export class ReplaceApplyPageModule {}
page-replace-apply {
.searchToolBar{
display: flex;
flex-direction: row;
align-items: center;
justify-content: left;
box-sizing: border-box;
}
.content{
background-color: #f1f1f1
}
.item1{
background-color: white;
}
// .img-box{
// width: 100%;
// height: 135px;
// }
.item1-image{
width: 100%;
height: 135px;
}
.item1-content{
margin-top: 12px;
}
.item1-content-header{
display: flex;
flex-direction: row;
align-items: flex-start;
justify-content: space-between;
box-sizing: border-box;
}
.item1-title{
margin-left: 15px;
font-size: 18px;
font-weight: bold;
width: 12em;
line-height:18px;
}
.item1-content-box{
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: center;
box-sizing: border-box;
margin-right: 15px;
color: #80a7ee;
font-size: 16px;
line-height:18px;
}
.item1-introduction{
margin: 0 15px;
color: #9d9d9d;
padding-bottom: 10px;
line-height: 25px;
}
.item-margin{
margin-top: 17px
}
.item-list{
margin-bottom: 0;
}
.item-label{
border-left: 2px solid #498aff
}
.item-title{
color: #699fff;
margin-left: 15px
}
.item2-content{
}
.item2-box{
width: 73px;
height: 53px;
margin: 5px 4.5px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
box-sizing: border-box;
float: left;
font-size: 12px;
border: 1px solid #cccccc;
}
.zero{
background-color: #ededed;
}
.selected{
background-color: #e0e9fa;
}
.time{
color: #5f5f5f
}
.quantity{
color: #ebac67
}
.item3-box{
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
}
.item3-box-count{
color: #ee9d39;
}
.item3-1{
display: flex;
flex-direction: row;
align-items: center;
justify-content: left;
box-sizing: border-box;
}
.little-title-box{
border: 1px solid #cccccc;
}
.little-title{
font-size: 16px;
font-weight: bold;
margin:0 7px;
}
.change{
width: 20px;
height: 20px;
border-radius: 20px;
margin-left: 5px;
margin-right: 5px;
background-color: #ef941f;
font-size: 20px;
line-height: 20px;
text-align: center;
}
.number{
width: 50px;
border: 1px solid #cccccc;
text-align: center;
}
.item3-2{
display: flex;
flex-direction: row;
align-items: flex-start;
justify-content: left;
box-sizing: border-box;
}
.item3-icon{
font-size: 18px;
}
.remark-box{
width: 100px;
height: 40px;
}
.remark{
width: 100%;
// height: 100%;
border: 1px solid #cccccc;
margin: 0 0 0 15px;
}
.item4-content{
margin-left: 20px;
font-size: 14px;
color: #666666;
}
.item5{
margin-bottom: 50px;
}
.item5-content p{
color: #5c5c5c;
white-space: normal;
}
.confirmBtn{
position: fixed;
height: 50px;
bottom: 0;
margin: 0 0;
}
.cover{
position: relative;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.4);
// opacity: 0.4;
z-index: 100;
}
.cover-content{
position: fixed;
// height: 400px;
width: 300px;
margin:auto;
left:0;
right:0;
top: 110px;
z-index: 1000;
background-color: white;
}
.cover-content-box{
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
box-sizing: border-box;
margin: 15px 15px;
// width: 280px;
}
.cover-content-info{
height: 280px;
border: 1px solid #cccccc;
padding: 0 10px;
margin-bottom: 10px;
color: #272727;
overflow: scroll;
width: 270px;
}
.cover-content-title{
margin-top: 0;
}
.btn-introduce{
background-color: white;
padding: 3px 7px;
border: 1px solid #cccccc;
border-radius: 10px;
float: right;
color: #666666;
}
.result-img{
width: 100px;
height:100px;
}
.result-msg{
color: #272727;
}
.cover-content-result{
top:200px;
}
.back-btn{
width: 30px;
height: 30px;
}
//新
.content{
text-align: left;
margin-top: 6px;
}
.sign-info,.feedback-info{
border-bottom: 1px solid #ddd;
margin-bottom: 20px;
}
.info-title{
padding-left: 10px;
position: relative;
}
.info-title::after{
content: '';
position: absolute;
left: 0;
top: 0;
width: 5px;
height: 25px;
background-color: #24bafc;
}
.content-item{
font-size: 16px;
padding: 0 20px;
p{
padding: 10px 0;
span:first-child{
color: #333;
}
span:last-child{
color: #666;
}
}
p + p{
border-top: 1px solid #ddd;
}
}
.content-button{
position: absolute;
bottom: 10px;
left: 0;
display: flex;
align-items: center;
width: 100%;
height: 60px;
font-size: 16px;
background-color: #e3f6fe;
div:first-child{
width: 65%;
padding-left: 20px;
}
}
.item-ios.item-block .item-inner{
margin-right: 16px;
border: none;
padding-left: 16px;
}
.content .item-ios.item-block:nth-child(5) .item-inner{
border: none;
}
.content-title{
padding: 0;
}
.content-title .item-inner{
padding-left: 16px;
margin: 0 !important;
}
.label-ios + ion-input .text-input, .label-ios + ion-textarea .text-input, .label-ios + .input + .cloned-input{
padding: 10px;
height: 100px;
border: 1px solid #ddd;
}
.submit{
margin-top: 20px;
border: 1px solid #34b4fc;
background-color: #34b4fc;
}
.com{
font-size: 0;
}
.com input{
font-size: 1.5rem;
height: 2rem;
width: 3rem;
vertical-align: bottom;
border: 1px solid #ddd;
text-align: center;
}
.com button{
height: 2rem;
width: 2rem;
}
}
import { Component } from '@angular/core';
import {IonicPage, ModalController, NavController, NavParams} from 'ionic-angular';
import {Response} from "@angular/http";
import {AppService} from "../../../service/appHttpService";
import {PersonPage} from "../../surveyManage/modal/person/person";
import {BlockModalPage} from "../block-modal/block-modal";
import {MinePage} from "../../tabs/mine/mine";
@IonicPage()
@Component({
selector: 'page-replace-apply',
templateUrl: 'replace-apply.html',
})
export class ReplaceApplyPage {
activityId; //活动Id
personInfo; //报名人信息
activity; //活动信息
batchList; //批次列表
item ; //批次信息
itemName = '请选择批次';
//报名信息
order = {
Personnumber: 0, //携带人数
Orderbz: '', //报名备注
Activityid: '', //关联活动id
Batchid: '', //关联批次id
UserID:'', //用户id
Username:'', //用户名称
Usertel:'' //用户手机
};
constructor(public navCtrl: NavController, public navParams: NavParams,
public appService: AppService, public modalCtrl:ModalController) {
}
ionViewDidLoad() {
console.log('ionViewDidLoad ReplaceApplyPage');
}
ionViewDidEnter(){
this.activityId = this.navParams.get("id");
this.personInfo = this.navParams.get("personInfo");
this.getActivety();
}
//获取活动信息
getActivety(){
let now = new Date().getTime();
this.appService.ObserverHttpGet("/wisdomgroup/modules/activity/findAllActivityForAppWithXQ", {"id":this.activityId})
.subscribe((res :Response) => {
this.activity = res.json();
this.batchList = this.activity.batchList;
// for( let i = 0;i<this.batchList.length;i++ ){
// let endDate = this.batchList[i].batchEndDate + " 24:00:00";
// endDate = new Date(endDate).getTime() +''; //判断是否过截止日期
// if( now > Number(endDate) ){ //已截止
// this.batchList[i].signUp = false;
// }else{ //
// this.batchList[i].signUp = true;
// }
// }
}, (error) => {
this.appService.alert('网络异常!');
}
);
}
//携带人数 数字加减
add() {
if(!this.item){
return false;
}
console.log("1:"+this.order.Personnumber);
if(this.order.Personnumber < this.item.batchPerNumber){
this.order.Personnumber++;
}
}
next() {
if(!this.item){
return false;
}
if (this.order.Personnumber >= 1) {
this.order.Personnumber--;
}
}
//选择批次
selectblock(){
let modal = this.modalCtrl.create(BlockModalPage,{blockList: this.batchList});
modal.onDidDismiss(res=>{
this.item = res;
this.itemName = res.batchName;
});
modal.present();
}
// 提交订单
submitOrder(){
const order = {
Personnumber: this.order.Personnumber, //携带人数
Orderbz: this.order.Orderbz, //报名备注
Activityid: this.activityId, //关联活动id
Batchid: this.item.id, //关联批次id
UserID:this.personInfo.id,
Username:this.personInfo.name,
Usertel:this.personInfo.mobile
};
this.order.Batchid = this.item.id;
this.order.Activityid = this.item.activityId;
this.appService.ObserverHttpPost("/wisdomgroup/modules/order/create", order)
.subscribe((res: Response) => {
this.navCtrl.pop();
}, error => {
this.appService.alert('网络异常!');
}
);
}
}
......@@ -19,7 +19,9 @@
<div class="create-content margin-bottom-20" *ngIf="qType != 4 && qType != 1">
<p class="item-type">选项</p>
<ion-item *ngFor="let item of quesDescList;let i = index;">
<span (click)="removeOption(i)" style="font-size: 1.5rem" class="color-red">-</span>
<span (click)="removeOption(i)" class="color-red remove-radiu">
<ion-icon ios="ios-remove" md="md-remove"></ion-icon>
</span>
<input type="text" [(ngModel)]="item.option_title" placeholder="请输入选项">
<ion-icon float-right ios="ios-more" md="md-more"></ion-icon>
</ion-item>
......
......@@ -18,4 +18,13 @@ page-create {
padding: 5px 10px;
color: #32bbf9;
}
.remove-radiu{
display: inline-block;
font-size: 1.4rem;
text-align: center;
width: 1.3rem;
border-radius: 2rem;
border: 1px solid red;
height: 1.5rem;
}
}
......@@ -18,7 +18,7 @@
<span (click)="selectPerson()" class="color-666" style="font-size: 1.5rem" float-right>{{groupName}}<ion-icon style="vertical-align: text-bottom;margin-left: 4px;" ios="ios-arrow-forward" md="md-arrow-forward"></ion-icon> </span>
</ion-item>
<ion-item>
<ion-label stacked><span class="color-red">*</span>问卷说明</ion-label>
<ion-label stacked>问卷说明</ion-label>
<ion-textarea [(ngModel)]="desrc.explai"></ion-textarea>
</ion-item>
</ion-list>
......
......@@ -21,7 +21,7 @@ export class DesicrPage {
isans:1, //是否匿名
state:1 //状态
};
groupName = '选择用户组';
groupName = '全体用户';
constructor(public navCtrl: NavController, public navParams: NavParams,
public modalCtrl: ModalController,public appService: AppService,
......@@ -52,7 +52,7 @@ export class DesicrPage {
this.groupName = data.groupName;
}else{
this.desrc.usergroup = 'all';
this.groupName = '默认';
this.groupName = '全体用户';
}
});
......
......@@ -36,6 +36,15 @@
<ion-icon name="ios-arrow-forward" class="icon-right"></ion-icon>
</div>
</ion-item>
<ion-item (click)="mySurvey()">
<div class="group">
<div class="group-box">
<img src="./assets/imgs/mine/wdwj.png" class="group-img">
<span>我的问卷</span>
</div>
<ion-icon name="ios-arrow-forward" class="icon-right"></ion-icon>
</div>
</ion-item>
<ion-item (click)="goDuty()" class="list-bottom-none">
<div class="group">
<div class="group-box">
......
......@@ -12,6 +12,7 @@ import { Storage } from '@ionic/storage';
import { AppVersion } from '@ionic-native/app-version';
import { AppUpdateService } from '../../../service/appUpdateService';
import {MySurveyPage} from "../../mySurvey/my-survey/my-survey";
@Component({
......@@ -82,6 +83,11 @@ export class MinePage {
this.navCtrl.push("OperationListPage");
}
//我的问卷
mySurvey(){
this.navCtrl.push('MySurveyPage');
}
logout() {
this.alertCtrl.create({
message: "确认退出登录?",
......
......@@ -2,6 +2,7 @@ import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import {Response} from "@angular/http";
import {AppService} from "../../../service/appHttpService";
import {Badge} from "@ionic-native/badge";
@IonicPage()
......@@ -13,10 +14,11 @@ export class NoticePage {
noticeList = [];
constructor(public navCtrl: NavController, public navParams: NavParams,
public appService:AppService) {
public appService:AppService,public badge:Badge) {
}
ionViewDidLoad() {
ionViewDidEnter() {
this.addRecodings();
this.appService.ObserverHttpPost("/wisdomgroup/modules/message/findAllActivityForAppWithXQ",null)
.subscribe((res: Response) => {
let data = res.json();
......@@ -27,4 +29,15 @@ export class NoticePage {
);
}
//增加阅读记录
addRecodings(){
this.appService.ObserverHttpGet("/wisdomgroup/modules/message/addRecodings", null)
.subscribe((res: Response) => {
this.badge.clear();
}, error => {
this.appService.alert('网络异常!');
}
);
}
}
......@@ -266,9 +266,9 @@ export class AppService {
}
//
// //app请求方式
//
// //
// // //app请求方式
// //
// import {LoadingController, AlertController, ToastController} from 'ionic-angular';
// import {Injectable} from '@angular/core';
// import {Http, Headers} from '@angular/http';
......
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