Commit 9c40975b authored by wangqinghua's avatar wangqinghua

日历

parent 4ce0d73d
<?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>
<description>An awesome Ionic/Cordova app.</description>
<author email="hi@ionicframework" href="http://ionicframework.com/">Ionic Framework Team</author>
......
import { NgModule, ErrorHandler } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';
import { MyApp } from './app.component';
import {NgModule, ErrorHandler} from '@angular/core';
import {BrowserModule} from '@angular/platform-browser';
import {IonicApp, IonicModule, IonicErrorHandler} from 'ionic-angular';
import {MyApp} from './app.component';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
import { IonicStorageModule } from '@ionic/storage';
import { Calendar } from '@ionic-native/calendar';
import { TabsModule } from '../pages/tabs/tabs.module';
import { LoginModule } from '../pages/login/login.module';
import { HttpModule, JsonpModule } from '@angular/http';
import { AppService } from '../service/appHttpService';
import { AppUpdateService } from '../service/appUpdateService';
import { ActivityStatisticService } from '../service/activityStatisticService';
import { AppVersion } from '@ionic-native/app-version';
import { FileOpener } from '@ionic-native/file-opener';
import { FileTransfer, FileTransferObject } from '@ionic-native/file-transfer';
import { File } from '@ionic-native/file';
import { Keyboard } from '@ionic-native/keyboard';
import { Badge } from "@ionic-native/badge";
import { Geolocation } from "@ionic-native/geolocation";
import {StatusBar} from '@ionic-native/status-bar';
import {SplashScreen} from '@ionic-native/splash-screen';
import {IonicStorageModule} from '@ionic/storage';
import {Calendar} from '@ionic-native/calendar';
import {TabsModule} from '../pages/tabs/tabs.module';
import {LoginModule} from '../pages/login/login.module';
import {HttpModule, JsonpModule} from '@angular/http';
import {AppService} from '../service/appHttpService';
import {AppUpdateService} from '../service/appUpdateService';
import {ActivityStatisticService} from '../service/activityStatisticService';
import {AppVersion} from '@ionic-native/app-version';
import {FileOpener} from '@ionic-native/file-opener';
import {FileTransfer, FileTransferObject} from '@ionic-native/file-transfer';
import {File} from '@ionic-native/file';
import {Keyboard} from '@ionic-native/keyboard';
import {Badge} from "@ionic-native/badge";
import {Geolocation} from "@ionic-native/geolocation";
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 {BlockModalPage} from "../pages/activity-track/block-modal/block-modal";
import {QuestionDetailPage} from "../pages/mySurvey/question-detail/question-detail";
@NgModule({
declarations: [
MyApp,
ContactModalPage,
PersonPage,
PersonListPage,
BlockModalPage
],
imports: [
BrowserModule,
IonicModule.forRoot(MyApp,{
tabsHideOnSubPages: 'true',
backButtonText:'', //返回按钮显示中文
statusbarPadding:false,
iconModel:'ios', //icon显示图标为IOS版
mode:'ios', //安卓和IOS的样式以IOS样式为准
modalEnter:'modal-slide-in',
modalLeave:'modal-slide-out'
}),
IonicStorageModule.forRoot(),
TabsModule,
LoginModule,
HttpModule,
JsonpModule
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
ContactModalPage,
PersonPage,
PersonListPage,
BlockModalPage
],
providers: [
StatusBar,
SplashScreen,
AppService,
AppUpdateService,
AppVersion,
FileOpener,
FileTransfer,
FileTransferObject,
File,
Keyboard,
Calendar,
Badge,
Geolocation,
ActivityStatisticService,
{ provide: ErrorHandler, useClass: IonicErrorHandler }
]
declarations: [
MyApp,
ContactModalPage,
PersonPage,
PersonListPage,
BlockModalPage,
QuestionDetailPage
],
imports: [
BrowserModule,
IonicModule.forRoot(MyApp, {
tabsHideOnSubPages: 'true',
backButtonText: '', //返回按钮显示中文
statusbarPadding: false,
iconModel: 'ios', //icon显示图标为IOS版
mode: 'ios', //安卓和IOS的样式以IOS样式为准
modalEnter: 'modal-slide-in',
modalLeave: 'modal-slide-out'
}),
IonicStorageModule.forRoot(),
TabsModule,
LoginModule,
HttpModule,
JsonpModule
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
ContactModalPage,
PersonPage,
PersonListPage,
BlockModalPage,
QuestionDetailPage
],
providers: [
StatusBar,
SplashScreen,
AppService,
AppUpdateService,
AppVersion,
FileOpener,
FileTransfer,
FileTransferObject,
File,
Keyboard,
Calendar,
Badge,
Geolocation,
ActivityStatisticService,
{provide: ErrorHandler, useClass: IonicErrorHandler}
]
})
export class AppModule { }
export class AppModule {
}
......@@ -30,44 +30,89 @@
<ion-list>
<ion-item *ngFor="let item of items">
<div class="group" *ngIf="isNoSignFlag">
<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>
<span class="person-batch">批次:{{item.batch?.batchName}}</span>
<ng-container *ngIf="type == '1'">
<div class="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 == '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>
<ion-icon class="person-sex-female" *ngIf="item.gender == '0'" name="female"></ion-icon>
</p>
</div>
</div>
<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 (click)="sayNo(item)" ion-button round class="btn color3 red-btn">不参加</button>
</div>
</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>
<div class="group" *ngIf="!isNoSignFlag">
<div class="inner-group">
<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>
<ion-icon class="person-sex-female" *ngIf="item.gender == '0'" name="female"></ion-icon>
</p>
</ng-container>
<ng-container *ngIf="type == '2'">
<div class="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 == '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>
<ion-icon class="person-sex-female" *ngIf="item.gender == '0'" name="female"></ion-icon>
</p>
</div>
</div>
<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 (click)="sayNo(item)" ion-button round class="btn color3 red-btn">不参加</button>
</div>
</div>
</div>
<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 (click)="sayNo(item)" ion-button round class="btn color3 red-btn">不参加</button>
</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>
</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>
......
......@@ -48,6 +48,9 @@ export class JoinDetailPage {
this.acitivityName = this.navParams.get("name"); //活动名称
//初始化加载未报备
this.items = [];
this.noSign();
this.sign();
this.notJoin();
this.signAll();
}
......
......@@ -13,8 +13,7 @@
<div class="margin-5-0">
<label class="item1-title">{{activity?.activityName}}</label>
<div class="item1-content-box">
<span class="item-type">不想参加</span>
<span (click)="sayNo()" class="item-type">不想参加</span>
</div>
</div>
<div class="item1-introduction">
......
......@@ -228,4 +228,11 @@ page-activityDetail {
.list-title .item-inner{
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";
})
export class ActivityDetailPage {
activityId; //活动ID
batches: object[];
activity = {
batchList:[]
......@@ -35,14 +36,14 @@ export class ActivityDetailPage {
}
ionViewDidEnter(){
let id = this.navParams.get('id');
this.findMyOrderByOrderId(id);
this.activityId = this.navParams.get('id');
this.findMyOrderByOrderId();
}
findMyOrderByOrderId(id){
findMyOrderByOrderId(){
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) => {
this.activity = res.json();
this.batchList = this.activity.batchList;
......@@ -88,4 +89,15 @@ export class ActivityDetailPage {
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 {
.subscribe((res) => {
this.survey = res.json().data;
this.contentList = res.json().data.ques.datalist;
for( let i = 0;i<this.contentList.length;i++ ){
if(this.contentList[i].quesType == 3){
this.contentList[i].option.answerdesc = this.contentList[i].option.answerdesc.split(',');
console.log(this.contentList[i].option.answerdesc);
this.contentList.forEach(res=>{
res.quesDesc = JSON.parse(res.quesDesc);
if(res.quesType == 3){
res.option.answerdesc = res.option.answerdesc.split(',');
}
this.contentList[i].quesDesc = JSON.parse(this.contentList[i].quesDesc);
}
});
})
});
......
......@@ -2,12 +2,47 @@
<ion-header>
<ion-navbar>
<ion-title>问卷结果</ion-title>
<ion-title>问卷回答</ion-title>
</ion-navbar>
</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>
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 { IonicPage, NavController, NavParams } from 'ionic-angular';
import {IonicPage, ModalController, NavController, NavParams} from 'ionic-angular';
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()
@Component({
......@@ -9,9 +12,12 @@ import {AppService} from "../../../service/appHttpService";
})
export class SurveyResultPage {
item;
item;
userId;
survey;
contentList;
constructor(public navCtrl: NavController, public navParams: NavParams,
public appService: AppService) {
public appService: AppService,public modalCtrl: ModalController) {
}
ionViewDidLoad() {
......@@ -22,8 +28,24 @@ export class SurveyResultPage {
getResult(){
this.appService.ObserverHttpGetAdd('/wisdomgroup/modules/question/show/',this.item.id)
.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 @@
</div>
</div>
<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>
</div>
<ion-calendar [(ngModel)]="date"
<ion-calendar #calendar
[(ngModel)]="date"
(onChange)="onChange($event)"
(monthChange)="monChange($event)"
[options]="optionsMulti"
[type]="type"
type="'js-date'"
[format]="'YYYY-MM-DD'">
</ion-calendar>
</ion-content>
......
......@@ -310,7 +310,7 @@ page-home {
content: '';
position: absolute;
top: 23%;
left: -11px;
left: -13px;
width:8px;
height:8px;
border-radius:50%;
......
......@@ -261,7 +261,7 @@ export class AppService {
}
//
// //app请求方式
//
// 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