# 5th July Report ## Progress **09:00** Entering into lab. ### Add alert message Change some code in **report-problem.page.html** ```htmlmixed= <div class="header-inside--icon-right float-left"> <img class="icon" src="assets\cancel\rectangle@3x.png" alt="acuo-cancel1" (click)="AlertConfirm()"> </div> ``` Change some code in **report-problem.page.ts** ```typescript= public toggle(selected, type) { this.ErrorType = type + 1; if (type != 4) { this.Description = ''; } for (let index = 0; index < this.problems.length; index++) { if (this.problems['problem'] != selected['problem']) { this.problems[index]['isChecked'] = null; } } } async submit() { if (this.ErrorType == 0) { console.log("You must fill problem") } else { const reportProblems = { "File": this.File, "Device_ID": this.Device_ID, "Email": this.Email, "ErrorType": this.ErrorType, "Description": this.Description } console.log(reportProblems); const thank = await this.alertController.create({ mode: "ios", header: 'Thank you for your assistance!', message: 'We have received a problem report', buttons: [ { text: 'OK', handler: (blah) => { console.log('Confirm Cancel: blah'); } } ] }); await thank.present(); this.uploadForm = this.formBuilder.group({ Email: ['AAAAA'] }); console.log(this.uploadForm.value); this.http.post("https://smartcampus.et.ntust.edu.tw:5425/Dispenser/Report", JSON.stringify(this.uploadForm.value)) .subscribe(data => { console.log(data); }, error => { console.log(error); }); } } onKey(event: any) { for (let index = 0; index < this.problems.length; index++) { this.problems[index]['isChecked'] = null; } this.problems[4]['isChecked'] = 1; this.ErrorType = 5; } async AlertConfirm() { const alert = await this.alertController.create({ mode: "ios", header: 'Dicard Editing?', message: 'If you go back now, you will lose editing.', buttons: [ { text: 'Cancel', handler: (blah) => { console.log('Confirm Cancel: blah'); } }, { text: 'Discard', cssClass: 'icon-color', handler: () => { console.log('Confirm Discard'); } } ] }); await alert.present(); } ``` Result <center> <img src="https://imgur.com/LfhNEk6.png" stye="height" 300px> </center> <br> <center> <img src="https://imgur.com/DhuA6qz.png" stye="height" 300px> </center> <br> ### Post form-data format Add in **module.ts** file ```typescript= import { ReactiveFormsModule } from '@angular/forms'; @NgModule({ imports: [ CommonModule, FormsModule, IonicModule, ReactiveFormsModule, RouterModule.forChild(routes) ], declarations: [ReportProblemPage] }) ``` Add in **page.ts** ```typescript= import { FormBuilder, FormGroup } from '@angular/forms'; }) export class FormDataPage implements OnInit { SERVER_URL = "https://smartcampus.et.ntust.edu.tw:5425/Dispenser/Report"; uploadForm: FormGroup; constructor(private formBuilder: FormBuilder, private httpClient: HttpClient) { } ngOnInit() { this.uploadForm = this.formBuilder.group({ profile: ['AAAA'], error: ['1'] }); const formData = new FormData(); formData.append('Email', this.uploadForm.get('profile').value); formData.append('ErrorType', this.uploadForm.get('error').value); console.log(formData); this.httpClient.post<any>(this.SERVER_URL, formData).subscribe( (res) => console.log(res), (err) => console.log(err) ); } ``` ###### tags: `on-intern`