Commit 9c40975b authored by wangqinghua's avatar wangqinghua

日历

parent 4ce0d73d
<?xml version='1.0' encoding='utf-8'?> <?xml version='1.0' encoding='utf-8'?>
<widget id="io.ionic.starter" version="1.0.6" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> <widget id="io.ionic.starter" version="1.0.7" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>智汇19号</name> <name>智汇19号</name>
<description>An awesome Ionic/Cordova app.</description> <description>An awesome Ionic/Cordova app.</description>
<author email="hi@ionicframework" href="http://ionicframework.com/">Ionic Framework Team</author> <author email="hi@ionicframework" href="http://ionicframework.com/">Ionic Framework Team</author>
......
import { NgModule, ErrorHandler } from '@angular/core'; import {NgModule, ErrorHandler} from '@angular/core';
import { BrowserModule } from '@angular/platform-browser'; import {BrowserModule} from '@angular/platform-browser';
import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular'; import {IonicApp, IonicModule, IonicErrorHandler} from 'ionic-angular';
import { MyApp } from './app.component'; import {MyApp} from './app.component';
import { StatusBar } from '@ionic-native/status-bar'; import {StatusBar} from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen'; import {SplashScreen} from '@ionic-native/splash-screen';
import { IonicStorageModule } from '@ionic/storage'; import {IonicStorageModule} from '@ionic/storage';
import { Calendar } from '@ionic-native/calendar'; import {Calendar} from '@ionic-native/calendar';
import { TabsModule } from '../pages/tabs/tabs.module'; import {TabsModule} from '../pages/tabs/tabs.module';
import { LoginModule } from '../pages/login/login.module'; import {LoginModule} from '../pages/login/login.module';
import { HttpModule, JsonpModule } from '@angular/http'; import {HttpModule, JsonpModule} from '@angular/http';
import { AppService } from '../service/appHttpService'; import {AppService} from '../service/appHttpService';
import { AppUpdateService } from '../service/appUpdateService'; import {AppUpdateService} from '../service/appUpdateService';
import { ActivityStatisticService } from '../service/activityStatisticService'; import {ActivityStatisticService} from '../service/activityStatisticService';
import { AppVersion } from '@ionic-native/app-version'; import {AppVersion} from '@ionic-native/app-version';
import { FileOpener } from '@ionic-native/file-opener'; import {FileOpener} from '@ionic-native/file-opener';
import { FileTransfer, FileTransferObject } from '@ionic-native/file-transfer'; import {FileTransfer, FileTransferObject} from '@ionic-native/file-transfer';
import { File } from '@ionic-native/file'; import {File} from '@ionic-native/file';
import { Keyboard } from '@ionic-native/keyboard'; import {Keyboard} from '@ionic-native/keyboard';
import { Badge } from "@ionic-native/badge"; import {Badge} from "@ionic-native/badge";
import { Geolocation } from "@ionic-native/geolocation"; import {Geolocation} from "@ionic-native/geolocation";
import {ContactModalPage} from "../pages/contact/contact-modal/contact-modal"; import {ContactModalPage} from "../pages/contact/contact-modal/contact-modal";
import { PersonPage } from "../pages/surveyManage/modal/person/person"; import {PersonPage} from "../pages/surveyManage/modal/person/person";
import {PersonListPage} from "../pages/contact/person-list/person-list"; import {PersonListPage} from "../pages/contact/person-list/person-list";
import {BlockModalPage} from "../pages/activity-track/block-modal/block-modal"; import {BlockModalPage} from "../pages/activity-track/block-modal/block-modal";
import {QuestionDetailPage} from "../pages/mySurvey/question-detail/question-detail";
@NgModule({ @NgModule({
declarations: [ declarations: [
...@@ -31,18 +32,19 @@ import {BlockModalPage} from "../pages/activity-track/block-modal/block-modal"; ...@@ -31,18 +32,19 @@ import {BlockModalPage} from "../pages/activity-track/block-modal/block-modal";
ContactModalPage, ContactModalPage,
PersonPage, PersonPage,
PersonListPage, PersonListPage,
BlockModalPage BlockModalPage,
QuestionDetailPage
], ],
imports: [ imports: [
BrowserModule, BrowserModule,
IonicModule.forRoot(MyApp,{ IonicModule.forRoot(MyApp, {
tabsHideOnSubPages: 'true', tabsHideOnSubPages: 'true',
backButtonText:'', //返回按钮显示中文 backButtonText: '', //返回按钮显示中文
statusbarPadding:false, statusbarPadding: false,
iconModel:'ios', //icon显示图标为IOS版 iconModel: 'ios', //icon显示图标为IOS版
mode:'ios', //安卓和IOS的样式以IOS样式为准 mode: 'ios', //安卓和IOS的样式以IOS样式为准
modalEnter:'modal-slide-in', modalEnter: 'modal-slide-in',
modalLeave:'modal-slide-out' modalLeave: 'modal-slide-out'
}), }),
IonicStorageModule.forRoot(), IonicStorageModule.forRoot(),
TabsModule, TabsModule,
...@@ -56,7 +58,8 @@ import {BlockModalPage} from "../pages/activity-track/block-modal/block-modal"; ...@@ -56,7 +58,8 @@ import {BlockModalPage} from "../pages/activity-track/block-modal/block-modal";
ContactModalPage, ContactModalPage,
PersonPage, PersonPage,
PersonListPage, PersonListPage,
BlockModalPage BlockModalPage,
QuestionDetailPage
], ],
providers: [ providers: [
StatusBar, StatusBar,
...@@ -73,7 +76,8 @@ import {BlockModalPage} from "../pages/activity-track/block-modal/block-modal"; ...@@ -73,7 +76,8 @@ import {BlockModalPage} from "../pages/activity-track/block-modal/block-modal";
Badge, Badge,
Geolocation, Geolocation,
ActivityStatisticService, ActivityStatisticService,
{ provide: ErrorHandler, useClass: IonicErrorHandler } {provide: ErrorHandler, useClass: IonicErrorHandler}
] ]
}) })
export class AppModule { } export class AppModule {
}
...@@ -30,26 +30,29 @@ ...@@ -30,26 +30,29 @@
<ion-list> <ion-list>
<ion-item *ngFor="let item of items"> <ion-item *ngFor="let item of items">
<div class="group" *ngIf="isNoSignFlag"> <ng-container *ngIf="type == '1'">
<div class="group">
<div class="inner-group"> <div class="inner-group">
<img *ngIf="item.user?.gender == '1'||item.user?.gender == null" src="./assets/imgs/head.png" class="person-photo"> <img *ngIf="item.gender == '1'||item.gender == null" src="./assets/imgs/head.png" class="person-photo">
<img *ngIf="item.user?.gender == '0'" 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"> <div class="item-box">
<p class="person-name">{{item.userName}} <p class="person-name">{{item.name}}
<ion-icon class="person-sex-male" *ngIf="item.user?.gender == '1'||item.user?.gender == null" name="male"></ion-icon> <ion-icon class="person-sex-male" *ngIf="item.gender == '1'||item.gender == null" name="male"></ion-icon>
<ion-icon class="person-sex-female" *ngIf="item.user?.gender == '0'" name="female"></ion-icon> <ion-icon class="person-sex-female" *ngIf="item.gender == '0'" name="female"></ion-icon>
</p> </p>
<span class="person-batch">批次:{{item.batch?.batchName}}</span>
</div> </div>
</div> </div>
<button ion-button round class="btn color2" *ngIf="item.orderstate == 1">已报名</button> <div class="inner-button">
<button ion-button round class="btn color1" *ngIf="item.orderstate == 2">待确认</button> <div class="text-right"><button ion-button round class="btn color3">未报名</button></div>
<button ion-button round class="btn color5" *ngIf="item.orderstate == 3">未出行</button> <div class="margin-top-5">
<button ion-button round class="btn color4" *ngIf="item.orderstate == 4">已出行</button> <button (click)="goSignUp(item)" ion-button round class="btn color3 blue-btn">代报名</button>
<button ion-button round class="btn color3" *ngIf="item.orderstate == 0">未报名</button> <button (click)="sayNo(item)" ion-button round class="btn color3 red-btn">不参加</button>
</div> </div>
</div>
<div class="group" *ngIf="!isNoSignFlag"> </div>
</ng-container>
<ng-container *ngIf="type == '2'">
<div class="group">
<div class="inner-group"> <div class="inner-group">
<img *ngIf="item.gender == '1'||item.gender == null" src="./assets/imgs/head.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"> <img *ngIf="item.gender == '0'" src="./assets/imgs/head.png" class="person-photo">
...@@ -68,6 +71,48 @@ ...@@ -68,6 +71,48 @@
</div> </div>
</div> </div>
</div> </div>
</ng-container>
<ng-container *ngIf="type == '3'">
<div class="group">
<div class="inner-group">
<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.name}}
<ion-icon class="person-sex-male" *ngIf="item.user?.gender == '1'||item.user?.gender == null" name="male"></ion-icon>
<ion-icon class="person-sex-female" *ngIf="item.user?.gender == '0'" name="female"></ion-icon>
</p>
<span class="person-batch">批次:{{item.batch?.batchName}}</span>
</div>
</div>
<button ion-button round class="btn color2" *ngIf="item.orderstate == 1">已报名</button>
<button ion-button round class="btn color1" *ngIf="item.orderstate == 2">待确认</button>
<button ion-button round class="btn color5" *ngIf="item.orderstate == 3">未出行</button>
<button ion-button round class="btn color4" *ngIf="item.orderstate == 4">已出行</button>
<button ion-button round class="btn color3" *ngIf="item.orderstate == 0">未报名</button>
</div>
</ng-container>
<ng-container *ngIf="type == '4'">
<div class="group">
<div class="inner-group">
<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>
<ion-icon class="person-sex-female" *ngIf="item.user?.gender == '0'" name="female"></ion-icon>
</p>
</div>
</div>
<button ion-button round class="btn color2" *ngIf="item.orderstate == 1">已报名</button>
<button ion-button round class="btn color1" *ngIf="item.orderstate == 2">待确认</button>
<button ion-button round class="btn color5" *ngIf="item.orderstate == 3">未出行</button>
<button ion-button round class="btn color4" *ngIf="item.orderstate == 4">已出行</button>
<button ion-button round class="btn color3" *ngIf="item.orderstate == 0">未报名</button>
</div>
</ng-container>
</ion-item> </ion-item>
......
...@@ -48,6 +48,9 @@ export class JoinDetailPage { ...@@ -48,6 +48,9 @@ export class JoinDetailPage {
this.acitivityName = this.navParams.get("name"); //活动名称 this.acitivityName = this.navParams.get("name"); //活动名称
//初始化加载未报备 //初始化加载未报备
this.items = []; this.items = [];
this.noSign();
this.sign();
this.notJoin();
this.signAll(); this.signAll();
} }
......
...@@ -13,8 +13,7 @@ ...@@ -13,8 +13,7 @@
<div class="margin-5-0"> <div class="margin-5-0">
<label class="item1-title">{{activity?.activityName}}</label> <label class="item1-title">{{activity?.activityName}}</label>
<div class="item1-content-box"> <div class="item1-content-box">
<span class="item-type">不想参加</span> <span (click)="sayNo()" class="item-type">不想参加</span>
</div> </div>
</div> </div>
<div class="item1-introduction"> <div class="item1-introduction">
......
...@@ -228,4 +228,11 @@ page-activityDetail { ...@@ -228,4 +228,11 @@ page-activityDetail {
.list-title .item-inner{ .list-title .item-inner{
margin-right: 16px; margin-right: 16px;
} }
.item-type{
border: 1px solid #ddd;
padding: 3px 5px;
font-size: 1rem;
border-radius: 3px;
color: #999;
}
} }
\ No newline at end of file
...@@ -14,6 +14,7 @@ import {BatchDetailPage} from "../batch-detail/batch-detail"; ...@@ -14,6 +14,7 @@ import {BatchDetailPage} from "../batch-detail/batch-detail";
}) })
export class ActivityDetailPage { export class ActivityDetailPage {
activityId; //活动ID
batches: object[]; batches: object[];
activity = { activity = {
batchList:[] batchList:[]
...@@ -35,14 +36,14 @@ export class ActivityDetailPage { ...@@ -35,14 +36,14 @@ export class ActivityDetailPage {
} }
ionViewDidEnter(){ ionViewDidEnter(){
let id = this.navParams.get('id'); this.activityId = this.navParams.get('id');
this.findMyOrderByOrderId(id); this.findMyOrderByOrderId();
} }
findMyOrderByOrderId(id){ findMyOrderByOrderId(){
let now = new Date().getTime(); let now = new Date().getTime();
this.appService.ObserverHttpGet("/wisdomgroup/modules/activity/findAllActivityForAppWithXQ", {"id":id}) this.appService.ObserverHttpGet("/wisdomgroup/modules/activity/findAllActivityForAppWithXQ", {"id":this.activityId})
.subscribe((res :Response) => { .subscribe((res :Response) => {
this.activity = res.json(); this.activity = res.json();
this.batchList = this.activity.batchList; this.batchList = this.activity.batchList;
...@@ -88,4 +89,15 @@ export class ActivityDetailPage { ...@@ -88,4 +89,15 @@ export class ActivityDetailPage {
this.isCover = true; this.isCover = true;
} }
//不参加
sayNo(){
this.appService.ObserverHttpPostAdd("/wisdomgroup/modules/activityNon/", this.activityId)
.subscribe((res: Response) => {
this.navCtrl.pop();
}, error => {
this.appService.alert('网络异常!');
}
);
}
} }
<ion-header>
<ion-navbar>
<ion-title>问卷结果</ion-title>
</ion-navbar>
</ion-header>
<ion-content>
<p>(问答){{this.item?.title}}</p>
<ion-list>
<ion-item *ngFor="let item of question">
<p>{{item.createUsername}}</p>
<p>{{item.answerdesc}}</p>
</ion-item>
</ion-list>
</ion-content>
import {Component} from '@angular/core';
import {IonicPage, NavController, NavParams} from 'ionic-angular';
import {AppService} from "../../../service/appHttpService";
@Component({
selector: 'page-question-detail',
templateUrl: 'question-detail.html',
})
export class QuestionDetailPage {
item;
question;
constructor(public navCtrl: NavController, public navParams: NavParams,
public appService: AppService) {
}
ionViewDidLoad() {
this.item = this.navParams.get('item');
this.appService.ObserverHttpGetAdd('/wisdomgroup/modules/question/showInfo/', this.item.id)
.subscribe((res) => {
this.question = res.json().data.datalist.datalist;
console.log(this.question);
})
}
}
...@@ -36,13 +36,12 @@ export class SurveyPreviewPage { ...@@ -36,13 +36,12 @@ export class SurveyPreviewPage {
.subscribe((res) => { .subscribe((res) => {
this.survey = res.json().data; this.survey = res.json().data;
this.contentList = res.json().data.ques.datalist; this.contentList = res.json().data.ques.datalist;
for( let i = 0;i<this.contentList.length;i++ ){ this.contentList.forEach(res=>{
if(this.contentList[i].quesType == 3){ res.quesDesc = JSON.parse(res.quesDesc);
this.contentList[i].option.answerdesc = this.contentList[i].option.answerdesc.split(','); if(res.quesType == 3){
console.log(this.contentList[i].option.answerdesc); res.option.answerdesc = res.option.answerdesc.split(',');
}
this.contentList[i].quesDesc = JSON.parse(this.contentList[i].quesDesc);
} }
});
}) })
}); });
......
...@@ -2,12 +2,47 @@ ...@@ -2,12 +2,47 @@
<ion-header> <ion-header>
<ion-navbar> <ion-navbar>
<ion-title>问卷结果</ion-title> <ion-title>问卷回答</ion-title>
</ion-navbar> </ion-navbar>
</ion-header> </ion-header>
<ion-content padding> <ion-content>
<p class="text-center">提交成功!感谢你的参与!</p>
<p class="text-center">问卷结果公开</p>
<ion-list>
<ion-item>
<ion-label class="padding-left-16">{{survey?.title}}</ion-label>
</ion-item>
<div class="question-list">
<ion-item *ngFor="let item of contentList;let i = index">
<div class="item-content">
<p>{{i +1}}、
<span *ngIf="item.quesType == 1">(判断)</span>
<span *ngIf="item.quesType == 2">(单选)</span>
<span *ngIf="item.quesType == 3">(多选)</span>
<span *ngIf="item.quesType == 4">(问答)</span>
{{item.title}}</p>
<ng-container *ngIf="item.quesType == 1">
<p>1、是 <span class="margin-left-15" *ngIf="item.option[0].index == 0">{{item.option[0].number}}</span></p>
<p>2、否 <span class="margin-left-15"></span></p>
</ng-container>
<ng-container *ngIf="item.quesType == 2">
<ng-container *ngFor=" let option1 of item.quesDesc;let i1 = index;">
<p><span class="input-radio {{item.option.answerdesc == i1?'select-raio':''}}"></span>{{option1.option_title}}</p>
</ng-container>
</ng-container>
<ng-container *ngIf="item.quesType == 3">
<ng-container *ngFor=" let option2 of item.quesDesc;let i2 = index;">
<p> {{i2 +1}}、 {{option2.option_title}} <span class="margin-left-15" *ngIf="item.option[0].index == 0">{{item.option[0].number}}</span></p>
</ng-container>
</ng-container>
<ng-container *ngIf="item.quesType == 4">
<span (click)="look(item)">查看详情</span>
</ng-container>
</div>
</ion-item>
</div>
</ion-list>
</ion-content> </ion-content>
page-survey-result { page-survey-result {
.submit{
border: 1px solid #34b4fc;
background-color: #34b4fc;
margin-top: 20px;
}
.list-ios .item-block .item-inner,
.list-ios > .item-block:first-child,
.list-ios > .item-block:last-child, .list-ios > .item-wrapper:last-child .item-block{
border: none;
padding: 0;
}
.label-ios{
margin: 0;
}
.question-list{
margin-top: 10px;
ion-item{
margin-bottom: 8px;
padding: 0;
.item-content{
padding: 11px 16px;
p{
margin-bottom: 10px;
}
}
}
}
.item-opra,
.footter-opr{
display: flex;
flex-direction: row;
align-items: center;
padding:11px 0;
background-color: #fff;
img{
width: 26px;
}
}
.footter-opr{
border-top: 1px solid #cccccc;
}
.item-opra > div,
.footter-opr > div{
width: 25%;
text-align: center;
}
.item-opra {
border-top: 1px solid #ddd;
height: 5rem;
span{
padding: 6px 16px;
border: 1px solid #ddd;
border-radius: 4px;
font-size: 1.3rem;
}
}
.input-radio{
border: 1px solid #ddd;
display: inline-block;
border-radius: 50%;
width: 1.2rem;
height: 1.2rem;
margin-right: 8px;
vertical-align: sub;
}
.select-raio{
position: relative;
}
.select-raio::after{
content: '';
position: absolute;
width: 0.7rem;
top: 2px;
height: 0.7rem;
border-radius: 50%;
background-color: #333;
left: 2px;
}
.input-check{
border: 1px solid #ddd;
display: inline-block;
width: 1.2rem;
height: 1.2rem;
margin-right: 8px;
vertical-align: text-top;
border-radius: 2px;
}
.select-check{
position: relative;
}
.select-check::after{
content: '\2713';
position: absolute;
width: 0.7rem;
top: -4px;
height: 0.7rem;
font-size: 1.5rem;
font-weight: bold;
}
.textarea-div{
min-height: 5rem;
border-radius: 2px;
border: 1px solid #ddd;
padding: 5px;
}
} }
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular'; import {IonicPage, ModalController, NavController, NavParams} from 'ionic-angular';
import {AppService} from "../../../service/appHttpService"; import {AppService} from "../../../service/appHttpService";
import {message} from "../../../app/main";
import {PersonListPage} from "../../contact/person-list/person-list";
import {QuestionDetailPage} from "../question-detail/question-detail";
@IonicPage() @IonicPage()
@Component({ @Component({
...@@ -10,8 +13,11 @@ import {AppService} from "../../../service/appHttpService"; ...@@ -10,8 +13,11 @@ import {AppService} from "../../../service/appHttpService";
export class SurveyResultPage { export class SurveyResultPage {
item; item;
userId;
survey;
contentList;
constructor(public navCtrl: NavController, public navParams: NavParams, constructor(public navCtrl: NavController, public navParams: NavParams,
public appService: AppService) { public appService: AppService,public modalCtrl: ModalController) {
} }
ionViewDidLoad() { ionViewDidLoad() {
...@@ -22,8 +28,24 @@ export class SurveyResultPage { ...@@ -22,8 +28,24 @@ export class SurveyResultPage {
getResult(){ getResult(){
this.appService.ObserverHttpGetAdd('/wisdomgroup/modules/question/show/',this.item.id) this.appService.ObserverHttpGetAdd('/wisdomgroup/modules/question/show/',this.item.id)
.subscribe((res)=>{ .subscribe((res)=>{
console.log(res.json()); this.survey = res.json().data;
this.contentList = res.json().data.ques.datalist;
this.contentList.forEach(res=>{
res.quesDesc = JSON.parse(res.quesDesc);
});
console.log(this.contentList);
}) })
} }
look(item){
let peoModal = this.modalCtrl.create(QuestionDetailPage,{item:item});
peoModal.onDidDismiss( res=>{
const data = {
};
} );
peoModal.present();
}
} }
...@@ -71,14 +71,15 @@ ...@@ -71,14 +71,15 @@
</div> </div>
</div> </div>
<div class="calen-tab"> <div class="calen-tab">
日程表:<span class="calen1">节假</span> <span class="calen2">参加活动</span> 日程表:<span class="calen1">休息</span> <span class="calen2">参加活动</span>
<span class="calen3">值班</span><span class="calen4">离沪</span> <span class="calen3">值班</span><span class="calen4">离沪</span>
</div> </div>
<ion-calendar [(ngModel)]="date" <ion-calendar #calendar
[(ngModel)]="date"
(onChange)="onChange($event)" (onChange)="onChange($event)"
(monthChange)="monChange($event)" (monthChange)="monChange($event)"
[options]="optionsMulti" [options]="optionsMulti"
[type]="type" type="'js-date'"
[format]="'YYYY-MM-DD'"> [format]="'YYYY-MM-DD'">
</ion-calendar> </ion-calendar>
</ion-content> </ion-content>
......
...@@ -310,7 +310,7 @@ page-home { ...@@ -310,7 +310,7 @@ page-home {
content: ''; content: '';
position: absolute; position: absolute;
top: 23%; top: 23%;
left: -11px; left: -13px;
width:8px; width:8px;
height:8px; height:8px;
border-radius:50%; border-radius:50%;
......
...@@ -261,7 +261,7 @@ export class AppService { ...@@ -261,7 +261,7 @@ export class AppService {
} }
//
// //app请求方式 // //app请求方式
// //
// import {LoadingController, AlertController, ToastController} from 'ionic-angular'; // import {LoadingController, AlertController, ToastController} from 'ionic-angular';
......
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