123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268 |
- import { NgxSpinnerService } from 'ngx-spinner';
- import { ActivatedRoute, Params, Router } from '@angular/router';
- import { Component, OnInit, ViewChild } from '@angular/core';
- import { NgForm } from '@angular/forms';
- import { ToastrService } from 'ngx-toastr';
- import { Location, formatDate } from '@angular/common';
- import { UserService } from 'src/app/shared/user.service';
- import { DashboardService } from 'src/app/shared/dashboard.service';
- import { HttpClient } from '@angular/common/http';
- import { AuthServiceService } from 'src/app/shared/auth-service.service';
- @Component({
- selector: 'app-application-for-housing',
- templateUrl: './application-for-housing.component.html',
- styleUrls: ['./application-for-housing.component.css']
- })
- export class ApplicationForHousingComponent implements OnInit {
- departmentUserLoginId: any;
- userLoginId: any;
- constructor(
- private route: ActivatedRoute,
- private http: HttpClient,
- private toastr: ToastrService,
- private dashBoardSer: DashboardService,
- private spiner: NgxSpinnerService,
- private location: Location,
- public authService: AuthServiceService,
- private userService: UserService,
- private router: Router
- ) { }
- subLocationList = [];
- checkSaveClick: boolean = false;
- bindingDateSplitStart;
- checked : boolean = false;
- pageId: number;
- uploaded: boolean = false;
- disabledVal: boolean = true;
- serviceId: number;
- userId: number = 0;
- search: any;
- reportVal:boolean = false;
- saveTherequist: boolean = false;
- whosend = '';
- applyForOther : boolean = false;
- showdetails : boolean = false;
- applyForOtherSearch: boolean =false;
- showSearch: boolean = false;
- send: boolean = true;
- searchValue = null;
- applyForm = {
- employee_id: null,
- files:[]
- };
- dataForm = {
- id_number: '',
- name : '',
- phoneNum: '',
- functional_number:'',
- email:''
- };
- files = [{
- title : null,
- file: null,
- file_type: null,
- nameFile: null,
- }];
- ngOnInit() {
- //init the values of permision boolean
- this.authService.showAddBtn = false;
- this.authService.showDeleteBtn = false;
- this.authService.showEditBtn = false;
- //show / hide notification search in header
- this.authService.notificationLogin = true;
- this.authService.showSearchHeader = false;
- this.authService.showHeaderLogin = false;
- this.authService.showHeaderDashBoard = true;
- this.authService.showDashboardHeader = true;
- this.authService.internalHeader = false;
- this.route.params.subscribe(
- (parmas: Params) => {
- this.pageId = +parmas['reportId'];
- localStorage.setItem('pageIdActive', parmas['reportId']);
- this.whosend = parmas['comefrom'];
- }
- );
- this.route.parent.params.subscribe(
- (params:Params) => {
- this.serviceId = params['serviceID'];
- this.userId = params['userID'];
- }
- );
- this.route.parent.params.subscribe(
- (params:Params) => {
- this.userLoginId = params['userID'];
- this.serviceId = params['serviceID'];
- })
- if(this.whosend == 'new'){
- this.http.get(this.authService.pathApi + '/profile').subscribe(
- res => {
- this.dataForm.id_number = res['user'].identity_number;
- this.dataForm.name = res['user'].name;
- this.dataForm.phoneNum = res['user'].phone;
- this.applyForm.employee_id = res['user'].id;
- console.log(this.applyForm.employee_id);
- this.dataForm.functional_number = res['user'].functional_number;
- this.dataForm.email = res['user'].email;
- console.log('dsf',res)
- this.showdetails = true;
- this.applyForOther = false;
- this.send = false;
- },
- (error) => {console.log(error)},
- );
- }else{
- this.showSearch = true;
- }
-
-
- if(this.whosend == 'new'){
- this.http.get(this.authService.pathApi + '/get_employee_request_status/' + this.userId).subscribe(
- res => {
- console.log('ser' , res);
- const status = res['status']
- if(status == 'employee already has an un finished request'){
- this.router.navigate(['service/' + this.userLoginId + '/' + this.serviceId + '/' + 'viewRequestsForTenant/' + this.userLoginId])
- this.toastr.warning('لديك طلب بالفعل ');
-
- }else if(status == "employee free to make new request"){
-
- }
- },
- err => {
- if(err.error.error == 'employee already has an un finished request'){
- this.router.navigate(['service/' + this.userLoginId + '/' + this.serviceId + '/' + 'viewRequestsForTenant/' + this.userLoginId])
- this.toastr.warning('لديك طلب بالفعل');
-
- }else if(err.error.error == "employee free to make new request"){
-
- }
-
- }
- );
- }
- if(this.whosend == 'Ad547'){
- this.applyForOtherSearch = true;
- }
- }
- plusImage() {
- this.files.push({
- title: null,
- file: null,
- file_type: null,
- nameFile: null,
- });
- console.log('files after plus ', this.files);
- }
- //delete row from table
- onDeleteRow(index:number) {
- this.files.splice(index , 1);
- console.log('files after delete ',this.files);
- }
- //change file
- onFileChanges(event, index:number) {
- console.log(event);
- console.log(index);
- this.uploaded = true;
- this.files[index].nameFile = event[0].name.substring(0,20) + '....';
- this.files[index].file = event[0].base64;
- this.files[index].file_type = event[0].type.split('/')[1];
- console.log(this.files);
- console.log('files after change ',this.files);
- }
- SearchOnUser(){
- const key = this.searchValue
- console.log(key);
- console.log('here');
-
- this.http.get(this.authService.pathApi + '/find_user/' + key ).subscribe(
- res => {
- console.log('user',res);
- if(res['user'] == null){
- this.showdetails = false;
- }else{
- this.dataForm.id_number = res['user'].identity_number;
- this.dataForm.name = res['user'].name;
- this.dataForm.phoneNum = res['user'].phone;
- this.applyForm.employee_id = res['user'].id;
- this.dataForm.functional_number = res['user'].functional_number;
- this.dataForm.email = res['user'].email;
- this.applyForOther = true;
- this.showdetails = true;
- this.http.get(this.authService.pathApi + '/get_employee_request_status/' + this.applyForm.employee_id).subscribe(
- res => {
- console.log('ser' , res);
- const status = res['status']
- if(status == 'employee free to make new request'){
- this.toastr.warning('لديه طلب بالفعل');
- this.applyForOther = false;
- this.showdetails = false;
- }
- },
- err => {
- console.log(err);
-
- }
- );
- }
- },
- err => {
- console.log(err);
- this.showdetails = false;
- }
- );
- // }
- }
-
- onSubmitted(){
- for (let i = 0; i < this.files.length; i++) {
- if(this.files[i].file_type){
- this.files[i].file_type = this.files[i].file_type.toLowerCase();
- }
- if(!this.files[i].file){
- this.files.splice(i , 1);
- }
- else if(!this.files[i].title){
- this.toastr.warning('ادخل عنوان الملف رقم ' + (i+1) );
- return 0;
- } else {
- delete this.files[i].nameFile;
- this.applyForm.files.push(this.files[i]);
- }
- }
- console.log(this.applyForm);
- this.http.post(this.authService.pathApi + '/add_housing_request' , this.applyForm )
- .subscribe(
- res => {
- console.log(res);
- this.toastr.success('تم حفظ الطلب ');
- // this.router.navigate(['/service/' + this.userId + '/' + this.serviceId + '/followCommunicationList/58']);
- this.location.back();
- },
- err => {
- console.log(err)
- this.toastr.error('حدث خطأ في الاتصال ');
- }
- );
-
-
- }
- }
|