From 43898682c6d99ad90e69beef241fb03cea107a53 Mon Sep 17 00:00:00 2001 From: gandhimathi Date: Sat, 22 Dec 2018 13:06:39 +0530 Subject: [PATCH] start pd complete button changes --- .../list-pd/start-pd/start-pd.component.html | 7 +- .../list-pd/start-pd/start-pd.component.ts | 517 +----------------- 2 files changed, 14 insertions(+), 510 deletions(-) diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/start-pd.component.html b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/start-pd.component.html index 7f6e2a2a5..5972e04b9 100755 --- a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/start-pd.component.html +++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/start-pd.component.html @@ -24,12 +24,11 @@
{{quesIndex+1}}
- - + + + diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/start-pd.component.ts b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/start-pd.component.ts index d1a7e83ec..70d19e4b3 100755 --- a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/start-pd.component.ts +++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/start-pd.component.ts @@ -40,141 +40,10 @@ export class StartPdComponent implements OnInit, OnDestroy { selectedCategory: any = []; categoryList: any = []; pdMasterList: any = []; - optionsForm: FormGroup; - checkBoxForm: FormGroup; - textBoxForm: FormGroup; - next: number; - previous: number; - selectedCategoryIndex: number; - selectedQuestionIndex: number; - getQuestionsLength: number; - answerList: any = []; - ansPDList: any = []; - relationDetails: any = [1]; - rentalDetail: any = { form_id: "16", form_name: "Rental Information", isAnswered: true} -// errorMessage:any; -// selectedCategory:any=[]; -// categoryList: any=[]; -// pdMasterList: any=[]; -// optionsForm: FormGroup; -// checkBoxForm:FormGroup; -// textBoxForm:FormGroup; -// next:number; -// previous:number; -// selectedCategoryIndex:number; -// selectedQuestionIndex:number; -// getQuestionsLength:number; -// answerList:any=[]; -// ansPDList:any=[]; - - -// category static form buttons - // categoryFormButtons: any = [ - // { - // "form_id": 1, - // "form_name": "Supplier Details" - // }, - // { - // "form_id": 2, - // "form_name": "Client Details", - // }, - // { - // "form_id": 3, - // "form_name": "Personal Details", - // }, - // { - // "form_id":4, - // "form_name":"Asset Details", - // }, - // { - // "form_id": 5, - // "form_name": "Address" - // }, - // { - // "form_id": 6, - // "form_name": "Family", - // }, - // { - // "form_id": 7, - // "form_name": "Banking", - // }, - // { - // "form_id": 8, - // "form_name": "Current Loan", - // }, - // { - // "form_id": 9, - // "form_name": "Other Income", - // }, - // { - // "form_id": 10, - // "form_name": "Loan Details", - // }, - // { - // "form_id": 11, - // "form_name": "Stock", - // }, - // { - // "form_id": 12, - // "form_name": "Employmet Info", - // }, - // { - // "form_id": 13, - // "form_name": "Business Info", - // }, - // { - // "form_id": 14, - // "form_name": "Financial Info", - // }, - // ]; - -pdFullDetails:any=[]; + pdFullDetails:any=[]; // category static form buttons categoryFormButtons: any; - // = [ - // { - // "form_id": 1, - // "form_name": "Supplier Details" - // }, - // { - // "form_id": 2, - // "form_name": "Client Details", - // }, - // { - // "form_id": 3, - // "form_name": "Personal Details", - // }, - // { - // "form_id":4, - // "form_name":"Asset Details", - // }, - // { - // "form_id": 5, - // "form_name": "Address" - // }, - // { - // "form_id": 6, - // "form_name": "Family", - // }, - // { - // "form_id": 7, - // "form_name": "Banking", - // }, - // { - // "form_id": 8, - // "form_name": "Current Loan", - // }, - // { - // "form_id": 9, - // "form_name": "Other Income", - // }, - // { - // "form_id": 10, - // "form_name": "Loan Details", - // }, - - // ]; formsCategoryEnable: boolean = false; selectedFormsCategory: any; // create values for status check @@ -190,15 +59,8 @@ pdFullDetails:any=[]; currentPDStatus: string; actualQuestions: number; answeredQuestions: number; - - - - // start - - // end private notifier: NotifierService; - constructor(notifier: NotifierService, private dialog: MatDialog, private fb: FormBuilder, private route: ActivatedRoute, private router: Router, private listPDComponent: ListPdComponent, private _pd: PdTrigerService,) { @@ -221,8 +83,6 @@ pdFullDetails:any=[]; } this.loadTemplates(this.startPD); - this.next = 1; - this.previous = 2; } // start @@ -237,93 +97,23 @@ pdFullDetails:any=[]; return bool; } -// load pd template details - -// loadTemplates(startID: string) { -// this._pd.loadPDTemplates(startID).subscribe( -// data => { -// if (data.status == 200) { -// this.pdMasterList = data.records.pdmaster_details; -// this.categoryList = data.records.question_answers; -// let filterApplicantName = data.records.pdapplicants_detials.filter(item => item.applicant_type == 1); -// this.mainApplicantName = filterApplicantName[0].applicant_name; -// this.currentPDStatus = data.records.pdmaster_details.pd_status; -// -// this.actualQuestions = data.records.counts.overall_question_count; -// this.answeredQuestions = data.records.counts.overall_answered_count; -// -// } -// else { -// this.pdMasterList = ""; -// this.mainApplicantName = ""; -// this.categoryList = []; -// this.currentPDStatus = ""; -// } -// }, error => this.errorMessage = error); -// } -// loadTemplates(startID: string) { -// this._pd.loadPDTemplates(startID).subscribe( -// data => { -// if (data.status == 200) { -// this.pdMasterList = data.records.pdmaster_details; -// this.categoryList = data.records.question_answers; -// // this.categoryFormButtons = data.records.template_forms; -// let filterApplicantName = data.records.pdapplicants_detials.filter(item => item.applicant_type == 1); -// this.mainApplicantName = filterApplicantName[0].applicant_name; -// this.currentPDStatus = data.records.pdmaster_details.pd_status; -// -// this.actualQuestions = data.records.counts.overall_question_count; -// this.answeredQuestions = data.records.counts.overall_answered_count; -// -// this.pdFullDetails = data.records -// } -// else { -// this.pdMasterList = ""; -// this.mainApplicantName = ""; -// this.categoryList = []; -// this.currentPDStatus = ""; -// } -// }, error => this.errorMessage = error); -// } - - ngOnDestroy(): void { - this.listPDComponent.showListView(true); - } - - isOver(): boolean { return window.matchMedia(`(max-width: 960px)`).matches; } - OnSelectDirectQuestions(selectedQuestions: any, categoryIndex: number, questionsIndex: number) { - this.formsCategoryEnable = false; - this.selectedCategory = selectedQuestions; - this.selectedCategoryIndex = categoryIndex; - this.selectedQuestionIndex = questionsIndex; - - let serachQuestions = { - "question_id": selectedQuestions.fk_question_id, - "pd_id": this.startPD, - "template_id": selectedQuestions.fk_template_id, - "category_id": selectedQuestions.fk_template_question_category_id - } - this.getAnswers(serachQuestions); - } - loadTemplates(startID:string){ this._pd.loadPDTemplates(startID).subscribe( data => { if (data.status == 200) { this.pdMasterList=data.records.pdmaster_details; - this.categoryList=data.records.question_answers; - this.categoryFormButtons = data.records.template_forms; + // this.categoryList=data.records.question_answers; let filterApplicantName= data.records.pdapplicants_detials.filter(item => item.applicant_type == 1); this.mainApplicantName = filterApplicantName[0].applicant_name; this.currentPDStatus = data.records.pdmaster_details.pd_status; - - this.actualQuestions = data.records.counts.overall_question_count; - this.answeredQuestions = data.records.counts.overall_answered_count; - + this.categoryFormButtons = Object.keys(data.records.template_forms).map((item)=>data.records.template_forms[item]); + this.actualQuestions = this.categoryFormButtons.length; + let getAnsweredFormsCount = this.categoryFormButtons.filter(item=>item.isAnswered==true); + this.answeredQuestions = getAnsweredFormsCount.length; this.pdFullDetails = data.records @@ -339,292 +129,7 @@ pdFullDetails:any=[]; }); } - // load question based answer list - getAnswers(serachList: any) { - this.answerList = []; - this._pd.getAnswersForPD(serachList).subscribe( - data => { - if (data.status == 200) { - this.answerList = data.records.answers; - this.ansPDList = data.records; - this.actualQuestions = data.records.counts.overall_question_count, - this.answeredQuestions = data.records.counts.overall_answered_count - - // this for options type questions - if (this.selectedCategory.fk_question_answertype == 1) { - this.loadOtionsForm(this.selectedCategory, this.answerList); - } - //this for text box type questions - else if (this.selectedCategory.fk_question_answertype == 2) { - - this.loadTextBoxForm(this.selectedCategory, this.answerList); - } -//this for check box type questions - else if (this.selectedCategory.fk_question_answertype == 3) { - - this.loadCheckBoxForm(this.selectedCategory, this.answerList); - } - } - }, error => this.errorMessage = error); - - - } - - // load check box form - - loadCheckBoxForm(selectedCategory: any, ansItem: any) { - // create checkbox group - let checkboxGroup = new FormArray(ansItem.map(item => new FormGroup({ - fk_pd_id: new FormControl(this.startPD), - pd_detail_answer_id: new FormControl(item.pd_detail_answer_id), - pd_answer_id: new FormControl(item.question_answer_id), - pd_answer: new FormControl(item.answer), - pd_answer_weightage: new FormControl(item.template_answer_weightage), - checkbox: new FormControl(item.isactive == null ? false : true) - }))); - // create documents group - let documentsGroup = new FormArray(this.ansPDList.images.map(item => new FormGroup({ - pd_document_title: new FormControl(item.pd_document_title), - pd_document_url: new FormControl(item.pd_document_name), - - }))); - - // create a hidden reuired formControl to keep status of checkbox group - let hiddenControl = new FormControl(this.mapItems(checkboxGroup.value), Validators.required); - // update checkbox group's value to hidden formcontrol - checkboxGroup.valueChanges.subscribe((v) => { - hiddenControl.setValue(this.mapItems(v)); - }); - - - this.checkBoxForm = new FormGroup({ - pd_detail_id: new FormControl(this.ansPDList.pd_detail_id), - fk_pd_id: new FormControl(this.startPD), - fk_category_id: new FormControl(this.selectedCategory.fk_template_question_category_id), - fk_question_id: new FormControl(this.selectedCategory.fk_question_id), - pd_question: new FormControl(this.selectedCategory.question), - pd_question_weightage: new FormControl(this.selectedCategory.question_weightage), - pd_answer_remark: new FormControl(this.ansPDList.question_remark), - items: checkboxGroup, - selectedItems: hiddenControl, - documents: documentsGroup - }); - } - - // map options form group values - mapItems(items) { - let selectedItems = items.filter((item) => item.checkbox).map((item) => item); - return selectedItems.length ? selectedItems : null; - } - - // load Options form - loadOtionsForm(selectedCategory: any, ansItem: any) { - // create options type group - let optionsGroup = new FormArray(ansItem.map(item => new FormGroup({ - fk_pd_id: new FormControl(this.startPD), - pd_detail_answer_id: new FormControl(item.pd_detail_answer_id), - pd_answer_id: new FormControl(item.question_answer_id), - pd_answer: new FormControl(item.answer), - pd_answer_weightage: new FormControl(item.template_answer_weightage), - options: new FormControl(item.isactive == null ? false : true) - }))); - - // create documents group - let documentsGroup = new FormArray(this.ansPDList.images.map(item => new FormGroup({ - pd_document_title: new FormControl(item.pd_document_title), - pd_document_url: new FormControl(item.pd_document_name), - - }))); - - // create a hidden reuired formControl to keep status of checkbox group - let hiddenControl = new FormControl(this.optionsMapItems(optionsGroup.value), Validators.required); - let checkedItem = hiddenControl.value != null ? new FormControl(hiddenControl.value[0].pd_answer_id) : new FormControl(null); - - this.optionsForm = new FormGroup({ - pd_detail_id: new FormControl(this.ansPDList.pd_detail_id), - fk_pd_id: new FormControl(this.startPD), - fk_category_id: new FormControl(this.selectedCategory.fk_template_question_category_id), - fk_question_id: new FormControl(this.selectedCategory.fk_question_id), - pd_question: new FormControl(this.selectedCategory.question), - pd_question_weightage: new FormControl(this.selectedCategory.question_weightage), - pd_answer_remark: new FormControl(this.ansPDList.question_remark), - items: optionsGroup, - selectedItems: hiddenControl, - modelValue: checkedItem, - documents: documentsGroup - - }); - this.optionsForm.controls.modelValue.valueChanges.subscribe((v) => { - hiddenControl.setValue(this.updateOptionsMapItems(v, optionsGroup.value)); - }); - - } - -// map option type group values - optionsMapItems(items) { - - let optionSelectedItems = items.filter((item) => item.options == true).map((item) => item); - return optionSelectedItems.length ? optionSelectedItems : null; - } - - // map options type while change options - updateOptionsMapItems(key, items) { - - let updateSelectedItems = items.filter((item) => item.pd_answer_id == key).map((item) => item); - return updateSelectedItems.length ? updateSelectedItems : null; - } - - // load text box form - loadTextBoxForm(selectedCategory: any, ansItem: any) { - // create text box type group - let textGroup = new FormArray(ansItem.map(item => new FormGroup({ - fk_pd_id: new FormControl(this.startPD), - pd_detail_answer_id: new FormControl(item.pd_detail_answer_id), - pd_answer_id: new FormControl(item.question_answer_id), - pd_answer: new FormControl(item.pd_answer), - pd_answer_weightage: new FormControl(item.template_answer_weightage), - text: new FormControl(item.pd_detail_answer_id == null ? false : true) - }))); - - // create documents group - let documentsGroup = new FormArray(this.ansPDList.images.map(item => new FormGroup({ - pd_document_title: new FormControl(item.pd_document_title), - pd_document_url: new FormControl(item.pd_document_name), - - }))); - - this.textBoxForm = new FormGroup({ - pd_detail_id: new FormControl(this.ansPDList.pd_detail_id), - fk_pd_id: new FormControl(this.startPD), - fk_category_id: new FormControl(this.selectedCategory.fk_template_question_category_id), - fk_question_id: new FormControl(this.selectedCategory.fk_question_id), - pd_question: new FormControl(this.selectedCategory.question), - pd_question_weightage: new FormControl(this.selectedCategory.question_weightage), - pd_answer_remark: new FormControl(this.ansPDList.question_remark), - items: textGroup, - documents: documentsGroup - }); - } - - // next save and previous save for options and check box type questions - saveNextPrevious(details: any, type: number) { - - let fetchAns = []; - details.selectedItems.value.forEach((itemElement, itemIndex) => { - let obj1 = { - fk_pd_detail_id: details.pd_detail_id.value, - fk_pd_id: itemElement.fk_pd_id, - pd_detail_answer_id: itemElement.pd_detail_answer_id, - pd_answer_id: itemElement.pd_answer_id, - pd_answer: itemElement.pd_answer, - pd_answer_weightage: itemElement.pd_answer_weightage, - } - fetchAns.push(obj1) - }); - - let pd_details: any = [{ - "pd_detail_id": details.pd_detail_id.value, - "fk_pd_id": details.fk_pd_id.value, - "fk_category_id": details.fk_category_id.value, - "fk_question_id": details.fk_question_id.value, - "pd_question": details.pd_question.value, - "pd_question_weightage": details.pd_question_weightage.value, - "question_remark": details.pd_answer_remark.value, - "answers": fetchAns, - "images": [] - }]; - this._pd.savePDQuestions(pd_details).subscribe(result => { - if (result.status == 200) { - if (type == 1) { - this.skipNextPrevious(this.next); - } - else { - this.skipNextPrevious(this.previous); - } - } - }, error => { - }); - } - - // next save and previous save for text type questions - saveNextPreviousText(details: any, type: number) { - let fetchAns = []; - details.items.value.forEach((itemElement, itemIndex) => { - let obj1 = { - fk_pd_detail_id: details.pd_detail_id.value, - fk_pd_id: itemElement.fk_pd_id, - pd_detail_answer_id: itemElement.pd_detail_answer_id, - pd_answer_id: itemElement.pd_answer_id, - pd_answer: itemElement.pd_answer, - pd_answer_weightage: itemElement.pd_answer_weightage, - } - fetchAns.push(obj1) - }); - let pd_details: any = [{ - "pd_detail_id": details.pd_detail_id.value, - "fk_pd_id": details.fk_pd_id.value, - "fk_category_id": details.fk_category_id.value, - "fk_question_id": details.fk_question_id.value, - "pd_question": details.pd_question.value, - "pd_question_weightage": details.pd_question_weightage.value, - "question_remark": details.pd_answer_remark.value, - "answers": fetchAns, - "images": [] - }]; - this._pd.savePDQuestions(pd_details).subscribe(result => { - if (result.status == 200) { - if (type == 1) { - this.skipNextPrevious(this.next); - } - else { - this.skipNextPrevious(this.previous); - } - } - }, error => { - }); - } - - // skip to previous and next questions - - skipNextPrevious(type: number) { - // for skip to next - if (type == 1) { - if (this.categoryList.length > this.selectedCategoryIndex) { - let nextCatList = this.categoryList[this.selectedCategoryIndex]; - this.selectedQuestionIndex = this.selectedQuestionIndex < nextCatList.questions.length - 1 ? this.selectedQuestionIndex + 1 : this.selectedQuestionIndex; - let nextQuesList = nextCatList.questions[this.selectedQuestionIndex]; - this.selectedCategory = nextQuesList; - this.selectedCategoryIndex = this.selectedCategoryIndex; - this.selectedQuestionIndex = this.selectedQuestionIndex; - let serachQuestions = { - "question_id": nextQuesList.fk_question_id, - "pd_id": this.startPD, - "template_id": nextQuesList.fk_template_id, - "category_id": nextQuesList.fk_template_question_category_id - } - this.getAnswers(serachQuestions); - } - } - // for skip to previous - else if (type == 2) { - if (this.categoryList.length > this.selectedCategoryIndex) { - let preCatList = this.categoryList[this.selectedCategoryIndex]; - this.selectedQuestionIndex = this.selectedQuestionIndex == 0 ? this.selectedQuestionIndex : this.selectedQuestionIndex - 1; - let preQuesList = preCatList.questions[this.selectedQuestionIndex]; - this.selectedCategory = preQuesList; - this.selectedCategoryIndex = this.selectedCategoryIndex; - this.selectedQuestionIndex = this.selectedQuestionIndex; - let serachQuestions = { - "question_id": preQuesList.fk_question_id, - "pd_id": this.startPD, - "template_id": preQuesList.fk_template_id, - "category_id": preQuesList.fk_template_question_category_id - } - this.getAnswers(serachQuestions); - } - - } - } + //change pd status changePDStatus(status: string) { @@ -916,12 +421,12 @@ pdFullDetails:any=[]; } - + ngOnDestroy(): void { + this.listPDComponent.showListView(true); + } // load pd view component loadPdViewCompoent() { this.router.navigate(['../../viewpd', this.startPD], {relativeTo: this.route}); } - - -// end + }