Skip to content
car-apply.ts 8.12 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import {Component} from '@angular/core';
import {ActionSheetController, IonicPage, ModalController, NavController, NavParams} from 'ionic-angular';
wangqinghua's avatar
wangqinghua committed
import {ServeService} from "../../serve.service";
import {CommonService} from "../../../../provide/common.service";
import {DatePipe} from "@angular/common";
import {PersonMulComponent} from "../../../../components/person-mul/person-mul";
wangqinghua's avatar
wangqinghua committed


@Component({
wangqinghua's avatar
wangqinghua committed
    selector: 'page-car-apply',
    templateUrl: 'car-apply.html',
wangqinghua's avatar
wangqinghua committed
})
export class CarApplyPage {

wangqinghua's avatar
wangqinghua committed
    obj = {
        startTime: null,
wangqinghua's avatar
wangqinghua committed
        startTimeChange: null,
wangqinghua's avatar
wangqinghua committed
        endTime: null,
wangqinghua's avatar
wangqinghua committed
        endTimeChange: null,
wangqinghua's avatar
wangqinghua committed
        carUser: '',
        useReason: '',
        useText: '请选择',
        passengerCount: '',
        fromTo: ''
    };

wangqinghua's avatar
wangqinghua committed
    checkObj = {
        startTime: false,
        endTime: false,
        carUser: false,
        useReason: false,
        passengerCount: false,
        fromTo: false,
wangqinghua's avatar
wangqinghua committed
    };
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    personList = [];
    applyId; //是否编辑
wangqinghua's avatar
wangqinghua committed
    type;
wangqinghua's avatar
wangqinghua committed
    nowDate;
wangqinghua's avatar
wangqinghua committed

    constructor(public navCtrl: NavController, public navParams: NavParams,
                private serveSer: ServeService, public modalCtrl: ModalController,
                private commonSer: CommonService, private datePipe: DatePipe,
wangqinghua's avatar
wangqinghua committed
                private actionSheetCtrl: ActionSheetController) {
wangqinghua's avatar
wangqinghua committed
    }
wangqinghua's avatar
wangqinghua committed

    ionViewDidLoad() {
wangqinghua's avatar
wangqinghua committed
        this.initParams();
wangqinghua's avatar
wangqinghua committed
        this.applyId = this.navParams.get('id');
wangqinghua's avatar
wangqinghua committed
        this.type = this.navParams.get('type');
wangqinghua's avatar
wangqinghua committed
        console.log(this.type);
wangqinghua's avatar
wangqinghua committed
        if (this.applyId) {
            this.meetDetail();
wangqinghua's avatar
wangqinghua committed
        }
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    //初始化参数
    initParams() {
        const data = this.navParams.get('data');
        console.log(data);
        if (data) {

        } else {
wangqinghua's avatar
wangqinghua committed
            this.obj.startTimeChange = this.datePipe.transform(new Date(), 'yyyy-MM-ddTHH:mm');
wangqinghua's avatar
wangqinghua committed
            this.nowDate = this.datePipe.transform(new Date(), 'yyyy-MM-ddTHH:mm');
wangqinghua's avatar
wangqinghua committed
        }
    }

wangqinghua's avatar
wangqinghua committed
    //用车详情
wangqinghua's avatar
wangqinghua committed
    meetDetail() {
wangqinghua's avatar
wangqinghua committed
        this.serveSer.carDetail(this.applyId).subscribe(
wangqinghua's avatar
wangqinghua committed
            (res) => {
                if (res) {
wangqinghua's avatar
wangqinghua committed
                    this.obj.useReason = res.data.useReason;
                    this.obj.passengerCount = res.data.passengerCount;
                    this.obj.fromTo = res.data.fromTo;
wangqinghua's avatar
wangqinghua committed
                    this.obj.useText = res.data.useReasonStr;
wangqinghua's avatar
wangqinghua committed
                    this.obj.startTime = this.datePipe.transform(res.data.startTime, "yyyy-MM-ddTHH:mm");
wangqinghua's avatar
wangqinghua committed
                    this.obj.startTimeChange = this.datePipe.transform(res.data.startTime, "yyyy-MM-ddTHH:mm");
wangqinghua's avatar
wangqinghua committed
                    this.obj.endTime = this.datePipe.transform(res.data.endTime, "yyyy-MM-ddTHH:mm");
wangqinghua's avatar
wangqinghua committed
                    this.obj.endTimeChange = this.datePipe.transform(res.data.endTime, "yyyy-MM-ddTHH:mm");
wangqinghua's avatar
wangqinghua committed
                    this.personList = res.data.carUserList.map(e => {
                        const m = {
                            id: e.id,
                            userName: e.name
                        };
                        return m;
                    });
wangqinghua's avatar
wangqinghua committed
                    console.log(this.obj);
wangqinghua's avatar
wangqinghua committed
                }
            }
        )
    }

wangqinghua's avatar
wangqinghua committed
    changeStartTime(e) {
        const minute = e.minute > 9 ? e.minute : '0' + e.minute;
        const hour = e.hour > 9 ? e.hour : '0' + e.hour;
        this.obj.startTime = e.year + '-' + e.month + '-' + e.day + " " + hour + ":" + minute + ":00";
    }

    changeEndTime(e) {
        const minute = e.minute > 9 ? e.minute : '0' + e.minute;
        const hour = e.hour > 9 ? e.hour : '0' + e.hour;
        this.obj.endTime = e.year + '-' + e.month + '-' + e.day + " " + hour + ":" + minute + ":00";
    }

wangqinghua's avatar
wangqinghua committed
    //选择事由
    chooseReason() {
wangqinghua's avatar
wangqinghua committed
        const buttonsArr = [
            {
                text: '参加市委市政府有市领导参加的重要会议及活动',
                handler: () => {
                    this.obj.useReason = '1';
                    this.obj.useText = '参加市委市政府有市领导参加的重要会议及活动';
                }
            },
            {
                text: '有中央领导部委及外省市主要部门负责人来访的重要公务接待活动',
                handler: () => {
                    this.obj.useReason = '2';
                    this.obj.useText = '有中央领导部委及外省市主要部门负责人来访的重要公务接待活动';
                }
            },
            {
                text: '有部领导参加的郊区调研。范围包括浦东新区(中环线以外)、宝山区、嘉定区、松江区、闵行区、青浦区、奉贤区、金山区、崇明区。(同乘一辆车)',
                handler: () => {
                    this.obj.useReason = '3';
                    this.obj.useText = '有部领导参加的郊区调研。范围包括浦东新区(中环线以外)、宝山区、嘉定区、松江区、闵行区、青浦区、奉贤区、金山区、崇明区。(同乘一辆车)';
                }
            },
            {
                text: '携带保密文件出席本市重要会议或向市领导汇报工作',
                handler: () => {
                    this.obj.useReason = '4';
                    this.obj.useText = '携带保密文件出席本市重要会议或向市领导汇报工作';
                }
            },
            {
                text: '集中群体性上访人员紧急分流安置',
                handler: () => {
                    this.obj.useReason = '5';
                    this.obj.useText = '集中群体性上访人员紧急分流安置';
                }
            },
            {
                text: '老同志用车',
                handler: () => {
                    this.obj.useReason = '6';
                    this.obj.useText = '老同志用车';
                }
            },
            {
                text: '机要交通',
                handler: () => {
                    this.obj.useReason = '7';
                    this.obj.useText = '机要交通';
                }
            }, {
                text: '取消',
                role: 'cancel',
                handler: () => {
                    console.log('Cancel clicked');
                }
            }
        ];
        const actionSheet = this.actionSheetCtrl.create({
wangqinghua's avatar
wangqinghua committed
            cssClass: 'cameraAction',
wangqinghua's avatar
wangqinghua committed
            buttons: buttonsArr
        });
        actionSheet.present();
    }

    //选择人员
    choose() {
        let modal = this.modalCtrl.create(PersonMulComponent, {
            enterAnimation: 'modal-scale-enter',
            leaveAnimation: 'modal-scale-leave'
        });
        modal.onDidDismiss(data => {
            if (data) {
                this.personList = data;
            }
        });
        modal.present();
    }

    //移除人员
    removePerson(index) {
        this.personList.splice(index, 1);
    }

wangqinghua's avatar
wangqinghua committed
    //提交申请
wangqinghua's avatar
wangqinghua committed
    submit() {
wangqinghua's avatar
wangqinghua committed

        //校验
        let checkBool = false;
        for (let i in this.checkObj) {
wangqinghua's avatar
wangqinghua committed
            if (!this.obj[i] && this.personList.length == 0) {
wangqinghua's avatar
wangqinghua committed
                checkBool = true;
                this.checkObj[i] = true;
            } else {
                this.checkObj[i] = false;
            }
        }

wangqinghua's avatar
wangqinghua committed
        if (checkBool) {
wangqinghua's avatar
wangqinghua committed
            this.commonSer.toast("请输入必填项!");
            return false;
        }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
        let carUser = [];
        this.personList.forEach(e => {
            carUser.push(e.id);
        });
wangqinghua's avatar
wangqinghua committed
        const data = <any>{
wangqinghua's avatar
wangqinghua committed
            startTime: new Date(this.obj.startTime).getTime(),
            endTime: new Date(this.obj.endTime).getTime(),
wangqinghua's avatar
wangqinghua committed
            passengerCount: this.obj.passengerCount,
            carUser: carUser.join(","),
            useReason: this.obj.useReason,
wangqinghua's avatar
wangqinghua committed
            fromTo: this.obj.fromTo,
wangqinghua's avatar
wangqinghua committed
        };
wangqinghua's avatar
wangqinghua committed
        if (this.applyId) data.id = this.applyId;
wangqinghua's avatar
wangqinghua committed
        console.log(data);
wangqinghua's avatar
wangqinghua committed
        this.commonSer.alert('确认提交?', () => {
wangqinghua's avatar
wangqinghua committed
            this.serveSer.saveCarApply(data).subscribe(
                (res) => {
                    if (res.errcode == 1000) {
                        this.commonSer.toast('提交申请成功');
                        this.navCtrl.pop();
                    } else {
                        this.commonSer.toast(res.errmsg);
                    }
wangqinghua's avatar
wangqinghua committed
                }
wangqinghua's avatar
wangqinghua committed
            )
        });
wangqinghua's avatar
wangqinghua committed
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
}