123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- import { HttpClient } from '@angular/common/http';
- import { NgxSpinnerService } from 'ngx-spinner';
- import { ActivatedRoute, Params } from '@angular/router';
- import { Location } from '@angular/common';
- import { AuthServiceService } from './../../../shared/auth-service.service';
- import { ToastrService } from 'ngx-toastr';
- import { DashboardService } from './../../../shared/dashboard.service';
- import { Component, OnInit, ViewChild } from '@angular/core';
- import { NgForm } from '@angular/forms';
- @Component({
- selector: 'app-register-movement-vehicle-add',
- templateUrl: './register-movement-vehicle-add.component.html',
- styleUrls: ['./register-movement-vehicle-add.component.css']
- })
- export class RegisterMovementVehicleAddComponent implements OnInit {
- constructor(private dashBoardSer: DashboardService,
- private toastr: ToastrService,
- private authSer: AuthServiceService,
- private route: ActivatedRoute,
- private spinner: NgxSpinnerService,
- private location: Location,
- private http: HttpClient
- ) { }
- @ViewChild('f') vehicleForm : NgForm;
- typePage: string = '';
- vehicleReceiptDate = '';
- vehicleDeliveryDate:string = '';
- bindingDateSplitStart;
- bindingDateSplitEnd;
- checkSaveclick:boolean = false;
- typeMode: boolean = false;
- vehicleId: number;
- vehicle_types:any[] = [];
- modelNames:any[] = [];
- registerVehicleId: number;
- startDate: string = '';
- endDate: string = '';
- formData = {
- vehicle_id: '',
- vehicle_recipient_name: '',
- phone: '',
- start_mileage_recording: '',
- end_mileage_recording: '',
- movement_notes: '',
- }
- ngOnInit() {
-
- this.http.get(this.authSer.pathApi + '/get_vehicle_types_list').subscribe(
- (response) => {
- console.log(response);
- this.vehicle_types = response['types'];
-
- },
- (error) => {
- console.log(error);
- });
- this.route.params.subscribe(
- (params: Params) => {
- this.registerVehicleId = params['registerMovementVehicleEditId'];
- }
- );
- if(this.registerVehicleId) {
- this.typePage = 'تعديل';
- this.typeMode = true;
- this.dashBoardSer.getItemData(this.registerVehicleId, 'registerMovementVehicle').subscribe(
- (responce) => {
- console.log(responce);
- this.formData.phone = responce['movement'].phone;
- this.formData.movement_notes = responce['movement'].movement_notes;
- this.formData.vehicle_id = responce['movement'].vehicle_id;
- this.formData.vehicle_recipient_name = responce['movement'].vehicle_recipient_name;
- this.formData.end_mileage_recording = responce['movement'].end_mileage_recording;
- this.formData.start_mileage_recording = responce['movement'].start_mileage_recording;
- this.startDate = responce['movement'].vehicle_receipt_date;
- this.endDate = responce['movement'].vehicle_delivery_date;
- this.bindingDateSplitStart = {
- year: parseInt(responce['movement'].vehicle_receipt_date.split('-')[0]),
- month: parseInt(responce['movement'].vehicle_receipt_date.split('-')[1]),
- day: parseInt(responce['movement'].vehicle_receipt_date.split('-')[2]),
- }
- this.bindingDateSplitEnd = {
- year: parseInt(responce['movement'].vehicle_delivery_date.split('-')[0]),
- month: parseInt(responce['movement'].vehicle_delivery_date.split('-')[1]),
- day: parseInt(responce['movement'].vehicle_delivery_date.split('-')[2]),
- }
- this.spinner.hide();
- },
- (error) => {
- console.log(error);
- }
- )
- } else {
- this.typePage = 'إضافه';
- }
- }
- //get value date from child component
- public getDate(date: any , type: string):void {
-
- if(date.month < 10) {
- date.month = '0' + date.month;
- }
- if(date.day < 10) {
- date.day = '0' + date.day;
- }
- console.log( date);
- if(type == 'start') {
- this.startDate = date.year + '-' + date.month + '-' + date.day;
- console.log('start date', this.startDate);
- } else if(type == 'end') {
- this.endDate = date.year + '-' + date.month + '-' + date.day;
- console.log('end date', this.endDate);
- } else {
- console.log('not type recieved !');
- }
- }
- onSubmitted() {
- this.checkSaveclick = true;
- this.vehicleForm.value['vehicle_receipt_date'] = this.startDate;
- this.vehicleForm.value['vehicle_delivery_date'] = this.endDate;
- console.log(this.vehicleForm.value);
- const startDateData = this.startDate.split('-');
- const endDateData = this.endDate.split('-');
- if(this.typeMode) {
- this.dashBoardSer.editItem( this.registerVehicleId, this.vehicleForm.value, 'registerMovementVehicle').subscribe(
- (responce) => {
- console.log(responce);
- this.toastr.success('تم التعديل بنجاح');
- this.location.back();
- },
- (error) => {
- console.log(error);
- this.toastr.error('خطأ في الخادم ، حاول لاحقاً');
- this.checkSaveclick = false;
- }
- );
- } else {
- if(startDateData[0] > endDateData[0]) {
- this.toastr.warning('سنه تاريخ الإنتهاء يجب أن تكون أكبر من سنه تاريخ الإنتهاء !');
- this.checkSaveclick = false;
- } else if(startDateData[1] > endDateData[1]){
- this.toastr.warning('شهر تاريخ الانتهاء يجب أن يكون أكبر من شهر تاريخ الإبتداء !');
- this.checkSaveclick = false;
- } else if(startDateData[1] == endDateData[1] && startDateData[2] > endDateData[2]){
- this.toastr.warning(' يوم تاريخ الإنتهاء يجب أن يكون أكبر من يوم تاريخ الإبتداء!');
- this.checkSaveclick = false;
- } else {
- this.dashBoardSer.addItem(this.vehicleForm.value, 'registerMovementVehicle').subscribe(
- (responce) => {
- console.log(responce);
- this.toastr.success('تم الإضافه بنجاح');
- this.location.back();
- this.checkSaveclick = false;
- },
- (error) => {
- this.checkSaveclick = false;
- console.log(error);
- console.log(this.vehicleForm.value['phone'].length);
- if(this.vehicleForm.value['phone'].length < 10) {
- this.toastr.warning('رقم الجوال يجب أن يكون مكون 10 أرقام')
- } else {
- this.toastr.error('خطأ في الخادم ، برجاء المحاوله لاحقا');
- }
- }
- );
- }
- }
- }
- }
|