Skip to content
duty-sign-up.ts 2.65 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import {Component} from '@angular/core';
import {IonicPage, NavController, NavParams} from 'ionic-angular';
import {AppService} from "../../../service/appHttpService";
import {Geolocation} from "@ionic-native/geolocation";
wangqinghua's avatar
wangqinghua committed
import * as moment from "moment";
wangqinghua's avatar
wangqinghua committed

@IonicPage()
@Component({
wangqinghua's avatar
wangqinghua committed
    selector: 'page-duty-sign-up',
    templateUrl: 'duty-sign-up.html',
wangqinghua's avatar
wangqinghua committed
})
export class DutySignUpPage {

wangqinghua's avatar
wangqinghua committed
    id;
    signState;
    signStatus = 'fail';
wangqinghua's avatar
wangqinghua committed
    signInfo = {
        id:''
    };
wangqinghua's avatar
wangqinghua committed
    //市委组织部坐标
    mainLat = 31.205033;   //纬度
    // mainLat = 31.231871;   //纬度test    31.231871, 121.393319
    mainLng = 121.444888;  //经度
    // mainLng = 121.393319;  //经度test
    nowDay;
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    constructor(public navCtrl: NavController, public navParams: NavParams,
                public appService: AppService, public geolocation: Geolocation) {
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    ionViewDidLoad() {
        this.nowDay = moment().format('l');
wangqinghua's avatar
wangqinghua committed
        this.appService.ObserverHttpGetOption('/wisdomgroup/schedule/myScheduleOfToday', null)
wangqinghua's avatar
wangqinghua committed
            .subscribe((res) => {
wangqinghua's avatar
wangqinghua committed
               if(res){
                   this.signInfo = res.json();
               }
wangqinghua's avatar
wangqinghua committed
            })
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    //签到
    signIn() {
        const data = {
wangqinghua's avatar
wangqinghua committed
            id: this.signInfo.id,  //值班记录id,
wangqinghua's avatar
wangqinghua committed
            address: '上海市委组织部'   //签到地址
        };
wangqinghua's avatar
wangqinghua committed
        this.appService.ObserverHttpGetOption('/wisdomgroup/schedule/signIn', data)
wangqinghua's avatar
wangqinghua committed
            .subscribe((res) => {
            })
wangqinghua's avatar
wangqinghua committed
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    //签退
    signBack() {
        this.calcuDistance();
        const data = {
wangqinghua's avatar
wangqinghua committed
            id:this.signInfo.id,  //值班记录id,
wangqinghua's avatar
wangqinghua committed
            address:'上海市委组织部'   //签到地址
        };
        this.appService.ObserverHttpGet('/wisdomgroup/schedule/signOut',data)
            .subscribe((res)=>{
            })
    }

    //计算距离
    calcuDistance() {
        this.geolocation.getCurrentPosition().then((resp) => {
            const distance = this.getDisance(this.mainLat, this.mainLng, resp.coords.latitude, resp.coords.longitude);
            alert('距离:' + distance);
        }).catch((error) => {
            console.log(error);
        });
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    getDisance(lat1, lng1, lat2, lng2) {
wangqinghua's avatar
wangqinghua committed
        let radLat1 = this.toRad(lat1);
        let radLat2 = this.toRad(lat2);
        let deltaLat = radLat1 - radLat2;
        let deltaLng = this.toRad(lng1) - this.toRad(lng2);
        let dis = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(deltaLat / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(deltaLng / 2), 2)));
        dis = dis * 6378137;
        dis = Math.round(dis * 10) / 10;
        return dis;
    }

    toRad(d) {
wangqinghua's avatar
wangqinghua committed
        return d * Math.PI / 180;
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
}