This commit is contained in:
surya 2022-04-07 12:10:01 +05:30
commit 0c0984763c
145 changed files with 38752 additions and 578 deletions

4
New folder/.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,4 @@
{
"javascript.implicitProjectConfig.experimentalDecorators": true,
"git.ignoreLimitWarning": true
}

2
New folder/README.md Normal file
View File

@ -0,0 +1,2 @@
# sparqsineedge

View File

@ -0,0 +1,30 @@
# This is a sample build configuration for JavaScript.
# Check our guides at https://confluence.atlassian.com/x/14UWN for more examples.
# Only use spaces to indent your .yml configuration.
# -----
# You can specify a custom docker image from Docker Hub as your build environment.
image: node:10.15.3
pipelines:
branches:
master:
- step:
caches:
- node
size: 2x # Double resources available for this step.
script: # Modify the commands below to build your repository.
- cd ng6-seed
- npm install
- npm install -g @angular/cli
- node --max_old_space_size=2046 node_modules/@angular/cli/bin/ng build --configuration=staging
- ls -ltr
- cd dist
- pipe: atlassian/aws-s3-deploy:0.3.8
variables:
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION: 'ap-south-1'
S3_BUCKET: 'autodeploy001'
LOCAL_PATH: $(pwd)
DELETE_FLAG: 'true'

3
New folder/package-lock.json generated Normal file
View File

@ -0,0 +1,3 @@
{
"lockfileVersion": 1
}

Binary file not shown.

View File

@ -395,18 +395,19 @@
}
},
"@angular/animations": {
"version": "6.1.10",
"resolved": "https://registry.npmjs.org/@angular/animations/-/animations-6.1.10.tgz",
"integrity": "sha512-dd/lq7kw3uwfHPICan8psu2nthuUpp7PvMLuNIm0XxObZ4oNs0ls6uxKEDPnEkRKoGdiJpvmsyzZZN9ACMPEAA==",
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/@angular/animations/-/animations-7.0.0.tgz",
"integrity": "sha512-IYdryQXdYfPvhJpExLSAr0o9rlUeyVS++a6h/sjqN1dkUt/yJBHLRreuHx8Udvlj2nH70raHJgevk8FwhAkTdA==",
"requires": {
"tslib": "^1.9.0"
}
},
"@angular/cdk": {
"version": "6.4.7",
"resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-6.4.7.tgz",
"integrity": "sha512-18x0U66fLD5kGQWZ9n3nb75xQouXlWs7kUDaTd8HTrHpT1s2QIAqlLd1KxfrYiVhsEC2jPQaoiae7VnBlcvkBg==",
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-7.0.0.tgz",
"integrity": "sha512-HX+gIJzST/Nu07ASg1XR583KSEmHI6kUbiSBdq0LqF3mIQgId5z3auBqQcXAgvB0Cg29+/38aj31hnoK/LswEQ==",
"requires": {
"parse5": "^5.0.0",
"tslib": "^1.7.1"
}
},
@ -721,18 +722,17 @@
}
},
"@angular/material": {
"version": "6.4.7",
"resolved": "https://registry.npmjs.org/@angular/material/-/material-6.4.7.tgz",
"integrity": "sha512-SdNx7Xovi24Kw9eU6lkLhY/7f2M7L9F+/uh6XuPr4jbGgCUVVpeeVI5ztZhsZRbj1sN+/r1p5w8u62apWWl5Ww==",
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/@angular/material/-/material-7.0.0.tgz",
"integrity": "sha512-HgHzHWsUvNiSpRmoOJqnH/TVb4Ki7sXxbWuw5OVKOKiBW6Gwvd29+cP4XauzH47wHMyvS9/HH8kj3gC72pLhJQ==",
"requires": {
"parse5": "^5.0.0",
"tslib": "^1.7.1"
}
},
"@angular/material-moment-adapter": {
"version": "6.4.7",
"resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-6.4.7.tgz",
"integrity": "sha512-OGdDtpu/yRioOQXhJFCNuiOF2OgiL9VUj8ewFPi1lDtFGUFfVwU2h3hWkKLn+yuPW+DBVYla11tCNsn5dLElmA==",
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-7.0.0.tgz",
"integrity": "sha512-ODTjQrgJhxU90qT0C42UdgR+NVjMwMhJHKxmRMC83Z7r+OZgjLcrj5fXx+363AisnI8a/+5hBSgzXZgwUu2hGQ==",
"requires": {
"tslib": "^1.7.1"
}
@ -1224,6 +1224,30 @@
}
}
},
"@swimlane/dragula": {
"version": "3.8.0",
"resolved": "https://registry.npmjs.org/@swimlane/dragula/-/dragula-3.8.0.tgz",
"integrity": "sha512-1F3sWPs9GRbQysuOa92llH21YYgc0YezTAtt72AmMxgv8erX8h/S6hYWzqEj5SIB/+u/YRx298dKU0tGoYGgNg==",
"requires": {
"contra": "1.9.4",
"crossvent": "1.5.4"
}
},
"@swimlane/ng2-file-upload": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@swimlane/ng2-file-upload/-/ng2-file-upload-1.1.0.tgz",
"integrity": "sha512-YjqMQJUZt82Eji07n/0peXIaUb+ameWCsvEUlJUAijG504HThqNPkVQF03qnA5GtPatWO0/D5APJIhIPIj/ESg==",
"requires": {
"tslib": "^2.0.0"
},
"dependencies": {
"tslib": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
}
}
},
"@swimlane/ngx-charts": {
"version": "7.4.0",
"resolved": "https://registry.npmjs.org/@swimlane/ngx-charts/-/ngx-charts-7.4.0.tgz",
@ -1246,6 +1270,44 @@
"version": "11.1.5",
"resolved": "https://registry.npmjs.org/@swimlane/ngx-datatable/-/ngx-datatable-11.1.5.tgz",
"integrity": "sha512-BRRHMrgw9tG0BezTnfszzFTlpW9B9Zh5kyZF/pxqfJxpUsZ0aA/uXlL4cloe4+msQ6yIdu1/jhUCDInwSzmpFw=="
<<<<<<< HEAD
=======
},
"@swimlane/ngx-dnd": {
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/@swimlane/ngx-dnd/-/ngx-dnd-9.0.0.tgz",
"integrity": "sha512-bENC5QsEWEeTjolAmoeyDUXX8uUaqcDhVHbS/OXa1tVqf2OpYH6cbGr/sWa7BrjCn5aQB65T+YjvCxBucqBluw==",
"requires": {
"@swimlane/dragula": "^3.8.0",
"@types/dragula": "^2.1.34",
"tslib": "^2.0.0"
},
"dependencies": {
"tslib": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
}
}
},
"@swimlane/ngx-ui": {
"version": "37.1.1",
"resolved": "https://registry.npmjs.org/@swimlane/ngx-ui/-/ngx-ui-37.1.1.tgz",
"integrity": "sha512-My3Fnb35sLKorD7lsYBOSLm4+T0eg1sk8pCwfFGfdhXdLxZSDBiSfEWvbu/NuBUKZz8RwyEIZ/h5rJkOsldXvQ==",
"requires": {
"@swimlane/ng2-file-upload": "1.1.0",
"mousetrap": "^1.6.2",
"normalize.css": "^5.0.0",
"tslib": "^2.0.0"
},
"dependencies": {
"tslib": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
}
}
>>>>>>> 6f3613fe88d9f917ac496803b264c51a0ccc6410
},
"@types/aws-sdk": {
"version": "2.7.0",
@ -1272,6 +1334,11 @@
}
}
},
"@types/dragula": {
"version": "2.1.36",
"resolved": "https://registry.npmjs.org/@types/dragula/-/dragula-2.1.36.tgz",
"integrity": "sha512-K1GIMqdiviBIvUsLJPO1xkjpDFS308nU2l57zmV7LEO+znF3gtZGnWQ+c/ef78r6Ngb0cniQk8pnNkObeNlXQQ=="
},
"@types/file-saver": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@types/file-saver/-/file-saver-2.0.1.tgz",
@ -8486,6 +8553,11 @@
"resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz",
"integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg=="
},
"mousetrap": {
"version": "1.6.5",
"resolved": "https://registry.npmjs.org/mousetrap/-/mousetrap-1.6.5.tgz",
"integrity": "sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA=="
},
"move-concurrently": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
@ -8647,6 +8719,15 @@
}
}
},
"ngx-smooth-dnd": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/ngx-smooth-dnd/-/ngx-smooth-dnd-0.4.1.tgz",
"integrity": "sha512-7MqBBWWpP0kuI+90CvO0uGJxqa4o1krVvDtSZYnn2jnUvV4SrRFUoNM/8lNYJjHIzLXYpFm/6BG//h6WWKAkkw==",
"requires": {
"smooth-dnd": "0.12.0",
"tslib": "^1.9.0"
}
},
"ngx-socket-io": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/ngx-socket-io/-/ngx-socket-io-3.0.1.tgz",
@ -9087,6 +9168,11 @@
"integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
"dev": true
},
"normalize.css": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-5.0.0.tgz",
"integrity": "sha1-fOyHXOgXilMzxN6Ato6pwYudfDc="
},
"npm-bundled": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz",
@ -11250,6 +11336,11 @@
"integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==",
"dev": true
},
"smooth-dnd": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/smooth-dnd/-/smooth-dnd-0.12.0.tgz",
"integrity": "sha512-w+/YW1TFram8FW/bYiirRcAGSIdVVjxFRtCBqJ2fkEJpm28zwbdMyXVQCralBUTITMjZp6VHGQJ73UTSIER1lA=="
},
"snapdragon": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",

View File

@ -15,8 +15,8 @@
"private": true,
"dependencies": {
"@agm/core": "^1.0.0-beta.2",
"@angular/animations": "^6.1.10",
"@angular/cdk": "^6.4.7",
"@angular/animations": "^7.0.0",
"@angular/cdk": "^7.0.0",
"@angular/common": "^6.1.10",
"@angular/compiler": "^6.1.10",
"@angular/core": "^6.1.10",
@ -24,8 +24,8 @@
"@angular/flex-layout": "^6.0.0-beta.18",
"@angular/forms": "^6.1.10",
"@angular/http": "^6.0.0-rc.6",
"@angular/material": "^6.4.7",
"@angular/material-moment-adapter": "^6.4.7",
"@angular/material": "^7.0.0",
"@angular/material-moment-adapter": "^7.0.0",
"@angular/platform-browser": "^6.1.10",
"@angular/platform-browser-dynamic": "^6.1.10",
"@angular/router": "^6.1.10",
@ -33,6 +33,8 @@
"@ngx-translate/http-loader": "^3.0.1",
"@swimlane/ngx-charts": "^7.0.1",
"@swimlane/ngx-datatable": "11.1.5",
"@swimlane/ngx-dnd": "^9.0.0",
"@swimlane/ngx-ui": "^37.1.1",
"@types/file-saver": "^2.0.1",
"amazon-cognito-identity-js": "^2.0.30",
"angular-calendar": "0.23.3",
@ -68,6 +70,7 @@
"ngx-mat-daterange-picker": "^1.1.4",
"ngx-mat-select-search": "^1.8.0",
"ngx-perfect-scrollbar": "5.0.0-7",
"ngx-smooth-dnd": "^0.4.1",
"ngx-socket-io": "^3.0.1",
"ngx-spinner": "^7.2.0",
"ngx-viewer": "^1.0.5",

View File

@ -1,5 +1,6 @@
<div *ngIf="questions_JSON.questions.length > 0" #whole_form>
<form [formGroup]="form_group_name" fxLayout="row wrap" fxLayoutWrap fxFlex="100" fxLayout.xs="column" fxLayoutGap="33px">
<form [formGroup]="form_group_name" fxLayout="row wrap" >
<!-- <form [formGroup]="form_group_name" fxLayout="row wrap" fxLayoutWrap fxFlex="100" fxLayout.xs="column" fxLayoutGap="33px"> -->
<!-- <form [formGroup]="form_group_name" fxLayout="row wrap" fxLayoutWrap fxFlex="100" fxLayoutAlign="space-between" fxLayout.xs="column" fxLayoutGap="33px"> -->
<!-- {{form_group_name.value | json}} -->
<!-- <div *ngIf="form_group_name.controls['questions']"> -->
@ -33,6 +34,9 @@
<mat-expansion-panel-header>
<mat-panel-title *ngIf="parent_ques.group_title_shown != '0'">
{{parent_ques.group_title}} {{g_i+1}}
<div *ngFor="let singleQues of parent_ques.group_questions[g_i];let s_i=index">
<div *ngFor="let s of singleQues.questions_level_two">{{singleQues.group_key | json}}</div>
</div>
</mat-panel-title>
<!-- <mat-panel-description>
Type your name and age
@ -52,14 +56,16 @@
<div *ngIf="singleQues.is_repeatable == '2'">
<!-- {{singleQues.questions_level_two | json}} -->
<!-- {{form_group_name.value[parent_ques.group_key] | json}} -->
<div [formArrayName]="singleQues.group_key" *ngIf="singleQues.group_type != '6'" >
<!-- {{g_i}} {{g_l}} -->
<mat-accordion *ngIf="singleQues.group_type != '6'" #accordion="matAccordion" [multi]="true">
<!-- {{group_ques.value | json}} -->
{{singleQues | json}}
<div *ngFor="let group_ques_child of group_ques.get(singleQues.group_key)['controls'];let g_c_i=index;let g_c_l=last"
[formGroupName]="g_c_i">
<!-- {{group_ques_child.value | json}} -->
{{group_ques_child.value | json}}
<mat-expansion-panel [expanded]="step_child === g_c_i" #mapanel="matExpansionPanel" >
<mat-expansion-panel-header>
<mat-panel-title *ngIf="singleQues.group_title_shown != '0'">
@ -74,7 +80,9 @@
[ngStyle.xs]="{'margin-bottom' : (singleQues_child.field_type == 'numtoword' || singleQues_child.field_type == 'str&numtoword') ? '5%' : '0' }">
<!-- {{s_i}} -->
<!-- {{json_answers[parent_ques.group_key][s_i] | json}} -->
<!-- {{singleQues_child | json}} -->
{{singleQues_child | json}}
<!-- {{group_ques_child | json}} -->
<app-dynamic-question-template [group_key] = singleQues.group_key [currFormArrayObj]="singleQues_child" [json_answers] = "json_answers != null && json_answers ? json_answers[parent_ques.group_key] : null" [formGroupN]="group_ques_child" [whole_form]="group_ques"
[whole_json]="singleQues.questions_level_two[g_c_i]" [json_index]="g_c_i" (generateGroupControls) = generateGroupControls($event)></app-dynamic-question-template>
</div>

View File

@ -237,6 +237,13 @@ export class DynamicFormComponent {
// debugger;
let control = this.form_group_name.get(json_obj.group_key) as FormArray
control.removeAt(index)
if(this.json_answers[json_obj.group_key] ){
if(this.json_answers[json_obj.group_key] != null && this.json_answers[json_obj.group_key] instanceof Array){
this.json_answers[json_obj.group_key].splice(index,1)
}
}
json_obj.group_questions.splice(index,1)
this.step = control.length-1

View File

@ -1,6 +1,6 @@
<section [formGroup]="formGroupN">
<!-- <mat-checkbox [checked]="check == true || false" (change)="updateAllComplete(parent_ques.question_key,$event)"> -->
<div *ngIf="parent_ques.title" fxLayout="row" style=" width: 100%" >
<div *ngIf="parent_ques.title && parent_ques.disable != true" fxLayout="row" style=" width: 100%" >
<mat-card-header>
<mat-card-title> {{parent_ques.title}} </mat-card-title>
</mat-card-header>
@ -21,7 +21,7 @@
>
<mat-label>{{parent_ques.question}}</mat-label>
<input matInput
<input matInput [required]="parent_ques.required == true"
[type]="parent_ques.field_type == 'num' || parent_ques.field_type == 'numtoword' ? 'number' : parent_ques.field_type== 'string' ? 'text' : parent_ques.field_type"
[formControlName]="parent_ques.question_key" [placeholder]="parent_ques.place_holder" autocomplete="off"
(change)="onChangeProperty($event,parent_ques,parent_ques.question_key)">
@ -42,7 +42,7 @@
*ngIf="parent_ques.disable != true && parent_ques.type == '9'" >
<mat-label>{{parent_ques.question}}</mat-label>
<input matInput [type]="parent_ques.field_type == 'num' || parent_ques.field_type == 'numtoword' ? 'number' : parent_ques.field_type== 'string' || parent_ques.field_type == 'str&numtoword' ? 'text' : parent_ques.field_type"
[formControlName]="parent_ques.question_key" [placeholder]="parent_ques.place_holder"
[formControlName]="parent_ques.question_key" [placeholder]="parent_ques.place_holder" [required]="parent_ques.required == true"
(change)="onChangeProperty($event,parent_ques,parent_ques.question_key)"
[matAutocomplete]="auto">
<mat-autocomplete #auto="matAutocomplete" (optionSelected) = "onChangeProperty($event,parent_ques,parent_ques.question_key)">
@ -65,9 +65,9 @@
<!-- <mat-form-field> -->
<div class="radio-gap" *ngIf="parent_ques.disable != true && parent_ques.type == '2'">
<mat-label >{{parent_ques.question}}</mat-label><br />
<mat-radio-group aria-label="Select an option" [formControlName]="parent_ques.question_key"
<mat-radio-group aria-label="Select an option" [formControlName]="parent_ques.question_key" [required]="parent_ques.required == true"
(change)="onChangeProperty($event,parent_ques,'','','')">
<mat-radio-button class="radio-btn-gap" *ngFor="let val of parent_ques.answers"
<mat-radio-button class="radio-btn-gap" *ngFor="let val of parent_ques.answers" [required]="parent_ques.required == true"
[value]="val.hasOwnProperty('answer_id') ? val.answer_id : val.answer">{{val.answer}}</mat-radio-button><br /><br />
</mat-radio-group>
<ng-container *ngFor="let validation of parent_ques.validations" ngProjectAs="mat-error">
@ -78,7 +78,7 @@
<mat-form-field style="width: 100%" *ngIf="parent_ques.disable != true && parent_ques.type == '3'">
<mat-label>{{parent_ques.question}}</mat-label>
<mat-select [formControlName]="parent_ques.question_key" (selectionChange)="onChangeProperty($event,parent_ques,'','','')">
<mat-select [formControlName]="parent_ques.question_key" (selectionChange)="onChangeProperty($event,parent_ques,'','','')" [required]="parent_ques.required == true">
<mat-option>Select</mat-option>
<mat-option *ngFor="let val of parent_ques.answers"
[value]="val.hasOwnProperty('answer_id') ? val.answer_id : val.answer"
@ -92,8 +92,8 @@
<div class="radio-gap" [formArrayName]="parent_ques.question_key" *ngIf=" parent_ques.disable != true && parent_ques.type == '5'">
<mat-label>{{parent_ques.question}}</mat-label>
<mat-checkbox class="radio-btn-gap" *ngFor="let val of parent_ques.answers;let i=index"
[value]="val.hasOwnProperty('answer_id') ? val.answer_id : val.answer"
<mat-checkbox class="radio-btn-gap" *ngFor="let val of parent_ques.answers;let i=index" [checked]="checkCat(val.answer,parent_ques)"
[value]="val.hasOwnProperty('answer_id') ? val.answer_id : val.answer" [required]="parent_ques.required == true"
(change)="onChange_checkbox($event,parent_ques);onChangeProperty($event,parent_ques,'','','')">{{val.answer}}</mat-checkbox><br />
<ng-container *ngFor="let validation of parent_ques.validations" ngProjectAs="mat-error">
<mat-error align="end" *ngIf="formGroupN.get(parent_ques.question_key).hasError(validation.name.toLowerCase())">
@ -103,7 +103,7 @@
</div>
<div class="toggle" fxLayout="row nowrap" *ngIf=" parent_ques.disable != true && parent_ques.type == '12'">
<mat-label>{{parent_ques.question}}</mat-label>&nbsp;&nbsp;
<mat-slide-toggle [formControlName]="parent_ques.question_key" color="primary"></mat-slide-toggle>
<mat-slide-toggle [formControlName]="parent_ques.question_key" [required]="parent_ques.required == true" color="primary"></mat-slide-toggle>
<ng-container *ngFor="let validation of parent_ques.validations" ngProjectAs="mat-error">
<mat-error align="end" *ngIf="formGroupN.get(parent_ques.question_key).hasError(validation.name.toLowerCase())">
{{validation.message}}</mat-error>
@ -126,7 +126,7 @@
<mat-form-field style="width: 100%" *ngIf="parent_ques.disable != true && parent_ques.type == '4'">
<mat-label>{{parent_ques.question}}</mat-label>
<mat-select multiple [formControlName]="parent_ques.question_key"
<mat-select multiple [formControlName]="parent_ques.question_key" [required]="parent_ques.required == true"
(selectionChange)="onChangeProperty($event,parent_ques,'','','')">
<!-- <mat-option>Select</mat-option> -->
<mat-option *ngFor="let val of parent_ques.answers"
@ -189,7 +189,7 @@
<mat-form-field style="width: 100%" *ngIf="parent_ques.disable != true && parent_ques.type == '7'" >
<mat-label>{{parent_ques.question}}</mat-label>
<textarea matInput type="text" rows="3" [formControlName]="parent_ques.question_key" placeholder="Enter the Text"
autocomplete="off"></textarea>
autocomplete="off" (change)="onChangeProperty($event,parent_ques,parent_ques.question_key)" [required]="parent_ques.required == true"></textarea>
<!-- <mat-error align="end" style="font-style: italic;margin-right: 5px;">Field is Required</mat-error> -->
<ng-container *ngFor="let validation of parent_ques.validations" ngProjectAs="mat-error">
<mat-error align="end" *ngIf="formGroupN.get(parent_ques.question_key).hasError(validation.name.toLowerCase())">
@ -199,7 +199,7 @@
<mat-form-field style="width: 100%" *ngIf="parent_ques.disable != 'true' && parent_ques.type == '8'" (click)="ngxFilteredValue.next(parent_ques.answers)">
<mat-label>{{parent_ques.question}}</mat-label>
<mat-select [formControlName]="parent_ques.question_key" (selectionChange)="onChangeProperty($event,parent_ques,'','','')">
<mat-select [formControlName]="parent_ques.question_key" (selectionChange)="onChangeProperty($event,parent_ques,'','','')" [required]="parent_ques.required == true">
<mat-option>
<ngx-mat-select-search [formControl]="commonFilterCtrl" [placeholderLabel]="'Search'"
[noEntriesFoundLabel]="'No Matching Result'" >

View File

@ -28,12 +28,16 @@ export class DynamicQuestionTemplateComponent implements OnInit {
@Output() generateGroupControls= new EventEmitter()
local_city: any;
local_pincode: any;
local_city1: any;
local_pincode1: any;
json_answers1:any;
isChecked:any=[];
autoCompleteAns:Observable<string[]>
public commonFilterCtrl:FormControl = new FormControl();
public ngxFilteredValue:ReplaySubject<any> = new ReplaySubject<any>(1);
vr: boolean;
check: boolean = false;
check: any = "Letter of Credit";
constructor(private quesService:QuesFormService,private _fb:FormBuilder, private matDialog:MatDialog, private loaderService:LoaderService) { }
@ -48,6 +52,7 @@ export class DynamicQuestionTemplateComponent implements OnInit {
// output : {msg : 'do something'}
})
localStorage.setItem('use',"0");
console.log( this.whole_json)
this.parent_ques = this.currFormArrayObj
@ -61,7 +66,26 @@ export class DynamicQuestionTemplateComponent implements OnInit {
//let length=this.quesService.ans_length()
}
checkCat(data,w){
console.log(this.isChecked)
if( this.isChecked.length == 0){
this.isChecked = this.json_answers[w.question_key]
let ref = this.isChecked.find(x => x == data); // this checks the cat[] array
if(ref == data){
return true;
} else {
return false;
}
}else{
let ref = this.isChecked.find(x => x == data); // this checks the cat[] array
if(ref == data){
return true;
} else {
return false;
}
}
}
ngOnChanges() {
//alert('ans');
this.parent_ques = this.currFormArrayObj
@ -145,8 +169,14 @@ export class DynamicQuestionTemplateComponent implements OnInit {
if(this.json_answers!=null && this.json_answers!= undefined && this.json_answers&& !this.group_key) {
this.formGroupN.get(this.parent_ques.question_key).patchValue((this.json_answers[this.parent_ques.question_key] || ''))
if(this.parent_ques.question_key == '5'){
this.isChecked = this.json_answers[this.parent_ques.question_key]
console.log( this.isChecked)
}
this.onChangeProperty({value:this.json_answers[this.parent_ques.question_key]},this.parent_ques,'','','','TS')
console.log( this.json_answers[this.parent_ques.question_key])
}
else if(this.json_answers!=null && this.json_answers != undefined && this.json_answers){
// this.formGroupN.patchValue((this.json_answers[this.group_key] || ''))
@ -265,6 +295,9 @@ export class DynamicQuestionTemplateComponent implements OnInit {
}
}
onChange_checkbox(event,sec_control){
console.log(this.isChecked)
// this.isChecked =[];
console.log( this.formGroupN.get(sec_control.question_key).value)
const control=this.formGroupN.get(sec_control.question_key) as FormArray
@ -274,6 +307,9 @@ export class DynamicQuestionTemplateComponent implements OnInit {
const i = control.controls.findIndex(x => x.value === event.source.value);
control.removeAt(i);
}
// this.isChecked = this.formGroupN.get(sec_control.question_key).value
}
onChangeProperty(event,sec_control,question_key,options?,sec_index?,from?){
// alert('datatamil');
@ -349,7 +385,46 @@ export class DynamicQuestionTemplateComponent implements OnInit {
// onChangeProperties_value.push(JSON.parse(new_name))
onChangeProperties_value.forEach(onChangeProperty=>{
console.log(onChangeProperty)
if(onChangeProperty.purpose == 'api2'){
console.log(event.value,onChangeProperty.params)
if(onChangeProperty.api == 'getListOfStatesAndCities'){
console.log(event.value,onChangeProperty.params)
// onChangeProperty.params = JSON.stringify(onChangeProperty.params);
// let updatedParams =JSON.stringify(onChangeProperty.params);
// updatedParams = updatedParams.replace('value_of_answer',event.value);
// // updatedParams = JSON.parse(updatedParams)
// console.log(JSON.parse(updatedParams),updatedParams,JSON.parse(JSON.stringify(updatedParams)))
// debugger;
let params={records:{state_id:event.value}}
this.quesService.apiCall(onChangeProperty.api,params,onChangeProperty.api_method).subscribe(res=>{
if(res['dataStatus']){
this.local_city1=res['records'].cities
this.local_pincode1=res['records'].pincode
this.whole_json.forEach((val,index)=>{
if(val.api_properties == 'local_city1' ){
this.local_city1=this.quesService.convertArrayNames(['city_id','city_name'],this.local_city1)
console.log( this.local_city1)
val.answers = (this.local_city1)
}
else if(val.api_properties == 'local_pincode1'){
this.local_pincode1=this.quesService.convertArrayNames(['pincode_id','pincode'],this.local_pincode1)
val.answers = (this.local_pincode1)
}
})
}
})
}
}
if(onChangeProperty.purpose == 'api'){
if(onChangeProperty.api == 'getListOfStatesAndCities'){
// console.log(event.value,onChangeProperty.params)
@ -367,23 +442,73 @@ export class DynamicQuestionTemplateComponent implements OnInit {
this.local_city=res['records'].cities
this.local_pincode=res['records'].pincode
this.whole_json.forEach((val,index)=>{
if(val.api_properties == 'local_city'){
if(val.api_properties == 'local_city' ){
this.local_city=this.quesService.convertArrayNames(['city_id','city_name'],this.local_city)
console.log( this.local_city)
val.answers = (this.local_city)
}
else if(val.api_properties == 'local_pincode'){
this.local_pincode=this.quesService.convertArrayNames(['pincode_id','pincode'],this.local_pincode)
val.answers = (this.local_pincode)
}
// if(val.api_properties == 'local_city1' ){
// this.local_city1=this.quesService.convertArrayNames(['city_id','city_name'],this.local_city1)
// console.log( this.local_city1)
// val.answers = (this.local_city1)
// }
// else if(val.api_properties == 'local_pincode1'){
// this.local_pincode1=this.quesService.convertArrayNames(['pincode_id','pincode'],this.local_pincode1)
// val.answers = (this.local_pincode1)
// }
})
}
})
}else if(onChangeProperty.purpose == 'api2'){
console.log(event.value,onChangeProperty.params)
if(onChangeProperty.api == 'getListOfStatesAndCities'){
console.log(event.value,onChangeProperty.params)
// onChangeProperty.params = JSON.stringify(onChangeProperty.params);
// let updatedParams =JSON.stringify(onChangeProperty.params);
// updatedParams = updatedParams.replace('value_of_answer',event.value);
// // updatedParams = JSON.parse(updatedParams)
// console.log(JSON.parse(updatedParams),updatedParams,JSON.parse(JSON.stringify(updatedParams)))
// debugger;
let params={records:{state_id:event.value}}
this.quesService.apiCall(onChangeProperty.api,params,onChangeProperty.api_method).subscribe(res=>{
if(res['dataStatus']){
this.local_city1=res['records'].cities
this.local_pincode1=res['records'].pincode
this.whole_json.forEach((val,index)=>{
if(val.api_properties == 'local_city1' ){
this.local_city1=this.quesService.convertArrayNames(['city_id','city_name'],this.local_city1)
console.log( this.local_city1)
val.answers = (this.local_city1)
}
else if(val.api_properties == 'local_pincode1'){
this.local_pincode1=this.quesService.convertArrayNames(['pincode_id','pincode'],this.local_pincode1)
val.answers = (this.local_pincode1)
}
})
}
})
}
}
else{
this.quesService.apiCall(onChangeProperty.api,onChangeProperty.params,onChangeProperty.api_method).subscribe((result:any)=>{
@ -423,7 +548,7 @@ export class DynamicQuestionTemplateComponent implements OnInit {
// }
}
if(onChangeProperty.purpose == 'FORM_CTRL'){
console.log(onChangeProperty)
// if(options == 2){
// debugger;
@ -632,24 +757,87 @@ export class DynamicQuestionTemplateComponent implements OnInit {
if(check_dup.length == 0){
this.formGroupN.addControl(val.group_key,this._fb.array([]))
// val.question.reverse()
let childControl: any = this.formGroupN.get(val.group_key) as FormArray
console.log(childControl)
let control_names:any={}
console.log(inserted_control_obj)
console.log(inserted_control_obj.questions[index].group_questions)
inserted_control_obj.questions[index].group_questions = []
inserted_control_obj.questions[index].group_questions.push(val.question)
console.log(inserted_control_obj.questions[index].group_questions)
console.log(question_index_after)
this.whole_json.splice(question_index_after+1,0,val);
val.question.forEach(group_val=>{
control_names[group_val.question_key] = ''
if(group_val.question_key){
control_names[group_val.question_key] = ''
console.log(ques_control)
}
this.addOrRemoveControl(group_val,ques_control,question_index_after,options,val)
// console.log("check ffffff",inserted_control_obj.questions.reverse(),inserted_control_obj.questions,group_val)
this.addOrRemoveControl(group_val,ques_control,question_index_after,options,val)
})
const question_temp:any = JSON.parse(JSON.stringify(val.question));
inserted_control_obj.questions[index].question = question_temp
childControl.push(this._fb.group(control_names))
console.log(control_names)
console.log(childControl)
console.log(val.group_questions[0])
val.group_questions[0].forEach((group_indi,arr_index)=>{
this.quesService.addAdditionalControl(group_indi, childControl.controls[0], arr_index)
console.log(arr_index)
//this.quesService.addAdditionalControl(group_indi, childControl.controls[0], arr_index)
console.log(group_indi)
if(group_indi.is_repeatable =='2'){
// childControl.push(this._fb.group(control_names))
childControl.push(this._fb.group(control_names))
console.log(childControl)
console.log(group_indi)
childControl.controls[0].addControl(group_indi.group_key,this._fb.array([]))
// val.question.reverse()
console.log(childControl)
console.log(group_indi.group_key)
control_names[group_indi.group_key] = ''
// childControl.push(this._fb.group(control_names))
console.log(control_names)
console.log(childControl)
let s:any = localStorage.getItem('use');
console.log(s)
if( !group_indi.questions_level_two[0][0]){
this.quesService.addLevelTwoControls2(group_indi,childControl,val.group_questions[0],val.question,arr_index)
}
}
// console.log(group_indi)
// console.log(childControl)
// console.log(arr_index)
// this.quesService.addAdditionalControl(group_indi, childControl.controls[0], arr_index)
})
}
}
else{
@ -666,11 +854,14 @@ export class DynamicQuestionTemplateComponent implements OnInit {
}
})
}
addOrRemoveControl(val,ques_control,question_index_after,options,paren_ques) {
console.log(val);
console.log(ques_control);
console.log(question_index_after);
console.log(paren_ques);
if(options == 1){
let check_dup=ques_control.filter(control_key=>control_key.question_key == val.question_key)
@ -692,13 +883,21 @@ export class DynamicQuestionTemplateComponent implements OnInit {
}
}
else{
console.log(paren_ques)
ques_control.forEach((control_key,index)=>{
if(paren_ques.hasOwnProperty('is_repeatable') && paren_ques.is_repeatable == '1') {
//console.log(control_key)
if(control_key.group_key == paren_ques.group_key){
this.whole_json.splice(index,1)
// this.formGroupN.controls[val.question_key].reset()
console.log(paren_ques)
console.log( this.formGroupN.get(paren_ques.group_key))
this.formGroupN.removeControl(paren_ques.group_key);
console.log( this.formGroupN.get(paren_ques.group_key))
}
}

View File

@ -20,6 +20,7 @@ export class QuesFormService {
formanswers=null;
pd_all_details:any= {} ;
datepipe: DatePipe;
tmp: any[];
//length: any;
constructor(private _fb:FormBuilder,private http:HttpClient) {
this.datepipe=new DatePipe('en-US')
@ -678,12 +679,16 @@ export class QuesFormService {
// let sub_childControl: any = childControl.controls[0].get('questions') as FormArray
let control_names:any={}
ques_data[index].group_questions = []
console.log(childControl)
//ques_data[index].group_questions1 = []
ques_data[index].group_questions.push(val.question)
val.group_questions[0].forEach((group_indi, arr_index) => {
// CREATING A FORMARRAY AND CONTROL FOR CHILD REPEATABLE
console.log(group_indi) //mobile number
console.log(childControl) // form array
console.log(val.group_questions[0]) // all data group
console.log(val.question) // single data
if(group_indi.is_repeatable == '2') {
this.addLevelTwoControls(group_indi,childControl,val.group_questions[0],val.question,arr_index)
}
@ -745,6 +750,7 @@ export class QuesFormService {
if(group_indi.is_repeatable == '2' && group_indi.hasOwnProperty('questions_level_two') && group_indi.questions_level_two.length > 0) {
group_indi.questions_level_two[0].forEach((child_val,child_index)=> {
console.log( childControl.at(0).get(group_indi.group_key).controls[0])
this.addAdditionalControl(child_val, childControl.at(0).get(group_indi.group_key).controls[0], child_index)
})
}
@ -831,7 +837,9 @@ export class QuesFormService {
// FUNCTIONAL TO HANDLE THE CREATION OF CHILD REPEABLE 2
addLevelTwoControls(curr_obj:any,child_control,group_ques,valQues,group_index) {
console.log(group_ques)
console.log(valQues)
console.log(curr_obj.questions_level_two)
// CURR VALUE(MULTI ARRAY)
const question_temp:any = JSON.parse(JSON.stringify(curr_obj.questions_level_two));
group_ques[group_index].questions_level_two = []
@ -841,8 +849,9 @@ export class QuesFormService {
// RAW VALUES(SINGLE ARRAY)
valQues[group_index].question = question_temp
valQues[group_index].questions_level_two = []
console.log( valQues[group_index].questions_level_two)
valQues[group_index].questions_level_two.push(question_temp)
console.log( valQues[group_index].questions_level_two)
// debugger;
let group_key:any = {}
group_key[curr_obj.group_key] = this._fb.array([])
@ -879,10 +888,70 @@ export class QuesFormService {
})
levelTwoChildCtrl.push(this._fb.group(control_names))
levelTwoChildCtrl.push(this._fb.group(control_names))
// console.log(formgroup.value);
}
addLevelTwoControls2(curr_obj:any,child_control,group_ques,valQues,group_index) {
console.log(group_ques)
console.log(valQues)
console.log(curr_obj.questions_level_two)
// CURR VALUE(MULTI ARRAY)
const question_temp:any = JSON.parse(JSON.stringify(curr_obj.questions_level_two));
group_ques[group_index].questions_level_two = []
group_ques[group_index].questions_level_two.push(question_temp)
group_ques[group_index].question = question_temp
// RAW VALUES(SINGLE ARRAY)
valQues[group_index].question = question_temp
valQues[group_index].questions_level_two = []
valQues[group_index].questions_level_two.push(question_temp)
console.log(curr_obj.questions_level_two)
//debugger;
// let group_key:any = {}
// group_key[curr_obj.group_key] = this._fb.array([])
// child_control.push(this._fb.group(group_key))
// debugger;
//let levelTwoChildCtrl: any = child_control.at(0).get(curr_obj.group_key) as FormArray
console.log(this.tmp)
let control_names:any={}
curr_obj.questions_level_two[0].forEach((val,arr_index)=>{
// val.raw_validations = val.validations
// control_names[val.question_key] = ''
if (val.api_properties != null) {
if(val.api_properties.hasOwnProperty('purpose') && val.api_properties.purpose == 'answer_options_local') {
if(val.api_properties.master_name == 'pd_applicants') {
val.answers = (this.convertArrayNames( val.api_properties.fields,this.pd_all_details.pdapplicants_detials))
// val.question[arr_index].answers = val.answers
}
}
else{
this.apiPropertiesCall(val).then(res => {
if (res != false) {
val.answers = []
// group_indi.answers=this.convertArrayNames(val.api_properties.fields,res)
val.answers = (this.convertArrayNames(val.api_properties.fields, res))
// val.question[arr_index].answers = val.answers
}
})
}
}
})
//levelTwoChildCtrl.push(this._fb.group(control_names))
// console.log(formgroup.value);
}
// FOR CREATING THE FORM CONTROL FOR SPECIFIC FORM ARRAY
createValue(data){
let is_amt_in_words=false

View File

@ -5,6 +5,7 @@ import {MatDialog,MatDialogRef,MAT_DIALOG_DATA, MatTableDataSource} from '@angul
import { PdTrigerService } from './../../../../../pd-service/pd-triger.service';
import {ActivatedRoute, Router} from "@angular/router";
import { FormComponent } from '../form/form.component';
import {FinancialInfoComponent} from "../../forms/financial-info/financial-info.component";
@Component({
selector: 'app-form-group',
templateUrl: './form-group.component.html',
@ -55,7 +56,7 @@ export class FormGroupComponent implements OnInit {
}
getCompanyListForBusiness(): void{
console.log("data")
this._pd.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{
this._pd.getCompaniesListsForBusinessv2(this.pdid).subscribe(data=>{
console.log(data)
if(data.dataStatus){
console.log(data)
@ -122,9 +123,18 @@ export class FormGroupComponent implements OnInit {
// }
// this.pdFullDetails.pdmaster_details.curr_vendor_ans_fetch_status = curr_vendor_ans_fetch_status
console.log(this.pd_all_details.pdMasterList);
const dialogRef = this.dialog.open(FormComponent, {
data: {pd_FullDetails:this.pd_all_details.pd_FullDetails,pdMasterList:this.pd_all_details.pdMasterList,FormData:details,tmpid:id,Form_parent:this.pd_all_details.FormData},
let datas
let componen_name:any = FormComponent
if(details.form_id == '14'){
componen_name = FinancialInfoComponent
datas = {company_id: 1,company_name:company.company_name,pd_FullDetails:this.pd_all_details.pd_FullDetails,pdmaster_details:this.pd_all_details.pdMasterList,FormData:details,tmpid:id,Form_parent:this.pd_all_details.FormData,Formname:this.pd_all_details.Formname}
}else{
datas = {company_id: 1,pd_FullDetails:this.pd_all_details.pd_FullDetails,pdMasterList:this.pd_all_details.pdMasterList,FormData:details,tmpid:id,Form_parent:this.pd_all_details.FormData,Formname:this.pd_all_details.Formname}
}
const dialogRef = this.dialog.open(componen_name, {
data: datas,
position: { right: '0'},
maxWidth: '100vw',
maxHeight: '100vh',

View File

@ -8,8 +8,14 @@
// overflow-y: scroll !important;
}
}
::ng-deep .mat-dialog-content {
margin: inherit !important;
}
.mat-dialog-content{
margin:0px !important;
// margin:0px !important;
margin: inherit !important;
}
// mat-placeholder{
// margin-top: 20px;

View File

@ -7,6 +7,7 @@ import { AwsService } from 'app/AwsService/aws.service';
import { PdTrigerService } from 'app/personal-discussion/pd-service/pd-triger.service';
import { LoaderService } from 'app/shared/loaderService/loader.service';
import { environment } from 'environments/environment';
// import { environment } from 'environments/environment';
import { DynamicFormComponent } from '../dynamic-form/dynamic-form/dynamic-form.component';
import { QuesFormService } from '../dynamic-form/ques-form/ques-form.service';
@ -36,6 +37,7 @@ export class FormComponent implements OnInit {
is_loading: boolean = false;
pd_all_details: any=[];
pdMasterList:any=[];
template_id: any;
constructor(notifier: NotifierService,
private fb: FormBuilder,
private route: ActivatedRoute,
@ -52,7 +54,8 @@ export class FormComponent implements OnInit {
console.log(this.pd_all_details_data)
this.pd_all_details = this.pd_all_details_data.pd_FullDetails
console.log(this.pd_all_details_data)
console.log(this.pd_all_details_data.FormData.template_id)
this.template_id = this.pd_all_details_data.FormData.template_id
console.log(this.pd_all_details_data.pd_FullDetails)
// debugger;
this.form_id = 24;
@ -77,7 +80,7 @@ export class FormComponent implements OnInit {
}
ngOnInit() {
this.getSectionData()
this.getSectionData()
if(this.pd_all_details.form_id=='5' && this.pdMasterList.product_abbr=='LFMP')
{
@ -175,29 +178,32 @@ else
let form_id = this.pd_all_details_data.FormData.form_id
this.pd_all_details_data.Formname
// let params = {"fk_entity_id":this.pdMasterList.fk_lender_id,"fk_product_id":this.pdMasterList.fk_product_id,"pd_form_id":this.pd_all_details.form_id,"fk_pd_id":this.pdMasterList.pd_id}
this.pdTriggerService.loadCreditPDTemplate2(form_id,map_id, this.pd_all_details_data.Formname).subscribe(result=>{
this.pdTriggerService.loadCreditPDTemplate2(form_id,map_id, this.pd_all_details_data.Formname,this.template_id).subscribe(result=>{
console.log(result)
if(!environment.production){
result.dataStatus = true
console.log( result.dataStatus)
result.dataStatus = false
}
console.log()
console.log( result.dataStatus)
if(result.dataStatus) {
let question_template: any = result.records
if (question_template && question_template != null && question_template != undefined
) {
// question_template = JSON.parse(question_template)
if (question_template.hasOwnProperty('template') && question_template.template) {
question_template =JSON.parse(question_template.template);
console.log( question_template)
question_template =JSON.parse(question_template.template);
this.commonFormGroup = new FormGroup({})
console.log(question_template.json)
this.questions_JSON = JSON.parse(question_template.json);
//this.questions_JSON = question_template;
this.questions_JSON = JSON.parse(question_template.json);
console.log(question_template.json)
// this.questions_JSON = question_template;
console.log( this.questions_JSON)
this.getSectionData()
this.questionService.notify(this.questions_JSON)
@ -228,8 +234,8 @@ else
if (question_template.hasOwnProperty('template') && question_template.template) {
question_template =JSON.parse(question_template.template);
this.commonFormGroup = new FormGroup({})
// this.questions_JSON = question_template;
this.questions_JSON = JSON.parse(question_template.json);
this.questions_JSON = question_template;
//this.questions_JSON = JSON.parse(question_template.json);
console.log(this.questions_JSON);
// this.getSectionData()
this.questionService.notify(this.questions_JSON)
@ -441,11 +447,11 @@ else
let form_group = this.pd_all_details_data.Form_parent.is_group_form
let company_id = this.pd_all_details_data.Form_parent.is_business_form
if(form_group == 1){
params = {"pdid":this.pdMasterList.pd_id,"parent_pdid":this.pdMasterList.pd_id,formid:this.pd_all_details_data.FormData.form_id,"json":this.commonFormGroup.getRawValue(),fk_createdby:'',"company_id":company_id}
params = {"pdid":this.pdMasterList.pd_id,"parent_pdid":this.pdMasterList.pd_id,formid:this.pd_all_details_data.FormData.form_id,"json":this.commonFormGroup.getRawValue(),fk_createdby:'',"company_id":company_id,"template_id": this.template_id}
}
}else{
params = {"pdid":this.pdMasterList.pd_id,"parent_pdid":this.pdMasterList.pd_id,formid:this.pd_all_details_data.FormData.form_id,"json":this.commonFormGroup.getRawValue(),fk_createdby:''}
params = {"pdid":this.pdMasterList.pd_id,"parent_pdid":this.pdMasterList.pd_id,formid:this.pd_all_details_data.FormData.form_id,"json":this.commonFormGroup.getRawValue(),fk_createdby:'',"template_id": this.template_id}
}

View File

@ -111,6 +111,7 @@ export class FinancialInfoComponent implements OnInit {
private dialogRef: MatDialogRef<FinancialInfoComponent>,
private dialog: MatDialog,
@Inject(MAT_DIALOG_DATA) public pd_all_details: any) {
console.log(pd_all_details)
this.parent_pdid = this.pd_all_details.pdmaster_details.parent_pd_id
this.pdid = this.pd_all_details.pdmaster_details.pd_id;
this.form_id = 14;

View File

@ -129,10 +129,14 @@ export class StartPd2Component implements OnInit, OnDestroy {
//let categoryFormButtons1 = Object.keys(data.records.template_forms).map((item)=>data.records.template_forms[item]).filter(item=>item.isAnswerable===true);
//this.categoryFormButtons =categoryFormButtons1.filter(item=>item.form_id!=26);
this.categoryFormButtons = data.records.template_forms
this.categoryFormButtons.sort((a,b) => a.pd_form_order - b.pd_form_order )
// let s = this.categoryFormButtons.sort((a,b) => a.pd_form_order < b.pd_form_order);
console.log( this.categoryFormButtons);
// this.photographButtons=categoryFormButtons1.filter(item=>item.form_id==26);
// console.log(this.photographButtons);
// this.categoryFormButtons = this.categoryFormButtons.filter(item=>item.isAnswerable===true);
this.categoryFormButtons = this.categoryFormButtons.filter(item=>item.isAnswerable===true);
this.actualQuestions = this.categoryFormButtons.length;
let getAnsweredFormsCount = this.categoryFormButtons.filter(item=>item.isAnswered===true);
this.answeredQuestions = getAnsweredFormsCount.length;
@ -247,11 +251,11 @@ export class StartPd2Component implements OnInit, OnDestroy {
console.log(details);
console.log(this.startPD,2,this.randomString)
let componen_name:any = FormComponent
if(details.is_group_form == 1) {
if(details.is_business_form == 1) {
componen_name = FormGroupComponent
}else if(details.form_name == 'Photograph'){
}else if(details.form_id == '26'){
componen_name = ImagesAllComponent
}else if(details.form_name == 'General Information'){
}else if(details.form_id == '18'){
componen_name = GeneralInfoComponent
}
const dialogRef = this.dialog.open(componen_name, {

View File

@ -224,7 +224,12 @@
<span *ngIf="userRoleID == 2 || userRoleID == 3 || userRoleID == 10"><button *ngIf="roleAccessDetails.allocate && addresses.assigned_pd && master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT && currentPDStatus!=pdStatusCheck.COMPLETED && master.pd_status!=pdStatusCheck.ADD_ON_PENDING && currentPDStatus!=pdStatusCheck.QC_COMPLETED" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Allocate" matTooltipPosition="above" (click)="pdAllocationTo(master,addresses)"><mat-icon>verified_user</mat-icon></button></span>
<span *ngIf="userRoleID == 2 || userRoleID == 3 || userRoleID == 4 || userRoleID == 5 || userRoleID == 10"><button *ngIf="roleAccessDetails.schedule && addresses.assigned_pd && master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT && currentPDStatus!=pdStatusCheck.COMPLETED && master.pd_status!=pdStatusCheck.ADD_ON_PENDING && currentPDStatus!=pdStatusCheck.QC_COMPLETED" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Schedule" matTooltipPosition="above" (click)="scheduleDetails(master,addresses)"><mat-icon>schedule</mat-icon></button></span>
<span *ngIf="userRoleID == 2 || userRoleID == 3 || userRoleID == 4 || userRoleID == 5 || userRoleID == 10"><button *ngIf="roleAccessDetails.discussions && addresses.assigned_pd && master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT && currentPDStatus!=pdStatusCheck.TRIGGERED && currentPDStatus!=pdStatusCheck.ALLOCATED_TO_FIA && master.pd_status!=pdStatusCheck.CANCELLED && enableStartPD" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Discussion" matTooltipPosition="above" (click)="getPDStart(addresses,master.pd_status)"><mat-icon>question_answer</mat-icon></button></span>
<<<<<<< HEAD
<span *ngIf="userRoleID == 2 || userRoleID == 3 || userRoleID == 4 || userRoleID == 5 || userRoleID == 10"><button *ngIf="roleAccessDetails.discussions && addresses.assigned_pd && master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT && currentPDStatus!=pdStatusCheck.TRIGGERED && currentPDStatus!=pdStatusCheck.ALLOCATED_TO_FIA && master.pd_status!=pdStatusCheck.CANCELLED && enableStartPD" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Discussion v2.0" matTooltipPosition="above" (click)="getPDStart2(addresses,master.pd_status)"><mat-icon>question_answer</mat-icon></button></span>
=======
<!-- <span *ngIf="userRoleID == 2 || userRoleID == 3 || userRoleID == 4 || userRoleID == 5 || userRoleID == 10"><button *ngIf="roleAccessDetails.discussions && addresses.assigned_pd && master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT && currentPDStatus!=pdStatusCheck.TRIGGERED && currentPDStatus!=pdStatusCheck.ALLOCATED_TO_FIA && master.pd_status!=pdStatusCheck.CANCELLED && enableStartPD" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Discussion v2.0" matTooltipPosition="above" (click)="getPDStart2(addresses,master.pd_status)"><mat-icon>textsms</mat-icon></button></span> -->
<!--<span *ngIf="userRoleID == 2 || userRoleID == 3 || userRoleID == 4 || userRoleID == 5 || userRoleID == 10"><button *ngIf="roleAccessDetails.discussions && addresses.assigned_pd && master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT && currentPDStatus!=pdStatusCheck.TRIGGERED && currentPDStatus!=pdStatusCheck.ALLOCATED_TO_FIA && master.pd_status!=pdStatusCheck.CANCELLED && enableStartPD" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Discussion v2.0" matTooltipPosition="above" (click)="getPDStart2(addresses,master.pd_status)"><mat-icon>question_answer</mat-icon></button></span>-->
>>>>>>> 6f3613fe88d9f917ac496803b264c51a0ccc6410
</div>
</div>
</div>

View File

@ -706,6 +706,7 @@ export class PdTrigerService {
catchError(this.handleError('operation', []))
)
}
/** To get SMS Link
* List PD
*/
@ -1069,26 +1070,27 @@ export class PdTrigerService {
// return this._http.get('assets/data/SMC_CREDIT_TEMPLATES/'+form_id+'.json').map(rr=>{
// return this._http.get('assets/data/SMC_CREDIT_TEMPLATES/LFMP/16.json').map(rr=>{
if( Formname == 'Business Information'){
return this._http.get('assets/data/SMC_CREDIT_TEMPLATES/LFMP/'+form_id+'.json').map(rr=>{
return this._http.get('assets/data/SMC_CREDIT_TEMPLATES/LFMP/1.json').map(rr=>{
// return this._http.get('assets/data/SMC_CREDIT_TEMPLATES/LFMP/'+form_id+'.json').map(rr=>{
let returnValue ={dataStatus:true,status:200,records:{template:JSON.stringify(rr)}}
// this.raw_credit_pd_template= returnValue.records.template
return returnValue
})
}else{
return this._http.get<any[]>(this.apiUrl + "formWiseJSONTemplateV2?form_id="+form_id+"&map_id="+mapid+"").map(result=>{
console.log(result)
let apivalue ={dataStatus:true,status:200,records:{template:JSON.stringify(result)}}
console.log(apivalue)
return apivalue
})
// return this._http.get('assets/data/SMC_CREDIT_TEMPLATES/DONE/'+form_id+'.json').map(rr=>{
// // return this._http.get('assets/data/SMC_CREDIT_TEMPLATES/LFMP/9.json').map(rr=>{
// let returnValue ={dataStatus:true,status:200,records:{template:JSON.stringify(rr)}}
// // this.raw_credit_pd_template= returnValue.records.template
// console.log("12345")
// return returnValue
// })
// return this._http.get<any[]>(this.apiUrl + "formWiseJSONTemplateV2?form_id="+form_id+"&map_id="+mapid+"").map(result=>{
// console.log(result)
// let apivalue ={dataStatus:true,status:200,records:{template:JSON.stringify(result)}}
// console.log(apivalue)
// return apivalue
// })
return this._http.get('assets/data/SMC_CREDIT_TEMPLATES/all/'+form_id+'.json').map(rr=>{
// return this._http.get('assets/data/SMC_CREDIT_TEMPLATES/LFMP/9.json').map(rr=>{
let returnValue ={dataStatus:true,status:200,records:{template:JSON.stringify(rr)}}
// this.raw_credit_pd_template= returnValue.records.template
console.log("12345")
return returnValue
})
}
}
@ -1115,12 +1117,19 @@ export class PdTrigerService {
}
getCompaniesListsForBusinessv2(pdid: any): Observable<any> {
return this._http.post<any>(this.apiUrl + "getCompaniesListsForBusinessV2", { "records":{ "pd_id" : pdid}})
.pipe(
catchError(this.handleError('operation', []))
)
}
getSMCTempAddresses(params) {
return this._http.get(this.apiUrl+'getPDFormDetails',params)
}
loadCreditPDTemplate2(form_id,mapid,Formname):Observable<any> {
loadCreditPDTemplate2(form_id,mapid,Formname,template_id):Observable<any> {
//return this._http.get<any[]>(this.apiUrl + "formWiseJSONTemplateV2?form_id=5&map_id=7").map(result)
@ -1131,19 +1140,29 @@ export class PdTrigerService {
// return apivalue
// })
// if( Formname == 'Business Information'){
// return this._http.get('assets/data/SMC_CREDIT_TEMPLATES/LFMP/'+form_id+'.json').map(rr=>{
// return this._http.get('assets/data/SMC_CREDIT_TEMPLATES/LFMP/2.json').map(rr=>{
// let returnValue ={dataStatus:true,status:200,records:{template:JSON.stringify(rr)}}
// // this.raw_credit_pd_template= returnValue.records.template
// return returnValue
// })
// }else{
return this._http.get<any[]>(this.apiUrl + "formWiseJSONTemplateV2?form_id="+form_id+"&map_id="+mapid+"").map(result=>{
console.log(result)
let apivalue ={dataStatus:true,status:200,records:{template:JSON.stringify(result)}}
console.log(apivalue)
return apivalue
})
if(template_id != null){
return this._http.get<any[]>(this.apiUrl + "formWiseJSONTemplateV2?form_id="+form_id+"&map_id="+mapid+"&template_id="+template_id+"").map(result=>{
console.log(result)
let apivalue ={dataStatus:true,status:200,records:{template:JSON.stringify(result)}}
console.log(apivalue)
return apivalue
})
}else{
return this._http.get<any[]>(this.apiUrl + "formWiseJSONTemplateV2?form_id="+form_id+"&map_id="+mapid+"").map(result=>{
console.log(result)
let apivalue ={dataStatus:true,status:200,records:{template:JSON.stringify(result)}}
console.log(apivalue)
return apivalue
})
}
// }
}

View File

@ -51,7 +51,7 @@ const HORIZONTALMENUITEMS = [
{state:'setting/pdteamlist',name:'PD Team'},
// {state:'template/questions', name: 'Questions'},
{state:'template/templates', name: 'Templates'},
// {state:'template2', name: 'Templates 2.0'},
{state:'template2', name: 'Templates 2.0'},
]
},

View File

@ -83,7 +83,7 @@ const MENUITEMS : Menu[] = [
{state:'setting/pdteamlist',name:'PD Team'},
// {state:'template/questions', name: 'Questions'},
{state:'template/templates', name: 'Templates'},
// {state:'template2/template2', name: 'Templates 2.0'},
{state:'template2/template2', name: 'Templates 2.0'},
]
},
{

View File

@ -0,0 +1,102 @@
<div class="form">
<h2 mat-dialog-title class="paragraph_change">
<div fxFlex="70" align="left" style="padding: 10px !important;">
<span>Customize Questions </span><br>
</div>
<div fxFlex="30" align="end" style="padding: 10px !important;">
<button mat-raised-button mat-icon-button class="hover-icon " type="button" matTooltip="Close" matTooltipPosition="above"
(click)="loadPdViewCompoent()"><mat-icon>close</mat-icon></button>
</div>
</h2>
<mat-dialog-actions>
<div fxFlex="60" align="right">
<!-- <mat-label >Questions</mat-label> -->
<!-- <mat-form-field appearance="outline" style="width: 100%">
<mat-label>Remarks</mat-label>
<textarea matInput placeholder="Remarks" formControlName="general_remark"></textarea>
</mat-form-field> -->
</div>
<div fxFlex="40" align="end">
<!-- <button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Add Field"
matTooltipPosition="above"(click)="add()" >
<mat-icon>add</mat-icon>
</button> -->
<button *ngIf="userRoleID == 10" style="float: right;" type="submit" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button matTooltip="Save & Approved"
matTooltipPosition="above" (click)="submit()" >
<mat-icon>save</mat-icon>
</button>
<button *ngIf="userRoleID != 10" style="float: right;" type="submit" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button matTooltip="Save"
matTooltipPosition="above" (click)="submit()" >
<mat-icon>save</mat-icon>
</button>
</div>
</mat-dialog-actions>
<!-- <mat-dialog-content style="border-bottom: 2px solid #e2412f8f;" > -->
<mat-tab-group [selectedIndex]=form_index (selectedTabChange)="selectedTabValue($event)">
<mat-tab *ngFor="let formButton of section_name;" label="{{formButton.form_name}}" >
<div class="demo" style=" padding: 30px;">
<div class="card-scene" style="background-color: white;">
<smooth-dnd-container
[orientation]="'horizontal'"
(drop)="onColumnDrop($event)"
[dragHandleSelector]="'.column-drag-handle'"
>
<smooth-dnd-draggable *ngFor="let column of scene.children">
<!-- <div class="simple-page-scroller"[ngClass]="column.props.className"> -->
<div [ngClass]="column.props.className">
<div class="card-column-header">
<span class="column-drag-handle">&#x2630;</span>
{{column.name}}
</div>
<smooth-dnd-container
[groupName]="'col'"
(drop)="onCardDrop(column.id, $event)"
[getChildPayload]="getCardPayload(column.id)"
[dragClass]="'card-ghost'"
[dropClass]="'card-ghost-drop'"
(dragStart)="log('drag start', $event)"
(dragEnd)="log('drag end', $event)"
(dropReady)="log('drop ready', $event)"
>
<smooth-dnd-draggable *ngFor="let card of column.children;let quesIndex=index">
<div [ngClass]="card.props.className" [ngStyle]="card.props.style" (click)="Question_edit(card,column.children)">
<p [ngStyle]="card.props.style && ({'text-decoration':card.data3.disable == true ? 'line-through' : ''})">
{{ show(card.data2,card.data3.group_title )}}
<!-- {{ card.data2}} -->
</p>
</div>
</smooth-dnd-draggable>
<mat-icon matTooltip="Add Question" (click)="add( a,column.children)" style="padding-left: 130px;">add_box</mat-icon>
</smooth-dnd-container>
</div>
</smooth-dnd-draggable>
</smooth-dnd-container>
</div>
</div>
</mat-tab>
<!-- <mat-tab label="Tab Two">
Tab Two Content
</mat-tab> -->
</mat-tab-group>
<!-- </mat-dialog-content> -->
</div>
<notifier-container></notifier-container>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,25 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { AddquestionComponent } from './addquestion.component';
describe('AddquestionComponent', () => {
let component: AddquestionComponent;
let fixture: ComponentFixture<AddquestionComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ AddquestionComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(AddquestionComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@ -0,0 +1,605 @@
import { Component, ElementRef, OnInit, Renderer2 } from '@angular/core';
import { MasterService } from '../master.service';
import { ContainerComponent, DraggableComponent } from 'ngx-smooth-dnd';
import { applyDrag, generateItems } from '../addquestion/utils';
import { MatDialog } from '@angular/material';
import { FormBuilder } from '@angular/forms';
import { LoaderService } from 'app/shared/loaderService/loader.service';
import { ActivatedRoute, Router } from '@angular/router';
import { NotifierService } from 'angular-notifier';
import { ViewComponent } from '../view/view.component';
import { LenderListComponent } from '../lender-list/lender-list.component';
const lorem = `Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.`;
const cardColors = ['azure', 'beige', 'bisque', 'blanchedalmond', 'burlywood', 'cornsilk', 'gainsboro', 'ghostwhite', 'ivory', 'khaki'];
//const cardColors = ['white'];
const pickColor = () => {
const rand = Math.floor((Math.random() * 10));
return cardColors[rand];
};
@Component({
selector: 'app-addquestion',
templateUrl: './addquestion.component.html',
styleUrls: ['./addquestion.component.scss']
})
export class AddquestionComponent {
data: any=[];
columnNames = ['All Questions'];
columnNames2 = ['All Questions'];
scene:any;
scene2:any;
show2:boolean = false;
items: any[];
dyn_data: any=[];
section_name: any=[];
form_index: any=[];
labelName: any;
question: any;
todo: any;
step: any[];
done: any[];
full_data: any=[];
errorMessage: string;
public userRoleID = +localStorage.getItem('user_role');
constructor(private dialog: MatDialog,private formBuilder: FormBuilder, private masterService: MasterService, private notifier: NotifierService , private route: ActivatedRoute,
private router: Router, private loaderService:LoaderService,private LenderListComponent: LenderListComponent){
this.LenderListComponent.showListView(false);
let id = this.route.snapshot.params.id;
this.form_index = id;
this.masterService.list_4_observable$.subscribe(res=> {
console.log("nav list 3",res)
this.section_name = res
if(res.length == 0){
this.router.navigate(['../../', ], {relativeTo: this.route});
}
})
console.log(this.userRoleID)
this.masterService.list_3_observable$.subscribe(res=> {
console.log("nav list 3",res)
let tmp = JSON.parse(res.json)
let form = localStorage.getItem('form');
let d = JSON.parse(form)
d.json
console.log( JSON.parse( d.json))
let ds = JSON.parse( d.json)
this.full_data = ds
this.data = ds.questions
console.log( this.data)
// console.log(element);
let dd = [];
dd.push( this.data)
this.data.forEach(element => {
let tmp2 =[]
// element.onchange_properties[0].form_controls[0].questions
if(element.onchange_properties instanceof Array && element.onchange_properties !=null){
if(element.onchange_properties[0] && element.onchange_properties[0].form_controls){
// console.log(element.onchange_properties[0].form_controls[0].questions);
element.onchange_properties[0].form_controls[0].questions.forEach(sub => {
// tmp2.push({[element.question]:sub})
if(sub.question instanceof Array){
this.columnNames.push("Group Name: "+sub.group_title)
this.columnNames2.push(sub.group_title)
sub.question.forEach(ss => {
tmp2.push( ss)
});
}else{
this.columnNames.push("Parent Questions: "+element.question)
this.columnNames2.push(element.question)
tmp2.push( sub)
}
});
}
}
console.log(tmp2);
if(tmp2.length !=0){
dd.push(tmp2)
}
})
this.dyn_data = dd
console.log(dd);
this.gen_form()
});
}
ngOnInit() {
// console.log( this.data)
// console.log( this.dyn_data)
// this.dyn_data.forEach(element => {
// this.scene = {
// type: 'container',
// props: {
// orientation: 'horizontal'
// },
// children: generateItems(this.dyn_data.length, (i) => ({
// id: `column${i}`,
// type: 'container',
// name: this.columnNames[i],
// props: {
// orientation: 'vertical',
// className: 'card-container'
// },
// children: generateItems(this.dyn_data[`${i}`].length, (j) => ({
// type: 'draggable',
// id: `${i}${j}`,
// props: {
// className: 'card',
// style: { backgroundColor: pickColor() }
// },
// data: lorem.slice(0, Math.floor(Math.random() * 150) + 30) ,
// data2: this.dyn_data[`${i}`][`${j}`].question,
// data3: this.dyn_data[`${i}`][`${j}`],
// column:this.columnNames2[i],
// //data2: this.data[`${j}`].question
// })),
// }))
// }
// this.items = generateItems(50, i => ({ data: 'Draggable ' + i }))
// });
}
onColumnDrop(dropResult) {
console.log(dropResult)
const scene = Object.assign({}, this.scene);
scene.children = applyDrag(scene.children, dropResult);
this.scene = scene;
}
onCardDrop(columnId, dropResult) {
console.log(columnId)
console.log(dropResult)
if (dropResult.removedIndex !== null || dropResult.addedIndex !== null) {
const scene = Object.assign({}, this.scene);
const column = scene.children.filter(p => p.id === columnId)[0];
const columnIndex = scene.children.indexOf(column);
const newColumn = Object.assign({}, column);
newColumn.children = applyDrag(newColumn.children, dropResult);
scene.children.splice(columnIndex, 1, newColumn);
this.scene = scene;
console.log( this.dyn_data)
}
}
getCardPayload(columnId) {
return (index) => {
return this.scene.children.filter(p => p.id === columnId)[0].children[index];
}
}
log(...params) {
console.log(...params);
}
add(a,value){
console.log(a)
console.log(value)
localStorage.removeItem('addquestion');
const dialogRef = this.dialog.open(ViewComponent, {
data: {'form_name':'node','template':[],'add':'param','data': this.data},
// position: { right: '0'},
disableClose: true,
minWidth: '30%',
maxWidth: '40%',
});
dialogRef.afterClosed()
.subscribe(dataresult => {
console.log(dataresult)
let data = localStorage.getItem('addquestion')
console.log(JSON.parse(data))
console.log(this.data)
console.log(value[0].column)
if( "All Questions" == value[0].column ){
// element.question = question
this.data.push(JSON.parse(data))
//console.log(question)
}
this.data.forEach(element => {
if(element.question instanceof Array ){
if(element.group_title == value[0].column){
console.log("group")
element.question.push(JSON.parse(data))
}
}
if( element.question == value[0].column ){
// element.question = question
//console.log(question)
if(element.onchange_properties instanceof Array && element.onchange_properties !=null){
if(element.onchange_properties[0] && element.onchange_properties[0].form_controls){
element.onchange_properties[0].form_controls[0].questions.push(JSON.parse(data))
// console.log(element.onchange_properties[0].form_controls[0].questions);
element.onchange_properties[0].form_controls[0].questions.forEach(sub => {
console.log(sub)
if(sub.question instanceof Array){
sub.questions.push(JSON.parse(data))
}
})
}
}
}else{
if(element.onchange_properties instanceof Array && element.onchange_properties !=null){
if(element.onchange_properties[0] && element.onchange_properties[0].form_controls){
// element.onchange_properties[0].form_controls[0].questions.push(JSON.parse(data))
// console.log(element.onchange_properties[0].form_controls[0].questions);
element.onchange_properties[0].form_controls[0].questions[0].question
if(element.onchange_properties[0].form_controls[0].questions[0].question instanceof Array){
element.onchange_properties[0].form_controls[0].questions[0].question.push(JSON.parse(data))
}
}
}
}
});
this.dyn_data
console.log( this.dyn_data)
this.gen_form()
});
}
selectedTabValue(event){
console.log(event)
this.labelName = event.tab.textLabel;
this.testingMethod( this.labelName)
}
testingMethod(testData) {
console.log(testData)
this.step=[];
this.done = [];
let s ;
let formid = localStorage.getItem('form_id');
let mapid = localStorage.getItem('map_id');
console.log( this.section_name)
this.section_name.forEach(element => {
if(element.form_name == testData ){
console.log(element.form_id)
console.log(element)
localStorage.setItem('form',JSON.stringify(element));
this.masterService.list_3.next(element);
let tmp = JSON.parse(element.json)
console.log(tmp)
this.todo = tmp.questions
this.question = tmp.questions
}
});
console.log(s)
// setTimeout(()=>{
// // this.edit.checkAll();
// }, 1000);
}
ngAfterViewInit() {
if( !this.scene.children){
this.router.navigate(['../../', ], {relativeTo: this.route});
}
}
show(a,b){
// console.log(a)
if(a instanceof Object){
//console.log(b)
return "Group Name : "+b
}else{
return a
}
// console.log(b)
let tmp =[]
let element =a
// console.log(element);
// element.onchange_properties[0].form_controls[0].questions
if(element.onchange_properties instanceof Array && element.onchange_properties !=null){
if(element.onchange_properties[0] && element.onchange_properties[0].form_controls){
// console.log(element.onchange_properties[0].form_controls[0].questions);
element.onchange_properties[0].form_controls[0].questions.forEach(sub => {
// console.log(sub.question)
tmp.push(sub)
});
}
}
if(tmp.length != 0){
console.log(tmp)
this.gen(tmp)
}
else{
return a.question
}
}
gen(data){
}
gen_form(){
this.columnNames=[];
this.columnNames2=[];
this.columnNames = ['All Questions'];
this.columnNames2 = ['All Questions'];
let dd = [];
dd.push( this.data)
let over_data = []
this.data.forEach(element => {
if(!element.group_title){
over_data.push(element)
}else{
this.columnNames.push("Group Name: "+element.group_title)
this.columnNames2.push(element.group_title)
dd.push( element.question)
}
});
this.data.forEach(element => {
let tmp2 =[]
// element.onchange_properties[0].form_controls[0].questions
if(element.onchange_properties instanceof Array && element.onchange_properties !=null){
if(element.onchange_properties[0] && element.onchange_properties[0].form_controls){
// console.log(element.onchange_properties[0].form_controls[0].questions);
element.onchange_properties[0].form_controls[0].questions.forEach(sub => {
// tmp2.push({[element.question]:sub})
if(sub.question instanceof Array){
this.columnNames.push("Group Name: "+sub.group_title)
this.columnNames2.push(sub.group_title)
sub.question.forEach(ss => {
tmp2.push( ss)
});
}else{
this.columnNames.push("Parent Questions: "+element.question)
this.columnNames2.push(element.question)
tmp2.push( sub)
}
});
}
}
console.log(tmp2);
if(tmp2.length !=0){
dd.push(tmp2)
}
})
this.dyn_data = dd
console.log(dd);
this.dyn_data.forEach(element => {
this.scene = {
type: 'container',
props: {
orientation: 'horizontal'
},
children: generateItems(this.dyn_data.length, (i) => ({
id: `column${i}`,
type: 'container',
name: this.columnNames[i],
props: {
orientation: 'vertical',
className: 'card-container'
},
children: generateItems(this.dyn_data[`${i}`].length, (j) => ({
type: 'draggable',
id: `${i}${j}`,
props: {
className: 'card',
style: { backgroundColor: pickColor() }
},
data: lorem.slice(0, Math.floor(Math.random() * 150) + 30) ,
data2: this.dyn_data[`${i}`][`${j}`].question,
data3: this.dyn_data[`${i}`][`${j}`],
column:this.columnNames2[i],
})),
}))
}
this.items = generateItems(50, i => ({ data: 'Draggable ' + i }))
});
}
Question_edit(value,data){
console.log(value)
console.log(data)
localStorage.setItem('edit', '0')
const dialogRef = this.dialog.open(ViewComponent, {
data: {'form_name': this.data,'full_data':this.full_data,'template':[],'add':value,'data':value.data2,id:"3"},
// position: { right: '0'},
disableClose: true,
minWidth: '50%',
maxWidth: '60%',
});
dialogRef.afterClosed()
.subscribe(dataresult => {
let edit = localStorage.getItem('edit')
if(edit == '1'){
localStorage.setItem('edit', '0')
let question = localStorage.getItem('question_edit')
let check = localStorage.getItem('question_check')
console.log(question)
console.log(JSON.parse(check))
this.data.forEach(element => {
// console.log(element.question)
// console.log(question)
if( element.question == value.data2 ){
element.question = question
element.disable = JSON.parse(check)
console.log(question)
}
if(element.onchange_properties instanceof Array && element.onchange_properties !=null){
if(element.onchange_properties[0] && element.onchange_properties[0].form_controls){
// console.log(element.onchange_properties[0].form_controls[0].questions);
element.onchange_properties[0].form_controls[0].questions.forEach(sub => {
if(sub.question == value.data2){
sub.question = question
sub.disable = JSON.parse(check)
if(sub.question instanceof Array){
sub.question.forEach(ss => {
if(ss.question == value.data2){
sub.disable = JSON.parse(check)
}
});
}
}
})
}
}
});
console.log( this.data);
this.gen_form()
}
});
}
loadPdViewCompoent(){
this.router.navigate(['../../', ], {relativeTo: this.route});
//this.router.navigate([ 'template2/lenderlist'], { relativeTo: this.route });
}
submit(){
console.log(localStorage.getItem('map_id'));
console.log(this.full_data);
let map_id = localStorage.getItem('map_id');
let form_id = this.full_data.section_id
// this.result.forEach(element => {
// const blob = new Blob([JSON.stringify(element)], {type : 'application/json'});
// saveAs(blob, 'sample');
// });
// this.checklistSelection.isSelected('node')
let formValues;
console.log("worked")
// this.masterService.saveupdatejsondetails(map_id,form_id ,this.full_data).subscribe(
// dataresult => {
// if (dataresult.status == 200) {
// console.log(dataresult);
// this.notifier.notify('success', 'Your Changes Updated.!');
// }
// else {
// this.notifier.notify('warning', 'Something Went Wrong Try Again.!');
// this.errorMessage = "Something Went Wrong Try Again.!";
// }
// }, error => {
// this.notifier.notify('error', 'Something Went Wrong Try Again.! \t\"' + (error.error_type == 2 ? error.error_status + ' ( ' + error.error_text + ' ) ' : ' ( ' + error.error_text + ' ) ') +'\" Error Occur.!');
// this.errorMessage = "Some Thing Wents Wrong Try Again.!";
// });
}
}

View File

@ -0,0 +1,26 @@
export const applyDrag = (arr, dragResult) => {
const { removedIndex, addedIndex, payload } = dragResult;
if (removedIndex === null && addedIndex === null) return arr;
const result = [...arr];
let itemToAdd = payload;
if (removedIndex !== null) {
itemToAdd = result.splice(removedIndex, 1)[0];
}
if (addedIndex !== null) {
result.splice(addedIndex, 0, itemToAdd);
}
return result;
};
export const generateItems = (count, creator) => {
//console.log(creator)
const result = [];
for (let i = 0; i < count; i++) {
result.push(creator(i));
}
return result;
};

View File

@ -1,81 +1,194 @@
<h2 mat-dialog-title class="paragraph_change">
<div fxFlex="70" align="left" style="padding: 10px !important;padding-left: 200px !important;">
<mat-card-title><span style="font-size:24px !important;padding-left: 200px !important"> Uncheck The Questions to be Disabled</span></mat-card-title><br>
</div>
<div fxFlex="30" align="end" style="padding: 10px !important;">
<!-- <button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Close" matTooltipPosition="right" mat-dialog-close><mat-icon>close</mat-icon></button> -->
<button mat-raised-button mat-icon-button class="hover-icon " type="button" matTooltip="Close" matTooltipPosition="above"
(click)="loadPdViewCompoent()"><mat-icon>close</mat-icon></button>
</div>
</h2>
<div>
<mat-card>
<div fxLayout="row" fxLayout.xs="column" fxLayoutWrap style="padding-top:1%">
<div fxFlex="80%" >
<mat-card-title><span style="font-size:24px">{{section_name}}</span></mat-card-title>
</div>
<div fxFlex="20%" style="padding-left: 50px;">
<!-- <button mat-raised-button mat-icon-button class="hover-icon " type="button" matTooltip="Close" matTooltipPosition="above"
(click)="loadPdViewCompoent()"><mat-icon>close</mat-icon></button> -->
</div>
</div>
<mat-card-content>
<div class="tree" fxFlex="100" align="end" >
<mat-list-item class="mat-list-item" role="listitem" style="background-color:#e00201;height:48px !important;"><div class="mat-list-item-content" style="flex-direction: row; box-sizing: border-box; display: flex;"><div class="mat-list-item-ripple mat-ripple" mat-ripple="" ng-reflect-disabled="true" ng-reflect-trigger="[object HTMLElement]"></div><div class="mat-list-text"></div><div fxflex="row" ng-reflect-flex="row" style="flex: 1 1 100%; box-sizing: border-box; flex-direction: row; display: flex;"><div fxflex="100" ng-reflect-flex="100" style="flex: 1 1 100%; box-sizing: border-box; max-width: 100%; flex-direction: row; display: flex;">
<!-- <div align="center" fxflex="100" style="color: rgb(255, 255, 255); flex: 1 1 100%; box-sizing: border-box; max-width: 100%;" ng-reflect-flex="100" class="ng-star-inserted"><i class="fa-1x fa fa-check-circle"></i><small style="margin-left: 2%; font-size: inherit">Full PD </small></div> -->
</div></div></div></mat-list-item>
<!-- <button style="float: right;" mat-raised-button mat-icon-button class="hover-icon " type="button" matTooltip="Close" matTooltipPosition="above"
(click)="loadPdViewCompoent()"><mat-icon>close</mat-icon></button> -->
<!-- <button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Close"
matTooltipPosition="right" mat-dialog-close>
<mat-icon>close</mat-icon>
</button> -->
<div align="right" style="padding-right: 80px;">
<button style="float: right;" type="submit" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button matTooltip="Submit"
matTooltipPosition="above" (click)="submit()" >
<mat-icon>save</mat-icon>
</button>
</div>
<mat-tree #tree [dataSource]="dataSource" [treeControl]="treeControl" style="padding-left: 80px;">
<mat-tree-node *matTreeNodeDef="let node" matTreeNodeToggle matTreeNodePadding >
<button mat-icon-button disabled></button>
<mat-checkbox class="checklist-leaf-node"
[checked]="checklistSelection.isSelected(node) == false"
(change)="todoLeafItemSelectionToggle(node,checklistSelection.isSelected(node))"><span style="color: red;" [ngStyle] = "{'background-color':checklistSelection.isSelected(node) == true ? 'red' : ''}&&{'text-decoration':checklistSelection.isSelected(node) == true ? 'line-through' : ''}" > <span style='color:black;font-size: 20px;'>{{node.item}}</span></span></mat-checkbox>
</mat-tree-node>
<mat-tree-node *matTreeNodeDef="let node; when: hasNoContent" matTreeNodePadding>
<button mat-icon-button disabled></button>
<mat-form-field>
<input matInput #itemValue placeholder="New item...">
</mat-form-field>
<button mat-button (click)="saveNode(node, itemValue.value)">Save</button>
</mat-tree-node>
<mat-tree-node *matTreeNodeDef="let node; when: hasChild" matTreeNodePadding>
<button mat-icon-button matTreeNodeToggle
[attr.aria-label]="'toggle ' + node.filename">
<mat-icon class="mat-icon-rtl-mirror">
{{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}
</mat-icon>
</button>
<mat-checkbox [checked]="descendantsAllSelected(node) == false"
[indeterminate]="descendantsPartiallySelected(node)"
(change)="todoItemSelectionToggle(node,descendantsAllSelected(node))"><span style="color: red;" [ngStyle] = "{'background-color':descendantsAllSelected(node) == true ? 'red' : ''}&&{'text-decoration':descendantsAllSelected(node) == true ? 'line-through' : ''}" > <span style='color:black;font-size: 20px;'>{{node.item}}</span></span></mat-checkbox>
</mat-tree-node>
</mat-tree>
<!-- <button mat-button color="primary" (click)="submit()" >submit</button> -->
<div class="form">
<h2 mat-dialog-title class="paragraph_change">
<div fxFlex="70" align="left" style="padding: 10px !important;">
<span>Uncheck The Questions to be Disabled </span><br>
</div>
<div fxFlex="30" align="end" style="padding: 10px !important;">
<button mat-raised-button mat-icon-button class="hover-icon " type="button" matTooltip="Close" matTooltipPosition="above"
(click)="loadPdViewCompoent()"><mat-icon>close</mat-icon></button>
</div>
</h2>
<!-- [ngStyle] = "{'background-color':row.item.is_calculated == '1' ? '#f5f5f5' : ''}" -->
</div>
</mat-card-content>
</mat-card>
<mat-dialog-content style="border-bottom: 2px solid #e2412f8f;" >
<mat-tab-group [selectedIndex]=form_index (selectedTabChange)="selectedTabValue($event)" #tabGroup>
<mat-tab *ngFor="let formButton of section_name;" label="{{formButton.form_name}}" >
<ng-template matTabContent>
<ng-container >
<mat-card>
<mat-card-content>
<div class="tree" fxFlex="100" align="end" >
<mat-list-item class="mat-list-item" role="listitem" style="background-color:#e00201;height:48px !important;"><div class="mat-list-item-content" style="flex-direction: row; box-sizing: border-box; display: flex;"><div class="mat-list-item-ripple mat-ripple" mat-ripple="" ng-reflect-disabled="true" ng-reflect-trigger="[object HTMLElement]"></div><div class="mat-list-text"></div><div fxflex="row" ng-reflect-flex="row" style="flex: 1 1 100%; box-sizing: border-box; flex-direction: row; display: flex;"><div fxflex="100" ng-reflect-flex="100" style="flex: 1 1 100%; box-sizing: border-box; max-width: 100%; flex-direction: row; display: flex;">
<!-- <div align="center" fxflex="100" style="color: rgb(255, 255, 255); flex: 1 1 100%; box-sizing: border-box; max-width: 100%;" ng-reflect-flex="100" class="ng-star-inserted"><i class="fa-1x fa fa-check-circle"></i><small style="margin-left: 2%; font-size: inherit">Full PD </small></div> -->
</div></div></div></mat-list-item>
<div align="right" style="padding-right: 80px;">
</div>
<!-- <button mat-raised-button color="accent" (click)="checkAll()">Expand All</button> -->
<!-- <form [formGroup]="regForm" > -->
<mat-tree #tree [dataSource]="dataSource" [treeControl]="treeControl" style="padding-left: 150px;background-color: whitesmoke;" >
<mat-tree-node *matTreeNodeDef="let node;let quesIndex=index" matTreeNodeToggle matTreeNodePadding >
<button mat-icon-button disabled></button>
<!-- <mat-card-content class="dx-selectbox" > -->
<!-- <mat-checkbox
[checked]="checklistSelection.isSelected(node) == false"
(change)="todoLeafItemSelectionToggle(node,checklistSelection.isSelected(node))"><span style="color: red;" [ngStyle] = "{'background-color':checklistSelection.isSelected(node) == true ? 'red' : ''}&&{'text-decoration':checklistSelection.isSelected(node) == true ? 'line-through' : ''}" > <span style='color:black;font-size: 18px;'> {{node.item}} </span></span></mat-checkbox> -->
<!-- <mat-checkbox class="checklist-leaf-node"
[checked]="checklistSelection.isSelected(node) == add(node)"
(change)="todoLeafItemSelectionToggle(node,checklistSelection.isSelected(node))"><span style="color: red;" [ngStyle] = "{'background-color':checklistSelection.isSelected(node) == true ? 'red' : ''}&&{'text-decoration':checklistSelection.isSelected(node) == true ? 'line-through' : ''}" > <span style='color:black;font-size: 18px;'>{{node.item}}</span></span></mat-checkbox> -->
<!-- <div class="edit_hover_class">
<mat-card > {{node.item}} </mat-card ><mat-icon>delete</mat-icon>
</div> -->
<mat-card fxFlex.xs="100" fxFlex.sm="45" fxFlex.md="30%" fxFlex.lg="30%" fxFlex.xl="30%" >
<!-- <mat-card-header class="edit_hover_class" [ngStyle] = "{'background-color':expand_question[node.level].disable == checklistSelection.isSelected(node) ? '#f9c1c1' : '#7fffd4'}" > -->
<mat-card-header class="edit_hover_class" [ngStyle] = "{'background-color': checklistSelection.isSelected(node) ? '#f9c1c1' : '#fff'}" >
<!-- <div id="wrapper">
<span class="block" style=" border-radius: 0px 0px 0px 0px!important;;width: 50px !important; " class="menu-badge mat-purple ng-star-inserted" align="center"><mat-icon style="padding: 3px;" matTooltip="Edit" (click)="editItem(node)">edit</mat-icon> </span>
<span class="block" style=" border-radius: 0px 0px 0px 0px!important;background-color: #02bf8a;width: 50px !important; " class="menu-badge ng-star-inserted" align="center"><mat-icon style="padding: 3px;" matTooltip="Add" (click)="addNewItem(node)">add</mat-icon> </span>
</div> -->
<span [ngStyle] = "{'background-color': checklistSelection.isSelected(node) ? '#e00201' : '#4caf50'}" style=" border-radius: 0px 0px 0px 0px!important;;width: 50px !important;background-color: #4caf50; " class="menu-badge ng-star-inserted" align="center"> <mat-icon style="color: white;padding-top: 10px;" matTooltip="Question">contact_support</mat-icon> </span>
<div fxFlex="100" align="left" style="padding:10px !important;width: 40px !important;">
<span [ngStyle] = "{'background-color':checklistSelection.isSelected(node) == true ? 'red' : 'green'}&&{'text-decoration':checklistSelection.isSelected(node) == true ? 'line-through' : ''}" > {{node.item}} </span>
<!-- <mat-checkbox
[checked]="checklistSelection.isSelected(node) == false"
(change)="todoLeafItemSelectionToggle(node,checklistSelection.isSelected(node))"><span style="color: red;" [ngStyle] = "{'background-color':checklistSelection.isSelected(node) == true ? 'red' : ''}&&{'text-decoration':checklistSelection.isSelected(node) == true ? 'line-through' : ''}" > <span style='color:black;font-size: 18px;white-space: initial;'> {{node.item}} </span></span></mat-checkbox> -->
</div>
<!-- <span style="padding: 17px 14px 3px 15px !important;border-radius: 0px 0px 0px 15px!important;width: 50px !important;" class="menu-badge mat-purple ng-star-inserted" align="center"><mat-icon (click)="addNewItem(node)" matTooltip="Add">add</mat-icon> </span> -->
<!-- <span style="padding: 17px 14px 3px 15px !important;border-radius: 0px 0px 0px 15px!important;width: 50px !important;" class="menu-badge mat-purple ng-star-inserted" align="center"><mat-icon>delete</mat-icon> </span> -->
</mat-card-header>
</mat-card>
<span *ngIf ="checklistSelection.isSelected(node) == false" class="child" style="padding-left: 50px;" > <mat-icon class="your-icon-class" matTooltip="Delete" (click)="todoLeafItemSelectionToggle(node,checklistSelection.isSelected(node))" (change)="todoLeafItemSelectionToggle(node,checklistSelection.isSelected(node))" >delete_outline</mat-icon> </span>
<span *ngIf ="checklistSelection.isSelected(node) == true" class="child" style="padding-left: 50px;" > <mat-icon class="your-icon-class" matTooltip="Restore" (click)="todoLeafItemSelectionToggle(node,checklistSelection.isSelected(node))" (change)="todoLeafItemSelectionToggle(node,checklistSelection.isSelected(node))" >restore_from_trash</mat-icon> </span>
<span *ngIf ="checklistSelection.isSelected(node) == false" class="child" style="padding-left: 30px;" > <mat-icon class="your-icon-class" matTooltip="Add" (click)="addNewItem(node)" >add_circle_outline</mat-icon> </span>
<span *ngIf ="checklistSelection.isSelected(node) == false" class="child" style="padding-left: 30px;" > <mat-icon class="your-icon-class" matTooltip="Edit" (click)="editItem(node)" >edit</mat-icon> </span>
<!-- <mat-card class="card2" > {{node.item}} </mat-card > -->
<!-- <div class="edit_hover_class" fxFlex="70" align="left" style="padding: 10px !important;">
<span style="font-size: larger;">{{node.item}} </span>
<mat-icon style="padding-left: 20px;">delete</mat-icon>
</div> -->
<!-- </mat-card-content> -->
<!-- <button mat-icon-button (click)="refreshTree()"><mat-icon>add</mat-icon></button> -->
</mat-tree-node>
<mat-tree-node *matTreeNodeDef="let node; when: hasNoContent" matTreeNodePadding>
<!-- {{node |json}} -->
<button mat-icon-button disabled></button>
<mat-form-field>
<input matInput #itemValue placeholder="New Question...">
</mat-form-field>
<button mat-button (click)="saveNode(node, itemValue.value)">Save</button>
</mat-tree-node>
<mat-tree-node *matTreeNodeDef="let node; when: hasChild" matTreeNodePadding class="edit_hover_class" >
<button mat-icon-button matTreeNodeToggle style="background-color: #ccc;"
[attr.aria-label]="'toggle ' + node.filename">
<mat-icon class="mat-icon-rtl-mirror">
{{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}
</mat-icon>
</button>
<!-- <mat-card-content class="dx-selectbox" > -->
<!-- <mat-checkbox [checked]="descendantsAllSelected(node) == false"
[indeterminate]="descendantsPartiallySelected(node)"
(change)="todoItemSelectionToggle(node,descendantsAllSelected(node))"><span style="color: red;" [ngStyle] = "{'background-color':descendantsAllSelected(node) == true ? 'red' : ''}&&{'text-decoration':descendantsAllSelected(node) == true ? 'line-through' : ''}" > <span style='color:black;font-size: 18px;'> {{node.item}} </span></span></mat-checkbox> -->
<!-- <mat-checkbox [checked]="descendantsAllSelected(node) == add(node)"
[indeterminate]="descendantsPartiallySelected(node)"
(change)="todoItemSelectionToggle(node,descendantsAllSelected(node))"><span style="color: red;" [ngStyle] = "{'background-color':descendantsAllSelected(node) == true ? 'red' : ''}&&{'text-decoration':descendantsAllSelected(node) == true ? 'line-through' : ''}" > <span style='color:black;font-size: 18px;'>{{node.item}}</span></span></mat-checkbox> -->
<!-- <div class="edit_hover_class">
<mat-card > {{node.item}} </mat-card >
</mat-card-content > -->
<!-- </div> -->
<mat-card fxFlex.xs="100" fxFlex.sm="45" fxFlex.md="32.3%" fxFlex.lg="32.3%" fxFlex.xl="32.3%" >
<mat-card-header [ngStyle] = "{'background-color':descendantsAllSelected(node) ? '#f9c1c1' : '#fff'}" style=" border-radius: 0px 0px 0px 0px!important;" >
<!-- <div id="wrapper">
<span class="block" *ngIf ="node.item != 'Questions' " class="your-icon-class" style=" border-radius: 0px 0px 0px 0px!important;;width: 50px !important; " class="menu-badge mat-purple ng-star-inserted" align="center"><mat-icon style="padding: 3px;" (click)="editItem(node)">edit</mat-icon> </span>
<span class="block" *ngIf ="node.item != 'Questions' " class="your-icon-class" style=" border-radius: 0px 0px 0px 0px!important;;width: 50px !important; background-color: #7fffd4;" class="menu-badge ng-star-inserted" align="center"><mat-icon style="padding: 3px;" (click)="addNewItem(node)">add</mat-icon> </span>
</div> -->
<!-- <span class="block" *ngIf ="node.item != 'Questions' " class="your-icon-class" style=" border-radius: 0px 0px 0px 0px!important;;width: 50px !important; " class="menu-badge mat-purple ng-star-inserted" align="center"><mat-icon style="padding: 3px;" (click)="editItem(node)">edit</mat-icon> </span> -->
<span [ngStyle] = "{'background-color':descendantsAllSelected(node) ? '#e00201' : '#4caf50'}" style=" border-radius: 0px 0px 0px 0px!important;width: 50px !important;background-color: #4caf50; " class="menu-badge ng-star-inserted" align="center"> <mat-icon style="color: white;padding-top: 10px;" matTooltip="Question">contact_support</mat-icon> </span>
<div fxFlex="100" align="left" style="padding:10px !important;">
<span [ngStyle] = "{'background-color':descendantsAllSelected(node) == true ? 'red' : 'green'}&&{'text-decoration':descendantsAllSelected(node) == true ? 'line-through' : ''}" > {{node.item}} </span>
<!-- <span ng-style="descendantsAllSelected(node) == true && {'background-color':'black'},thisCondition2 && {'color':'green'}" > {{node.item}} </span> -->
<!-- <mat-checkbox [checked]="descendantsAllSelected(node) == false"
[indeterminate]="descendantsPartiallySelected(node)"
(change)="todoItemSelectionToggle(node,descendantsAllSelected(node))"><span style="color: red;" [ngStyle] = "{'background-color':descendantsAllSelected(node) == true ? 'red' : ''}&&{'text-decoration':descendantsAllSelected(node) == true ? 'line-through' : ''}" > <span style='color:black;font-size: 18px;white-space: initial;'> {{node.item}} </span></span></mat-checkbox> -->
</div>
<!-- <span *ngIf ="node.item == 'Questions' " style="padding: 17px 14px 3px 15px !important;border-radius: 0px 0px 0px 15px!important;width: 50px !important;" class="menu-badge mat-purple ng-star-inserted" align="center"><mat-icon>help</mat-icon> </span> -->
<!-- <span y style="padding: 17px 14px 3px 15px !important;border-radius: 0px 0px 0px 15px!important;width: 50px !important;" class="menu-badge mat-purple ng-star-inserted" align="center"><mat-icon (click)="addNewItem(node)" matTooltip="Add">add</mat-icon> </span> -->
</mat-card-header>
</mat-card>
<span *ngIf ="descendantsAllSelected(node) == false" class="child" style="padding-left: 50px;" > <mat-icon class="your-icon-class" matTooltip="Delete" (click)="todoItemSelectionToggle(node,descendantsAllSelected(node)) " >delete_outline</mat-icon> </span>
<span *ngIf ="descendantsAllSelected(node) == true" class="child" style="padding-left: 50px;" > <mat-icon class="your-icon-class" matTooltip="Restore" (click)="todoItemSelectionToggle(node,descendantsAllSelected(node)) " >restore_from_trash</mat-icon> </span>
<span *ngIf ="descendantsAllSelected(node) == false" class="child" style="padding-left: 30px;" > <mat-icon class="your-icon-class" matTooltip="Add" (click)="addNewItem(node)" >add_circle_outline</mat-icon> </span>
<span *ngIf ="((descendantsAllSelected(node) == false) && (node.item != 'Questions'))" class="child" style="padding-left: 30px;" > <mat-icon class="your-icon-class" matTooltip="Edit" (click)="editItem(node)" >edit</mat-icon> </span>
<!-- <button mat-icon-button (click)="removeItem(node)"><mat-icon>add</mat-icon></button> -->
<!-- <button mat-icon-button (click)="addNewItem(node)"><mat-icon>add</mat-icon></button> -->
</mat-tree-node>
</mat-tree>
<!-- <button mat-button color="primary" (click)="submit()" >submit</button> -->
<!-- [ngStyle] = "{'background-color':row.item.is_calculated == '1' ? '#f5f5f5' : ''}" -->
<!-- </form > -->
</div>
<div *ngIf="visible == true ">
<h1>static form</h1>
</div>
</mat-card-content>
</mat-card>
</ng-container>
</ng-template>
</mat-tab>
</mat-tab-group>
</mat-dialog-content>
<mat-dialog-actions>
<div fxFlex="60" class="pb-0 text-sm-left" align="left">
<!-- <mat-form-field appearance="outline" style="width: 100%">
<mat-label>Remarks</mat-label>
<textarea matInput placeholder="Remarks" formControlName="general_remark"></textarea>
</mat-form-field> -->
</div>
<div fxFlex="40" align="end">
<!-- <button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Save"
matTooltipPosition="above" [disabled]="disableAfterSubmit===true"
(click)="submitGeneralForm(_generalForm.value)">
<mat-icon>save</mat-icon>
</button> -->
<button style="float: right;" type="submit" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button matTooltip="Submit"
matTooltipPosition="above" (click)="submit()" >
<mat-icon>save</mat-icon>
</button>
</div>
</mat-dialog-actions>
</div>
<notifier-container></notifier-container>

View File

@ -1,72 +1,190 @@
.cdk-global-overlay-wrapper {
overflow: auto;
pointer-events: auto; // needed for chrome but prevents backdrop click close
}
.paragraph_change {
color: #fff !important;
background-color: #e00201 !important;
}
::ng-deep { .no-padding > mat-dialog-container {
// background: black;
padding: 0;
// overflow-y: scroll !important;
}
}
.mat-dialog-content{
margin:0px !important;
}
// mat-placeholder{
// margin-top: 20px;
// word-wrap: break-word;
// }
// input{
// height:40px;
// .cdk-global-overlay-wrapper {
// overflow: auto;
// pointer-events: auto; // needed for chrome but prevents backdrop click close
// }
// .paragraph_change {
// color: #fff !important;
// background-color: #e00201 !important;
// }
// ::ng-deep { .no-padding > mat-dialog-container {
// // background: black;
// padding: 0;
// // overflow-y: scroll !important;
// }
// }
// .mat-dialog-content{
// margin:0px !important;
// }
// // mat-placeholder{
// // margin-top: 20px;
// // word-wrap: break-word;
// // }
// // input{
// // height:40px;
// // }
// .mat-form-field-label {
// white-space: normal;
// }
.mat-form-field-label {
white-space: normal;
}
// textarea.mat-input-element {
// padding: 0px 0;
// margin: 5px 0;
// }
textarea.mat-input-element {
padding: 0px 0;
margin: 5px 0;
}
.mat-input-placeholder {
white-space: normal;
}
// .mat-input-placeholder {
// white-space: normal;
// }
// .paragraph_change {
// color: #fff !important;
// background-color: #e00201 !important;
// }
// .p-text {
// color:#e00201 !important;
// font-weight: bold;
// }
// ::ng-deep .mat-card-header-text{
// margin:0px !important;
// }
// .mat-purple{
// background-color: gray !important;
// }
// .cdk-global-overlay-wrapper{
// justify-content: center !important;
// }
// $base-card-box-shadow:1.5px 2.6px 24px 0 rgba(0, 35, 136, 0.08) !important;
// mat-card .child_mat_card > mat-card {
// border-radius: 0px 0px 0px 15px;
// box-shadow: $base-card-box-shadow;
// transform: scale(0.95);
// transition: box-shadow 0.5s, transform 0.5s;
// border: 1px solid lavender;
// &:hover {
// cursor: pointer;
// // background-color: #e00201 !important;
// transform: scale(1);
// box-shadow: 5px 20px 30px rgba(0, 0, 0, 0.2);
// }
// }
.paragraph_change {
color: #fff !important;
background-color: #e00201 !important;
}
.p-text {
color:#e00201 !important;
font-weight: bold;
}
::ng-deep .mat-card-header-text{
margin:0px !important;
::ng-deep { .no-padding > mat-dialog-container {
// background: black;
padding: 0;
// overflow-y: scroll !important;
}
.mat-purple{
background-color: gray !important;
}
.cdk-global-overlay-wrapper{
justify-content: center !important;
.mat-dialog-content{
margin:0px !important;
}
$base-card-box-shadow:1.5px 2.6px 24px 0 rgba(0, 35, 136, 0.08) !important;
mat-card .child_mat_card > mat-card {
border-radius: 0px 0px 0px 15px;
box-shadow: $base-card-box-shadow;
transform: scale(0.95);
transition: box-shadow 0.5s, transform 0.5s;
border: 1px solid lavender;
// mat-placeholder{
// margin-top: 20px;
// word-wrap: break-word;
// }
// input{
// height:40px;
// }
.mat-tree-node {
&:hover {
cursor: pointer;
// background-color: #e00201 !important;
transform: scale(1);
box-shadow: 5px 20px 30px rgba(0, 0, 0, 0.2);
background-color: #cae6f3 !important;
// background-color: rgba(255, 220, 0, 0.1) !important;
}
}
.mat-card-content, .mat-card-header, .mat-card-title, .mat-cell, .mat-form-field {
// background-color: #26cfa8;
}
.form{
background-color: white !important;
}
.mat-tree-node {
font-weight: 400;
/* font-size: 14px; */
}
.mat-form-field-label {
white-space: normal;
}
textarea.mat-input-element {
padding: 0px 0;
margin: 5px 0;
}
.mat-input-placeholder {
white-space: normal;
}
.example-tree-progress-bar {
margin-left: 30px;
}
.edit_hover_class span{
// display:none !important
}
.edit_hover_class:hover span {
display:block !important
}
.card{
height: 40px;
//width: 280px;
width: 325px;
background-color: aqua;
}
.card2{
height: 40px;
width: 280px;
background-color: aqua;
}
.your-icon-class:hover {
color: #e00201 !important;
}
.mat-tree-node {
.child{
display:none !important
}
}
.mat-card-subtitle, .mat-card-content, .mat-card-header, .mat-card-title, .mat-cell, .mat-form-field {
font-size: 1.0rem !important;
}
.mat-tree-node {
&:hover span{
display:block !important
}
}
#wrapper {
display: flex;
flex-direction: column;
flex-wrap: wrap;
}
}
.block {
width: 90px;
flex: 0 0 50px;
margin: 5px;
background-color: red;
}
.block {
width: 90px;
flex: 0 0 50px;
margin: 5px;
background-color: blue;
}
.bigger {
flex-basis: 110px;
}

View File

@ -2,15 +2,23 @@
import {SelectionModel} from '@angular/cdk/collections';
import {FlatTreeControl} from '@angular/cdk/tree';
import {Component, Injectable, ViewChild} from '@angular/core';
import {Component, Injectable, SimpleChanges, ViewChild} from '@angular/core';
import {MatTreeFlatDataSource, MatTreeFlattener} from '@angular/material/tree';
import {BehaviorSubject} from 'rxjs';
import { of as ofObservable, Observable, BehaviorSubject } from 'rxjs';
import { MasterService } from '../master.service';
import { NotifierService } from 'angular-notifier';
import { ActivatedRoute, Router, Params } from '@angular/router';
import { FocusTrap } from '@angular/cdk/a11y';
import { LenderListComponent } from '../lender-list/lender-list.component';
import { LoaderService } from 'app/shared/loaderService/loader.service';
import { FormBuilder, Validators } from '@angular/forms';
import { state } from '@angular/animations';
import { ViewComponent } from '../view/view.component';
import { MatDialog } from '@angular/material';
/**
* Node for to-do item
*/
@ -37,7 +45,9 @@ export class TodoItemFlatNode {
* If a node is a category, it has children items and new items can be added under the category.
*/
@Injectable()
export class ChecklistDatabase {
@ViewChild('tree') tree;
dataChange = new BehaviorSubject<TodoItemNode[]>([]);
val: any;
@ -45,12 +55,20 @@ export class ChecklistDatabase {
checked:any=true;
myModel = true;
section_name: any=[];
forms: any;
visible: boolean;
get data(): TodoItemNode[] { return this.dataChange.value; }
constructor( private masterService: MasterService) {
constructor( private masterService: MasterService,private loaderService:LoaderService, ) {
let formid = localStorage.getItem('form_id');
let mapid = localStorage.getItem('map_id');
console.log(formid)
console.log(mapid)
this.masterService.list_4_observable$.subscribe(res=> {
console.log("nav list 3",res)
this.forms = res
})
this.masterService.questionsjson(formid,mapid).subscribe(
data => {
@ -67,7 +85,7 @@ export class ChecklistDatabase {
})
console.log()
console.log(this.tree)
// let question_json = JSON.parse(JSON.parse(data.json))
// console.log(question_json)
let question_json;
@ -87,15 +105,51 @@ export class ChecklistDatabase {
// var b=JSON.stringify(data);
// let str = b.replace(/\\/g, '');
}
testingMethod(testData) {
console.log(testData)
let s ;
let formid = localStorage.getItem('form_id');
let mapid = localStorage.getItem('map_id');
console.log( this.forms)
this.forms.forEach(element => {
if(element.form_name == testData ){
console.log(element.form_id)
console.log(element)
this.masterService.list_3.next(element);
let form_id = element.form_id
this.masterService.questionsjson(form_id,mapid).subscribe(
data => {
console.log(data)
if(data['dataStatus'] == false){
this.visible = true;
}
this.initialize(data);
});
}
});
console.log(s)
// setTimeout(()=>{
// // this.edit.checkAll();
// }, 1000);
}
initialize(tmp:any) {
// Build the tree nodes from Json object. The result is a list of `TodoItemNode` with nested
// file node as children.
console.log(this.val)
console.log(tmp)
// let TREE_DATA;
// let child_l1 = []
// let group =[];
@ -262,44 +316,96 @@ export class ChecklistDatabase {
// Notify the change.
this.dataChange.next(data);
}
/**
* Build the file structure tree. The `value` is the Json object, or a sub-tree of a Json object.
* The return value is the list of `TodoItemNode`.
*/
buildFileTree(obj: {[key: string]: any}, level: number): TodoItemNode[] {
return Object.keys(obj).reduce<TodoItemNode[]>((accumulator, key) => {
const value = obj[key];
const node = new TodoItemNode();
node.item = key;
// buildFileTree(obj: {[key: string]: any}, level: number): TodoItemNode[] {
// return Object.keys(obj).reduce<TodoItemNode[]>((accumulator, key) => {
// const value = obj[key];
// const node = new TodoItemNode();
// node.item = key;
if (value != null) {
if (typeof value === 'object') {
node.children = this.buildFileTree(value, level + 1);
} else {
node.item = value;
}
}
// if (value != null) {
// if (typeof value === 'object') {
// node.children = this.buildFileTree(value, level + 1);
// } else {
// node.item = value;
// }
// }
return accumulator.concat(node);
}, []);
}
// return accumulator.concat(node);
// }, []);
// }
/** Add an item to to-do list */
insertItem(parent: TodoItemNode, name: string) {
if (parent.children) {
parent.children.push({item: name} as TodoItemNode);
this.dataChange.next(this.data);
// /** Add an item to to-do list */
// insertItem(parent: TodoItemNode, name: string) {
// if (parent.children) {
// parent.children.push({item: name} as TodoItemNode);
// this.dataChange.next(this.data);
// }
// }
// RemoveItem(parent: TodoItemNode, name: string) {
// if (parent.children) {
// parent.children.pop();
// this.dataChange.next(this.data);
// }
// }
// updateItem(node: TodoItemNode, name: string) {
// console.log(node)
// node.item = name;
// this.dataChange.next(this.data);
// }
// }
buildFileTree(value: any, level: number) {
let data: any[] = [];
for (let k in value) {
let v = value[k];
let node = new TodoItemNode();
node.item = `${k}`;
if (v === null || v === undefined) {
// no action
} else if (typeof v === 'object') {
node.children = this.buildFileTree(v, level + 1);
} else {
node.item = v;
}
data.push(node);
}
updateItem(node: TodoItemNode, name: string) {
node.item = name;
this.dataChange.next(this.data);
}
return data;
}
/** Add an item to to-do list */
insertItem(parent: TodoItemNode, name: string) {
const child = <TodoItemNode>{ item: name };
if (parent.children) { // parent already has children
parent.children.push(child);
this.dataChange.next(this.data);
}
else { // if parent is a leaf node
parent.children = [];
parent.children.push(child);
this.dataChange.next(this.data);
}
}
RemoveItem(parent: TodoItemNode, name: string) {
const child = <TodoItemNode>{ item: name };
console.log(parent)
parent.children.pop();
this.dataChange.next(this.data);
}
updateItem(node: TodoItemNode, name: string) {
node.item = name;
this.dataChange.next(this.data);
}
}
/**
* @title Tree with checkboxes
*/
@ -317,19 +423,16 @@ export class ChecklistDatabase {
})
export class EditTemplateComponent {
/** Map from flat node to nested node. This helps us finding the nested node to be modified */
flatNodeMap = new Map<TodoItemFlatNode, TodoItemNode>();
flatNodeMap: Map<TodoItemFlatNode, TodoItemNode> = new Map<TodoItemFlatNode, TodoItemNode>();
/** Map from nested node to flattened node. This helps us to keep the same object for selection */
nestedNodeMap = new Map<TodoItemNode, TodoItemFlatNode>();
nestedNodeMap: Map<TodoItemNode, TodoItemFlatNode> = new Map<TodoItemNode, TodoItemFlatNode>();
/** A selected parent node to be inserted */
selectedParent: TodoItemFlatNode | null = null;
/** The new item's name */
newItemName = '';
newItemName: string = '';
treeControl: FlatTreeControl<TodoItemFlatNode>;
@ -337,6 +440,7 @@ export class EditTemplateComponent {
dataSource: MatTreeFlatDataSource<TodoItemNode, TodoItemFlatNode>;
/** The selection for checklist */
checklistSelection = new SelectionModel<TodoItemFlatNode>(true /* multiple */);
val: any;
@ -344,8 +448,13 @@ export class EditTemplateComponent {
errorMessage: string;
form_id: any;
section_name: any;
labelName: any;
form_index:any=[];
form_details: any;
expand_question: any;
regForm: any;
constructor(private database: ChecklistDatabase, private masterService: MasterService, private notifier: NotifierService , private route: ActivatedRoute,
constructor(private dialog: MatDialog,private formBuilder: FormBuilder,private database: ChecklistDatabase, private masterService: MasterService, private notifier: NotifierService , private route: ActivatedRoute,
private router: Router, private LenderListComponent: LenderListComponent,private loaderService:LoaderService) {
this.treeFlattener = new MatTreeFlattener(this.transformer, this.getLevel,
this.isExpandable, this.getChildren);
@ -355,35 +464,59 @@ export class EditTemplateComponent {
database.dataChange.subscribe(data => {
this.dataSource.data = data;
});
let id = this.route.snapshot.params.id;
this.form_index = id;
console.log(id);
this.loaderService.showMatSpinnerDialog("")
this.masterService.list_3_observable$.subscribe(res=> {
console.log("nav list 3",res)
let form = localStorage.getItem('form');
// console.log(form)
this.form_details = JSON.parse(form)
console.log( this.form_details)
this.val = JSON.parse(this.form_details.json)
this.form_id = this.form_details.form_id;
this.expand_question = this.val.questions
console.log( this.val);
//this.checkAll()
// this.masterService.list_3_observable$.subscribe(res=> {
// console.log("nav list 3",res)
this.section_name = res.form_name
this.form_id = res.form_id;
// // this.section_name = res.form_name
// this.form_id = res.form_id;
this.val = JSON.parse(res.json)
this.val
// this.val = JSON.parse(res.json)
// console.log( this.val )
// })
this.masterService.list_4_observable$.subscribe(res=> {
console.log("nav list 3",res)
// let tmp = []
// res.forEach(element => {
// if(element.form_id != '13'){
// tmp.push(element)
// }
// });
this.section_name = res
})
}
// ngOnInit() {
// setTimeout(()=>{
// this.tree.treeControl.expandAll();
// }, 1000);
// }
getLevel = (node: TodoItemFlatNode) => node.level;
ngOnInit() {
}
getLevel = (node: TodoItemFlatNode) => { return node.level; };
isExpandable = (node: TodoItemFlatNode) => node.expandable;
getChildren = (node: TodoItemNode): TodoItemNode[] => node.children;
hasChild = (_: number, _nodeData: TodoItemFlatNode) => _nodeData.expandable;
isExpandable = (node: TodoItemFlatNode) => { return node.expandable; };
getChildren = (node: TodoItemNode): Observable<TodoItemNode[]> => {
return ofObservable(node.children);
}
hasChild = (_: number, _nodeData: TodoItemFlatNode) => { return _nodeData.expandable; };
hasNoContent = (_: number, _nodeData: TodoItemFlatNode) => { return _nodeData.item === ''; };
@ViewChild('tree') tree;
hasNoContent = (_: number, _nodeData: TodoItemFlatNode) => _nodeData.item === '';
/**
* Transformer to convert nested node to flat node. Record the nodes in maps for later use.
@ -410,11 +543,15 @@ getLevel = (node: TodoItemFlatNode) => node.level;
return descAllSelected;
}
ngAfterViewInit() {
if(this.tree == undefined){
this.router.navigate(['../../', ], {relativeTo: this.route});
}
setTimeout(()=>{
this.tree.treeControl.expandAll();
this.loaderService.closeMatSpinnerDialog()
console.log( this.tree)
// this.tree.treeControl.expandAll();
this.checkAll()
this.loaderService.closeMatSpinnerDialog()
}, 500);
}
@ -429,7 +566,16 @@ getLevel = (node: TodoItemFlatNode) => node.level;
todoItemSelectionToggle(node: TodoItemFlatNode,b): void {
///all select
console.log(node.item + b)
// this.masterService.list_3_observable$.subscribe(res=> {
// console.log("nav list 3",res)
// // this.section_name = res.form_name
// this.form_id = res.form_id;
// this.val = JSON.parse(res.json)
// this.val
// })
console.log(node)
console.log(this.val)
if(node.item == 'Available_Group_Questions'){
@ -454,7 +600,7 @@ getLevel = (node: TodoItemFlatNode) => node.level;
});
}
}
else if(node.item == 'Available_Questions'){
else if(node.item == 'Questions'){
console.log("2")
if(this.val.questions instanceof Array){
this.val.questions.forEach(element => {
@ -489,6 +635,7 @@ getLevel = (node: TodoItemFlatNode) => node.level;
console.log( this.val.questions)
this.val.questions.forEach(element => {
console.log(element)
console.log(node.item)
if(element.question == node.item ){
@ -547,6 +694,16 @@ getLevel = (node: TodoItemFlatNode) => node.level;
//single select
console.log(node.item + b)
console.log(node)
// this.masterService.list_3_observable$.subscribe(res=> {
// console.log("nav list 3",res)
// // this.section_name = res.form_name
// this.form_id = res.form_id;
// this.val = JSON.parse(res.json)
// this.val
// })
console.log(this.val)
if(this.val.questions[0].question instanceof Array && this.val.length ==0){
console.log('node')
@ -601,12 +758,43 @@ getLevel = (node: TodoItemFlatNode) => node.level;
this.val.questions.forEach(element => {
console.log(element)
if(element.question == node.item || element.group_title == node.item ){
if(b==false){
element.disable = true
}else{
element.disable = false
}
if(element.depends instanceof Array){
const startIndex = this.treeControl.dataNodes.indexOf(node)
console.log("worked")
this.treeControl.dataNodes[startIndex].expandable =true
const dialogRef = this.dialog.open(ViewComponent, {
data: {'form_name':element.question,'template':[],'add':null,'form': element,'full_data': this.val},
// position: { right: '0'},
disableClose: true,
minWidth: '40%',
maxWidth: '50%',
});
dialogRef.afterClosed()
.subscribe(dataresult => {
const startIndex = this.treeControl.dataNodes.indexOf(node)
console.log(startIndex)
// this.checklistSelection.isSelected(node) == false
this.checklistSelection.isSelected(this.treeControl.dataNodes[startIndex])
this.checklistSelection.toggle(this.treeControl.dataNodes[startIndex]);
// for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
// if(this.checklistSelection.isSelected(this.treeControl.dataNodes[i]))
// this.checklistSelection.toggle(this.treeControl.dataNodes[i]);
// this.treeControl.expand(this.treeControl.dataNodes[i])
// }
//this.treeControl.dataNodes[startIndex].expandable =true
// this.checklistSelection.isSelected(node) ==true;
// node.expandable = true
// element.disable = true
});
}else{
if(b==false){
element.disable = true
}else{
element.disable = false
}
}
console.log(element.onchange_properties)
@ -714,24 +902,120 @@ getLevel = (node: TodoItemFlatNode) => node.level;
/** Select the category so we can insert the new item. */
addNewItem(node: TodoItemFlatNode) {
console.log(node)
const parentNode = this.flatNodeMap.get(node);
console.log(parentNode.children)
let isParentHasChildren: boolean = false;
console.log(isParentHasChildren)
if (parentNode.children)
isParentHasChildren = true;
//
this.database.insertItem(parentNode!, '');
this.treeControl.expand(node);
// expand the subtree only if the parent has children (parent is not a leaf node)
if (isParentHasChildren)
this.treeControl.expand(node);
}
removeItem(node: TodoItemFlatNode){
const parentNode = this.flatNodeMap.get(node);
console.log(parentNode)
let isParentHasChildren: boolean = false;
console.log(isParentHasChildren)
if (parentNode.children)
isParentHasChildren = false;
}
/** Save the node to database */
saveNode(node: TodoItemFlatNode, itemValue: string) {
const nestedNode = this.flatNodeMap.get(node);
console.log(node)
console.log(itemValue)
const dialogRef = this.dialog.open(ViewComponent, {
data: {'form_name':node,'template':[],'add':node,'data':itemValue},
// position: { right: '0'},
disableClose: true,
minWidth: '30%',
maxWidth: '40%',
});
dialogRef.afterClosed()
.subscribe(dataresult => {
console.log(dataresult)
let data = localStorage.getItem('addquestion')
console.log(JSON.parse(data))
console.log(this.val.questions)
this.val.questions.push(JSON.parse(data))
console.log(this.val)
//let itemValue = JSON.parse(data)
const nestedNode = this.flatNodeMap.get(node);
console.log(nestedNode)
this.database.updateItem(nestedNode!, itemValue);
this.refreshTree()
console.log(this.dataSource)
});
}
selectedTabValue(event){
console.log(event)
this.labelName = event.tab.textLabel;
this.database.testingMethod(this.labelName);
}
loadPdViewCompoent(){
this.router.navigate(['../', ], {relativeTo: this.route});
this.router.navigate(['../../', ], {relativeTo: this.route});
//this.router.navigate([ 'template2/lenderlist'], { relativeTo: this.route });
}
editItem(node){
console.log(node);
localStorage.setItem('edit', '0')
const dialogRef = this.dialog.open(ViewComponent, {
data: {'form_name':this.val,'template':[],'add':node.item,'data':node,id:"3"},
// position: { right: '0'},
disableClose: true,
minWidth: '50%',
maxWidth: '60%',
});
dialogRef.afterClosed()
.subscribe(dataresult => {
let edit = localStorage.getItem('edit')
if(edit == '1'){
localStorage.setItem('edit', '0')
let question = localStorage.getItem('question_edit')
console.log(question)
this.val.questions.forEach(element => {
// console.log(element.question)
// console.log(question)
const nestedNode = this.flatNodeMap.get(node);
console.log(nestedNode)
this.database.updateItem(nestedNode!, question);
if( element.question == node.item ){
element.question = question
console.log(question)
}
});
console.log(this.val);
}
});
}
refreshTree() {
let _data = this.dataSource.data;
this.dataSource.data = [];
this.dataSource.data = _data;
}
checkAll(){
for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
if(this.checklistSelection.isSelected(this.treeControl.dataNodes[0]))
this.checklistSelection.toggle(this.treeControl.dataNodes[0]);
this.treeControl.expand(this.treeControl.dataNodes[0])
}
}
submit(){
console.log(this.result)
console.log(this.val)
@ -743,24 +1027,25 @@ getLevel = (node: TodoItemFlatNode) => node.level;
// saveAs(blob, 'sample');
// });
// this.checklistSelection.isSelected('node')
let formValues;
console.log("worked")
this.masterService.saveupdatejsondetails(map_id,this.form_id ,this.result[0]).subscribe(
dataresult => {
if (dataresult.status == 200) {
console.log(dataresult);
this.notifier.notify('success', 'Your Changes Updated.!');
// let formValues;
// console.log("worked")
// this.masterService.saveupdatejsondetails(map_id,this.form_id ,this.result[0]).subscribe(
// dataresult => {
// if (dataresult.status == 200) {
// console.log(dataresult);
// this.notifier.notify('success', 'Your Changes Updated.!');
}
else {
this.notifier.notify('warning', 'Something Went Wrong Try Again.!');
this.errorMessage = "Something Went Wrong Try Again.!";
}
}, error => {
this.notifier.notify('error', 'Something Went Wrong Try Again.! \t\"' + (error.error_type == 2 ? error.error_status + ' ( ' + error.error_text + ' ) ' : ' ( ' + error.error_text + ' ) ') +'\" Error Occur.!');
this.errorMessage = "Some Thing Wents Wrong Try Again.!";
});
// }
// else {
// this.notifier.notify('warning', 'Something Went Wrong Try Again.!');
// this.errorMessage = "Something Went Wrong Try Again.!";
// }
// }, error => {
// this.notifier.notify('error', 'Something Went Wrong Try Again.! \t\"' + (error.error_type == 2 ? error.error_status + ' ( ' + error.error_text + ' ) ' : ' ( ' + error.error_text + ' ) ') +'\" Error Occur.!');
// this.errorMessage = "Some Thing Wents Wrong Try Again.!";
// });
@ -769,8 +1054,7 @@ getLevel = (node: TodoItemFlatNode) => node.level;
}
}

View File

@ -1,53 +1,66 @@
<h2 mat-dialog-title class="paragraph_change">
<div fxFlex="70" align="left" style="padding: 10px !important;">
<span>{{main_applicant}} {{lender_applicant_id ? '('+lender_applicant_id+')' : ''}}, {{customer_segment_abbr}} - {{subproduct_abbr}} </span><br>
{{pageTitle}}</div>
<div fxFlex="30" align="end" style="padding: 10px !important;">
<!-- <button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Close" matTooltipPosition="right" mat-dialog-close><mat-icon>close</mat-icon></button> -->
<button mat-raised-button mat-icon-button class="hover-icon " type="button" matTooltip="Close" matTooltipPosition="above"
(click)="loadPdViewCompoent()"><mat-icon>close</mat-icon></button>
</div>
</h2>
<mat-dialog-content style="border-bottom: 2px solid #e2412f8f;">
<ng-container *ngIf="waitLoading && existCompanyList.length > 0 ;">
<mat-card *ngFor="let companyList of existCompanyList">
<mat-card-header>
<mat-card-title class="p-text">{{companyList.company_name}}</mat-card-title>
</mat-card-header>
<mat-card-content>
<div fxLayout="row wrap" class="child_mat_card">
<mat-card fxFlex.xs="80" fxFlex.sm="80" fxFlex.md="40" fxFlex.lg="32" fxFlex.xl="33" *ngFor="let formButton of CompanyList ;let quesIndex=index" [ngStyle]="{'background-color':formButton.is_form_disabled == 1 ? '#d5d5d5' : '#4caf50' ,'color':'#fff'}" >
<mat-card-header>
<span style="padding: 17px 14px 3px 15px !important;border-radius: 0px 0px 0px 15px!important;width: 50px !important;" class="menu-badge mat-purple ng-star-inserted" align="center" (click)="formButton.is_form_disabled == 1 ? null : OnSelectBusinessGroupForms(formButton, companyList,quesIndex)">{{quesIndex+1}}</span>
<div fxFlex="100" align="left" style="padding:15px !important;" (click)="formButton.is_form_disabled == 1 ? null : OnSelectBusinessGroupForms(formButton, companyList,quesIndex)">
{{ formButton.form_name }}
</div>
<button mat-icon-button [matMenuTriggerFor]="menu" aria-label="Example icon-button with a menu">
<mat-icon>more_vert</mat-icon>
</button>
<mat-menu #menu="matMenu">
<button mat-menu-item [disabled]="formButton.is_form_disabled == 0" (click)="OnSelectform(formButton,quesIndex,0)">
<mat-icon>done</mat-icon>
<span>Enable</span>
</button>
<button mat-menu-item [disabled]="formButton.is_form_disabled == 1" (click)="OnSelectform(formButton,quesIndex,1)">
<mat-icon>clear</mat-icon>
<span>Disable</span>
</button>
</mat-menu>
</mat-card-header>
</mat-card>
</div>
</mat-card-content>
</mat-card>
</ng-container>
<mat-card *ngIf="waitLoading==false && existCompanyList.length == 0 ;">
<mat-card-content>
<p><strong>Business Related Information is Not Available.Please Check General Information</strong></p>
</mat-card-content>
</mat-card>
</mat-dialog-content>
<h2 mat-dialog-title class="paragraph_change">
<div fxFlex="70" align="left" style="padding: 10px !important;">
<span>Section List Edit Items ( Enable / Disable) </span><br>
</div>
<div fxFlex="30" align="end" style="padding: 10px !important;">
<button mat-raised-button mat-icon-button class="hover-icon " type="button" matTooltip="Close" matTooltipPosition="above"
(click)="loadPdViewCompoent()"><mat-icon>close</mat-icon></button>
</div>
</h2>
<!-- <mat-dialog-content style="border-bottom: 2px solid #e2412f8f;"> -->
<mat-tab-group>
<mat-tab >
<ng-template matTabContent>
<!-- <mat-dialog-content style="border-bottom: 2px solid #e2412f8f;"> -->
<ng-container *ngIf="waitLoading && existCompanyList.length > 0 ;">
<mat-card *ngFor="let companyList of existCompanyList">
<mat-card-header>
<mat-card-title class="p-text">{{companyList.company_name}}</mat-card-title>
</mat-card-header>
<mat-card-content>
<div fxLayout="row wrap" class="child_mat_card">
<mat-card fxFlex.xs="80" fxFlex.sm="80" fxFlex.md="40" fxFlex.lg="32" fxFlex.xl="33" *ngFor="let formButton of CompanyList ;let quesIndex=index" [ngStyle]="{'background-color':formButton.is_form_disabled == 1 ? '#d5d5d5' : '#4caf50' ,'color':'#fff'}" >
<mat-card-header>
<span style="padding: 17px 14px 3px 15px !important;border-radius: 0px 0px 0px 15px!important;width: 50px !important;" class="menu-badge mat-purple ng-star-inserted" align="center" (click)="formButton.is_form_disabled == 1 ? null : OnSelectBusinessGroupForms(formButton, companyList,quesIndex)">{{quesIndex+1}}</span>
<div fxFlex="100" align="left" style="padding:15px !important;" (click)="formButton.is_form_disabled == 1 ? null : OnSelectBusinessGroupForms(formButton, companyList,quesIndex)">
{{ formButton.form_name }}
</div>
<button mat-icon-button [matMenuTriggerFor]="menu" aria-label="Example icon-button with a menu">
<mat-icon>more_vert</mat-icon>
</button>
<mat-menu #menu="matMenu">
<button mat-menu-item [disabled]="formButton.is_form_disabled == 0" (click)="OnSelectform(formButton,quesIndex,0)">
<mat-icon>done</mat-icon>
<span>Enable</span>
</button>
<button mat-menu-item [disabled]="formButton.is_form_disabled == 1" (click)="OnSelectform(formButton,quesIndex,1)">
<mat-icon>clear</mat-icon>
<span>Disable</span>
</button>
</mat-menu>
</mat-card-header>
</mat-card>
</div>
</mat-card-content>
</mat-card>
</ng-container>
<mat-card *ngIf="waitLoading==false && existCompanyList.length == 0 ;">
<mat-card-content>
<p><strong>Business Related Information is Not Available.Please Check General Information</strong></p>
</mat-card-content>
</mat-card>
<!-- </mat-dialog-content> -->
</ng-template>
</mat-tab>
</mat-tab-group>
<!-- </mat-dialog-content> -->
<notifier-container></notifier-container>

View File

@ -2,7 +2,13 @@
color: #fff !important;
background-color: #e00201 !important;
}
form{
background-color: #fff !important;
}
.mat-tab-body-content {
height: 100%;
/* overflow: auto; */
}
.p-text {
color:#e00201 !important;
font-weight: bold;

View File

@ -68,6 +68,10 @@ export class FormGroupComponent implements OnInit {
//this.existCompanyList = data.records.filter(val =>val.is_active == 1);
this.existCompanyList = data.records;
this.CompanyList = data.records[0].forms;
this.CompanyList.sort((a,b) => a.pd_form_order - b.pd_form_order )
this.masterService.list_4.next( this.CompanyList);
console.log( this.CompanyList)
console.log( this.existCompanyList)
// VENDOR FORM ANSWER FETCH STATUS START(SMART PD ONLY)
// if(this.existCompanyList.length > 0 && this.pd_all_details.pdmaster_details.fk_pd_type == '2') {
@ -126,12 +130,13 @@ loadPdViewCompoent(){
// direct form based questions
OnSelectBusinessGroupForms(details: any, company: any,id:any) {
console.log(details)
localStorage.setItem('form_id',details.form_id);
console.log(company)
localStorage.setItem('form',JSON.stringify(details));
this.masterService.list_3.next(details);
console.log(id)
//this.router.navigate(['Group-form'], { relativeTo: this.route });
this.router.navigate(['Edit-template'], { relativeTo: this.route });
this.router.navigate(['edit',id], { relativeTo: this.route });
}
}

View File

@ -1,79 +1,75 @@
<h2 mat-dialog-title class="paragraph_change">
<div fxFlex="70" align="left" style="padding: 10px !important;padding-left: 200px !important;">
<mat-card-title><span style="font-size:24px !important;padding-left: 160px !important"> Lender product and Customer Segment (Add / Edit)</span></mat-card-title><br>
</div>
<div fxFlex="30" align="end" style="padding: 10px !important;">
<!-- <button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Close" matTooltipPosition="right" mat-dialog-close><mat-icon>close</mat-icon></button> -->
<button mat-raised-button mat-icon-button class="hover-icon " type="button" matTooltip="Close" matTooltipPosition="above"
(click)="loadPdViewCompoent()"><mat-icon>close</mat-icon></button>
</div>
</h2>
<div>
<mat-card>
<!-- <div fxLayout="row" fxLayout.xs="column" fxLayoutWrap style="padding-top:1% !important">
<div fxFlex="80%" style="padding-left: 250px !important;">
<mat-card-title><span style="font-size:24px !important"> Lender product and Customer Segment (Add / Edit)</span></mat-card-title>
</div>
<div fxFlex="20%" style="padding-left: 50px;">
<button mat-raised-button mat-icon-button class="hover-icon " type="button" matTooltip="Close" matTooltipPosition="above"
(click)="loadPdViewCompoent()"><mat-icon>close</mat-icon></button>
</div>
</div> -->
<mat-card-content>
<form [formGroup]="_editTempLenderFrom" (submit)="onSubmit()">
<div class="row" style="text-align:right !important;">
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" color="primary" matTooltip="Add More Lender Details" matTooltipPosition="above" (click)="addLanguage(null, $event); false"><mat-icon>add</mat-icon></button>
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" matTooltip="Clear Changes" matTooltipPosition="above" type="button" (click)="reset()"><mat-icon>settings_backup_restore</mat-icon></button>
<!-- <button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" matTooltip="Save" matTooltipPosition="above" type="submit"><mat-icon>save</mat-icon></button> -->
</div>
<div formArrayName="temp_lender" class="example-full-width">
<mat-card *ngFor="let answ of _editTempLenderFrom.controls.temp_lender['controls']; let i=index">
<div [formGroupName]="i">
<div class="p-11" fxLayout="row wrap" fxLayout.xs="column" fxLayoutGap="2%" fxLayoutAlign="center center">
<!-- <div fxFlex="23%">
<mat-form-field >
<mat-select placeholder="Lender *" formControlName="fk_lender_id">
<mat-option *ngFor="let lend of m_lender" [value]="lend.entity_id">{{ lend.full_name }}</mat-option>
</mat-select>
<mat-error *ngIf="submitted && answ['controls'].fk_lender_id.hasError('required')" class="mat-text-warn">Lender Type Required.!</mat-error>
</mat-form-field>
</div> -->
<div fxFlex="30%">
<mat-form-field >
<mat-select placeholder="Product *" formControlName="fk_product_id">
<mat-option *ngFor="let prcd of m_product" [matTooltip]="prcd.name" [value]="prcd.product_id">{{ prcd.abbr }}</mat-option>
</mat-select>
<mat-error *ngIf="submitted && answ['controls'].fk_product_id.hasError('required')" class="mat-text-warn">Product Required.!</mat-error>
</mat-form-field>
</div>
<div class="form">
<div fxFlex="30%">
<mat-form-field >
<mat-select placeholder="Customer Segment *" formControlName="fk_customer_segment">
<mat-option *ngFor="let cusSeg of m_customerSegment"[matTooltip]="cusSeg.name" [value]="cusSeg.customer_segment_id">{{ cusSeg.abbr }}</mat-option>
</mat-select>
<mat-error *ngIf="submitted && answ['controls'].fk_customer_segment.hasError('required')" class="mat-text-warn">Customer Segment Required.!</mat-error>
</mat-form-field>
</div>
<h2 mat-dialog-title class="paragraph_change">
<div fxFlex="70" align="left" style="padding: 10px !important;">
<span>Lender product and Customer Segment (Add / Edit) </span><br>
<div fxFlex="23%">
<div *ngIf ="(templateLenderRecord[i] || templateLenderRecord[0] == false)"> <button mat-button mat-icon-button class="mr-1 mb-1 hover-icon" matTooltip="Edit" matTooltipPosition="above" (click)="editEntity(product,i)"><mat-icon>edit</mat-icon></button></div>
<div *ngIf ="( !templateLenderRecord[i] || (templateLenderRecord[i] == 'undefined'))"> <button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" matTooltip="Save" matTooltipPosition="above" type="submit" (click)="save(answ,i)" ><mat-icon>save</mat-icon></button></div>
</div>
</div>
</div>
</mat-card>
</div>
</form>
</mat-card-content>
</mat-card>
</div>
<div fxFlex="30" align="end" style="padding: 10px !important;">
<button mat-raised-button mat-icon-button class="hover-icon " type="button" matTooltip="Close" matTooltipPosition="above"
(click)="loadPdViewCompoent()"><mat-icon>close</mat-icon></button>
</div>
</h2>
<mat-dialog-content style="border-bottom: 2px solid #e2412f8f;">
<ng-container>
<form [formGroup]="_editTempLenderFrom" (submit)="onSubmit()">
<div class="row" style="text-align:right !important;">
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" color="primary" matTooltip="Add More Lender Details" matTooltipPosition="above" (click)="addLanguage(null, $event); false"><mat-icon>add</mat-icon></button>
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" matTooltip="Clear Changes" matTooltipPosition="above" type="button" (click)="reset()"><mat-icon>settings_backup_restore</mat-icon></button>
<!-- <button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" matTooltip="Save" matTooltipPosition="above" type="submit"><mat-icon>save</mat-icon></button> -->
</div>
<div formArrayName="temp_lender" class="example-full-width" style="width: 80%;">
<mat-card *ngFor="let answ of _editTempLenderFrom.controls.temp_lender['controls']; let i=index">
<div [formGroupName]="i">
<div class="p-11" fxLayout="row wrap" fxLayout.xs="column" fxLayoutGap="2%" fxLayoutAlign="center center" style="height: 70px;width: 100%;">
<!-- <div fxFlex="23%">
<mat-form-field >
<mat-select placeholder="Lender *" formControlName="fk_lender_id">
<mat-option *ngFor="let lend of m_lender" [value]="lend.entity_id">{{ lend.full_name }}</mat-option>
</mat-select>
<mat-error *ngIf="submitted && answ['controls'].fk_lender_id.hasError('required')" class="mat-text-warn">Lender Type Required.!</mat-error>
</mat-form-field>
</div> -->
<div fxFlex="30%">
<mat-form-field >
<mat-select placeholder="Product *" formControlName="fk_product_id">
<mat-option *ngFor="let prcd of m_product" [matTooltip]="prcd.name" [value]="prcd.product_id">{{ prcd.abbr }}</mat-option>
</mat-select>
<mat-error *ngIf="submitted && answ['controls'].fk_product_id.hasError('required')" class="mat-text-warn">Product Required.!</mat-error>
</mat-form-field>
</div>
<div fxFlex="30%">
<mat-form-field >
<mat-select placeholder="Customer Segment *" formControlName="fk_customer_segment">
<mat-option *ngFor="let cusSeg of m_customerSegment"[matTooltip]="cusSeg.name" [value]="cusSeg.customer_segment_id">{{ cusSeg.abbr }}</mat-option>
</mat-select>
<mat-error *ngIf="submitted && answ['controls'].fk_customer_segment.hasError('required')" class="mat-text-warn">Customer Segment Required.!</mat-error>
</mat-form-field>
</div>
<div fxFlex="23%">
<div *ngIf ="(templateLenderRecord[i] || templateLenderRecord[0] == false)"> <button mat-button mat-icon-button class="mr-1 mb-1 hover-icon" matTooltip="Edit" matTooltipPosition="above" (click)="editEntity(product,i)"><mat-icon>edit</mat-icon></button></div>
<div *ngIf ="( !templateLenderRecord[i] || (templateLenderRecord[i] == 'undefined'))"> <button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" matTooltip="Save" matTooltipPosition="above" type="submit" (click)="save(answ,i)" ><mat-icon>save</mat-icon></button></div>
</div>
</div>
</div>
</mat-card>
</div>
</form>
</ng-container>
</mat-dialog-content>
</div>
<notifier-container></notifier-container>
<notifier-container></notifier-container>

View File

@ -1,7 +1,11 @@
form{
display: unset !important;
}
.form{
background-color: #fff !important;
}
.paragraph_change {
color: #fff !important;
background-color: #e00201 !important;

View File

@ -74,7 +74,7 @@ export class LenderProductSegMappingComponent implements OnInit {
for (let val of record) {
console.log(val)
this.value = val;
localStorage.setItem('map_id',val.map_id);
let vals = {
template_lender_map_id: val.map_id,
fk_template_id: val.fk_template_id,
@ -175,6 +175,10 @@ export class LenderProductSegMappingComponent implements OnInit {
// this.parentMessage = detail;
var formValues = this._editTempLenderFrom.value;
console.log(formValues)
console.log(formValues.temp_lender[index].template_lender_map_id)
let map_id = formValues.temp_lender[index].template_lender_map_id;
localStorage.setItem('map_id',map_id);
localStorage.setItem('formvalue',JSON.stringify(formValues.temp_lender[index]));
this.masterService.list_2.next(formValues.temp_lender[index]);
this.router.navigate([ 'selection-list'], { relativeTo: this.route });
//this.listView = false;

View File

@ -42,6 +42,8 @@ export class MasterService {
public list_2_observable$ = this.list_2.asObservable();
public list_3:BehaviorSubject<any> = new BehaviorSubject<any>([]);
public list_3_observable$ = this.list_3.asObservable();
public list_4:BehaviorSubject<any> = new BehaviorSubject<any>([]);
public list_4_observable$ = this.list_4.asObservable();
// private apiUrl = "http://ssa.sineedge.com/sparqapi/api/";
private apiUrll = 'http://localhost/sparqapi/api/';
@ -93,9 +95,9 @@ private apiUrl = environment.apiEndpoint;
// return this._http.post<any[]>(this.apiUrl + "getTemplateFormsV2", {"records":{"entity_id":"42","product_id":"24","customer_segment_id":"5"}} );
}
saveupdatejsondetails(mapid: any,formid:any,json:any): Observable<any>{
saveupdatejsondetails( param:any): Observable<any>{
return this._http.post<any[]>(this.apiUrl + "saveAndUpdateTemplateFormsV2", {"records" : {"map_id": mapid,"form_id": formid, "json":json }});
return this._http.post<any[]>(this.apiUrl + "saveAndUpdateTemplateFormsV2", {"records" : param});
}
savedetails(formValues: any): Observable<any>{

View File

@ -0,0 +1,272 @@
<div class="form">
<h2 mat-dialog-title class="paragraph_change">
<div fxFlex="70" align="left" style="padding: 10px !important;">
<span>Customize Questions </span><br>
</div>
<div fxFlex="30" align="end" style="padding: 10px !important;">
<button mat-raised-button mat-icon-button class="hover-icon " type="button" matTooltip="Close" matTooltipPosition="above"
(click)="loadPdViewCompoent()"><mat-icon>close</mat-icon></button>
</div>
</h2>
<mat-dialog-actions>
<div fxFlex="60" align="right">
<mat-label *ngIf="visible_text != true">{{no_data_text}}</mat-label>
<!-- <mat-label >Questions</mat-label> -->
<!-- <mat-form-field appearance="outline" style="width: 100%">
<mat-label>Remarks</mat-label>
<textarea matInput placeholder="Remarks" formControlName="general_remark"></textarea>
</mat-form-field> -->
</div>
<div fxFlex="40" align="end">
<!-- <button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Add Field"
matTooltipPosition="above"(click)="add()" >
<mat-icon>add</mat-icon>
</button> -->
<button *ngIf="userRoleID == 10" style="float: right;" type="submit" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button matTooltip="Save & Approve"
matTooltipPosition="above" (click)="submit()" >
<mat-icon>save</mat-icon>
</button>
<button *ngIf="userRoleID != 10" style="float: right;" type="submit" class="mr-1 mb-1 hover-icon" mat-raised-button mat-icon-button matTooltip="Save"
matTooltipPosition="above" (click)="submit2()" >
<mat-icon>save</mat-icon>
</button>
</div>
</mat-dialog-actions>
<!-- <mat-dialog-content style="border-bottom: 2px solid #e2412f8f;" > -->
<mat-tab-group [selectedIndex]=form_index (selectedTabChange)="selectedTabValue($event)">
<mat-tab *ngFor="let formButton of section_name;" label="{{formButton.form_name}}" >
<h2 style="color:green;text-align: center;" *ngIf="visible_text == true">{{no_data_text}}</h2>
<h4 style=" text-align: center;" *ngIf="visible_text == true && no_data_text != 'Business Information'"> This is a Static Form and Non Editable</h4>
<h4 id="back"style=" text-align: center;" (click)="loadPdViewCompoent()" *ngIf="visible_text == true && no_data_text == 'Business Information'"> <u>Go back section page</u> <mat-icon>keyboard_backspace</mat-icon></h4>
<div *ngIf="visible_text != true" class="demo">
<!-- <div cdkDropList class="example-list" (cdkDropListDropped)="drop($event)" style="width: 30% !important;">
<div class="example-box" *ngFor="let form of question;let quesIndex=index" cdkDrag>
<div class="example-custom-placeholder" *cdkDragPlaceholder></div>
{{form.question}}
</div>
</div>
-->
<div class="example-container" style="padding-left: 10px;">
<h4 style="text-align: center;color: green;">Available Questions
<button class="float-left" mat-icon-button color="primary" aria-label="Add"
(click)="add()" matTooltip="Add Field">
<mat-icon>add_circle</mat-icon>
</button>
</h4>
<div cdkDropList #pendingList="cdkDropList" [cdkDropListData]="todo" [cdkDropListConnectedTo]="[doneList,reviewList,reviewList2]"
class="example-list" (cdkDropListDropped)="drop($event)" >
<div class="example-box" *ngFor="let item of todo" cdkDrag id="myDIV" [ngStyle]= "{'background-color':(show_1== true && child_name == check2(item) && item.disable !=true) ? '#4caf50' : '','color':'black' }" >
<div style="padding: 8px;">
<i class="material-icons">drag_indicator</i>
</div>
<div class="w-100 drag-content" id="myDIV" [ngStyle]= "{'text-decoration':item.disable == true ? 'line-through' : '','color':item.disable ==true ? 'red':''} " >
<!-- {{item.question}} -->
{{check(item)}}
</div>
<div class="w-10 delete-icon" id="hide" *ngIf="item.group_title || (item.onchange_properties !=null && item.disable != true)">
<!-- <div class="w-10 delete-icon" id="hide" > -->
<button mat-icon-button (click)="show(item)" matTooltip="Child">
<i class="material-icons">remove_red_eye</i>
</button>
</div>
<!-- <div class="w-10 delete-icon" id="hide">
<button mat-icon-button (click)="deleteItem(item.question,item.disable)" >
<i *ngIf="item.disable == false || !item.disable" class="material-icons">delete_outline</i>
<i *ngIf="item.disable == true" class="material-icons">delete</i>
</button>
</div> -->
<div class="w-10 delete-icon" id="hide"s style="cursor: default !important">
<button mat-icon-button (click)="delItem(item.question,item)" >
<i *ngIf="item.disable == false || !item.disable" matTooltip="delete" class="material-icons">delete_outline</i>
<i *ngIf="item.disable == true" class="material-icons" matTooltip="undo" >delete</i>
</button>
</div>
<div class="w-10 delete-icon" id="hide" *ngIf="item.disable == false || !item.disable" >
<button mat-icon-button (click)="editItem(item.question,item)" matTooltip="Edit">
<i class="material-icons">edit</i>
</button>
</div>
</div>
</div>
</div>
<div class="example-container" *ngIf="show_1== true" style="width: 30%;">
<!-- <div class="example-container" *ngIf="show_value == true" style="width: 30%;"> -->
<h4 style="text-align: center;padding-bottom: 13px;">{{child_name}}
<!-- <button class="float-left" mat-icon-button color="primary" aria-label="Add"
(click)="addEmailFormGroup()" matTooltip="Add">
<mat-icon>add</mat-icon>
</button> -->
</h4>
<div cdkDropList #doneList="cdkDropList" [cdkDropListData]="done" [cdkDropListConnectedTo]="[pendingList,reviewList,reviewList2]"
class="example-list" (cdkDropListDropped)="drop($event,child_name)">
<!-- <mat-label>Remarks</mat-label> -->
<div class="example-box" *ngFor="let item of done" cdkDrag [ngStyle]= "{'background-color':(show_2== true && child_name2 == item.question && item.disable !=true) ? '#4caf50' : ''} ">
<div style="padding: 8px;">
<i class="material-icons">drag_indicator</i>
</div>
<div class="w-100 drag-content" id="myDIV2" [ngStyle]= "{'text-decoration':item.disable == true ? 'line-through' : '','color':item.disable ==true ? 'red':''} " >
{{check(item)}}
</div>
<div class="w-10 delete-icon" id="hide2" *ngIf="item.group_title || (item.onchange_properties !=null && item.disable != true)">
<button mat-icon-button (click)="show_child(item)" >
<i class="material-icons">remove_red_eye</i>
</button>
</div>
<!-- <div class="w-10 delete-icon" id="hide2"s style="cursor: default !important">
<button mat-icon-button (click)="deleteItem(item.question,item.disable)" matTooltip="Edit">
<i *ngIf="item.disable == false || !item.disable" class="material-icons">delete_outline</i>
<i *ngIf="item.disable == true" class="material-icons">delete</i>
</button>
</div> -->
<div class="w-10 delete-icon" id="hide2"s style="cursor: default !important">
<button mat-icon-button (click)="delItem(item.question,item)" >
<i *ngIf="item.disable == false || !item.disable" matTooltip="delete"class="material-icons">delete_outline</i>
<i *ngIf="item.disable == true" class="material-icons" matTooltip="undo">delete</i>
</button>
</div>
<div class="w-10 delete-icon" id="hide2" *ngIf="item.disable == false || !item.disable" >
<button mat-icon-button (click)="editItem(item.question,item)" >
<i class="material-icons">edit</i>
</button>
</div>
<!-- <mat-icon style="padding-right: 30px;">drag_indicator</mat-icon>{{item.question}} -->
</div>
</div>
</div>
<div class="example-container" *ngIf="show_2== true"style="width: 30%;">
<h4 style="text-align: center;padding-bottom: 13px;">{{child_name2}}</h4>
<div cdkDropList #reviewList2="cdkDropList" [cdkDropListData]="basket" [cdkDropListConnectedTo]="[doneList,pendingList,reviewList]"
class="example-list" (cdkDropListDropped)="drop($event,child_name2)">
<div class="example-box" *ngFor="let item of basket" cdkDrag [ngStyle]= "{'background-color':(show_3== true && child_name3 == item.question && item.disable !=true) ? '#4caf50' : ''} " >
<!-- <mat-icon style="padding-right: 30px;">drag_indicator</mat-icon>{{item.question}} -->
<div style="padding: 8px;">
<i class="material-icons">drag_indicator</i>
</div>
<div class="w-100 drag-content" id="myDIV" [ngStyle]= "{'text-decoration':item.disable == true ? 'line-through' : '','color':item.disable ==true ? 'red':''} " >
<!-- {{item.question}} -->
{{check(item)}}
</div>
<div class="w-10 delete-icon" id="hide2" *ngIf="item.group_title || (item.onchange_properties !=null && item.disable != true)" >
<button mat-icon-button (click)="show_child2(item)" >
<i class="material-icons">remove_red_eye</i>
</button>
</div>
<!-- <div class="w-10 delete-icon" id="hide2"s style="cursor: default !important">
<button mat-icon-button (click)="deleteItem(item.question,item.disable)" matTooltip="Edit">
<i *ngIf="item.disable == false || !item.disable" class="material-icons">delete_outline</i>
<i *ngIf="item.disable == true" class="material-icons">delete</i>
</button>
</div> -->
<div class="w-10 delete-icon" id="hide2"s style="cursor: default !important">
<button mat-icon-button (click)="delItem(item.question,item)" >
<i *ngIf="item.disable == false || !item.disable" matTooltip="delete" class="material-icons">delete_outline</i>
<i *ngIf="item.disable == true" matTooltip="undo" class="material-icons">delete</i>
</button>
</div>
<div class="w-10 delete-icon" id="hide2" *ngIf="item.disable == false || !item.disable" >
<button mat-icon-button (click)="editItem(item.question,item)" >
<i class="material-icons">edit</i>
</button>
</div>
</div>
</div>
</div>
<div class="example-container" *ngIf="show_3== true" style="width: 30%;">
<h4 style="text-align: center;padding-bottom: 13px;">{{child_name3}}</h4>
<div cdkDropList #reviewList3="cdkDropList" [cdkDropListData]="items" [cdkDropListConnectedTo]="[doneList,pendingList,reviewList2,reviewList]"
class="example-list" (cdkDropListDropped)="drop($event,child_name3)">
<div class="example-box" *ngFor="let item of items" cdkDrag [ngStyle]= "{'background-color':(show_4== true && child_name4 == item.question && item.disable !=true) ? '#4caf50' : ''} ">
<!-- <mat-icon style="padding-right: 30px;">drag_indicator</mat-icon>{{item.question}} -->
<div style="padding: 8px;">
<i class="material-icons">drag_indicator</i>
</div>
<div class="w-100 drag-content" [ngStyle]= "{'text-decoration':item.disable == true ? 'line-through' : '','color':item.disable ==true ? 'red':''} " >
<!-- {{item.question}} -->
{{check(item)}}
</div>
<div class="w-10 delete-icon" id="hide2" *ngIf="item.group_title || (item.onchange_properties !=null && item.disable != true)">
<button mat-icon-button (click)="show_child3(item)" >
<i class="material-icons">remove_red_eye</i>
</button>
</div>
<div class="w-10 delete-icon" id="hide2"s style="cursor: default !important">
<button mat-icon-button (click)="delItem(item.question,item)" >
<i *ngIf="item.disable == false || !item.disable" matTooltip="delete" class="material-icons">delete_outline</i>
<i *ngIf="item.disable == true" class="material-icons" matTooltip="undo">delete</i>
</button>
</div>
<!-- <div class="w-10 delete-icon" id="hide2"s style="cursor: default !important">
<button mat-icon-button (click)="deleteItem(item.question,item.disable)" matTooltip="Delete">
<i *ngIf="item.disable == false || !item.disable" class="material-icons">delete_outline</i>
<i *ngIf="item.disable == true" class="material-icons">delete</i>
</button>
</div> -->
<div class="w-10 delete-icon" id="hide2" *ngIf="item.disable == false || !item.disable" >
<button mat-icon-button (click)="editItem(item.question,item)" >
<i class="material-icons">edit</i>
</button>
</div>
</div>
</div>
</div>
<div class="example-container" *ngIf="show4== true"style="width: 30%;">
<h4 style="text-align: center;padding-bottom: 13px;">{{child_name4}}</h4>
<div cdkDropList #reviewList="cdkDropList" [cdkDropListData]="review" [cdkDropListConnectedTo]="[doneList,pendingList,reviewList2,reviewList3]"
class="example-list" (cdkDropListDropped)="drop($event,child_name4)">
<div class="example-box" *ngFor="let item of review" cdkDrag>
<!-- <mat-icon style="padding-right: 30px;">drag_indicator</mat-icon>{{item.question}} -->
<div style="padding: 8px;">
<i class="material-icons">drag_indicator</i>
</div>
<div class="w-100 drag-content" id="myDIV" [ngStyle]= "{'text-decoration':item.disable == true ? 'line-through' : '','color':'red'} " >
<!-- {{item.question}} -->
{{check(item)}}
</div>
</div>
</div>
</div>
</div>
</mat-tab>
<!-- <mat-tab label="Tab Two">
Tab Two Content
</mat-tab> -->
</mat-tab-group>
<!-- </mat-dialog-content> -->
</div>
<notifier-container></notifier-container>

View File

@ -0,0 +1,545 @@
:host {
> .container {
max-width: 1264px;
width: 100%;
margin: 0 auto;
display: grid;
justify-content: space-between;
background: none;
}
::ng-deep {
.mat-tab-group {
flex-direction: row;
}
.mat-tab-header {
border-bottom: none;
}
.mat-tab-header-pagination {
display: none !important;
}
.mat-tab-labels {
flex-direction: column;
}
.mat-ink-bar {
height: 100%;
left: 98% !important;
}
.mat-tab-body-wrapper {
flex: 1 1 auto;
}
}
}
.container {
position: relative;
width: 100%;
flex: 1 0 auto;
margin: 0 auto;
text-align: left;
}
#content {
box-sizing: content-box;
margin: 0 auto;
padding: 15px;
width: 1264px;
background-color: #ffffff;
}
#content {
max-width: 1100px;
width: 100%;
background-color: #ffffff;
padding: 24px;
box-sizing: border-box;
}
#content,
#main-content {
&::before,
&::after {
content: "";
display: table;
}
&::after {
clear: both;
}
}
.demo {
display: flex;
overflow-x: auto;
width: 100%;
}
::ng-deep.mat-tab-label, ::ng-deep.mat-tab-label-active{
min-width: 0!important;
padding: 3px!important;
margin: 3px!important;
justify-content: left !important;
}
::ng-deep.mat-tab-label {
opacity: 10;
}
::ng-deep.mat-tab-labels .mat-tab-label-active {
color:#f1f3f5 !important;
background-color: #e00201 !important;
opacity: 1;
}
// .mat-tab-labels .mat-tab-label-active {
// color:#f1f3f5 !important;
// background-color: #e00201 !important;
// opacity: 1;
// }
// .cdk-global-overlay-wrapper {
// overflow: auto;
// pointer-events: auto; // needed for chrome but prevents backdrop click close
// }
// .paragraph_change {
// color: #fff !important;
// background-color: #e00201 !important;
// }
// ::ng-deep { .no-padding > mat-dialog-container {
// // background: black;
// padding: 0;
// // overflow-y: scroll !important;
// }
// }
// .mat-dialog-content{
// margin:0px !important;
// }
// // mat-placeholder{
// // margin-top: 20px;
// // word-wrap: break-word;
// // }
// // input{
// // height:40px;
// // }
// .mat-form-field-label {
// white-space: normal;
// }
// textarea.mat-input-element {
// padding: 0px 0;
// margin: 5px 0;
// }
// .mat-input-placeholder {
// white-space: normal;
// }
// .paragraph_change {
// color: #fff !important;
// background-color: #e00201 !important;
// }
// .p-text {
// color:#e00201 !important;
// font-weight: bold;
// }
// ::ng-deep .mat-card-header-text{
// margin:0px !important;
// }
// .mat-purple{
// background-color: gray !important;
// }
// .cdk-global-overlay-wrapper{
// justify-content: center !important;
// }
// $base-card-box-shadow:1.5px 2.6px 24px 0 rgba(0, 35, 136, 0.08) !important;
// mat-card .child_mat_card > mat-card {
// border-radius: 0px 0px 0px 15px;
// box-shadow: $base-card-box-shadow;
// transform: scale(0.95);
// transition: box-shadow 0.5s, transform 0.5s;
// border: 1px solid lavender;
// &:hover {
// cursor: pointer;
// // background-color: #e00201 !important;
// transform: scale(1);
// box-shadow: 5px 20px 30px rgba(0, 0, 0, 0.2);
// }
// }
.paragraph_change {
color: #fff !important;
background-color: #e00201 !important;
}
::ng-deep { .no-padding > mat-dialog-container {
// background: black;
padding: 0;
// overflow-y: scroll !important;
}
}
.mat-dialog-content{
margin:0px !important;
}
// mat-placeholder{
// margin-top: 20px;
// word-wrap: break-word;
// }
// input{
// height:40px;
// }
.mat-tree-node {
&:hover {
background-color: #cae6f3 !important;
// background-color: rgba(255, 220, 0, 0.1) !important;
}
}
.mat-card-content, .mat-card-header, .mat-card-title, .mat-cell, .mat-form-field {
// background-color: #26cfa8;
}
.form{
background-color: white !important;
}
.mat-tree-node {
font-weight: 400;
/* font-size: 14px; */
}
.mat-form-field-label {
white-space: normal;
}
textarea.mat-input-element {
padding: 0px 0;
margin: 5px 0;
}
.mat-input-placeholder {
white-space: normal;
}
.example-tree-progress-bar {
margin-left: 30px;
}
.edit_hover_class span{
// display:none !important
}
.edit_hover_class:hover span {
display:block !important
}
.card{
height: 40px;
//width: 280px;
width: 325px;
background-color: aqua;
}
.card2{
height: 40px;
width: 280px;
background-color: aqua;
}
.your-icon-class:hover {
color: #e00201 !important;
}
.mat-tree-node {
.child{
display:none !important
}
}
.mat-card-subtitle, .mat-card-content, .mat-card-header, .mat-card-title, .mat-cell, .mat-form-field {
font-size: 1.0rem !important;
}
.mat-tree-node {
&:hover span{
display:block !important
}
}
#wrapper {
// display: flex;
// flex-direction: column;
// flex-wrap: wrap;
}
.block {
// width: 90px;
// flex: 0 0 50px;
// margin: 5px;
// background-color: red;
}
.block {
// width: 90px;
// flex: 0 0 50px;
// margin: 5px;
// background-color: blue;
}
.bigger {
flex-basis: 110px;
}
.example-headers-align .mat-expansion-panel-header-title,
.example-headers-align .mat-expansion-panel-header-description {
flex-basis: 0;
}
.example-headers-align .mat-expansion-panel-header-description {
justify-content: space-between;
align-items: center;
}
mat-form-field {
margin-right: 12px;
}
.mat-expansion-panel-header-description, .mat-expansion-panel-header-title {
display: table-footer-group !important;
flex-grow: 1;
margin-right: 16px;
}
.example-list {
width: 500px;
max-width: 100%;
border: solid 1px #ccc;
min-height: 60px;
display: block;
background: white;
border-radius: 4px;
overflow: hidden;
}
.example-box {
padding: 5px 3px;
border-bottom: solid 1px #ccc;
color: rgba(0, 0, 0, 0.87);
//display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
// cursor: move;
background: white;
font-size: 14px;
}
.cdk-drag-preview {
box-sizing: border-box;
border-radius: 4px;
box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2),
0 8px 10px 1px rgba(0, 0, 0, 0.14),
0 3px 14px 2px rgba(0, 0, 0, 0.12);
}
.cdk-drag-animating {
transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
}
.example-box:last-child {
border: none;
}
.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder) {
transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
}
.example-custom-placeholder {
background: #ccc;
border: dotted 3px #999;
min-height: 60px;
transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
}
.example-container {
width: 280px;
max-width: 100%;
margin: 0 25px 25px 0;
display: inline-block;
vertical-align: top;
}
.example-list {
border: solid 1px #ccc;
min-height: 60px;
background: white;
border-radius: 4px;
overflow: hidden;
display: block;
}
.example-box {
// padding: 20px 10px;
//padding: 10px;
border-bottom: solid 1px #ccc;
color: rgba(0, 0, 0, 0.87);
//display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
cursor: move;
background: white;
font-size: 14px;
}
.cdk-drag-preview {
box-sizing: border-box;
border-radius: 4px;
box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2),
0 8px 10px 1px rgba(0, 0, 0, 0.14),
0 3px 14px 2px rgba(0, 0, 0, 0.12);
}
.cdk-drag-placeholder {
opacity: 0;
}
.cdk-drag-animating {
transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
}
.example-box:last-child {
border: none;
}
.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder) {
transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
}
// scfsfsfdf
.section-heading {
padding: 5px 10px;
font-size: 15px;
font-weight: bold;
}
.drag-container {
width: 400px;
max-width: 100%;
margin: 0 25px 25px 0;
display: inline-block;
vertical-align: top;
background-color: #E9ECEF;
padding: 15px;
border-radius: 5px;
}
.item-list {
min-height: 60px;
border-radius: 4px;
display: block;
}
.item-box {
padding: 8px 10px;
border: solid 1px #ccc;
margin-bottom: 5px;
color: rgba(0, 0, 0, 0.87);
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
cursor: move;
background: white;
font-size: 14px;
border-radius: 20px;
}
.cdk-drag-preview {
box-sizing: border-box;
border-radius: 4px;
box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2),
0 8px 10px 1px rgba(0, 0, 0, 0.14),
0 3px 14px 2px rgba(0, 0, 0, 0.12);
border-radius: 20px;
}
.cdk-drag-placeholder {
opacity: 0;
}
.cdk-drag-animating {
transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
}
.item-list.cdk-drop-list-dragging .item-box:not(.cdk-drag-placeholder) {
transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
}
///////////////@at-root
.example-list {
/* width: 500px; */
max-width: 100%;
/* border: solid 1px #ccc; */
min-height: 60px;
display: block;
background: white;
// border-radius: 4px;
overflow: hidden;
}
.example-box {
/* padding: 20px 10px; */
// border: solid 1px #ccc;
color: rgba(0, 0, 0, 0.87);
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
//cursor: move;
background: white;
font-size: 14px;
//margin-bottom: 20px;
}
.cdk-drag-preview {
box-sizing: border-box;
border-radius: 4px;
box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2),
0 8px 10px 1px rgba(0, 0, 0, 0.14),
0 3px 14px 2px rgba(0, 0, 0, 0.12);
}
.cdk-drag-placeholder {
opacity: 0;
}
.cdk-drag-animating {
transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
}
/* .example-box:last-child {
border: none;
} */
.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder) {
transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
}
#myDIV:hover #hide {
display: block !important
//color: red;
}
.myDIV2:hover + .hide{
display: block !important;
color: red;
}
#back:hover{
color: red;
}
.example-box:hover #hide2{
display: block !important;
}
////@at-root
#hide {
display: none !important
}
#hide2 {
display: none !important;
}
.mat-tab-labels .mat-tab-label-active {
color:#f1f3f5;
background-color: #ce3131;
opacity: 1;
}

View File

@ -0,0 +1,25 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { QuestionViewComponent } from './question-view.component';
describe('QuestionViewComponent', () => {
let component: QuestionViewComponent;
let fixture: ComponentFixture<QuestionViewComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ QuestionViewComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(QuestionViewComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@ -0,0 +1,726 @@
import { Component, OnInit } from '@angular/core';
import { FormBuilder } from '@angular/forms';
import { MatDialog } from '@angular/material';
import { ActivatedRoute, Router } from '@angular/router';
import { NotifierService } from 'angular-notifier';
import { LoaderService } from 'app/shared/loaderService/loader.service';
import { MasterService } from '../master.service';
import { ViewComponent } from '../view/view.component';
import {CdkDragDrop, moveItemInArray, transferArrayItem} from '@angular/cdk/drag-drop';
import { MatSlideToggleChange } from '@angular/material';
import { LenderListComponent } from '../lender-list/lender-list.component';
@Component({
selector: 'app-question-view',
templateUrl: './question-view.component.html',
styleUrls: ['./question-view.component.scss']
})
export class QuestionViewComponent {
section_name: any=[];
form_index: any=[];
visible: boolean;
forms:any=[];
labelName: any;
question: any[];
items = [];
basket = [];
todo = [];
public userRoleID = +localStorage.getItem('user_role');
done = [];
review = [];
child_name: any=[];
child_name2: any=[];
child_name3: any=[];
val: any;
show_value: boolean;
disable: boolean;
dragDisabled: boolean = true;
show_1:boolean;
show_2:boolean;
show_3:boolean;
show_4:boolean;
errorMessage: string;
form_id: any;
full_data: any=[];
visible_text: boolean;
no_data_text: any;
// todo = ['Get to work', 'Pick up groceries', 'Go home', 'Fall asleep'];
// done = ['Get up', 'Brush teeth', 'Take a shower', 'Check e-mail', 'Walk dog'];
// drop(event: CdkDragDrop<string[]>) {
// if (event.previousContainer === event.container) {
// moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);
// } else {
// transferArrayItem(
// event.previousContainer.data,
// event.container.data,
// event.previousIndex,
// event.currentIndex,
// );
// }
// }
constructor(private dialog: MatDialog,private formBuilder: FormBuilder, private masterService: MasterService, private notifier: NotifierService , private route: ActivatedRoute,
private router: Router, private loaderService:LoaderService,private LenderListComponent: LenderListComponent ) {
this.LenderListComponent.showListView(false);
let id = this.route.snapshot.params.id;
this.form_index = id;
this.masterService.list_4_observable$.subscribe(res=> {
console.log("nav list 3",res)
this.forms = res
this.section_name = res
})
let tmp;
this.masterService.list_3_observable$.subscribe(res=> {
console.log("nav list 3",res)
this.form_id = res.form_id
res.form_name
tmp = res.form_name
})
this.testingMethod( tmp)
this.child_name = "Child Items"
this.child_name2 = "Child Items2"
this.child_name3 = "Child Items3"
}
ngAfterViewInit() {
if(this.forms.length == 0){
this.router.navigate(['../../', ], {relativeTo: this.route});
}
}
step;
doSomething(element) {
let tmp =[]
// console.log(element);
// element.onchange_properties[0].form_controls[0].questions
if(element.onchange_properties instanceof Array && element.onchange_properties !=null){
if(element.onchange_properties[0] && element.onchange_properties[0].form_controls){
// console.log(element.onchange_properties[0].form_controls[0].questions);
element.onchange_properties[0].form_controls[0].questions.forEach(sub => {
// console.log(sub.question)
tmp.push(sub.question)
});
}
}
return tmp;
}
setStep(index: number) {
this.step = index;
}
nextStep() {
this.step++;
}
prevStep() {
this.step--;
}
enableDragDropMode(event: MatSlideToggleChange) {
this.dragDisabled = !event.checked
}
testingMethod(testData) {
console.log(testData)
this.step=[];
this.done = [];
this.basket = [];
this.items = [];
let s ;
let formid = localStorage.getItem('form_id');
let mapid = localStorage.getItem('map_id');
console.log( this.forms)
this.forms.forEach(element => {
if(element.form_name == testData ){
console.log(element.form_id)
console.log(element)
this.no_data_text = element.form_name
if(element.json == ""){
this.no_data_text = element.form_name
this.visible_text = true;
}else{
this.visible_text = false;
}
let tmp = JSON.parse(element.json)
console.log(tmp)
this.todo = tmp.questions
this.full_data = tmp;
this.question = tmp.questions
this.masterService.list_3.next(element);
let form_id = element.form_id
this.masterService.questionsjson(form_id,mapid).subscribe(
data => {
console.log(data)
// this.question =[];
});
}
});
console.log(s)
// setTimeout(()=>{
// // this.edit.checkAll();
// }, 1000);
}
selectedTabValue(event){
console.log(event)
this.labelName = event.tab.textLabel;
this.show_1 = false
this.show_2 = false
this.show_3 = false
this.testingMethod( this.labelName)
}
add(param){
// localStorage.setItem('addquestion','')
localStorage.removeItem('addquestion');
const dialogRef = this.dialog.open(ViewComponent, {
data: {'form_name':'node','template':[],'add':'param','data': this.forms},
// position: { right: '0'},
disableClose: true,
minWidth: '30%',
maxWidth: '40%',
});
dialogRef.afterClosed()
.subscribe(dataresult => {
console.log(dataresult)
let data = localStorage.getItem('addquestion')
console.log(JSON.parse(data))
console.log(this.forms)
this.question.push(JSON.parse(data))
});
}
add2(s){
console.log(s);
}
loadPdViewCompoent(){
this.router.navigate(['../../', ], {relativeTo: this.route});
//this.router.navigate([ 'template2/lenderlist'], { relativeTo: this.route });
}
editItem(node,form){
// if(this.child_name && this.child_name2 && this.child_name3){
// this.show_1 = false;
// this.show_2 = false;
// this.show_3 = false;
// }
console.log(this.todo);
console.log(node);
let tmp;
if(form.question instanceof Array){
tmp = form.group_title
}else{
tmp = node
}
console.log(form);
localStorage.setItem('edit', '0')
const dialogRef = this.dialog.open(ViewComponent, {
data: {'form_name': this.forms,'template':[],'add':node.item,'data':tmp,id:"3",'valid':form.validations},
// position: { right: '0'},
disableClose: true,
minWidth: '50%',
maxWidth: '60%',
});
dialogRef.afterClosed()
.subscribe(dataresult => {
let edit = localStorage.getItem('edit')
if(edit == '1'){
localStorage.setItem('edit', '0')
let question = localStorage.getItem('question_edit')
let question_valid = localStorage.getItem('question_edit_valid')
console.log(question)
console.log(question_valid)
console.log( form)
if(form.question instanceof Array){
form.group_title =question
}else{
form.question = question
form.validations = JSON.parse(question_valid)
}
// if( form.disable == true || form.disable == undefined){
// form.disable = false
// }else if(form.disable == false){
// form.disable = true
// }
// form.questions.forEach(element => {
// // console.log(element.question)
// // console.log(question)
// if( element.question == node ){
// element.question = question
// console.log(question)
// }
// });
console.log( form);
}
});
}
delItem(node,form){
// if(this.child_name && this.child_name2 && this.child_name3){
// this.show_1 = false;
// this.show_2 = false;
// this.show_3 = false;
// }]
if(form.disable == undefined){
form.disable = false
}
console.log(form)
if(form.depends instanceof Array){
const dialogRef = this.dialog.open(ViewComponent, {
data: {'form_name':form.question,'template':[],'add':null,'form': form,'full_data': this.full_data},
// position: { right: '0'},
disableClose: true,
minWidth: '40%',
maxWidth: '50%',
});
dialogRef.afterClosed()
.subscribe(dataresult => {
// s.disable = false
form.disable = false
});
}else{
if( form.disable == true || form.disable == undefined){
form.disable = false
}else if(form.disable == false){
form.disable = true
}
}
console.log(this.todo);
console.log(node);
}
drop(event: CdkDragDrop<string[]>,child_name:any) {
console.log(event)
console.log(this.done)
console.log(child_name)
if (event.previousContainer === event.container) {
moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);
} else {
transferArrayItem(
event.previousContainer.data,
event.container.data,
event.previousIndex,
event.currentIndex,
);
}
this.drag_list(this.done,child_name)
}
show(element){
console.log(element);
console.log( this.full_data);
this.show_1 = true;
this.show_2 = false;
this.show_3 = false;
let tmp = []
if(element.question instanceof Object){
//console.log(a)
this.child_name = element.group_title
if(element.question instanceof Array ){
tmp = element.question
this.done = tmp
}
}else{
this.child_name = element.question
}
// this.child_name = element.question
// console.log(element);
// element.onchange_properties[0].form_controls[0].questions
if(element.onchange_properties instanceof Array && element.onchange_properties !=null){
if(element.onchange_properties[0] && element.onchange_properties[0].form_controls){
// console.log(element.onchange_properties[0].form_controls[0].questions);
element.onchange_properties[0].form_controls[0].questions.forEach(sub => {
this.show_value = true;
// console.log(sub.question)
tmp.push(sub )
});
}
}
console.log(tmp);
if(tmp.length == 0){
let value = []
this.done = value
this.disable= true
}else{
if(!tmp[0].group_title){
this.done = tmp
} else{
this.done = tmp[0].question
}
}
if(this.done.length == 0){
this.show_1 = false;
}
console.log(this.todo);
console.log(this.done);
}
check(a){
// console.log(a)
if(a.question instanceof Object){
//console.log(a)
return "Group Name : "+a.group_title
}else{
return a.question
}
}
check2(a){
// console.log(a)
if(a.question instanceof Object){
//console.log(a)
return a.group_title
}else{
return a.question
}
}
show2(item){
console.log(item)
this.child_name = "Child 1"
this.child_name2 = "Child 2"
this.child_name3 = "Child 3"
this.done= []
this.step=[];
this.done = [];
this.basket = [];
this.items = [];
this.show_1= false
}
show_child(element){
console.log(element)
this.show_2 = true;
console.log(element);
let tmp = []
if(element.question instanceof Object){
//console.log(a)
this.child_name2 = element.group_title
if(element.question instanceof Array ){
tmp = element.question
this.basket = tmp
}
}else{
this.child_name2 = element.question
}
// this.child_name = element.question
// console.log(element);
// element.onchange_properties[0].form_controls[0].questions
if(element.onchange_properties instanceof Array && element.onchange_properties !=null){
if(element.onchange_properties[0] && element.onchange_properties[0].form_controls){
// console.log(element.onchange_properties[0].form_controls[0].questions);
element.onchange_properties[0].form_controls[0].questions.forEach(sub => {
this.show_value = true;
// console.log(sub.question)
tmp.push(sub )
});
}
}
console.log(tmp);
if(tmp.length == 0){
let value = []
this.basket = value
this.disable= true
}else{
if(!tmp[0].group_title){
this.basket = tmp
} else{
this.basket = tmp[0].question
}
}
if(this.basket.length == 0){
this.show_2 = false;
}
console.log(this.basket);
// console.log(this.done);
}
show_child2(element){
console.log(element)
this.show_3 = true;
console.log(element);
let tmp = []
if(element.question instanceof Object){
//console.log(a)
this.child_name3 = element.group_title
if(element.question instanceof Array ){
tmp = element.question
this.items = tmp
}
}else{
this.child_name3 = element.question
}
// this.child_name = element.question
// console.log(element);
// element.onchange_properties[0].form_controls[0].questions
if(element.onchange_properties instanceof Array && element.onchange_properties !=null){
if(element.onchange_properties[0] && element.onchange_properties[0].form_controls){
// console.log(element.onchange_properties[0].form_controls[0].questions);
element.onchange_properties[0].form_controls[0].questions.forEach(sub => {
this.show_value = true;
// console.log(sub.question)
tmp.push(sub )
});
}
}
console.log(tmp);
if(tmp.length == 0){
let value = []
this.items = value
this.disable= true
}else{
if(!tmp[0].group_title){
this.items = tmp
} else{
this.items = tmp[0].question
}
}
if(this.items.length == 0){
this.show_3 = false;
}
console.log(this.basket);
// console.log(this.done);
}
show_child3(element){
console.log(element)
this.show_4 = true;
console.log(element);
let tmp = []
if(element.question instanceof Object){
//console.log(a)
this.child_name3 = element.group_title
if(element.question instanceof Array ){
tmp = element.question
this.review = tmp
}
}else{
this.child_name3 = element.question
}
// this.child_name = element.question
// console.log(element);
// element.onchange_properties[0].form_controls[0].questions
if(element.onchange_properties instanceof Array && element.onchange_properties !=null){
if(element.onchange_properties[0] && element.onchange_properties[0].form_controls){
// console.log(element.onchange_properties[0].form_controls[0].questions);
element.onchange_properties[0].form_controls[0].questions.forEach(sub => {
this.show_value = true;
// console.log(sub.question)
tmp.push(sub )
});
}
}
console.log(tmp);
if(tmp.length == 0){
let value = []
this.review = value
this.disable= true
}else{
if(!tmp[0].group_title){
this.review = tmp
} else{
this.review = tmp[0].question
}
}
if(this.review.length == 0){
this.show_4 = false;
}
console.log(this.basket);
// console.log(this.done);
}
check3(a,b){
console.log(a)
console.log(b)
if(b == true){
a ="gray";
return a;
}else{
a
return a;
}
}
drag_list(data, name){
console.log(this.full_data)
console.log(data)
console.log(name)
this.full_data.questions.forEach(element => {
if(element.question == name){
element
if(element.onchange_properties instanceof Array && element.onchange_properties !=null){
if(element.onchange_properties[0] && element.onchange_properties[0].form_controls){
// console.log(element.onchange_properties[0].form_controls[0].questions);
element.onchange_properties[0].form_controls[0].questions = data
}
}
}
});
console.log(this.full_data)
}
submit(){
console.log( this.full_data)
console.log(localStorage.getItem('map_id'));
let map_id = localStorage.getItem('map_id');
let data = localStorage.getItem('formvalue');
console.log( JSON.parse(data))
let tmp = JSON.parse(data)
let customer_segment = tmp.fk_customer_segment;
let product_id = tmp.fk_product_id;
let form_status ="completed";
let entity_id = localStorage.getItem('entity_id');
let param = {"entity_id":entity_id,"product_id":product_id,"customer_segment_id":customer_segment,"map_id": map_id,"form_id": this.form_id, "json":this.full_data ,"form_status":form_status}
// let formValues;
console.log(param)
// console.log("worked")
this.masterService.saveupdatejsondetails(param).subscribe(
dataresult => {
if (dataresult.status == 200) {
console.log(dataresult);
this.notifier.notify('success', 'Your Changes Updated.!');
}
else {
this.notifier.notify('warning', 'Something Went Wrong Try Again.!');
this.errorMessage = "Something Went Wrong Try Again.!";
}
}, error => {
this.notifier.notify('error', 'Something Went Wrong Try Again.! \t\"' + (error.error_type == 2 ? error.error_status + ' ( ' + error.error_text + ' ) ' : ' ( ' + error.error_text + ' ) ') +'\" Error Occur.!');
this.errorMessage = "Some Thing Wents Wrong Try Again.!";
});
}
submit2(){
console.log( this.full_data)
console.log(localStorage.getItem('map_id'));
let map_id = localStorage.getItem('map_id');
let data = localStorage.getItem('formvalue');
console.log( JSON.parse(data))
let tmp = JSON.parse(data)
let customer_segment = tmp.fk_customer_segment;
let product_id = tmp.fk_product_id;
let form_status ="draf";
let entity_id = localStorage.getItem('entity_id');
let param = {"entity_id":entity_id,"product_id":product_id,"customer_segment_id":customer_segment,"map_id": map_id,"form_id": this.form_id, "json":this.full_data ,"form_status":form_status}
// let formValues;
console.log(param)
// console.log("worked")
this.masterService.saveupdatejsondetails(param).subscribe(
dataresult => {
if (dataresult.status == 200) {
console.log(dataresult);
this.notifier.notify('success', 'Your Changes Updated.!');
}
else {
this.notifier.notify('warning', 'Something Went Wrong Try Again.!');
this.errorMessage = "Something Went Wrong Try Again.!";
}
}, error => {
this.notifier.notify('error', 'Something Went Wrong Try Again.! \t\"' + (error.error_type == 2 ? error.error_status + ' ( ' + error.error_text + ' ) ' : ' ( ' + error.error_text + ' ) ') +'\" Error Occur.!');
this.errorMessage = "Some Thing Wents Wrong Try Again.!";
});
}
}

View File

@ -1,84 +1,102 @@
<h2 mat-dialog-title class="paragraph_change">
<div fxFlex="70" align="left" style="padding: 10px !important;padding-left: 200px !important;">
<mat-card-title><span style="font-size:24px !important;padding-left: 200px !important"> Section List Edit Items (Enable / Disable)</span></mat-card-title><br>
</div>
<div fxFlex="30" align="end" style="padding: 10px !important;">
<!-- <button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Close" matTooltipPosition="right" mat-dialog-close><mat-icon>close</mat-icon></button> -->
<button mat-raised-button mat-icon-button class="hover-icon " type="button" matTooltip="Close" matTooltipPosition="above"
(click)="loadPdViewCompoent()"><mat-icon>close</mat-icon></button>
</div>
</h2>
<ng-container>
<mat-card class="parent_mat_card">
<!-- <div fxLayout="row" fxLayout.xs="column" fxLayoutWrap style="padding-top:1%">
<div fxFlex="80%" style="padding-left: 250px;">
<mat-card-title><span style="font-size:24px"> Section List Edit Items (Enable / Disable)</span></mat-card-title>
</div>
<div fxFlex="20%" style="padding-left: 50px;">
<button mat-raised-button mat-icon-button class="hover-icon " type="button" matTooltip="Close" matTooltipPosition="above"
(click)="loadPdViewCompoent()"><mat-icon>close</mat-icon></button>
</div>
</div> -->
<mat-card-content style="max-height:100% !important;">
<div fxLayout="row wrap" class="child_mat_card">
<mat-card fxFlex.xs="80" fxFlex.sm="45" fxFlex.md="32" fxFlex.lg="32" fxFlex.xl="33" *ngFor="let formButton of categoryFormButtons;let quesIndex=index" [ngStyle]="{'background-color':formButton.is_form_disabled == 1 ? '#d5d5d5' : '#4caf50' ,'color':'#fff'}" >
<mat-card-header>
<span style="padding: 17px 14px 3px 15px !important;border-radius: 0px 0px 0px 15px!important;width: 50px !important;" class="menu-badge mat-purple ng-star-inserted" align="center" (click)="formButton.is_form_disabled == 1 ? null : OnSelectDirectForms(formButton,quesIndex)" >{{quesIndex+1}}</span>
<div fxFlex="100" align="left" style="padding:15px !important;" (click)="formButton.is_form_disabled == 1 ? null : OnSelectDirectForms(formButton,quesIndex)" >
{{ formButton.form_name }}
</div>
<!--<div fxFlex="20" align="end">
<span style="padding: 2px 9px 3px 9px !important;" class="menu-badge mat-purple ng-star-inserted" align="center">{{quesIndex+1}}</span>
</div> -->
<button mat-icon-button [matMenuTriggerFor]="menu" aria-label="Example icon-button with a menu">
<mat-icon>more_vert</mat-icon>
</button>
<mat-menu #menu="matMenu">
<button mat-menu-item [disabled]="formButton.is_form_disabled == 0" (click)="OnSelectform(formButton,quesIndex,0)">
<mat-icon>done</mat-icon>
<span>Enable</span>
</button>
<button mat-menu-item [disabled]="formButton.is_form_disabled == 1" (click)="OnSelectform(formButton,quesIndex,1)">
<mat-icon>clear</mat-icon>
<span>Disable</span>
</button>
</mat-menu>
</mat-card-header>
</mat-card>
<div class="pad"> <mat-menu #menu="matMenu" class="remove-padding">
<button mat-menu-item>Enable</button>
<button mat-menu-item>Disable</button>
</mat-menu> </div>
<mat-card fxFlex.xs="80" fxFlex.sm="45" fxFlex.md="32" fxFlex.lg="32" fxFlex.xl="33" *ngFor="let photoButton of photographButtons;let quesIndex=index" [ngStyle]="{'background-color':photoButton.isAnswered == false ? '#fff' : '#4caf50' ,'color':'#fff'}" (click)="OnSelectDirectForms(photoButton)">
<mat-card-header>
<span style="padding: 17px 14px 3px 15px !important;border-radius: 0px 0px 0px 15px!important;width: 50px !important;" class="menu-badge mat-purple ng-star-inserted" align="center">{{actualQuestions+1}}</span>
<div fxFlex="100" align="left" style="padding:15px !important;">
{{ photoButton.form_name }}
</div>
<!--<div fxFlex="20" align="end">
<span style="padding: 2px 9px 3px 9px !important;" class="menu-badge mat-purple ng-star-inserted" align="center">{{quesIndex+1}}</span>
</div> -->
</mat-card-header>
</mat-card>
</div>
</mat-card-content>
<div class="form">
<h2 mat-dialog-title class="paragraph_change">
<div fxFlex="70" align="left" style="padding: 10px !important;">
<span>Section List Edit Items ( Enable / Disable) </span><br>
</div>
<div fxFlex="30" align="end" style="padding: 10px !important;">
<button mat-raised-button mat-icon-button class="hover-icon " type="button" matTooltip="Close" matTooltipPosition="above"
(click)="loadPdViewCompoent()"><mat-icon>close</mat-icon></button>
</div>
</h2>
<!-- <mat-dialog-content style="border-bottom: 2px solid #e2412f8f;"> -->
<mat-tab-group>
<mat-tab >
<ng-template matTabContent>
<ng-container>
<mat-card class="parent_mat_card">
<!-- <div fxLayout="row" fxLayout.xs="column" fxLayoutWrap style="padding-top:1%">
<div fxFlex="80%" style="padding-left: 250px;">
<mat-card-title><span style="font-size:24px"> Section List Edit Items (Enable / Disable)</span></mat-card-title>
</div>
<div fxFlex="20%" style="padding-left: 50px;">
<button mat-raised-button mat-icon-button class="hover-icon " type="button" matTooltip="Close" matTooltipPosition="above"
(click)="loadPdViewCompoent()"><mat-icon>close</mat-icon></button>
</div>
</div> -->
<mat-card-content style="max-height:100% !important;">
<div fxLayout="row wrap" class="child_mat_card">
<mat-card fxFlex.xs="80" fxFlex.sm="45" fxFlex.md="32" fxFlex.lg="32" fxFlex.xl="33" *ngFor="let formButton of categoryFormButtons;let quesIndex=index" [ngStyle]="{'background-color':formButton.is_form_disabled == 1 ? '#d5d5d5' : '#4caf50' ,'color':'#fff'}" >
<mat-card-header>
<span style="padding: 17px 14px 3px 15px !important;border-radius: 0px 0px 0px 15px!important;width: 50px !important;" class="menu-badge mat-purple ng-star-inserted" align="center" (click)="formButton.is_form_disabled == 1 ? null : OnSelectDirectForms(formButton,quesIndex)" >{{quesIndex+1}}</span>
<div fxFlex="100" align="left" style="padding:15px !important;" (click)="formButton.is_form_disabled == 1 ? null : OnSelectDirectForms(formButton,quesIndex)" >
{{ formButton.form_name }}
</div>
<!--<div fxFlex="20" align="end">
<span style="padding: 2px 9px 3px 9px !important;" class="menu-badge mat-purple ng-star-inserted" align="center">{{quesIndex+1}}</span>
</div> -->
<button mat-icon-button [matMenuTriggerFor]="menu" aria-label="Example icon-button with a menu">
<mat-icon>more_vert</mat-icon>
</button>
<mat-menu #menu="matMenu">
<button mat-menu-item [disabled]="formButton.is_form_disabled == 0" (click)="OnSelectform(formButton,quesIndex,0)">
<mat-icon>done</mat-icon>
<span>Enable</span>
</button>
<button mat-menu-item [disabled]="formButton.is_form_disabled == 1" (click)="OnSelectform(formButton,quesIndex,1)">
<mat-icon>clear</mat-icon>
<span>Disable</span>
</button>
</mat-menu>
</mat-card-header>
</mat-card>
<div class="pad"> <mat-menu #menu="matMenu" class="remove-padding">
<button mat-menu-item>Enable</button>
<button mat-menu-item>Disable</button>
</mat-menu> </div>
<mat-card fxFlex.xs="80" fxFlex.sm="45" fxFlex.md="32" fxFlex.lg="32" fxFlex.xl="33" *ngFor="let photoButton of photographButtons;let quesIndex=index" [ngStyle]="{'background-color':photoButton.isAnswered == false ? '#fff' : '#4caf50' ,'color':'#fff'}" (click)="OnSelectDirectForms(photoButton)">
<mat-card-header>
<span style="padding: 17px 14px 3px 15px !important;border-radius: 0px 0px 0px 15px!important;width: 50px !important;" class="menu-badge mat-purple ng-star-inserted" align="center">{{actualQuestions+1}}</span>
<div fxFlex="100" align="left" style="padding:15px !important;">
{{ photoButton.form_name }}
</div>
<!--<div fxFlex="20" align="end">
<span style="padding: 2px 9px 3px 9px !important;" class="menu-badge mat-purple ng-star-inserted" align="center">{{quesIndex+1}}</span>
</div> -->
</mat-card-header>
</mat-card>
</div>
</mat-card-content>
<!-- <mat-card-actions align="end"> -->
<!-- <button matTooltip="Complete Discussion" matTooltipPosition="above" [disabled]="actualQuestions==0 || actualQuestions!=answeredQuestions || currentPDStatus===false" mat-raised-button color="primary" (click)="pdStatusDialogue(pdStatusCheck.COMPLETED,2);"><span>{{currentPDStatus === true ? 'COMPLETE':'COMPLETED' }}</span></button>
</mat-card-actions> -->
</mat-card>
</ng-container>
</ng-template>
</mat-tab>
</mat-tab-group>
<!-- </mat-dialog-content> -->
<!-- <mat-card-actions align="end"> -->
<!-- <button matTooltip="Complete Discussion" matTooltipPosition="above" [disabled]="actualQuestions==0 || actualQuestions!=answeredQuestions || currentPDStatus===false" mat-raised-button color="primary" (click)="pdStatusDialogue(pdStatusCheck.COMPLETED,2);"><span>{{currentPDStatus === true ? 'COMPLETE':'COMPLETED' }}</span></button>
</mat-card-actions> -->
</mat-card>
</ng-container>
<notifier-container></notifier-container>
</div>
<notifier-container></notifier-container>

View File

@ -2,6 +2,14 @@
// margin: 2 0%;
// }
.body-container {
background-color: white !important;
}
.form{
background-color: white !important;
}
.paragraph_change {
color: #fff !important;
background-color: #e00201 !important;

View File

@ -9,6 +9,7 @@ import { LoaderService } from 'app/shared/loaderService/loader.service';
import { PdTrigerService } from 'app/personal-discussion/pd-service/pd-triger.service';
import { MasterService } from '../master.service';
import { EditTemplateComponent } from '../edit-template/edit-template.component';
import { ViewComponent } from '../view/view.component';
import { LenderProductSegMappingComponent } from '../lender-product-seg-mapping/lender-product-seg-mapping.component';
@Component({
selector: 'app-selection-list-view',
@ -118,14 +119,16 @@ export class SelectionListViewComponent implements OnInit {
loadTemplates(){
this.formvalue
console.log(this.formvalue.template_lender_map_id)
// localStorage.setItem('map_id',this.formvalue.template_lender_map_id);
this.entity_id = localStorage.getItem('entity_id')
console.log( this.entity_id)
let map_id = localStorage.getItem('map_id');
console.log(map_id)
console.log( this.formvalue)
// console.log('start pd component inside - loadTemplates params are,',startID,type,randomString);
this.masterService.loadPDTemplates(this.formvalue.template_lender_map_id).subscribe(
this.masterService.loadPDTemplates(map_id).subscribe(
//this.masterService.loadPDTemplates(this.formvalue.template_lender_map_id).subscribe(
data => {
console.log("after reponse = ", data);
//console.log("after reponse = ", data.records.pdmaster_details);
@ -134,11 +137,12 @@ export class SelectionListViewComponent implements OnInit {
if (data.status == 200) {
this.categoryFormButtons = data.records[0].forms
this.categoryFormButtons.sort((a,b) => a.pd_form_order - b.pd_form_order )
this.masterService.list_4.next( this.categoryFormButtons);
this.map_id = data.records[0].map_id
localStorage.setItem('map_id',this.map_id);
//localStorage.setItem('map_id',this.map_id);
}
@ -191,10 +195,10 @@ export class SelectionListViewComponent implements OnInit {
//this.router.routeReuseStrategy.shouldReuseRoute = () => false;
//this.router.onSameUrlNavigation = 'reload';
this.router.navigate(['template2/lenderlist']);
setTimeout(()=>{ //<<<---using ()=> syntax
window.location.reload()
}, 1);
// this.router.navigate(['template2/lenderlist']);
// setTimeout(()=>{ //<<<---using ()=> syntax
// window.location.reload()
// }, 1);
//this.router.navigate([ 'template2/lenderlist'], { relativeTo: this.route });
}
@ -203,23 +207,46 @@ export class SelectionListViewComponent implements OnInit {
OnSelectDirectForms(details: any,id:any) {
console.log(details)
console.log(details.is_group_form)
localStorage.setItem('form_id',details.form_id);
if(details.is_group_form == 1){
this.masterService.list_3.next(details);
console.log(id)
this.router.navigate(['group-form'], { relativeTo: this.route });
console.log(details.is_business_form)
// console.log(details.json)
console.log(details.is_group_form)
this.masterService.list_3.next(details);
localStorage.setItem('form_id',details.form_id);
if(details.is_group_form == 1){
localStorage.setItem('form',JSON.stringify(details));
this.masterService.list_3.next(details);
console.log(id)
this.router.navigate(['group-form'], { relativeTo: this.route });
}else{
if(details.json !== ""){
localStorage.setItem('form',JSON.stringify(details));
this.masterService.list_3.next(details);
console.log(id)
//this.router.navigate(['Group-form'], { relativeTo: this.route });
this.router.navigate(['edit',id], { relativeTo: this.route });
}else{
const dialogRef = this.dialog.open(ViewComponent, {
data: {'form_name': details.form_name, 'data':details,id:"1"},
// position: { right: '0'},
disableClose: true,
minWidth: '30%',
maxWidth: '40%',
});
dialogRef.afterClosed()
.subscribe(dataresult => {
// this.notifier.notify('success', 'Successfully allocated.!');
// this.loadTemplates(this.startPD,2,this.randomString);
});
}
}
}else{
this.masterService.list_3.next(details);
console.log(id)
//this.router.navigate(['Group-form'], { relativeTo: this.route });
this.router.navigate(['Edit-template'], { relativeTo: this.route });
}
}
OnSelectform(details,index,disable_key){

View File

@ -13,7 +13,7 @@ import {FileUploadModule} from 'ng2-file-upload/ng2-file-upload';
import {TreeModule} from 'angular-tree-component';
import {NgxDatatableModule} from '@swimlane/ngx-datatable';
import {NgxSpinnerModule} from 'ngx-spinner'
import {DragDropModule} from '@angular/cdk/drag-drop';
import {
MatCardModule,
MatIconModule,
@ -40,8 +40,9 @@ import { MatTooltipModule } from '@angular/material/tooltip';
import { LenderProductSegMappingComponent } from './lender-product-seg-mapping/lender-product-seg-mapping.component';
import { SelectionListViewComponent } from './selection-list-view/selection-list-view.component';
import { EditTemplateComponent } from './edit-template/edit-template.component';
import {
MatAutocompleteModule,
MatBadgeModule,
MatBottomSheetModule,
@ -59,7 +60,12 @@ import {
MatTreeModule,
} from '@angular/material';
import { FormGroupComponent } from './form-group/form-group.component';
import { HttpClientModule } from '@angular/common/http';
import { HttpModule } from '@angular/http';
import { ViewComponent } from './view/view.component';
import { QuestionViewComponent } from './question-view/question-view.component';
import { AddquestionComponent } from './addquestion/addquestion.component';
import { NgxSmoothDnDModule } from 'ngx-smooth-dnd';
const customNotifierOptions: NotifierOptions = {
position: {
horizontal: {
@ -102,6 +108,52 @@ const customNotifierOptions: NotifierOptions = {
};
@NgModule({
imports: [
NgxSmoothDnDModule,
DragDropModule,
CommonModule,
ReactiveFormsModule,
FormsModule,
MatProgressBarModule,
CKEditorModule,
PdfViewerModule,
MatCardModule,
MatIconModule,
MatAutocompleteModule,
MatInputModule,
MatRadioModule,
MatTableModule,
MatPaginatorModule,
MatButtonModule,
MatProgressBarModule,
MatToolbarModule,
FlexLayoutModule,
NgxDatatableModule,
NgxSpinnerModule,
MatChipsModule,MatProgressSpinnerModule,
FormsModule,MatSlideToggleModule,
MatSelectModule, MatListModule,MatGridListModule, MatTabsModule, MatBadgeModule, MatCheckboxModule,MatStepperModule,MatSidenavModule ,MatMenuModule, MatButtonToggleModule,
ReactiveFormsModule,
MatBottomSheetModule,
MatDividerModule,
MatNativeDateModule,
MatRippleModule,
MatSliderModule,
MatSnackBarModule,
MatTreeModule,
FileUploadModule,
TreeModule,
MatDatepickerModule,
MatDialogModule,MatSortModule,
NgxMatSelectSearchModule,MatTooltipModule, MatExpansionModule,
MatInputModule ,
A11yModule,
PortalModule,
CdkStepperModule,
@ -109,9 +161,6 @@ const customNotifierOptions: NotifierOptions = {
CommonModule,
CdkTreeModule,
PdfViewerModule,FileUploadModule,TreeModule,NgxDatatableModule,NgxSpinnerModule,
CKEditorModule,
NotifierModule.withConfig(customNotifierOptions),
FlexLayoutModule,
@ -149,13 +198,14 @@ const customNotifierOptions: NotifierOptions = {
MatTreeModule,
RouterModule.forChild(Template2Routes),
],
declarations: [LenderListComponent, LenderProductSegMappingComponent, SelectionListViewComponent, EditTemplateComponent, FormGroupComponent],
entryComponents: [EditTemplateComponent],
declarations: [LenderListComponent, LenderProductSegMappingComponent, SelectionListViewComponent, EditTemplateComponent, FormGroupComponent, ViewComponent, QuestionViewComponent, AddquestionComponent,],
entryComponents: [ViewComponent,SelectionListViewComponent,EditTemplateComponent,QuestionViewComponent
],
exports: [
EditTemplateComponent
EditTemplateComponent,SelectionListViewComponent,QuestionViewComponent
],
providers : [
MasterService,EditTemplateComponent
MasterService,EditTemplateComponent,LenderListComponent,SelectionListViewComponent,QuestionViewComponent
]
})
export class Template2Module { }

View File

@ -1,10 +1,12 @@
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { AddquestionComponent } from './addquestion/addquestion.component';
import { EditTemplateComponent } from './edit-template/edit-template.component';
import { FormGroupComponent } from './form-group/form-group.component';
import { LenderListComponent } from './lender-list/lender-list.component';
import { LenderProductSegMappingComponent } from './lender-product-seg-mapping/lender-product-seg-mapping.component';
import { QuestionViewComponent } from './question-view/question-view.component';
import { SelectionListViewComponent } from './selection-list-view/selection-list-view.component';
import { Template2Module } from './template2.module';
export const Template2Routes: Routes = [
@ -12,13 +14,14 @@ export const Template2Routes: Routes = [
{
path: '',
redirectTo: 'lenderlist',
pathMatch: 'full',
// pathMatch: 'full',
},{
path: '',
children: [
{
path: 'lenderlist',
component: LenderListComponent,
//component: QuestionViewComponent,
children: [
{
path: 'lps/:question-id',
@ -29,16 +32,28 @@ export const Template2Routes: Routes = [
component: SelectionListViewComponent,
},
{
path: 'lps/:question-id/selection-list/Edit-template',
component: EditTemplateComponent,
path: 'lps/:question-id/selection-list/edit/:id',
// component: EditTemplateComponent,
component: QuestionViewComponent,
// component: AddquestionComponent,
},
{
path: 'lps/:question-id/selection-list2/edit/:id',
//component: EditTemplateComponent,
component: QuestionViewComponent,
// component: AddquestionComponent,
},
{
path: 'lps/:question-id/selection-list/group-form',
component: FormGroupComponent,
},
{
path: 'lps/:question-id/selection-list/group-form/Edit-template',
component: EditTemplateComponent,
path: 'lps/:question-id/selection-list/group-form/edit/:id',
//component: EditTemplateComponent,
component: QuestionViewComponent,
// component: AddquestionComponent,
}
]
},

View File

@ -0,0 +1,170 @@
<h2 mat-dialog-title class="paragraph_change">
<div fxFlex="70" align="left" style="padding: 10px !important;">
{{dialoge_title_content}}
</div>
<div fxFlex="30" align="end" style="padding: 10px !important;">
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Close" matTooltipPosition="right" mat-dialog-close><mat-icon>close</mat-icon></button>
</div>
</h2>
<mat-dialog-content>
<div fxFlex="100" *ngIf="data.id == '1' ">
<span *ngFor="let forms of dialoge_subcontent" style="color: red !important;">{{dialoge_subcontent}} </span>
<p>
{{dialoge_content}}
</p>
</div>
<div fxFlex="100" *ngIf="data.id == '3' ">
<mat-form-field class="example-full-width" >
<textarea matInput [value]="EditQuestions" [(ngModel)]="EditQuestions" placeholder="Questions" >
</textarea>
</mat-form-field>
<mat-checkbox class="example-margin" [(ngModel)]="Mandatory_checked">Mandatory</mat-checkbox>
<!-- <p>Question</p> -->
<!-- Enable <mat-slide-toggle [(ngModel)]="isChecked">Disable: {{isChecked}}</mat-slide-toggle>Disable -->
<!-- Enable <mat-slide-toggle [(ngModel)]="isChecked" (change)="onValChange(isChecked)"> </mat-slide-toggle> Disable -->
</div>
<div style="padding-top: 20px;" *ngIf="((form == false) && (add_question ==false)) ">
Question : <span *ngFor="let forms of dialoge_subcontent" style="color: red !important;">{{dialoge_subcontent}} </span>
<p >
{{dialoge_content}}
</p>
<span *ngIf="!CompletenessCheck">
<span *ngIf="!Loading">
<h5 >Score Card Impact: <span style="color: #4caf50 !important;">{{score_card }}</span> </h5>
<h5 > {{ section | uppercase}}</h5>
<ul><li *ngFor="let question of depends_child" style="color: red !important;">
{{ question }}
</li></ul>
<div *ngFor="let forms of depends; let i = index">
<p align="center" style="color: red !important;"> {{completeness_message}} </p>
<h5 > {{ forms.section_name | uppercase}}</h5>
<ul><li *ngFor="let question of depends[i].Question" style="color: red !important;">
{{ question }}
</li></ul>
</div>
</span>
<span *ngIf="Loading">
<div fxLayoutAlign="center">
<mat-progress-spinner mode="indeterminate"></mat-progress-spinner>
</div>
</span>
</span>
</div>
<div fxFlex="100" *ngIf="((form == false) && (add_question ==true)) ">
<form [formGroup]="userDetailsForm" (ngSubmit)="onSubmitUserDetails(userDetailsForm.value)">
<!-- <mat-label>Questions</mat-label> -->
<mat-form-field class="example-full-width">
<input matInput maxlength="25" formControlName="name" placeholder="Field label" required>
</mat-form-field>
<section class="example-full-width">
<mat-checkbox class="example-margin" formControlName="mandatory" >Mandatory</mat-checkbox>
</section>
<!-- {{genders | json}} -->
<mat-form-field class="example-full-width">
<mat-select placeholder="Field Type" formControlName="question" >
<mat-option (click)="get()" *ngFor="let question of question_Type" [value]="question.id">{{ question.name }}</mat-option>
</mat-select>
</mat-form-field> <br>
<div *ngIf="show == true">
<div formArrayName="option">
<div class="row" *ngFor="let email of userDetailsForm.get('option').controls; let i = index"
[formGroupName]="i">
<mat-form-field class=" full-width">
<input matInput formControlName="option" placeholder="Option" >
<mat-error *ngFor="let validation of validationMsgs.emailAddress">
<div *ngIf="email.get('option').hasError(validation.type)">
{{validation.message}}
</div>
</mat-error>
</mat-form-field>
<button class="float-left" mat-icon-button color="primary" aria-label="Remove/clear"
(click)="removeOrClearEmail(i)" matTooltip="Remove">
<mat-icon>delete</mat-icon>
</button>
<button class="float-left" mat-icon-button color="primary" aria-label="Add"
(click)="addEmailFormGroup()" matTooltip="Add">
<mat-icon>add</mat-icon>
</button>
</div>
</div>
</div>
<!-- <input matInput maxlength="25" formControlName="width" placeholder="Questions width" required> -->
<div class="full-width">
<mat-radio-group maxlength="25" formControlName="width" aria-label="Select an option">
<label class="full-width">Questions width</label> <br>
<mat-radio-button value="25">25%</mat-radio-button>
<mat-radio-button value="50">50%</mat-radio-button>
<mat-radio-button value="75">75%</mat-radio-button>
<mat-radio-button value="100">100%</mat-radio-button>
</mat-radio-group>
</div>
<mat-form-field class="example-full-width">
<mat-select placeholder="Api" formControlName="api" (change)="get2()">
<mat-option *ngFor="let question of Api"
(onSelectionChange)="get3($event, question)" [value]="question.name">{{ question.name }}</mat-option>
</mat-select>
</mat-form-field>
<div *ngIf="show2 == true">
<mat-form-field class="example-full-width">
<input matInput maxlength="100" formControlName="api_name" placeholder="Api Name" required>
</mat-form-field>
<mat-form-field class="example-full-width">
<input matInput maxlength="100" formControlName="Field" placeholder="Field" required>
</mat-form-field>
<mat-form-field class="example-full-width">
<input matInput maxlength="100" formControlName="params" placeholder="Api params" required>
</mat-form-field>
</div>
<mat-form-field class="example-full-width">
<input matInput maxlength="25" formControlName="Onchange" placeholder="Questions Onchange" >
</mat-form-field>
</form>
</div>
</mat-dialog-content>
<mat-dialog-actions align="end" >
<!-- <button mat-raised-button color="primary" (click)="changePDStatus(addonStatus)"><strong> Yes / Allow Addon PD</strong></button> -->
<!-- <button mat-raised-button color="primary" (click)="changePDStatus(this.data.pd_status)"><strong>Yes</strong></button> -->
<button mat-raised-button mat-dialog-close (click)="onSubmitUserDetails(userDetailsForm.value)"><strong> Ok </strong></button>
<!-- <button class="submit-btn" color="primary" mat-raised-button type="submit" >
Submit
</button> -->
</mat-dialog-actions>

View File

@ -0,0 +1,45 @@
.paragraph_change {
color: #fff !important;
background-color: #e00201 !important;
}
::ng-deep { .no-padding > mat-dialog-container {
// background: black;
padding: 0;
// overflow-y: scroll !important;
}
}
.example-full-width {
width: 100%;
}
.mat-dialog-content{
margin:0px !important;
}
// mat-placeholder{
// margin-top: 20px;
// word-wrap: break-word;
// }
// input{
// height:40px;
// }
.mat-form-field-label {
white-space: normal;
}
textarea.mat-input-element {
padding: 0px 0;
margin: 5px 0;
}
.mat-input-placeholder {
white-space: normal;
}
mat-form-field {
margin: 0 2%;
}
.paragraph_change {
color: #fff !important;
background-color: #e00201 !important;
}

View File

@ -0,0 +1,25 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { ViewComponent } from './view.component';
describe('ViewComponent', () => {
let component: ViewComponent;
let fixture: ComponentFixture<ViewComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ ViewComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(ViewComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@ -0,0 +1,308 @@
import { Component, Inject, OnInit } from '@angular/core';
import {MatDialog,MatDialogRef,MAT_DIALOG_DATA } from '@angular/material';
import {FormBuilder, FormArray, FormControl, FormGroup, Validators} from '@angular/forms';
@Component({
selector: 'app-view',
templateUrl: './view.component.html',
styleUrls: ['./view.component.scss']
})
export class ViewComponent implements OnInit {
dialoge_subcontent:any=[];
completeness_message:any=[];
dialoge_content:any=[];
dialoge_title_content:any=[];
form: boolean;
add_question: boolean;
isChecked : boolean = false
userDetailsForm: any;
question_Type: any=[];
Api:any=[];
show: any;
questionsForm: any;
EditQuestions: any=[];
depends: any=[];
depends_question: any;
section: any=[];
depends_child: any=[];
Mandatory_checked = false;
score_card: any=[];
public emailForm: FormGroup;
public emailLabels = ['Home', 'Work', 'Other'];
public validationMsgs = {
'emailAddress': [{ type: 'email', message: 'Enter a valid email' }]
}
show2: boolean;
constructor(@Inject(MAT_DIALOG_DATA) public data: any,private fb: FormBuilder,private dialog: MatDialog, private _formBuilder: FormBuilder) {
console.log(this.data)
this.data.data
// this.completeness_message.push("information")
if(!this.data.template && this.data.add == null && this.data.id == "1"){
console.log("1")
console.log(this.data)
this.form = true;
this.add_question = false;
this.dialoge_subcontent.push(this.data.form_name)
this.dialoge_content.push("This is a Static Form and Non Editable")
this.dialoge_title_content.push("Section")
}
else if(this.data.add != null && this.data.id != "3"){
console.log("2")
this.form = false;
this.add_question = true;
this.dialoge_subcontent.push(this.data.add)
this.dialoge_content.push("This Question depends on another question")
//this.dialoge_content.push("Removal of The Questions Impact Following")
this.dialoge_title_content.push("Add Question")
}else if(this.data.id == "3"){
console.log("3")
// this.form = false;
// this.add_question = false;
// if(this.data.add.data3.disable){
// this.isChecked = this.data.add.data3.disable
// }else{
// this.isChecked = false;
// }
this.dialoge_subcontent.push(this.data.form_name)
this.EditQuestions = this.data.data;
if(!this.data.valid){
this.Mandatory_checked = false;
}else{
this.Mandatory_checked = true;
}
console.log( this.EditQuestions)
// this.questionsForm.controls.questions.setValue( this.data.data);
//this.dialoge_content.push("This Question depends on another question")
this.dialoge_title_content.push(" Edit Question")
}else{
this.form = false;
this.add_question = false;
console.log(this.data)
this.section = this.data.full_data.section_name;
this.depends = this.data.form.depends[0].section
this.depends_child = this.data.form.depends[0].child
this.depends_question = this.data.form.depends[0].section
this.score_card = this.data.form.score_card
this.dialoge_subcontent.push(this.data.form_name)
this.dialoge_content.push("Removal of The Question Impact Following:")
this.dialoge_title_content.push("Question")
}
}
ngOnInit() {
this.question_Type = [{'id':1,'name':'Textbox'},
{'id':2,'name':'Radio'},
{'id':4,'name':'Multi-select'},
{'id':3,'name':'Select'},
{'id':7,'name':'Textarea'},
{'id':5,'name':'Checkbox'},
];
this.Api = [{'id':1,'name':'GET'},
{'id':2,'name':'POST'},
];
this.emailForm = this.fb.group({
emails: this.fb.array([this.createEmailFormGroup()])
});
this.createForms();
// this.userDetailsForm.controls.name.setValue( this.data.data);
}
createForms() {
// user details form validations
this.userDetailsForm = this.fb.group({
name: ['', Validators.required],
question: ['', Validators.required],
mandatory: ['', Validators.required],
api: ['', Validators.required],
api_name: ['', Validators.required],
Field: ['', Validators.required],
params: ['', Validators.required],
Onchange: ['', Validators.required],
width: ['', Validators.required],
option: this._formBuilder.array([
this.createEmailFormGroup()
]),
//emails: this.fb.array([this.createEmailFormGroup()])
// gender: new FormControl('', Validators.required),
});
// this.emailForm = this.fb.group({
// emails: this.fb.array([this.createEmailFormGroup()])
// });
// this.questionsForm = this.fb.group({
// questions: ['', Validators.required],
// // gender: new FormControl('', Validators.required),
// });
}
get(){
console.log( this.userDetailsForm.value.question)
// console.log( w)
let w = this.userDetailsForm.value.question
if(w == "3" ||w == "4"){
this.show =true
}else{
this.show =false
}
}
get3($event, question){
let w = this.userDetailsForm.value.question
if(w == "3" ||w == "4"){
this.show =false
this.show2 =true
}else{
this.show =true
this.show2 =false
}
}
get2(){
this.show2 =true
}
onSubmitAccountDetails(value) {
console.log(value);
}
public addEmailFormGroup() {
const emails = this.userDetailsForm.get('option') as FormArray
emails.push(this.createEmailFormGroup())
}
public removeOrClearEmail(i: number) {
const emails = this.userDetailsForm.get('option') as FormArray
if (emails.length > 1) {
emails.removeAt(i)
} else {
emails.reset()
}
}
private createEmailFormGroup(): FormGroup {
return new FormGroup({
'option': new FormControl(''),
})
}
onSubmitUserDetails(value) {
console.log( this.data.add);
this.emailForm.get('emails')
console.log(value);
console.log( this.data.full_data);
console.log( this.emailForm.get('emails'));
console.log( this.data.form_name);
console.log( this.data.form_name);
console.log( this.EditQuestions);
localStorage.setItem('edit', '1')
localStorage.setItem('question_edit', this.EditQuestions)
localStorage.setItem('question_check', this.isChecked.toString())
let question = value.name ;
let question_key = value.name ;
let width = value.width ;
let title = value.title || null;
let question_type = value.question || null;
let Onchange = value.Onchange || null;
let api = value.api || null;
var names = value.Field
var nameArr = names.split(',');
let api_properties = {
"api":value.api_name,
"api_method":api,
"params":{
"master_name": value.params
},
"fields":[
''+nameArr[0]+'',''+nameArr[1]+''
]
} || null;
let valid;
console.log( this.Mandatory_checked )
if( this.Mandatory_checked == true){
valid = [
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
}else{
valid = null;
}
localStorage.setItem('question_edit_valid', JSON.stringify(valid))
let json = {'answers':null,
"validations":valid,
'api_properties': api_properties,
'disable': false,
'field_width': width,
'is_repeatable': null,
'required':value.mandatory,
'onchange_properties': Onchange,
'question':question,
'question_key':question_key,
'title': title,
'type': question_type,
}
console.log(json);
localStorage.setItem('addquestion',JSON.stringify(json))
}
onValChange(check){
console.log(check)
if(check == true && this.data.add.data3.depends != null){
console.log(this.data)
this.dialoge_subcontent=[];
this.form = true;
this.add_question = false;
this.section = this.data.full_data.section_name;
this.depends = this.data.add.data3.depends[0].section
this.depends_child = this.data.add.data3.depends[0].child
this.depends_question = this.data.add.data3.depends[0].section
this.score_card = this.data.add.data3.score_card
this.dialoge_subcontent.push(this.data.data)
this.dialoge_content =[];
this.dialoge_content.push("Removal of The Question Impact Following:")
this.dialoge_title_content.push("Question")
}else{
this.form = false;
this.add_question = false;
}
}
onNoClick(){
}
}

View File

@ -0,0 +1,316 @@
{
"section_id":"1",
"section_name":"Borrower & Guarantor Details",
"onsubmit":null,
"questions":[
{
"question":[{
"question":"Borrower Type",
"question_key":"borrower_type",
"type":"1",
"field_width":"100",
"answers":null,
"api_properties":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"relationship",
"expression":"(String('borrower_type').toLowerCase() != String('guarantor'))",
"value_keys":[
"borrower_type"
],
"questions":[
{
"question":"Numbers of years for which the business has been running",
"question_key":"numbers_of_years_business_running",
"type":"1",
"field_width":"45",
"field_type":"num",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_subfield":"1",
"parent_question_key":"entity_type",
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
}
]
}
]
},
{
"purpose":"validations",
"validations":[{
"value_keys":["borrower_type"],
"value":"(String('borrower_type').toLowerCase() != String('guarantor'))",
"validation_to":"borrower_age",
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required"
}]}
],
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Name",
"question_key":"borrower_name",
"type":"1",
"field_width":"100",
"onchange_properties":null,
"api_properties":null,
"answers":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"questions_level_two":[
{
"question":"Mobile Number",
"question_key":"mobile_no",
"type":"1",
"field_type":"num",
"field_width":"100",
"onchange_properties":null,
"api_properties":null,
"answers":null,
"is_repeatable":null,
"validations":[
{
"name":"pattern",
"isactive":"1",
"validator":"[0-9]{10}",
"message":"Mobile number should be 10 digit",
"value":null
}
]
}
],
"is_repeatable":"2",
"group_key":"mobile_numbers",
"group_title":"Mobile Number"
},
{
"question":"Entity Type",
"question_key":"entity_type",
"type":"1",
"field_width":"100",
"api_properties":null,
"answers":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"relationship",
"expression":"(String('entity_type').toLowerCase() == String('individual'))",
"value_keys":[
"entity_type"
],
"questions":[
{
"question":"Age",
"question_key":"borrower_age",
"type":"1",
"field_type":"num",
"field_width":"50",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_subfield":"1",
"parent_question_key":"entity_type",
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
}
]},
{
"insert_index":"relationship",
"expression":"(String('entity_type').toLowerCase() == String('individual'))",
"value_keys":[
"entity_type"
],
"questions":[
{
"question":"Met / Not Met",
"question_key":"borrower_met",
"type":"2",
"field_width":"20",
"api_properties":null,
"answers":[
{
"answer_id":"Yes",
"answer":"Yes"
},
{
"answer_id":"No",
"answer":"No"
}
],
"onchange_properties":null,
"is_subfield":"1",
"parent_question_key":"entity_type",
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
}
]
}
]
},
{
"purpose":"question_label",
"expression":"(function () {let label= '';(String('entity_type').toLowerCase().includes('individual')) ? label= 'Number of years the borrower has been in this business.' : label = 'Number of years for which the business has been running';return label}())",
"value_keys":[
"entity_type"
],
"insert_control":"numbers_of_years_business_running"
},
{
"purpose":"validations",
"validations":[{
"value_keys":["borrower_type"],
"value":"(String('borrower_type').toLowerCase() != String('guarantor'))",
"validation_to":"borrower_age",
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required"
}]}
],
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Designation",
"question_key":"designation",
"type":"1",
"field_width":"100",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Relationship to",
"question_key":"relationship_to",
"type":"1",
"field_width":"100",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Relationship",
"question_key":"relationship",
"type":"1",
"field_width":"100",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
}
],
"is_repeatable":"1",
"group_key":"borrower_details",
"group_title":"Borrower Details"
},
{
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,721 @@
{
"section_id": "10",
"section_name": "Financial Information",
"onsubmit": [
{
"expression": "(function (){let sum_val=null;let ques_key=[];if(!control || control == undefined || control == null){return true};control.forEach(ques_obj=>{ques_key.push(ques_obj[submitProperty.key_name])});console.log('none',ques_key);return new Set(ques_key).size === ques_key.length}())",
"group_key": "financial_info",
"key_name": "fy",
"msg": "Financial Year already entered earlier"
}
],
"questions": [
{
"question":"Is the Financial information available?",
"question_key":"financial_info_available",
"type":"2",
"field_width":"45",
"api_properties":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"financial_info_available",
"expression":"(String('financial_info_available') && String('financial_info_available').toLowerCase() == String('yes'))",
"value_keys":[
"financial_info_available"
],
"questions":[
{
"question": "Net Profit / (Net Loss) (Rs)",
"question_key": "net_profit_rs",
"place_holder": "Enter the text",
"type": "1",
"field_width": "45",
"api_properties": null,
"answers": null,
"is_repeatable": null,
"field_type": "numtoword",
"validations": [
],
"onchange_properties": [
{
"purpose": "answer_value",
"expression": "((Number(net_profit_rs)/Number(sales_amount))*100).toFixed(2)",
"value_keys": [
"sales_amount",
"net_profit_rs"
],
"insert_control": "net_profit_to_sales_percent"
}
]
},
{
"question": "Net Profit or (Net Loss) to Sales % ",
"question_key": "net_profit_to_sales_percent",
"place_holder": "Enter number",
"type": "1",
"field_width": "45",
"api_properties": null,
"answers": null,
"onchange_properties": [
{
"purpose": "answer_value",
"expression": "(Number(sales_amount)*Number(net_profit_to_sales_percent))/100",
"value_keys": [
"sales_amount",
"net_profit_to_sales_percent"
],
"insert_control": "net_profit_rs"
}
],
"is_repeatable": null,
"field_type": "num",
"validations": [
{
"name": "max",
"validator": "100",
"isactive": "1",
"message": "Number must be less than 100",
"value": null
}
]
},
{
"question": "Sales / Revenue (Rs)",
"sub_title": "Particulars of Financials for Latest Year as per person met during PD visit",
"question_key": "sales_amount",
"place_holder": "Enter text",
"type": "1",
"field_width": "100",
"field_type": "numtoword",
"api_properties": null,
"answers": null,
"onchange_properties": [
{
"purpose": "answer_value",
"expression": "(function (){let final_value; Number(net_profit_to_sales_percent) ? final_value = (Number(sales_amount)*Number(net_profit_to_sales_percent))/100 : '';return final_value}())",
"value_keys": [
"sales_amount",
"net_profit_to_sales_percent"
],
"insert_control": "net_profit_rs"
},
{
"purpose": "answer_value",
"expression": "(function (){let final_value; Number(net_profit_rs) ? final_value = (Number(net_profit_rs)/Number(sales_amount))*100 : '';return final_value.toFixed(2)}())",
"value_keys": [
"sales_amount",
"net_profit_rs"
],
"insert_control": "net_profit_to_sales_percent"
}
],
"is_repeatable": null,
"validations": [
]
},
{
"question": "Does the business have any working capital facility from any lender other than Moneywise?",
"question_key": "is_any_other_working_captial_facility",
"type": "2",
"field_width": "45",
"answers": [
{
"answer": "Yes",
"answer_id": "Yes"
},
{
"answer": "No",
"answer_id": "No"
}
],
"api_properties": null,
"onchange_properties": [
{
"purpose": "FORM_CTRL",
"form_controls": [
{
"insert_index": "is_any_other_working_captial_facility",
"expression": "(String('is_any_other_working_captial_facility') === String('Yes'))",
"value_keys": [
"is_any_other_working_captial_facility"
],
"questions": [
{
"question": "Details of above facilities need to be entered",
"question_key": "facility_details_specify",
"type": "7",
"placeholder": "Enter the text",
"answers": null,
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"is_subfield": "1",
"parent_question_key": "is_any_other_working_captial_facility",
"validations": [
]
},
{
"question": "Facility details i.e. Letter of Credit/ Bank guarantee, CC limit etc.",
"question_key": "facility_details_other_lender",
"type": "3",
"field_width": "45",
"answers": [
{
"answer": "Letter of Credit",
"answer_id": "Letter of Credit"
},
{
"answer": "Bank guarantee",
"answer_id": "Bank guarantee"
},
{
"answer": "CC limit",
"answer_id": "CC limit"
},
{
"answer": "Others",
"answer_id": "Others"
}
],
"api_properties": null,
"onchange_properties": [
{
"purpose": "FORM_CTRL",
"form_controls": [
{
"insert_index": "facility_details_other_lender",
"expression": "(String('facility_details_other_lender').toLowerCase() == String('others'))",
"value_keys": [
"facility_details_other_lender"
],
"questions": [
{
"question": "Specify Facility details",
"question_key": "facility_details_other",
"type": "1",
"field_width": "45",
"field_type": "string",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"is_subfield": "1",
"parent_question_key": "facility_details_other_lender",
"validations": []
}
]
}
]
}
],
"is_repeatable": null,
"is_subfield": "1",
"parent_question_key": "is_any_other_working_captial_facility",
"validations": [
]
}
]
}
]
}
],
"is_repeatable": null,
"validations": [
]
},
{
"question": "Increase / Decrease in Turnover for Broken Period %",
"question_key": "broken_period_turnover_percent",
"type": "1",
"field_width": "45",
"answers": null,
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "num",
"validations": [
]
},
{
"question": "Turnover for Broken Period in PY (Rs)",
"question_key": "broken_period_turnover_py",
"type": "1",
"field_width": "45",
"answers": null,
"api_properties": null,
"onchange_properties": [
{
"purpose": "answer_value",
"expression": "(((Number(broken_period_turnover_cy)-Number(broken_period_turnover_py))/Number(broken_period_turnover_cy))*100).toFixed(2)",
"value_keys": [
"broken_period_turnover_py",
"broken_period_turnover_cy"
],
"insert_control": "broken_period_turnover_percent"
}
],
"is_repeatable": null,
"field_type": "numtoword",
"validations": [
]
},
{
"question": "Turnover for Broken Period in CY (Rs)",
"question_key": "broken_period_turnover_cy",
"type": "1",
"field_width": "45",
"answers": null,
"api_properties": null,
"onchange_properties": [
{
"purpose": "answer_value",
"expression": "(((Number(broken_period_turnover_cy)-Number(broken_period_turnover_py))/Number(broken_period_turnover_cy))*100).toFixed(2)",
"value_keys": [
"broken_period_turnover_py",
"broken_period_turnover_cy"
],
"insert_control": "broken_period_turnover_percent"
}
],
"is_repeatable": null,
"field_type": "numtoword",
"validations": [
]
},
{
"question": "No of Months",
"question_key": "broken_period_no_of_months",
"type": "1",
"field_width": "45",
"answers": null,
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "num",
"validations": [
]
},
{
"question": "Broken Period starting to (Date)",
"question_key": "broken_period_to_month",
"type": "1",
"place_holder": "DD-MM-YYYY (Eg 03-12-2020)",
"field_width": "45",
"answers": null,
"api_properties": null,
"onchange_properties": [
{
"purpose": "answer_value",
"expression": "(function (){let final_value = ''; if(String('broken_period_to_month') && String('broken_period_from_month')) {let from_date = new Date((String('broken_period_from_month')).split('-').reverse().join('-'));let to_date = new Date((String('broken_period_to_month')).split('-').reverse().join('-'));console.log(to_date);if(!from_date || !to_date || !from_date instanceof Date || !to_date instanceof Date || isNaN(from_date) || isNaN(to_date)) {final_value = '';return;}final_value = to_date.getMonth() - from_date.getMonth() + (12 * (to_date.getFullYear() - from_date.getFullYear()))};return final_value}())",
"value_keys": [
"broken_period_to_month",
"broken_period_from_month"
],
"insert_control": "broken_period_no_of_months"
}
],
"is_repeatable": null,
"field_type": "string",
"validations": [
]
},
{
"question": "Broken Period starting from (Date)",
"question_key": "broken_period_from_month",
"type": "1",
"field_width": "45",
"place_holder": "DD-MM-YYYY (Eg 05-02-2020)",
"answers": null,
"api_properties": null,
"onchange_properties": [
{
"purpose": "answer_value",
"expression": "(function (){let final_value = ''; if(String('broken_period_to_month') && String('broken_period_from_month')) {let from_date = new Date((String('broken_period_from_month')).split('-').reverse().join('-'));let to_date = new Date((String('broken_period_to_month')).split('-').reverse().join('-'));console.log(to_date);if(!from_date || !to_date || !from_date instanceof Date || !to_date instanceof Date || isNaN(from_date) || isNaN(to_date)) {final_value = '';return;}final_value = to_date.getMonth() - from_date.getMonth() + (12 * (to_date.getFullYear() - from_date.getFullYear()))};return final_value}())",
"value_keys": [
"broken_period_to_month",
"broken_period_from_month"
],
"insert_control": "broken_period_no_of_months"
}
],
"is_repeatable": null,
"field_type": "string",
"validations": [
]
},
{
"question": "Inventory Days as per CM Discussion",
"question_key": "inventory_days_cm",
"type": "1",
"field_width": "45",
"answers": null,
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "num",
"validations": [
]
},
{
"question": "Creditor Days as per CM Discussion",
"question_key": "creditor_days_cm",
"type": "1",
"field_width": "45",
"answers": null,
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "num",
"validations": [
]
},
{
"question": "Debtor Days as per CM Discussion",
"question_key": "debtor_days_cm",
"type": "1",
"field_width": "45",
"answers": null,
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "num",
"validations": [
]
},
{
"question": [
{
"question": "Enter FY",
"question_key": "fy",
"type": "3",
"field_width": "45",
"answers": [],
"answer_value": "GET_FY_YEARS",
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "num",
"validations": [
]
},
{
"question": "Sales / Revenue (Rs)",
"question_key": "sales_revenue",
"type": "1",
"field_width": "45",
"answers": null,
"api_properties": null,
"onchange_properties": [
{
"purpose": "answer_value",
"expression": "((Number(net_profit)/Number(sales_revenue))*100).toFixed(2)",
"value_keys": [
"sales_revenue",
"net_profit"
],
"insert_control": "net_profit_sales_percent"
},
{
"purpose": "answer_value_arr",
"arr_include": [
"py",
"now"
],
"expression": "((Number(sales_revenue[now])-Number(sales_revenue[py]))/Number(sales_revenue[py]))*100",
"value_keys": [
"sales_revenue"
],
"insert_control": "sales_py"
},
{
"purpose": "answer_value_arr",
"arr_include": [
"py",
"now"
],
"expression": "(((Number(net_profit_sales_percent[now])-Number(net_profit_sales_percent[py]))/Number(net_profit_sales_percent[py]))*100).toFixed(2)",
"value_keys": [
"net_profit_sales_percent"
],
"insert_control": "netprofit_py_percent"
}
],
"is_repeatable": null,
"field_type": "numtoword",
"validations": [
]
},
{
"question": "Net Profit / (Net Loss) (Rs) ",
"question_key": "net_profit",
"type": "1",
"field_width": "45",
"answers": null,
"api_properties": null,
"onchange_properties": [
{
"purpose": "answer_value",
"expression": "((Number(net_profit)/Number(sales_revenue))*100).toFixed(2)",
"value_keys": [
"sales_revenue",
"net_profit"
],
"insert_control": "net_profit_sales_percent"
},
{
"purpose": "answer_value_arr",
"arr_include": [
"py",
"now"
],
"expression": "((Number(net_profit[now])-Number(net_profit[py]))/Number(net_profit[py]))*100",
"value_keys": [
"net_profit"
],
"insert_control": "netprofit_py"
},
{
"purpose": "answer_value_arr",
"arr_include": [
"py",
"now"
],
"expression": "(((Number(net_profit_sales_percent[now])-Number(net_profit_sales_percent[py]))/Number(net_profit_sales_percent[py]))*100).toFixed(2)",
"value_keys": [
"net_profit_sales_percent"
],
"insert_control": "netprofit_py_percent"
}
],
"is_repeatable": null,
"field_type": "numtoword",
"validations": [
]
},
{
"question": "Net Profit or (Net Loss) to Sales % ",
"question_key": "net_profit_sales_percent",
"type": "1",
"is_disabled": "1",
"field_width": "45",
"answers": null,
"api_properties": null,
"onchange_properties": [
{
"purpose": "answer_value_arr",
"arr_include": [
"py",
"now"
],
"expression": "(((Number(net_profit_sales_percent[now])-Number(net_profit_sales_percent[py]))/Number(net_profit_sales_percent[py]))*100).toFixed(2)",
"value_keys": [
"net_profit_sales_percent"
],
"insert_control": "netprofit_py_percent"
}
],
"is_repeatable": null,
"field_type": "num",
"validations": [
]
},
{
"question": "% Variation in Sales over PY",
"question_key": "sales_py",
"type": "1",
"is_disabled": "1",
"field_width": "45",
"answers": null,
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "num",
"validations": [
]
},
{
"question": "% Variation in Net Profit over PY",
"question_key": "netprofit_py",
"type": "1",
"is_disabled": "1",
"field_width": "45",
"answers": null,
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "num",
"validations": [
]
},
{
"question": "Variation in Net Profit % over PY",
"question_key": "netprofit_py_percent",
"type": "1",
"is_disabled": "1",
"field_width": "45",
"answers": null,
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "num",
"validations": [
]
},
{
"question": "Debtor Days as per CET",
"sub_title": "In Case of credit sales, what is the average no. of days taken to receive the money?",
"question_key": "debtor_days_cet",
"type": "1",
"field_width": "100",
"answers": null,
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "num",
"validations": [
]
},
{
"question": "Creditor Days as per CET",
"sub_title": "In Case of credit purchases, what is the average no. of days taken to pay the money?",
"question_key": "creditor_days_cet",
"type": "1",
"field_width": "100",
"answers": null,
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "num",
"validations": [
]
},
{
"question": "Inventory Days as per CET",
"sub_title": "What is the average no. of days for which stock lies unsold during the year?",
"question_key": "inventory_days_cet",
"type": "1",
"field_width": "100",
"answers": null,
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "num",
"validations": [
]
}
],
"is_repeatable": "1",
"group_key": "financial_info",
"group_title": "Financial Information"
},
{
"question":"Name of the Company",
"question_key":"company_name",
"place_holder":"Enter text",
"type":"3",
"api_properties":{
"api":"getCompanyListForSMCList",
"api_method":"POST",
"params":{"records":{
"pd_id":"VAR_PD_ID",
"random_string":"VAR_RANDOM_STRING"
}},
"fields":[
"company_id",
"borrower_name"
]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Company Name Required",
"value":null
}
]
},
{
"question": "Number of financial years for which we have financials",
"question_key": "no_of_financial_years",
"place_holder": "Enter the number",
"type": "1",
"field_width": "45",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "num",
"validations": [
{
"name": "pattern",
"isactive": "1",
"validator": "[0-9]*",
"message": "Numeric only ",
"value": null
}
]
}
]
}]
}],
"is_repeatable":null,
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}],
"validations":[
]
},
{
"question_key": "common_remarks",
"question": "Remarks",
"place_holder": "Enter the text",
"type": "7",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "string",
"field_width": "45",
"validations": []
}
]
}

View File

@ -0,0 +1,359 @@
{
"section_id":"11",
"section_name":"Supplier details",
"onsubmit":null,
"questions":[
{
"question":"Is the Supplier information available?",
"question_key":"supplier_info_available",
"type":"2",
"field_width":"45",
"api_properties":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"supplier_info_available",
"expression":"(String('supplier_info_available') == String('No'))",
"value_keys":[
"supplier_info_available"
],
"questions":[
{ "question":"Reason",
"question_key":"supplier_not_available_reason",
"type":"7",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"supplier_info_available",
"answers":null,
"validations":[
]
} ] } ] },
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"supplier_info_available",
"expression":"(String('supplier_info_available') == String('Yes'))",
"value_keys":[
"supplier_info_available"
],
"questions":[
{
"question":[{
"question":"Raw Material Name/ Trading Product Name/ Service Name",
"question_key":"provider_name",
"type":"1",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"supplier_info_available",
"answers":null,
"validations":[
]
},
{
"question":"Supplier Name",
"question_key":"supplier_name",
"type":"1",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"supplier_info_available",
"answers":null,
"validations":[
]
},
{
"question":"Contact Person name",
"question_key":"contact_person_name",
"type":"1",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"supplier_info_available",
"answers":null,
"validations":[
]
},
{
"question":"Contact Person Designation",
"question_key":"contact_person_designation",
"type":"8",
"field_width":"100",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"COMPANYRELATIONSHIPS"
},
"fields":[
"company_relationship_id",
"name"
]
},
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"supplier_info_available",
"answers":null,
"validations":[
]
},
{
"question":"Contact Person Mobile Number",
"question_key":"contact_person_mobile_no",
"type":"1",
"field_type":"num",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"supplier_info_available",
"answers":null,
"validations":[
{
"name":"pattern",
"isactive":"1",
"validator":"[0-9]{10,12}",
"message":"Mobile number should be 10-12 digit",
"value":null
}
]
},
{
"question":"STD Code",
"sub_title":"Contact Person Landline number",
"question_key":"person_stdcode",
"type":"1",
"field_type":"num",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"supplier_info_available",
"answers":null,
"validations":[
{
"name":"pattern",
"isactive":"1",
"validator":"[0-9]{3,5}",
"message":"Maximum 5 digit allowed",
"value":null
}
]
},
{
"question":"Contact Person Landline number",
"question_key":"person_landline",
"type":"1",
"field_type":"num",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"supplier_info_available",
"answers":null,
"validations":[
{
"name":"pattern",
"isactive":"1",
"validator":"[0-9]{6,8}",
"message":"Maximum 8 digit allowed",
"value":null
}
]
},
{
"question":"Payment Terms",
"question_key":"payment_type",
"type":"3",
"field_width":"100",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"PAYMENTMODE"
},
"fields":[
"id",
"name"
]
},
"onchange_properties":[{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"payment_type",
"expression":"(String('payment_type') == String('3'))",
"value_keys":[
"payment_type"
],
"questions":[
{
"question":"No. of credit period provided by supplier",
"question_key":"credit_period_no",
"type":"1",
"field_type":"num",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"payment_type",
"answers":null,
"validations":[
]
},
{
"question":"What % of total purchases are done on credit?",
"question_key":"credit_total_purchase",
"type":"1",
"field_type":"num",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"payment_type",
"answers":null,
"validations":[
{
"name":"max",
"isactive":"1",
"validator":"100",
"message":"Percentage should lower or equal to '100'",
"value":null
}
]
}
]}]}],
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"payment_type",
"answers":null,
"validations":[
]
},
{
"question":"Payment Mode",
"question_key":"payment_mode",
"type":"3",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"supplier_info_available",
"answers":[
{
"answer_id":"Payment made in Cash",
"answer":"Payment made in Cash"
},
{
"answer_id":"Payment made through Banking channels",
"answer":"Payment made through Banking channels"
},
{
"answer_id":"Payment made through Cash and Banking channels",
"answer":"Payment made through Cash and Banking channels"
}
],
"validations":[
]
},
{
"question":"Name of the Company",
"question_key":"company_name",
"place_holder":"Enter text",
"type":"3",
"api_properties":{
"api":"getCompanyListForSMCList",
"api_method":"POST",
"params":{"records":{
"pd_id":"VAR_PD_ID",
"random_string":"VAR_RANDOM_STRING"
}},
"fields":[
"company_id",
"borrower_name"
]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Company Name Required",
"value":null
}
]
}
],
"is_repeatable":"1",
"group_title":"Supplier Details",
"group_key":"supplier_details"
}
]
}
]
}],
"is_repeatable":null,
"answers":[{
"answer":"Yes",
"answer_id":"Yes"
},
{
"answer":"No",
"answer_id":"No"
}],
"validations":[
]
},
{
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,359 @@
{
"section_id":"12",
"section_name":"Clients details",
"onsubmit":null,
"questions":[
{
"question":"Is the Client information available?",
"question_key":"client_info_available",
"type":"2",
"field_width":"45",
"api_properties":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"client_info_available",
"expression":"(String('client_info_available') == String('No'))",
"value_keys":[
"client_info_available"
],
"questions":[
{ "question":"Reason",
"question_key":"client_not_available_reason",
"type":"7",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"client_info_available",
"answers":null,
"validations":[
]
} ] } ] },
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"client_info_available",
"expression":"(String('client_info_available') == String('Yes'))",
"value_keys":[
"client_info_available"
],
"questions":[
{
"question":[{
"question":"Trading Product/Service/Manufacturing Product name",
"question_key":"provider_name",
"type":"1",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"client_info_available",
"answers":null,
"validations":[
]
},
{
"question":"Client Name",
"question_key":"client_name",
"type":"1",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"client_info_available",
"answers":null,
"validations":[
]
},
{
"question":"Contact Person name",
"question_key":"contact_person_name",
"type":"1",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"client_info_available",
"answers":null,
"validations":[
]
},
{
"question":"Contact Person Designation",
"question_key":"contact_person_designation",
"type":"8",
"field_width":"100",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"COMPANYRELATIONSHIPS"
},
"fields":[
"company_relationship_id",
"name"
]
},
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"client_info_available",
"answers":null,
"validations":[
]
},
{
"question":"Contact Person Mobile Number",
"question_key":"contact_person_mobile_no",
"type":"1",
"field_type":"num",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"client_info_available",
"answers":null,
"validations":[
{
"name":"pattern",
"isactive":"1",
"validator":"[0-9]{10,12}",
"message":"Mobile number should be 10-12 digit",
"value":null
}
]
},
{
"question":"STD Code",
"sub_title":"Contact Person Landline number",
"question_key":"person_stdcode",
"type":"1",
"field_type":"num",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"client_info_available",
"answers":null,
"validations":[
{
"name":"pattern",
"isactive":"1",
"validator":"[0-9]{3,5}",
"message":"Maximum 5 digit allowed",
"value":null
}
]
},
{
"question":"Contact Person Landline number",
"question_key":"person_landline",
"type":"1",
"field_type":"num",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"client_info_available",
"answers":null,
"validations":[
{
"name":"pattern",
"isactive":"1",
"validator":"[0-9]{6,8}",
"message":"Maximum 8 digit allowed",
"value":null
}
]
},
{
"question":"Payment Terms",
"question_key":"payment_type",
"type":"3",
"field_width":"100",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"PAYMENTMODE"
},
"fields":[
"id",
"name"
]
},
"onchange_properties":[{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"payment_type",
"expression":"(String('payment_type') == String('3'))",
"value_keys":[
"payment_type"
],
"questions":[
{
"question":"No. of days of credit period provided by client",
"question_key":"credit_period_no",
"type":"1",
"field_type":"num",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"payment_type",
"answers":null,
"validations":[
]
},
{
"question":"What % of total sales are done on credit?",
"question_key":"credit_total_purchase",
"type":"1",
"field_type":"num",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"payment_type",
"answers":null,
"validations":[
{
"name":"max",
"isactive":"1",
"validator":"100",
"message":"Percentage should lower or equal to '100'",
"value":null
}
]
}
]}]}],
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"payment_type",
"answers":null,
"validations":[
]
},
{
"question":"Payment Mode",
"question_key":"payment_mode",
"type":"3",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"client_info_available",
"answers":[
{
"answer_id":"Payment made in Cash",
"answer":"Payment made in Cash"
},
{
"answer_id":"Payment made through Banking channels",
"answer":"Payment made through Banking channels"
},
{
"answer_id":"Payment made through Cash and Banking channels",
"answer":"Payment made through Cash and Banking channels"
}
],
"validations":[
]
},
{
"question":"Name of the Company",
"question_key":"company_name",
"place_holder":"Enter text",
"type":"3",
"api_properties":{
"api":"getCompanyListForSMCList",
"api_method":"POST",
"params":{"records":{
"pd_id":"VAR_PD_ID",
"random_string":"VAR_RANDOM_STRING"
}},
"fields":[
"company_id",
"borrower_name"
]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Company Name Required",
"value":null
}
]
}
],
"is_repeatable":"1",
"group_title":"Client Details",
"group_key":"client_details"
}
]
}
]
}],
"is_repeatable":null,
"answers":[{
"answer":"Yes",
"answer_id":"Yes"
},
{
"answer":"No",
"answer_id":"No"
}],
"validations":[
]
},
{
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,330 @@
{
"section_id": "13",
"section_name": "Stock details",
"onsubmit": [],
"questions": [
{
"question": "Is stock applicable to the business (Yes / No)",
"question_key": "stock_info_available",
"type": "2",
"field_width": "45",
"api_properties": null,
"onchange_properties": [
{
"purpose": "FORM_CTRL",
"form_controls": [
{
"insert_index": "stock_info_available",
"expression": "(String('stock_info_available') == String('No'))",
"value_keys": [
"stock_info_available"
],
"questions": [
{
"question": "Reason",
"question_key": "stock_not_available_reason",
"type": "7",
"field_width": "100",
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"is_subfield": "1",
"parent_question_key": "stock_info_available",
"answers": null,
"validations": [
]
}
]
}
]
},
{
"purpose": "FORM_CTRL",
"form_controls": [
{
"insert_index": "stock_info_available",
"expression": "(String('stock_info_available') == String('Yes'))",
"value_keys": [
"stock_info_available"
],
"questions":[
{
"question": "Is the stock of finished goods observed, sufficient considering the size of operations",
"question_key": "estimated_uom",
"type": "3",
"field_width": "100",
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"is_subfield": "1",
"parent_question_key": "stock_info_available",
"answers": [
{
"answer": "Yes",
"answer_id": "yes"
},
{
"answer": "No",
"answer_id": "no"
},
{
"answer": "Stock not required to be maintained",
"answer_id": "not applicable"
}
],
"validations": [
]
}
]
},
{
"insert_index": "stock_info_available",
"expression": "(String('stock_info_available') == String('Yes'))",
"value_keys": [
"stock_info_available"
],
"questions": [
{
"question": [
{
"question": "Type of Stock",
"question_key": "stock_type",
"type": "3",
"field_width": "100",
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"is_subfield": "1",
"parent_question_key": "stock_info_available",
"answers": [
{
"answer": "RM",
"answer_id": "RM"
},
{
"answer": "FG",
"answer_id": "FG"
},
{
"answer": "SFG",
"answer_id": "SFG"
}
],
"validations": [
]
},
{
"question": "Name of trading goods/manufacturing goods (raw material/finished goods)/ Service Provided",
"question_key": "provider_name",
"place_holder": "Enter text",
"type": "1",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "string",
"validations": [
]
},
{
"question": "Stock",
"question_key": "provider_observed",
"type": "3",
"api_properties": null,
"answers": [
{
"answer": "Add Stock Details",
"answer_id": "yes"
},
{
"answer": "No Stock Observed",
"answer_id": "no"
}
],
"is_repeatable": null,
"validations": [
],
"onchange_properties": [
{
"purpose": "FORM_CTRL",
"form_controls": [
{
"insert_index": "provider_observed",
"expression": "(String('provider_observed') === String('yes'))",
"value_keys": [
"provider_observed"
],
"questions": [
{
"question": "Estimated Quantity",
"question_key": "estimated_quantity",
"type": "1",
"field_width": "100",
"field_type": "num",
"api_properties": null,
"onchange_properties": [
{
"purpose": "validations",
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "",
"message": "Either Estimated Stock value or Estimated Quantity is required",
"value": "(String('estimated_quantity') === String(''))",
"validation_to": "estimated_stock_value",
"value_keys": [
"estimated_quantity",
"estimated_stock_value"
]
}
]
}
],
"is_repeatable": null,
"is_subfield": "1",
"parent_question_key": "provider_observed",
"answers": null,
"validations": [
]
},
{
"question": "UOM",
"question_key": "estimated_uom",
"type": "3",
"field_width": "100",
"api_properties": {
"api": "getListOfMaster",
"api_method": "POST",
"params": {
"master_name": "UOM"
},
"fields": [
"uom_id",
"name"
]
},
"onchange_properties": null,
"is_repeatable": null,
"is_subfield": "1",
"parent_question_key": "provider_observed",
"answers": null,
"validations": [
]
},
{
"question": "Estimated value of stock observed",
"question_key": "estimated_stock_value",
"type": "1",
"field_type": "numtoword",
"field_width": "100",
"api_properties": null,
"onchange_properties": [
{
"purpose": "validations",
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "",
"message": "Either Estimated Stock value or Estimated Quantity is required",
"value": "(String('estimated_stock_value') === String(''))",
"validation_to": "estimated_quantity",
"value_keys": [
"estimated_stock_value"
]
}
]
}
],
"is_repeatable": null,
"is_subfield": "1",
"parent_question_key": "provider_observed",
"answers": null,
"validations": []
}
]
}
]
}
]
},
{
"question":"Name of the Company",
"question_key":"company_name",
"place_holder":"Enter text",
"type":"3",
"api_properties":{
"api":"getCompanyListForSMCList",
"api_method":"POST",
"params":{"records":{
"pd_id":"VAR_PD_ID",
"random_string":"VAR_RANDOM_STRING"
}},
"fields":[
"company_id",
"borrower_name"
]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Company Name Required",
"value":null
}
]
}
],
"is_repeatable": "1",
"group_title": "Stock details",
"group_key": "stock_details"
}
]
}
]
}
],
"is_repeatable": null,
"answers": [
{
"answer": "Yes",
"answer_id": "Yes"
},
{
"answer": "No",
"answer_id": "No"
}
],
"validations": [
]
},
{
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,118 @@
{
"section_id":"14",
"section_name":"Future Plans & Business Environments",
"onsubmit":null,
"questions":[
{
"question":"USP of the business- How is applicant's business different from others in the same line of business",
"question_key":"usp_of_business",
"type":"1",
"field_width":"100",
"answers":null,
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Future plans for business expansion",
"question_key":"future_business_expansion",
"type":"1",
"field_type":"string",
"field_width":"100",
"onchange_properties":null,
"api_properties":null,
"answers":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Key competitors",
"question_key":"key_competitors",
"type":"1",
"field_width":"100",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Sucession plan- who will look after the business after applicant retire/are unable to run business due to any reason",
"question_key":"sucession_plan",
"type":"1",
"field_width":"100",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Brief of other group concerns/Business run by the applicants",
"question_key":"other_group_business_applicants",
"type":"1",
"field_width":"100",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,197 @@
{
"section_id": "15",
"section_name": "Existing Loan Obligations",
"onsubmit": null,
"questions": [
{
"question": [
{
"question": "Loan type",
"question_key": "loan_type",
"type": "1",
"field_width": "100",
"answers": null,
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
},
{
"question": "Loan amount",
"question_key": "loan_amount",
"type": "1",
"field_type": "numtoword",
"field_width": "100",
"onchange_properties": null,
"api_properties": null,
"answers": null,
"is_repeatable": null,
"validations": [
]
},
{
"question": "Lender name",
"question_key": "lender_name",
"type": "1",
"field_width": "100",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
},
{
"question": "Loan taken by",
"question_key": "loan_taken_by",
"type": "1",
"field_width": "100",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
},
{
"question": "Installment Amount",
"question_key": "instalment_amount",
"type": "1",
"field_width": "100",
"field_type": "numtoword",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
},
{
"question": "Installment frequency",
"question_key": "instalment_frequency",
"type": "3",
"field_width": "100",
"api_properties": null,
"answers": [
{
"answer_id": "Daily",
"answer": "Daily"
},
{
"answer_id": "Every 12 days",
"answer": "Every 12 days"
},
{
"answer_id": "Every 15 days",
"answer": "Every 15 days"
},
{
"answer_id": "Monthly",
"answer": "Monthly"
},
{
"answer_id": "Every 3 months",
"answer": "Every 3 months"
},
{
"answer_id": "Every 6 months",
"answer": "Every 6 months"
},
{
"answer_id": "Yearly",
"answer": "Yearly"
}
],
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
},
{
"question": "Original tenure in months",
"question_key": "original_tenure_months",
"type": "1",
"field_width": "100",
"field_type": "num",
"api_properties": null,
"answers": null,
"onchange_properties": [
{
"purpose":"answer_value",
"expression":"(Number(original_tenure_months)-Number(current_tenure_months))",
"value_keys":[
"original_tenure_months", "current_tenure_months"
],
"insert_control":"elapsed_tenure_months"
}
],
"is_repeatable": null,
"validations": [
]
},
{
"question": "Current balance tenure in months",
"question_key": "current_tenure_months",
"type": "1",
"field_type": "num",
"field_width": "100",
"api_properties": null,
"answers": null,
"onchange_properties": [
{
"purpose":"answer_value",
"expression":"(Number(original_tenure_months)-Number(current_tenure_months))",
"value_keys":[
"original_tenure_months", "current_tenure_months"
],
"insert_control":"elapsed_tenure_months"
}
],
"is_repeatable": null,
"validations": [
]
},
{
"question": "Elapsed tenure in mths",
"question_key": "elapsed_tenure_months",
"type": "1",
"field_width": "45",
"field_type": "num",
"api_properties": null,
"answers": null,
"onchange_properties": [
{
"purpose":"answer_value",
"expression":"(Number(original_tenure_months)-Number(elapsed_tenure_months))",
"value_keys":[
"original_tenure_months", "elapsed_tenure_months"
],
"insert_control":"current_tenure_months"
}
],
"is_repeatable": null,
"validations": [
]
}
],
"is_repeatable": "1",
"group_title": "Existing Loan Obligations",
"group_key": "existing_loan_details"
},
{
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,228 @@
{
"section_id":"16",
"section_name":"Family Members Involved in Business",
"onsubmit":null,
"questions":[
{
"question":"Is any other family member involved in the business",
"question_key":"is_family_details_available",
"type":"2",
"field_width":"45",
"api_properties":null,
"onchange_properties":[{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"is_family_details_available",
"expression":"(String('is_family_details_available') == String('Yes'))",
"value_keys":[
"is_family_details_available"
],
"questions":[
{
"question":[
{
"question":"Name",
"question_key":"member_name",
"place_holder":"Enter text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Name Required",
"value":null
},
{
"name":"pattern",
"isactive":"1",
"validator":"[A-Za-z ]*",
"message":"alphabets only ",
"value":null
}
]
},
{
"question":"Relationship",
"question_key":"relationship",
"place_holder":"Enter the text",
"type":"8",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"RELATIONSHIPS"
},
"fields":[
"relationship_id",
"name"
]
},
"answers":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[{
"insert_index":"relationship",
"expression":"(String('relationship').toLowerCase() == String('1'))",
"value_keys":[
"relationship"
],
"questions":[
{
"question": "Specify Facility details",
"question_key": "relationship_other",
"type": "1",
"field_width": "45",
"field_type": "string",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
}
]
}]
}
],
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
},
{
"question":"Relation to Individual Stakeholders",
"question_key":"stakeholder_relation",
"place_holder":"Enter text",
"type":"3",
"api_properties":{
"purpose":"answer_options_local",
"master_name":"pd_applicants",
"fields":["pd_co_applicant_id","applicant_name"]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
},
{
"question":"Relation to Company / Firm",
"question_key":"company_relation",
"place_holder":"Enter text",
"type":"8",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"COMPANYRELATIONSHIPS"
},
"fields":[
"company_relationship_id",
"name"
]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
},
{
"question":"Started Business (Yes / No)",
"question_key":"started_biz",
"place_holder":"Enter text",
"type":"2",
"api_properties":null,
"answers":[
{
"answer_id":"Yes",
"answer":"Yes"
},
{
"answer_id":"No",
"answer":"No"
}
],
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
}
],
"is_repeatable":"1",
"group_title":"Family Members Involved in Business",
"group_key":"family_details"
}
]}]
}],
"is_repeatable":null,
"answers":[{
"answer":"Yes",
"answer_id":"Yes"
},
{
"answer":"No",
"answer_id":"No"
}],
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
},
{
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,269 @@
{
"section_id":"17",
"section_name":"Neighbourhood Details",
"onsubmit":[],
"questions":[
{
"question":[
{
"question":"Neighbour name",
"question_key":"neighbourhood_name",
"place_holder":"Enter text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
},
{
"question":"Do you know about the applicant or their business?",
"question_key":"do_know",
"type":"3",
"api_properties":null,
"answers":[
{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}
],
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
},
{
"question":"As per you how long has this business been in operation",
"question_key":"know_business_operation",
"place_holder":"Enter the text",
"type":"2",
"api_properties":null,
"answers":[
{
"answer":"Know",
"answer_id":"yes"
},
{
"answer":"Do not know",
"answer_id":"no"
}
],
"is_repeatable":null,
"field_type":"string",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
],
"onchange_properties": [ {
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"know_business_operation",
"expression":"(String('know_business_operation') === String('yes'))",
"value_keys":[
"know_business_operation"
],
"questions":[
{
"question":"Years",
"question_key":"how_long_do_know_in_year",
"type":"1",
"field_width":"100",
"field_type":"num",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"know_business_operation",
"answers":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field required",
"value":null
}
]
} ,
{
"question":"Months",
"question_key":"how_long_do_know_in_month",
"type":"1",
"field_type":"num",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"know_business_operation",
"answers":null,
"validations":[
]
}
] } ] }]
},
{
"question":"Who is the owner of organisation?",
"question_key":"know_organisation_owner",
"type":"2",
"api_properties":null,
"answers":[
{
"answer":"Know",
"answer_id":"yes"
},
{
"answer":"Do not know",
"answer_id":"no"
}
],
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
],
"onchange_properties": [ {
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"know_organisation_owner",
"expression":"(String('know_organisation_owner') === String('yes'))",
"value_keys":[
"know_organisation_owner"
],
"questions":[
{
"question":"Who is the owner of the organisation",
"question_key":"organisation_owner",
"type":"4",
"field_width":"100",
"field_type":"num",
"api_properties": {
"purpose":"answer_options_local",
"master_name":"pd_applicants",
"fields":["pd_co_applicant_id","applicant_name"]
},
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"know_organisation_owner",
"answers":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field required",
"value":null
}
]
}
] } ] }]
}
],
"is_repeatable":"1",
"group_title":"Neighbourhood Details",
"group_key":"neighbourhood_list"
},
{
"question":"Status of the neighbour check as per Credit Manager",
"question_key":"neighbourhood_status",
"type":"3",
"api_properties":null,
"answers":[
{
"answer":"Select",
"answer_id":""
},
{
"answer":"Positive",
"answer_id":"Positive"
},
{
"answer":"Negative",
"answer_id":"Negative"
},
{
"answer":"Could Not Verify",
"answer_id":"Could Not Verify"
}
],
"onchange_properties":[
{
"purpose":"validations",
"validations":[{
"value_keys":["neighbourhood_status"],
"value":"(String('neighbourhood_status').toLowerCase() != String('positive'))",
"validation_to":"neighbourhood_remarks",
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required"
}]}
],
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
},
{
"question":"Remarks",
"question_key":"neighbourhood_remarks",
"type":"7",
"placeholder":"Enter the remarks",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
}
]
}

View File

@ -0,0 +1,53 @@
{
"section_id":"18",
"section_name":"Credit manager specific queries",
"onsubmit":[],
"questions":[
{
"question":[
{
"question":"Question",
"question_key":"question",
"place_holder":"Enter text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"validations":[
]
},
{
"question":"Answer",
"question_key":"answer",
"place_holder":"Enter the answer here",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
]
}
],
"is_repeatable":"1",
"group_title":"Query",
"group_key":"cm_queries"
},
{
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,218 @@
{
"section_id":"19",
"section_name":"Final remarks",
"onsubmit":null,
"questions":[
{
"question":"Customer Behaviour",
"question_key":"customer_behaviour",
"type":"3",
"field_width":"45",
"answers":null,
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"CUSTOMERBEHAVIOUR"
},
"fields":[
"customer_behaviour_id",
"description"
]
},
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"customer_behaviour",
"expression":"(String('customer_behaviour') == String('1'))",
"value_keys":[
"customer_behaviour"
],
"questions":[
{ "question":"Specify Customer behaviour",
"question_key":"customer_behaviour_other",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"customer_behaviour",
"answers":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field required",
"value":null
}
]
} ] }
]}] ,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Is the location of the business suited to the nature of the business provided?",
"question_key":"business_location_suited",
"type":"3",
"field_width":"45",
"onchange_properties":null,
"api_properties":null,
"answers":[
{
"answer":"Well Suited",
"answer_id":"Well Suited"
},
{
"answer":"Fairly suited",
"answer_id":"Fairly suited"
},
{
"answer":"Not suited",
"answer_id":"Not suited"
}
],
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Credit Manager recommendation (Positive/negative/ refer to credit)",
"question_key":"pd_officer_recommendation",
"type":"3",
"field_width":"45",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"PDOFFICERRECOMMENDATIONS"
},
"fields":[
"pdofficer_recommendation_id",
"pdofficer_recommendation"
]
},
"answers":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"pd_officer_recommendation",
"expression":"(String('pd_officer_recommendation') == String('1'))",
"value_keys":[
"pd_officer_recommendation"
],
"questions":[
{ "question":"Specify Credit Manager Recommendation",
"question_key":"pd_officer_recommendation_other",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"pd_officer_recommendation",
"answers":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field required",
"value":null
}
]
} ] } ,
{
"insert_index":"pd_officer_recommendation",
"expression":"(String('pd_officer_recommendation') != String('1')) && (String('pdofficer_recommendation') != String(''))",
"value_keys":[
"pd_officer_recommendation"
],
"questions":[
{
"question":[{
"question":"Reasons for marking PD status as Positive/negative/ refer to credit",
"question_key":"reason",
"type":"1",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"pd_officer_recommendation",
"answers":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field required",
"value":null
}
]
}
],
"is_repeatable":"1",
"group_title":"Remarks",
"group_title_shown":"0",
"group_key":"pd_officer_recommendation_remarks"
} ] }
] },
{
"purpose":"question_label",
"expression":"(function () {let label= 'Reasons for marking PD status as ';('pd_officer_recommendation' == '2') ? label+= 'Positive' : ('pd_officer_recommendation' == '3') ? label+= 'Negative' : ('pd_officer_recommendation' == '4') ? label+= 'Refer to Credit' : label+= 'Positive/negative/ refer to credit';return label}())",
"value_keys":[
"pd_officer_recommendation"
],
"insert_control":"reason",
"insert_group_key":"pd_officer_recommendation_remarks"
}
],
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Common Remarks",
"question_key":"final_form_remarks",
"place_holder":"Enter the remarks here",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
]
}
]
}

View File

@ -0,0 +1,389 @@
{
"section_id":"2",
"section_name":"Address details",
"onsubmit":null,
"questions":[
{
"question":"Address at which PD was initiated",
"question_key":"initiated_address",
"type":"7",
"field_width":"100",
"answers":null,
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Is this the address where PD is done ?",
"question_key":"is_pd_done_on_initiated_address",
"type":"2",
"field_width":"45",
"onchange_properties": [{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"is_pd_done_on_initiated_address",
"expression":"(String('is_pd_done_on_initiated_address') == String('No'))",
"value_keys":[
"is_pd_done_on_initiated_address"
],
"questions":[
{
"question":"Choose the actual PD address",
"question_key":"alternative_address",
"place_holder":"",
"field_type":"string",
"type":"3",
"field_width":"100",
"api_properties":{
"api":"getSMCTempAddresses",
"api_method":"GET",
"params":{
"pdid":"VAR_PD_ID"
},
"fields":[
"display",
"display"
]
},
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"is_pd_done_on_initiated_address",
"answers":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field required",
"value":null
}
]
}
]
}
]
}],
"api_properties":null,
"answers":[
{
"answer_id":"Yes",
"answer":"Yes"
},
{
"answer_id":"No",
"answer":"No"
}
],
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Type of PD address",
"question_key":"address_type",
"type":"3",
"field_width":"90",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"ADDRESSTYPE"
},
"fields":[
"address_type_id",
"address_type"
]
},
"answers":null,
"onchange_properties": [{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"address_type",
"expression":"(String('address_type') == String('1'))",
"value_keys":[
"address_type"
],
"questions":[
{
"question":"Specify the Address Type",
"question_key":"address_type_others",
"place_holder":"",
"field_type":"string",
"type":"1",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"uom",
"answers":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field required",
"value":null
}
]
}
]
}
]
}],
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"PD locality",
"question_key":"pd_locality",
"type":"3",
"field_width":"45",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"LOCALITY"
},
"fields":[
"locality_id",
"locality_name"
]
},
"answers":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[{
"insert_index":"pd_locality",
"expression":"(String('pd_locality').toLowerCase() == String('1'))",
"value_keys":[
"pd_locality"
],
"questions":[
{
"question": "Specify Locality",
"question_key": "locality_other",
"type": "1",
"field_width": "45",
"field_type": "string",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
}
]
}]
}
],
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Approach to PD location*",
"question_key":"pd_location",
"type":"3",
"field_width":"45",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"PDLOCATIONAPPROACH"
},
"fields":[
"pd_location_approach_id",
"description"
]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Comment on locality",
"question_key":"comment_locality",
"type":"3",
"field_width":"25",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"COMMENTSONLOCALITY"
},
"fields":[
"comments_on_locality_id",
"rating"
]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Estimated Area of the business",
"question_key":"business_estimated_area",
"type":"1",
"field_width":"30",
"field_type":"num",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"UOM",
"question_key":"uom",
"type":"8",
"field_width":"30",
"api_properties":null,
"answers":[
{
"answer":"Acres",
"answer_id":"Acres"
},
{
"answer":"Hectares",
"answer_id":"Hectares"
},
{
"answer":"Square Feet",
"answer_id":"Square Feet"
},
{
"answer":"Square Meters",
"answer_id":"Square Meters"
},
{
"answer":"Square Yards",
"answer_id":"Square Yards"
}
],
"onchange_properties": [{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"uom",
"expression":"(String('uom') == String('1'))",
"value_keys":[
"uom"
],
"questions":[
{
"question":"Specify the UOM",
"question_key":"uom_specify",
"place_holder":"",
"field_type":"string",
"type":"1",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"uom",
"answers":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field required",
"value":null
}
]
}
]
}
]
}],
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,409 @@
{
"section_id":"2",
"section_name":"Loan details",
"onsubmit":null,
"questions":[
{
"question":"Loan amount applied for",
"question_key":"loan_amount",
"type":"1",
"field_type":"numtoword",
"field_width":"100",
"answers":null,
"api_properties":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"total_fund_requirement",
"expression":" typeof(total_fund_requirement) == 'number' && (Number(total_fund_requirement) < Number(loan_amount))",
"value_keys":[
"total_fund_requirement","loan_amount"
],
"questions":[
{
"question":"Remarks on source of funds for balance amount required",
"question_key":"remarks_fund_source_balance",
"place_holder":"",
"field_type":"string",
"type":"1",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"total_fund_requirement",
"answers":null,
"validations":[
]
}
]
}]
}
],
"is_repeatable":null,
"validations":[
]
},
{
"question":"Loan Tenure (in months)",
"question_key":"loan_tenure",
"type":"1",
"field_type":"num",
"field_width":"100",
"onchange_properties": null,
"api_properties":null,
"answers":null,
"is_repeatable":null,
"validations":[
]
},
{
"question":"Sub Product",
"question_key":"sub_product",
"type":"3",
"field_width":"45",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"SUBPRODUCTS"
},
"fields":[
"subproduct_id",
"name"
]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
]
},
{
"question":"End use of loan",
"question_key":"end_use",
"type":"1",
"field_width":"100",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
]
},
{
"question":"Total fund requirement",
"question_key":"total_fund_requirement",
"type":"1",
"field_width":"45",
"api_properties":null,
"field_type":"numtoword",
"answers":null,
"onchange_properties": [
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"total_fund_requirement",
"expression":" typeof(total_fund_requirement) == 'number' && (Number(total_fund_requirement) < Number(loan_amount))",
"value_keys":[
"total_fund_requirement","loan_amount"
],
"questions":[
{
"question":"Remarks on source of funds for balance amount required",
"question_key":"remarks_fund_source_balance",
"place_holder":"",
"field_type":"string",
"type":"1",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"total_fund_requirement",
"answers":null,
"validations":[
]
}
]
}]
}],
"is_repeatable":null,
"validations":[
]
},
{
"question":"Is there a BT?",
"question_key":"is_transfer",
"type":"3",
"field_width":"45",
"api_properties":null,
"answers":[
{
"answer_id":"Yes",
"answer":"Yes"
},
{
"answer_id":"No",
"answer":"No"
}
],
"onchange_properties": [{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"is_transfer",
"expression":"(String('is_transfer') == String('Yes'))",
"value_keys":[
"is_transfer"
],
"questions":[
{
"question":"What is the amount of balance transfer",
"question_key":"balance_transfer_amount",
"place_holder":"",
"field_type":"numtoword",
"type":"1",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"is_transfer",
"answers":null,
"validations":[
]
},
{
"question":"Lender from where BT is done",
"question_key":"lender",
"type":"8",
"field_width":"45",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"BTLENDERLIST"
},
"fields":[
"bt_lender_list_id",
"lender_name"
]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
]
},
{
"question":"Top up amount",
"question_key":"topup_amount",
"type":"1",
"field_type":"numtoword",
"field_width":"45",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
]
}
]
}
]
}],
"is_repeatable":null,
"validations":[
]
},
{
"question":"Type of property being Mortgaged",
"question_key":"property_type",
"type":"1",
"field_width":"45",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
]
},
{
"question":"Name of Owner",
"question_key":"owner_name",
"type":"4",
"field_width":"45",
"api_properties":
{
"purpose":"answer_options_local",
"master_name":"pd_applicants",
"fields":["pd_co_applicant_id","applicant_name"]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
]
},
{
"question":"Property Completion Stage",
"question_key":"construction_status",
"type":"1",
"field_width":"45",
"api_properties":null,
"answers":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[ {
"insert_index":"construction_status",
"expression":"(String('construction_status') != String(''))",
"value_keys":[
"construction_status"
],
"questions":[
{
"question":"Stage of Construction",
"question_key":"construction_stage",
"place_holder":"",
"field_type":"string",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"construction_status",
"answers":null,
"validations":[
]
}
]
}]
}
],
"is_repeatable":null,
"validations":[
]
},
{
"question":"Estimated market value as per customer",
"question_key":"emv_per_customer",
"place_holder":"",
"field_type":"numtoword",
"type":"1",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"answers":null,
"validations":[
]
},
{
"question":"Market Value Considered for LTV Calculation (Rs)",
"question_key":"ltv_market_value_calculation",
"place_holder":"",
"field_type":"numtoword",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"answers":null,
"validations":[
]
},
{
"question":"Address of the proposed property",
"question_key":"address",
"place_holder":"",
"field_type":"string",
"type":"3",
"field_width":"100",
"api_properties":{
"api":"getSMCTempAddresses",
"api_method":"GET",
"params":{
"pdid":"VAR_PD_ID"
},
"fields":[
"display",
"display"
]
},
"onchange_properties":null,
"is_repeatable":null,
"answers":null,
"validations":[
]
},
{
"question":"Property Usage",
"question_key":"property_usage",
"place_holder":"",
"field_type":"string",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"answers":null,
"validations":[
]
},
{
"question":"Structure Type",
"question_key":"structure_type",
"place_holder":"",
"field_type":"string",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"answers":null,
"validations":[
]
},
{
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,267 @@
{
"section_id": "4",
"section_name": "General Business Information",
"onsubmit": null,
"questions": [
{
"question": [
{
"question":"Name of the Company",
"question_key":"company_name",
"place_holder":"Enter text",
"type":"3",
"default_index_if_len_one":true,
"api_properties":{
"api":"getCompanyListForSMCList",
"api_method":"POST",
"params":{"records":{
"pd_id":"VAR_PD_ID",
"random_string":"VAR_RANDOM_STRING"
}},
"fields":[
"company_id",
"borrower_name"
]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Company Name Required",
"value":null
}
]
},
{
"question": "Type of Business Entity",
"question_key": "business_entity_type",
"type": "1",
"field_width": "45",
"answers": null,
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "Validators.required",
"message": "Field Required",
"value": null
}
]
},
{
"question": "Type of Business activities",
"question_key": "select_business_activity_type",
"type": "1",
"field_width": "45",
"onchange_properties": null,
"api_properties": null,
"answers": null,
"is_repeatable": null,
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "Validators.required",
"message": "Field Required",
"value": null
}
]
},
{
"question": "Area of Sale",
"question_key": "area_of_sale",
"type": "3",
"field_width": "45",
"api_properties": null,
"answers": [
{
"answer": "Within India",
"answer_id": "Within India"
},
{
"answer": "Export",
"answer_id": "Export"
},
{
"answer": "Both (within India and Export)",
"answer_id": "Both (within India and Export)"
}
],
"onchange_properties": null,
"is_repeatable": null,
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "Validators.required",
"message": "Field Required",
"value": null
}
]
},
{
"question": "Is the business seasonal (Yes / No)",
"question_key": "seasonality",
"type": "2",
"field_width": "45",
"api_properties": null,
"answers": [
{
"answer": "Yes",
"answer_id": "Yes"
},
{
"answer": "No",
"answer_id": "No"
}
],
"onchange_properties": [
{
"purpose": "FORM_CTRL",
"form_controls": [
{
"insert_index": "seasonality",
"expression": "(String('seasonality') == String('Yes'))",
"value_keys": [
"seasonality"
],
"questions": [
{
"question_key": "low_sale_month_reason",
"question": "Reason for Months in which sales/services is low?",
"place_holder": "Enter the text",
"type": "1",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "string",
"is_subfield": "1",
"field_width": "45",
"parent_question_key": "seasonality",
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "Validators.required",
"message": "Required",
"value": null
}
]
},
{
"question_key": "low_sale_month",
"question": "Months in which sales/services is low?",
"place_holder": "",
"type": "4",
"api_properties": null,
"answers": [
{
"answer_id": "January",
"answer": "January"
},
{
"answer_id": "February",
"answer": "February"
},
{
"answer_id": "March",
"answer": "March"
},
{
"answer_id": "April",
"answer": "April"
},
{
"answer_id": "May",
"answer": "May"
},
{
"answer_id": "June",
"answer": "June"
},
{
"answer_id": "July",
"answer": "July"
},
{
"answer_id": "August",
"answer": "August"
},
{
"answer_id": "September",
"answer": "September"
},
{
"answer_id": "October",
"answer": "October"
},
{
"answer_id": "November",
"answer": "November"
},
{
"answer_id": "December",
"answer": "December"
}
],
"onchange_properties": null,
"is_repeatable": null,
"field_type": "num",
"field_width": "45",
"is_subfield": "1",
"parent_question_key": "seasonality",
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "Validators.required",
"message": "Required",
"value": null
}
]
}
]
}
]
}
],
"is_repeatable": null,
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "Validators.required",
"message": "Field Required",
"value": null
}
]
}
],
"is_repeatable": "1",
"group_title": "Details of General Business Information",
"group_key": "business_entity"
},
{
"question_key": "common_remarks",
"question": "Remarks",
"place_holder": "Enter the text",
"type": "7",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "string",
"field_width": "45",
"validations": []
}
]
}

View File

@ -0,0 +1,273 @@
{
"section_id":"5",
"section_name":"Key Stakeholders in Business",
"onsubmit":[
],
"questions":[
{
"question":[
{
"question":"Name of the Entity",
"question_key":"company_name",
"place_holder":"Enter text",
"type":"3",
"api_properties":{
"api":"getCompanyListForSMCList",
"api_method":"POST",
"params":{"records":{
"pd_id":"VAR_PD_ID",
"random_string":"VAR_RANDOM_STRING"
}},
"fields":[
"company_id",
"borrower_name"
]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Entity Name Required",
"value":null
}
]
},
{
"question":"length",
"question_key":"stakeholder_length",
"type":"hidden",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string"
},
{
"question":"Name of key Stakeholder",
"question_key":"stakeholder_name0",
"place_holder":"Enter text",
"type":"1",
"field_width":"19",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Name Required",
"value":null
}
]
},
{
"question":"Share Holding (%)",
"question_key":"share_holding0",
"place_holder":"Enter number",
"type":"1",
"field_width":"19",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"num",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Share value Required",
"value":null
},
{
"name":"max",
"validator":"100",
"isactive":"1",
"message":"Number must be less than 100",
"value":null
}
]
},
{
"question":"Vintage in Current Business (in years)",
"question_key":"vintage_in_current_biz0",
"place_holder":"Enter in years",
"type":"1",
"field_width":"19",
"api_properties":null,
"answers":null,
"is_repeatable":null,
"field_type":"num",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Current vintage Required",
"value":null
}
],
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"started_biz0",
"expression":"(total_work_exp0 > vintage_in_current_biz0)",
"value_keys":[
"total_work_exp0",
"vintage_in_current_biz0"
],
"questions":[
{
"question_key":"previous_experience_details0",
"question":"Previous Experience Details",
"place_holder":"Enter text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"parent_question_key":"vintage_in_current_biz0",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Previous Experience Required",
"value":null
}
]
}
]
}
]
}
]
},
{
"question":"Total Work Experience (in years)",
"question_key":"total_work_exp0",
"place_holder":"Enter in years",
"type":"1",
"field_width":"19",
"api_properties":null,
"answers":null,
"is_repeatable":null,
"field_type":"num",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Total experience Required",
"value":null
}
],
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"started_biz0",
"expression":"(total_work_exp0 > vintage_in_current_biz0)",
"value_keys":[
"total_work_exp0",
"vintage_in_current_biz0"
],
"questions":[
{
"question":"Previous Experience Details",
"question_key":"previous_experience_details0",
"place_holder":"Enter text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"parent_question_key":"total_work_exp0",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Previous Experience Required",
"value":null
}
]
}
]
}
]
}
]
},
{
"question":"Started Business (Yes / No)",
"question_key":"started_biz0",
"type":"2",
"field_width":"19",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"answers":[
{
"answer_id":"Yes",
"answer":"Yes"
},
{
"answer_id":"No",
"answer":"No"
}
],
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Started Business Required",
"value":null
}
]
}
],
"is_repeatable":"1",
"group_title":"Details of Key Stakeholders in the Business",
"group_key":"key_stakeholders",
"form_name":"Key Stakeholders in Business"
},
{
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,139 @@
{
"section_id":"6",
"section_name":"Key Products and Business Contribution",
"onsubmit":[],
"questions":[
{
"question":[
{
"question":"Key Product Name",
"question_key":"product_name",
"place_holder":"Enter text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
},
{
"question":"Contribution to Business of the Product (%)",
"question_key":"contribution_business_product",
"place_holder":"Enter number",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"num",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
},
{
"name":"max",
"validator":"100",
"isactive":"1",
"message":"Number must be less than 100",
"value":null
}
]
},
{
"question":"Remarks if any",
"question_key":"remarks",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"is_repeatable":null,
"field_type":"string",
"validations":[
],
"onchange_properties":null
},
{
"question":"Name of the Company",
"question_key":"company_name",
"place_holder":"Enter text",
"type":"3",
"api_properties":{
"api":"getCompanyListForSMCList",
"api_method":"POST",
"params":{"records":{
"pd_id":"VAR_PD_ID",
"random_string":"VAR_RANDOM_STRING"
}},
"fields":[
"company_id",
"borrower_name"
]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Company Name Required",
"value":null
}
]
}
],
"is_repeatable":"1",
"group_title":"Key Products and Business Contribution",
"group_key":"key_products_contribution"
},
{
"question":"Business Process Brief",
"question_key":"business_process",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"is_repeatable":null,
"field_type":"string",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
],
"onchange_properties":null
},
{
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,131 @@
{
"section_id":"7",
"section_name":"Employee Strength",
"onsubmit":[],
"questions":[
{
"question":"Permanent Employees",
"sub_title":"No of Employees (As per person met)",
"question_key":"permanant_employees_person_met",
"place_holder":"Enter the number",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"num",
"field_width":"45",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
},
{
"question":"Temporary Employees",
"question_key":"temporary_employees_person_met",
"place_holder":"Enter the number",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"num",
"field_width":"45",
"validations":[
]
},
{
"question":"Permanent Employees",
"sub_title":"No of Employees (Sighted by Credit Manager)",
"question_key":"permanant_employees_cm",
"place_holder":"Enter the number",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"num",
"field_width":"45",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
},
{
"question":"Temporary Employees",
"question_key":"temporary_employees_cm",
"place_holder":"Enter the number",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"num",
"field_width":"45",
"validations":[
]
},
{
"question":"Permanent Employees",
"sub_title":"Approximate Salary Paid (Rs Per Month)",
"question_key":"permanant_employees_salary",
"place_holder":"Enter the number",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"numtoword",
"field_width":"45",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
},
{
"question":"Temporary Employees",
"question_key":"temporary_employees_salary",
"place_holder":"Enter the number",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"numtoword",
"field_width":"45",
"validations":[
]
},
{
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,816 @@
{
"section_id":"8",
"section_name":"Business Assets",
"onsubmit":null,
"questions":[
{
"question":"Address",
"question_key":"initiated_address",
"type":"7",
"field_width":"100",
"answers":null,
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
]
},
{
"question":" Is this the business address?",
"question_key":"is_business_address",
"type":"2",
"field_width":"100",
"answers":[{
"answer":"Yes",
"answer_id":"Yes"
},
{
"answer":"No",
"answer_id":"No"
}],
"api_properties":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"is_business_address",
"expression":"(String('is_business_address') == String('Yes'))",
"value_keys":[
"is_business_address"
],
"questions":[
{
"question":"No of Months",
"question_key":"business_months",
"place_holder":"",
"field_type":"num",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"is_business_address",
"answers":null,
"validations":[
]
},
{
"question":"No of Years",
"sub_title":"How Long has business been operated from visited premises? (Eg. If operating for 5 years and 4 months enter 5 in Years field and 4 in months field)",
"question_key":"business_years",
"place_holder":"",
"field_type":"num",
"type":"1",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"is_business_address",
"answers":null,
"validations":[
]
},
{
"question":"Was any business activities seen during visit?",
"question_key":"business_is_pd_visited",
"place_holder":"",
"type":"2",
"field_width":"45",
"api_properties":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"business_is_pd_visited",
"expression":"(String('business_is_pd_visited') != String('')) && (String('is_business_address') == String('Yes'))",
"value_keys":[
"business_is_pd_visited",
"is_business_address"
],
"questions":[
{
"question":"Remarks",
"question_key":"business_pd_visited_remark",
"place_holder":"",
"field_type":"string",
"type":"7",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"business_is_pd_visited",
"answers":null,
"validations":[
]
}
]
}
]}],
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"is_business_address",
"answers":[{
"answer":"Yes",
"answer_id":"Yes"
},
{
"answer":"No",
"answer_id":"No"
}],
"validations":[
]
},
{
"question":"Ownership type",
"question_key":"business_ownership_type",
"place_holder":"",
"type":"2",
"field_width":"100",
"api_properties":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"business_ownership_type",
"expression":"(String('business_ownership_type') == String('Owned')) && (String('is_business_address') == String('Yes'))",
"value_keys":[
"business_ownership_type",
"is_business_address"
],
"questions":[
{
"question":"Approximate Market value",
"question_key":"business_approximate_market_value",
"place_holder":"",
"field_type":"numtoword",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"business_ownership_type",
"answers":null,
"validations":[
]
},
{
"question":"Owned by",
"question_key":"business_name_of_the_owner",
"type":"4",
"field_width":"45",
"api_properties":
{
"purpose":"answer_options_local",
"master_name":"pd_applicants",
"fields":["pd_co_applicant_id","applicant_name"]
},
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"business_ownership_type",
"answers":null,
"validations":[
]
},
{
"question":"Age of asset in years",
"question_key":"business_vintage",
"place_holder":"",
"field_type":"num",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":[
{
"purpose":"answer_value",
"expression":"(function(){let current_year = new Date().getFullYear(); return current_year-Number(business_vintage)}())",
"value_keys":[
"business_vintage"
],
"insert_control":"business_purchase_year"
}
],
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"business_ownership_type",
"answers":null,
"validations":[
]
},
{
"question":"Purchase year",
"question_key":"business_purchase_year",
"place_holder":"",
"field_type":"num",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":[
{
"purpose":"answer_value",
"expression":"(function(){let current_year = new Date().getFullYear(); return current_year-Number(business_purchase_year)}())",
"value_keys":[
"business_purchase_year"
],
"insert_control":"business_vintage"
}
],
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"business_ownership_type",
"answers":null,
"validations":[
]
}
,
{
"question":"Is there a Loan Existing against this asset",
"question_key":"business_emi",
"type":"2",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"business_ownership_type",
"answers":[
{
"answer":"Yes",
"answer_id":"Yes"
},
{
"answer":"No",
"answer_id":"No"
}
],
"validations":[
]
}
]
}
]
},
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"business_ownership_type",
"expression":"(String('business_ownership_type') == String('Rented')) && (String('is_business_address') == String('Yes'))",
"value_keys":[
"business_ownership_type",
"is_business_address"
],
"questions":[
{
"question":"Monthly Rent Amount",
"question_key":"business_monthly_rented_amt",
"place_holder":"",
"field_type":"numtoword",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"business_ownership_type",
"answers":null,
"validations":[
]
}
]
}
]
}
],
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"is_business_address",
"answers":[
{
"answer":"Owned",
"answer_id":"Owned"
},
{
"answer":"Rented",
"answer_id":"Rented"
}
],
"validations":[
]
}
]
}
]
}
],
"is_repeatable":null,
"validations":[
]
},
{
"question":"Is there any other business asset available?",
"question_key":"asset_info_available",
"type":"2",
"field_width":"45",
"api_properties":null,
"onchange_properties":[{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"asset_info_available",
"expression":"(String('asset_info_available') == String('Yes'))",
"value_keys":[
"asset_info_available"
],
"questions":[
{
"question":[{
"question":"Asset Type",
"question_key":"business_assets_mode",
"type":"3",
"field_width":"45",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"ASSETTYPE"
},
"fields":[
"id",
"name"
],
"filter_properties":{
"key_name":"flag",
"value":"1"
}
},
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"business_assets_mode",
"expression":"(String('business_assets_mode') == String('2'))",
"value_keys":[
"business_assets_mode"
],
"questions":[
{
"question":"Property Type",
"question_key":"property_type",
"place_holder":"",
"field_type":"string",
"type":"3",
"field_width":"45",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"ADDRESSTYPE"
},
"fields":[
"address_type_id",
"address_type"
]
},
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[{
"insert_index":"property_type",
"expression":"String('property_type') && (String('property_type') != String('')) && (String('business_assets_mode') == String('2'))",
"value_keys":[
"property_type",
"business_assets_mode"
],
"questions":[
{
"question":"Address of the property",
"question_key":"property_address",
"place_holder":"",
"field_type":"string",
"type":"3",
"field_width":"100",
"api_properties":{
"api":"getSMCTempAddresses",
"api_method":"GET",
"params":{
"pdid":"VAR_PD_ID"
},
"fields":[
"display",
"display"
]
},
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"property_type",
"answers":null,
"validations":[
]
}
]
},
{
"insert_index":"property_type",
"expression":"(String('property_type') == String('1')) && (String('business_assets_mode') == String('2'))",
"value_keys":[
"property_type",
"business_assets_mode"
],
"questions":[
{
"question":"Specify the Property",
"question_key":"property_type_others",
"place_holder":"",
"field_type":"string",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"property_type",
"answers":null,
"validations":[
]
}
]
}]
}
],
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"business_assets_mode",
"answers":null,
"validations":[
]
}
]
},
{
"insert_index":"business_assets_mode",
"expression":"(String('business_assets_mode') == String('3'))",
"value_keys":[
"business_assets_mode"
],
"questions":[
{
"question":"Type of Vehicle",
"question_key":"vehicle_type",
"place_holder":"",
"field_type":"string",
"type":"3",
"field_width":"45",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"VEHICLETYPE"
},
"fields":[
"vehicle_type_id",
"vehicle_type_name"
]
},
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"vehicle_type",
"expression":"(String('vehicle_type') == String('1')) && (String('business_assets_mode') == String('3'))",
"value_keys":[
"vehicle_type",
"business_assets_mode"
],
"questions":[
{
"question":"Specify the Vehicle",
"question_key":"vehicle_type_others",
"place_holder":"",
"field_type":"string",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"vehicle_type",
"answers":null,
"validations":[
]
}
]
}]
}
],
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"business_assets_mode",
"answers":null,
"validations":[
]
}
]
}
]
}
],
"is_repeatable":null,
"answers":null,
"validations":[
]
},
{
"question":"Description",
"question_key":"other_asset_description",
"type":"7",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"answers":null,
"validations":[
]
},
{
"question":"Ownership type",
"question_key":"business_ownership_type",
"place_holder":"",
"type":"2",
"field_width":"100",
"api_properties":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"business_ownership_type",
"expression":"(String('business_ownership_type') == String('Owned'))",
"value_keys":[
"business_ownership_type"
],
"questions":[
{
"question":"Approximate Market value",
"question_key":"business_approximate_market_value",
"place_holder":"",
"field_type":"numtoword",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"business_ownership_type",
"answers":null,
"validations":[
]
},
{
"question":"Asset owned by",
"question_key":"business_name_of_the_owner",
"type":"4",
"field_width":"45",
"api_properties":
{
"purpose":"answer_options_local",
"master_name":"pd_applicants",
"fields":["pd_co_applicant_id","applicant_name"]
},
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"business_ownership_type",
"answers":null,
"validations":[
]
},
{
"question":"Age of asset in years",
"question_key":"business_vintage",
"place_holder":"",
"field_type":"num",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":[
{
"purpose":"answer_value",
"expression":"(function(){let current_year = new Date().getFullYear(); return current_year-Number(business_vintage)}())",
"value_keys":[
"business_vintage"
],
"insert_control":"business_purchase_year"
}
],
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"business_ownership_type",
"answers":null,
"validations":[
]
},
{
"question":"Purchase year",
"question_key":"business_purchase_year",
"place_holder":"",
"field_type":"num",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":[
{
"purpose":"answer_value",
"expression":"(function(){let current_year = new Date().getFullYear(); return current_year-Number(business_purchase_year)}())",
"value_keys":[
"business_purchase_year"
],
"insert_control":"business_vintage"
}
],
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"business_ownership_type",
"answers":null,
"validations":[
]
}
,
{
"question":"Is there a Loan Existing against this asset",
"question_key":"business_emi",
"type":"2",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"business_ownership_type",
"answers":[
{
"answer":"Yes",
"answer_id":"Yes"
},
{
"answer":"No",
"answer_id":"No"
}
],
"validations":[
]
}
]
}
]
},
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"business_ownership_type",
"expression":"(String('business_ownership_type') == String('Rented'))",
"value_keys":[
"business_ownership_type"
],
"questions":[
{
"question":"Monthly Rent Amount",
"question_key":"business_monthly_rented_amt",
"place_holder":"",
"field_type":"numtoword",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"business_ownership_type",
"answers":null,
"validations":[
]
}
]
}
]
}
],
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"is_business_address",
"answers":[
{
"answer":"Owned",
"answer_id":"Owned"
},
{
"answer":"Rented",
"answer_id":"Rented"
}
],
"validations":[
]
},
{
"question":"Name of the Company",
"question_key":"company_name",
"place_holder":"Enter text",
"type":"3",
"api_properties":{
"api":"getCompanyListForSMCList",
"api_method":"POST",
"params":{"records":{
"pd_id":"VAR_PD_ID",
"random_string":"VAR_RANDOM_STRING"
}},
"fields":[
"company_id",
"borrower_name"
]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Company Name Required",
"value":null
}
]
}],
"is_repeatable":"1",
"group_title":"Business Asset Details",
"group_key":"business_assets_details"
}
]
}
]
}],
"is_repeatable":null,
"answers":[{
"answer":"Yes",
"answer_id":"Yes"
},
{
"answer":"No",
"answer_id":"No"
}],
"validations":[
]
},
{
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,117 @@
{
"section_id": "9",
"section_name": "Business and Personal Banking Details",
"onsubmit": [],
"questions": [
{
"question": [
{
"question": "Account holder name",
"question_key": "applicant_name",
"type": "1",
"api_properties": {
"purpose": "answer_options_local",
"master_name": "pd_applicants",
"fields": [
"pd_co_applicant_id",
"applicant_name"
]
},
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "string",
"validations": [
]
},
{
"question": "Bank Name",
"question_key": "bank_name",
"type": "1",
"field_width": "45",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
},
{
"question": "Account type",
"question_key": "account_type",
"type": "3",
"field_width": "45",
"api_properties": null,
"answers": [
{
"answer": "Savings",
"answer_id": "Savings"
},
{
"answer": "OD",
"answer_id": "OD"
},
{
"answer": "Current",
"answer_id": "Current"
},
{
"answer": "CC",
"answer_id": "CC"
}
],
"onchange_properties": [
{
"purpose": "FORM_CTRL",
"form_controls": [
{
"insert_index": "account_type",
"expression": "(String('account_type').toLowerCase() != String('savings') && String('account_type').toLowerCase() != String('current'))",
"value_keys": [
"account_type"
],
"questions": [
{
"question": "OD/CC Limit",
"question_key": "cc_limit",
"type": "1",
"field_width": "45",
"field_type": "num",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
}
]
}
]
}
],
"is_repeatable": null,
"validations": [
]
}
],
"is_repeatable": "1",
"group_title": "Banking Details",
"group_key": "banking_details"
},
{
"question_key": "common_remarks",
"question": "Remarks",
"place_holder": "Enter the text",
"type": "7",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "string",
"field_width": "45",
"validations": []
}
]
}

View File

@ -0,0 +1,315 @@
{
"section_id":"1",
"section_name":"Borrower & Guarantor Details",
"onsubmit":null,
"questions":[
{
"question":[{
"question":"Borrower Type",
"question_key":"borrower_type",
"type":"1",
"field_width":"100",
"answers":null,
"api_properties":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"relationship",
"expression":"(String('borrower_type').toLowerCase() != String('guarantor'))",
"value_keys":[
"borrower_type"
],
"questions":[
{
"question":"Numbers of years for which the business has been running",
"question_key":"numbers_of_years_business_running",
"type":"1",
"field_width":"45",
"field_type":"num",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_subfield":"1",
"parent_question_key":"entity_type",
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
}
]
}
]
},
{
"purpose":"validations",
"validations":[{
"value_keys":["borrower_type"],
"value":"(String('borrower_type').toLowerCase() != String('guarantor'))",
"validation_to":"borrower_age",
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required"
}]}
],
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Name",
"question_key":"borrower_name",
"type":"1",
"field_width":"100",
"onchange_properties":null,
"api_properties":null,
"answers":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"questions_level_two":[
{
"question":"Mobile Number",
"question_key":"mobile_no",
"type":"1",
"field_type":"num",
"field_width":"100",
"onchange_properties":null,
"api_properties":null,
"answers":null,
"is_repeatable":null,
"validations":[
{
"name":"pattern",
"isactive":"1",
"validator":"[0-9]{10}",
"message":"Mobile number should be 10 digit",
"value":null
}
]
}
],
"is_repeatable":"2",
"group_key":"mobile_numbers",
"group_title":"Mobile Number"
},
{
"question":"Entity Type",
"question_key":"entity_type",
"type":"1",
"field_width":"100",
"api_properties":null,
"answers":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"relationship",
"expression":"(String('entity_type').toLowerCase() == String('individual'))",
"value_keys":[
"entity_type"
],
"questions":[
{
"question":"Age",
"question_key":"borrower_age",
"type":"1",
"field_type":"num",
"field_width":"50",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_subfield":"1",
"parent_question_key":"entity_type",
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
}
]},
{
"insert_index":"relationship",
"expression":"(String('entity_type').toLowerCase() == String('individual'))",
"value_keys":[
"entity_type"
],
"questions":[
{
"question":"Met / Not Met",
"question_key":"borrower_met",
"type":"2",
"field_width":"20",
"api_properties":null,
"answers":[
{
"answer_id":"Yes",
"answer":"Yes"
},
{
"answer_id":"No",
"answer":"No"
}
],
"onchange_properties":null,
"is_subfield":"1",
"parent_question_key":"entity_type",
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
}
]
}
]
},
{
"purpose":"question_label",
"expression":"(function () {let label= '';(String('entity_type').toLowerCase().includes('individual')) ? label= 'Number of years the borrower has been in this business.' : label = 'Number of years for which the business has been running';return label}())",
"value_keys":[
"entity_type"
],
"insert_control":"numbers_of_years_business_running"
},
{
"purpose":"validations",
"validations":[{
"value_keys":["borrower_type"],
"value":"(String('borrower_type').toLowerCase() != String('guarantor'))",
"validation_to":"borrower_age",
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required"
}]}
],
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Designation",
"question_key":"designation",
"type":"1",
"field_width":"100",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Relationship to",
"question_key":"relationship_to",
"type":"1",
"field_width":"100",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Relationship",
"question_key":"relationship",
"type":"1",
"field_width":"100",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
}
],
"is_repeatable":"1",
"group_key":"borrower_details",
"group_title":"Borrower Details"},
{
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,210 @@
{
"section_id": "10",
"section_name": "Neighbourhood / Reference Check",
"onsubmit": [
],
"questions": [
{
"question":[
{
"question_key": "Neighbour_Name",
"question": "Neighbour Name",
"place_holder": "Enter the text",
"type": "1",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "string",
"field_width": "45",
"validations": []
}, {
"question_key": "Do_you_known_about_the_applicants_or_their_business",
"question": "Do you known about the applicants or their business?",
"place_holder": "Enter the text",
"type": "3",
"api_properties": null,
"answers":[
{
"answer_id":"Yes",
"answer":"Yes"
},
{
"answer_id":"No",
"answer":"No"
}
],
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Do_you_known_about_the_applicants_or_their_business",
"expression":"(String('Do_you_known_about_the_applicants_or_their_business') == String('Yes'))",
"value_keys":[
"Do_you_known_about_the_applicants_or_their_business"
],
"questions":[
{
"question_key": "As_per_you_how_long_has_this_business_been_in_operation",
"question": "As per you how long has this business been in operation?",
"place_holder": "Enter the text",
"type": "5",
"api_properties": null,
"answers":[
{
"answer_id":"Do_not_know",
"answer":"Do not know"
}
],
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"As_per_you_how_long_has_this_business_been_in_operation",
"expression":"(String('As_per_you_how_long_has_this_business_been_in_operation') != String('Do_not_know'))",
"value_keys":[
"As_per_you_how_long_has_this_business_been_in_operation"
],
"questions":[
{ "question":"Year",
"question_key":"Year",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"As_per_you_how_long_has_this_business_been_in_operation",
"answers":null,
"validations":[
]
},
{ "question":"Month",
"question_key":"YeMonthar",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"As_per_you_how_long_has_this_business_been_in_operation",
"answers":null,
"validations":[
]
} ] } ] }],
"is_repeatable": null,
"field_type": "string",
"field_width": "100",
"validations": []
},
{
"question_key": "Who_is_the_owner_of_the_organisation",
"question": "Who is the owner of the organisation?",
"place_holder": "Enter the text",
"type": "5",
"api_properties": null,
"answers":[
{
"answer_id":"Do_not_know",
"answer":"Do not know"
}
],
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Who_is_the_owner_of_the_organisation",
"expression":"(String('Who_is_the_owner_of_the_organisation') != String('Do_not_know'))",
"value_keys":[
"Who_is_the_owner_of_the_organisation"
],
"questions":[
{ "question_key": "Who_is_the_owner_of_the_organisations",
"question": "Who is the owner of the organisation?",
"type":"3",
"field_width":"45",
"api_properties":
{
"purpose":"answer_options_local",
"master_name":"pd_applicants",
"fields":["pd_co_applicant_id","applicant_name"]
},
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"Who_is_the_owner_of_the_organisation",
"answers":null,
"validations":[
]
}
] } ] }],
"is_repeatable": null,
"field_type": "string",
"field_width": "100",
"validations": []
}
]
} ] }],
"is_repeatable": null,
"field_type": "string",
"field_width": "45",
"validations": []
}
],
"is_repeatable":"1",
"hidden_button":true,
"group_title":"Neighbourhood",
"group_key":"Neighbourhood"
},
{
"question_key": "Status of the check as per PD officer?",
"question": "Status of the check as per PD officer?",
"place_holder": "Enter the text",
"type": "3",
"api_properties": null,
"answers":[
{
"answer_id":"Positive",
"answer":"Positive"
},
{
"answer_id":"Negative",
"answer":"Negative"
}, {
"answer_id":"Could_not_verify",
"answer":"Could not verify"
}
],
"onchange_properties": null,
"is_repeatable": null,
"field_type": "string",
"field_width": "45",
"validations": []
}, {
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,280 @@
{
"section_id":"11",
"section_name":"Credit Manager Queries",
"onsubmit":null,
"questions":[
{
"question":"Is your business adversely impacted by coronavirus outbreak ?",
"question_key":"Is_your_business_adversely_impacted_by_coronavirus_outbreak",
"type":"2",
"sub_title":"Covid 19 Questions",
"field_width":"100",
"api_properties":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Is_your_business_adversely_impacted_by_coronavirus_outbreak",
"expression":"(String('Is_your_business_adversely_impacted_by_coronavirus_outbreak') == String('No'))",
"value_keys":[
"Is_your_business_adversely_impacted_by_coronavirus_outbreak"
],
"questions":[
{ "question":"Enter Your Remarks",
"question_key":"Enter_Your_Remarks",
"type":"1",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"Is_your_business_adversely_impacted_by_coronavirus_outbreak",
"answers":null,
"validations":[
]
} ] } ] },
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Is_your_business_adversely_impacted_by_coronavirus_outbreak",
"expression":"(String('Is_your_business_adversely_impacted_by_coronavirus_outbreak') == String('Yes'))",
"value_keys":[
"Is_your_business_adversely_impacted_by_coronavirus_outbreak"
],
"questions":[
{ "question":"Enter Your Remarks",
"question_key":"enter_Your_Remarks",
"type":"1",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"Is_your_business_adversely_impacted_by_coronavirus_outbreak",
"answers":null,
"validations":[
]
}
]
}
]
}],
"is_repeatable":null,
"answers":[{
"answer":"Yes",
"answer_id":"Yes"
},
{
"answer":"No",
"answer_id":"No"
}],
"validations":[
]
},{
"question":"Did you avail the loan moratorium facility on your existing loans which is extended by your bank or financial institution?",
"question_key":"your_bank_or_financial_institution",
"type":"2",
"field_width":"100",
"api_properties":null,
"onchange_properties":[
],
"is_repeatable":null,
"answers":[{
"answer":"Yes",
"answer_id":"Yes"
},
{
"answer":"No",
"answer_id":"No"
}],
"validations":[
]
},{
"question":"Are you planning to avail/ or already availed any loan or any other term facility for your business or personal use?",
"question_key":"your_business_or_personal_use",
"type":"2",
"field_width":"100",
"api_properties":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"your_business_or_personal_use",
"expression":"(String('your_business_or_personal_use') == String('Yes'))",
"value_keys":[
"your_business_or_personal_use"
],
"questions":[
{ "question":"How much is your sales/revenue from April till date?",
"question_key":"sales/revenue_April_till_date",
"type":"1",
"field_width":"100",
"field_type":"numtoword",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"your_business_or_personal_use",
"answers":null,
"validations":[
]
}, {
"question":"Please specify amount,lender etc",
"question_key":"Please_specify_amount_lender_etc",
"type":"7",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"your_business_or_personal_use",
"answers":null,
"validations":[
]
}
]
}
]
}, {
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"your_business_or_personal_use",
"expression":"(String('your_business_or_personal_use') == String('No'))",
"value_keys":[
"your_business_or_personal_use"
],
"questions":[
{ "question":"How much is your sales/revenue from April till date?",
"question_key":"How_much_is_your_sales/revenue_from_April_till_date",
"type":"1",
"field_width":"100",
"field_type":"numtoword",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"your_business_or_personal_use",
"answers":null,
"validations":[
]
}
]
}
]
}],
"is_repeatable":null,
"answers":[{
"answer":"Yes",
"answer_id":"Yes"
},
{
"answer":"No",
"answer_id":"No"
}],
"validations":[
]
},{
"question":"Is turnover mentioned above (sales/revenue from April till date) validated?",
"question_key":"sales/revenue_from_April_till_date_validated",
"type":"2",
"field_width":"100",
"api_properties":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"sales/revenue_from_April_till_date_validated",
"expression":"(String('sales/revenue_from_April_till_date_validated') == String('Yes'))",
"value_keys":[
"sales/revenue_from_April_till_date_validated"
],
"questions":[
{ "question":"Choose any ",
"question_key":"Choose any",
"type":"3",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"your_business_or_personal_use",
"answers":[
{
"answer_id":"Bills",
"answer":"Bills"
},
{
"answer_id":"Gst_returns",
"answer":"Gst returns"
},
{
"answer_id":"records_shown",
"answer":"records shown"
}
],
"validations":[
]
}
]
}
]
} ],
"is_repeatable":null,
"answers":[{
"answer":"Yes",
"answer_id":"Yes"
},
{
"answer":"No",
"answer_id":"No"
}],
"validations":[
]
}, {
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,310 @@
{
"section_id":"12",
"section_name":"Final Remarks Details",
"onsubmit":null,
"questions":[
{
"question":"Customer Behaviour",
"question_key":"Customer_Behaviour",
"place_holder":"Enter the text",
"type":"3",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"CUSTOMERBEHAVIOUR"
},
"fields":[
"customer_behaviour_id",
"description"
]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
},
{
"question":"Is the location of the business / profession suited to the nature of business / service provided?",
"question_key":"location_of_the_business",
"place_holder":"Enter the text",
"type":"3",
"api_properties":null,
"answers":[{
"answer":"Well Suited",
"answer_id":"Well Suited"
},
{
"answer":"Fairly Suited",
"answer_id":"Fairly Suited"
},{
"answer":"Not Suited",
"answer_id":"Not Suited"
}],
"onchange_properties":null,
"is_repeatable":null,
"sub_title":"Location",
"field_type":"string",
"field_width":"100",
"validations":[
]
},
{
"question":"Personal feedback or market intelligence on the case (if any)",
"question_key":"Personal_feedback_or_market_intelligence_on_the_case",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"100",
"validations":[
]
},
{
"question_key":"PD_Officers_Recommendation",
"question":"PD Officers Recommendation",
"place_holder":"Enter the text",
"type":"3",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"PDOFFICERRECOMMENDATIONS"
},
"fields":[
"pdofficer_recommendation_id",
"pdofficer_recommendation"
]
},
"answers":null,
"onchange_properties":[{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"PD_Officers_Recommendation",
"expression":"(String('PD_Officers_Recommendation') == String('2'))",
"value_keys":[
"PD_Officers_Recommendation"
],
"questions":[
{
"question":[
{
"question":"Reasons for marking PD status as Positive",
"question_key":"Reasons_for_marking_PD_status_as_Positive",
"type":"1",
"field_width":"100",
"onchange_properties":null,
"api_properties":null,
"answers":null,
"is_repeatable":null,
"validations":[
]
}
],
"is_repeatable":"1",
"group_key":"Reasons_for_marking_PD_status_as_Positive",
"group_title":"Reasons for marking PD status as Positive"
}]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"PD_Officers_Recommendation",
"expression":"(String('PD_Officers_Recommendation') == String('3'))",
"value_keys":[
"PD_Officers_Recommendation"
],
"questions":[
{
"question":[
{
"question":"Reasons for marking PD status as Negative",
"question_key":"Reasons_for_marking_PD_status_as_Negative",
"type":"1",
"field_width":"100",
"onchange_properties":null,
"api_properties":null,
"answers":null,
"is_repeatable":null,
"validations":[
]
}
],
"is_repeatable":"1",
"group_key":"Reasons_for_marking_PD_status_as_Negative",
"group_title":"Reasons for marking PD status as Negative"
}]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"PD_Officers_Recommendation",
"expression":"(String('PD_Officers_Recommendation') == String('1'))",
"value_keys":[
"PD_Officers_Recommendation"
],
"questions":[
{
"question":"Specify PD Officers Recommendation",
"question_key":"Specify_PD_Officers_Recommendation",
"type":"1",
"field_width":"45",
"onchange_properties":null,
"api_properties":null,
"answers":null,
"is_repeatable":null,
"validations":[
]
}
]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"PD_Officers_Recommendation",
"expression":"(String('PD_Officers_Recommendation') == String('4'))",
"value_keys":[
"PD_Officers_Recommendation"
],
"questions":[
{
"question":[
{
"question":"Reasons for marking PD status as Refer to Credit",
"question_key":"Reasons_for_marking_PD_status_as_Refer_to_Credit",
"type":"1",
"field_width":"100",
"onchange_properties":null,
"api_properties":null,
"answers":null,
"is_repeatable":null,
"validations":[
]
}
],
"is_repeatable":"1",
"group_key":"Reasons_for_marking_PD_status_as_Refer_to_Credit",
"group_title":"Reasons for marking PD status as Refer to Credit"
}]
}]
}],
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}, {
"question_key":"Any_additional_visit_(Godown/multiple_rental_properties)",
"question":"Any additional visit (Godown /multiple rental properties)",
"place_holder":"Enter the text",
"type":"12",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"100",
"validations":[
]
}, {
"question":"Mode of Transport Used to Visit the PD address",
"question_key":"Mode_of_Transport_Used_to_Visit_the_PD_address",
"type":"3",
"field_width":"45",
"api_properties":null,
"answers":[
{
"answer_id":"Two_Wheeler",
"answer":"Two Wheeler"
},{
"answer_id":"Four_Wheeler",
"answer":" Four Wheeler"
},{
"answer_id":"Public_Transport",
"answer":"Public Transport"
},
{
"answer_id":"Others",
"answer":"Others"
}
],
"onchange_properties": [{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Mode_of_Transport_Used_to_Visit_the_PD_address",
"expression":"(String('Mode_of_Transport_Used_to_Visit_the_PD_address') == String('Others'))",
"value_keys":[
"Mode_of_Transport_Used_to_Visit_the_PD_address"
],
"questions":[
{
"question":"Specify the Mode of Transport Used to Visit the PD address",
"question_key":"Specify_the_Mode_of_Transport_Used_to_Visit_the_PD_address",
"type":"1",
"field_width":"45",
"onchange_properties":null,
"api_properties":null,
"answers":null,
"is_repeatable":null,
"validations":[
]
}
]
}]
}],
"is_repeatable":null,
"validations":[
]
}, {
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,343 @@
{
"section_id": "13",
"section_name": "Stock details",
"onsubmit": [],
"questions": [
{
"question": "Is stock applicable to the business (Yes / No)",
"question_key": "stock_info_available",
"type": "2",
"field_width": "45",
"api_properties": null,
"onchange_properties": [
{
"purpose": "FORM_CTRL",
"form_controls": [
{
"insert_index": "stock_info_available",
"expression": "(String('stock_info_available') == String('No'))",
"value_keys": [
"stock_info_available"
],
"questions": [
{
"question": "Reason",
"question_key": "stock_not_available_reason",
"type": "7",
"field_width": "100",
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"is_subfield": "1",
"parent_question_key": "stock_info_available",
"answers": null,
"validations": [
]
}
]
}
]
},
{
"purpose": "FORM_CTRL",
"form_controls": [
{
"insert_index": "stock_info_available",
"expression": "(String('stock_info_available') == String('Yes'))",
"value_keys": [
"stock_info_available"
],
"questions":[
{
"question": "Is the stock of finished goods observed, sufficient considering the size of operations",
"question_key": "estimated_uom",
"type": "3",
"field_width": "100",
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"is_subfield": "1",
"parent_question_key": "stock_info_available",
"answers": [
{
"answer": "Yes",
"answer_id": "yes"
},
{
"answer": "No",
"answer_id": "no"
},
{
"answer": "Stock not required to be maintained",
"answer_id": "not applicable"
}
],
"validations": [
]
}
]
},
{
"insert_index": "stock_info_available",
"expression": "(String('stock_info_available') == String('Yes'))",
"value_keys": [
"stock_info_available"
],
"questions": [
{
"question": [
{
"question": "Type of Stock",
"question_key": "stock_type",
"type": "3",
"field_width": "100",
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"is_subfield": "1",
"parent_question_key": "stock_info_available",
"answers": [
{
"answer": "RM",
"answer_id": "RM"
},
{
"answer": "FG",
"answer_id": "FG"
},
{
"answer": "SFG",
"answer_id": "SFG"
}
],
"validations": [
]
},
{
"question": "Name of trading goods/manufacturing goods (raw material/finished goods)/ Service Provided",
"question_key": "provider_name",
"place_holder": "Enter text",
"type": "1",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "string",
"validations": [
]
},
{
"question": "Stock",
"question_key": "provider_observed",
"type": "3",
"api_properties": null,
"answers": [
{
"answer": "Add Stock Details",
"answer_id": "yes"
},
{
"answer": "No Stock Observed",
"answer_id": "no"
}
],
"is_repeatable": null,
"validations": [
],
"onchange_properties": [
{
"purpose": "FORM_CTRL",
"form_controls": [
{
"insert_index": "provider_observed",
"expression": "(String('provider_observed') === String('yes'))",
"value_keys": [
"provider_observed"
],
"questions": [
{
"question": "Estimated Quantity",
"question_key": "estimated_quantity",
"type": "1",
"field_width": "100",
"field_type": "num",
"api_properties": null,
"onchange_properties": [
{
"purpose": "validations",
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "",
"message": "Either Estimated Stock value or Estimated Quantity is required",
"value": "(String('estimated_quantity') === String(''))",
"validation_to": "estimated_stock_value",
"value_keys": [
"estimated_quantity",
"estimated_stock_value"
]
}
]
}
],
"is_repeatable": null,
"is_subfield": "1",
"parent_question_key": "provider_observed",
"answers": null,
"validations": [
]
},
{
"question": "UOM",
"question_key": "estimated_uom",
"type": "3",
"field_width": "100",
"api_properties": {
"api": "getListOfMaster",
"api_method": "POST",
"params": {
"master_name": "UOM"
},
"fields": [
"uom_id",
"name"
]
},
"onchange_properties": null,
"is_repeatable": null,
"is_subfield": "1",
"parent_question_key": "provider_observed",
"answers": null,
"validations": [
]
},
{
"question": "Estimated value of stock observed",
"question_key": "estimated_stock_value",
"type": "1",
"field_type": "numtoword",
"field_width": "100",
"api_properties": null,
"onchange_properties": [
{
"purpose": "validations",
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "",
"message": "Either Estimated Stock value or Estimated Quantity is required",
"value": "(String('estimated_stock_value') === String(''))",
"validation_to": "estimated_quantity",
"value_keys": [
"estimated_stock_value"
]
}
]
}
],
"is_repeatable": null,
"is_subfield": "1",
"parent_question_key": "provider_observed",
"answers": null,
"validations": []
}
]
}
]
}
]
},
{
"question":"Name of the Company",
"question_key":"company_name",
"place_holder":"Enter text",
"type":"3",
"api_properties":{
"api":"getCompanyListForSMCList",
"api_method":"POST",
"params":{"records":{
"pd_id":"VAR_PD_ID",
"random_string":"VAR_RANDOM_STRING"
}},
"fields":[
"company_id",
"borrower_name"
]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Company Name Required",
"value":null
}
]
}
],
"is_repeatable": "1",
"group_title": "Stock details",
"group_key": "stock_details"
}
]
}
]
}
],
"is_repeatable": null,
"answers": [
{
"answer": "Yes",
"answer_id": "Yes"
},
{
"answer": "No",
"answer_id": "No"
}
],
"validations": [
]
},
{
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}, {
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,511 @@
{
"section_id":"5",
"section_name":"Address details",
"onsubmit":null,
"questions":[
{
"question":"Address at which PD was initiated",
"question_key":"initiated_address",
"type":"7",
"disable":false,
"field_width":"100",
"title":"Address Details",
"answers":true,
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question": "State",
"question_key": "state",
"type": "3",
"answers": null,
"field_width":"25",
"api_properties": {
"api": "getListOfMaster",
"api_method": "POST",
"params": {
"master_name": "STATE"
},
"fields": [
"state_id",
"name"
]
},
"onchange_properties": [
{
"purpose": "api",
"api": "getListOfStatesAndCities",
"api_method": "POST",
"params": "{records:{state_id:'value_of_answer'}}",
"fields": [
"state_id",
"name"
],
"local_variable": "local_city"
}
],
"is_repeatable": null,
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "Validators.required",
"message": "State Required",
"value": null
}
]
},
{
"question": "City",
"question_key": "city",
"type": "3",
"answers": null,
"field_width":"25",
"api_properties": "local_city",
"onchange_properties": null,
"is_repeatable": null,
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "Validators.required",
"message": "CIty Required",
"value": null
}
]
},
{
"question": "Pincode",
"question_key": "pincode",
"type": "3",
"answers": null,
"field_width":"25",
"api_properties": "local_pincode",
"onchange_properties": [
{
"purpose": "FORM_CTRL",
"form_controls": [
{
"insert_index": "pincode",
"expression": "(pincode == 1)",
"value_keys": [
"pincode"
],
"questions": [
{
"question_key": "pincode_others",
"question": "Specify the Pincode",
"place_holder": "Enter the Pincode",
"type": "1",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "num",
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "Validators.required",
"message": "Pincode is Required",
"value": null
},
{
"name": "pattern",
"isactive": "1",
"validator": "[0-9]{6}",
"message": "Pincode should be 6 digit",
"value": null
}
]
}
]
}
]
}
],
"is_repeatable": null,
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "Validators.required",
"message": "Pincode Required",
"value": null
}
]
},
{
"question":"Is this the address where PD is done ?",
"question_key":"is_pd_done_on_initiated_address",
"type":"2",
"disable":false,
"field_width":"100",
"onchange_properties": [{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"is_pd_done_on_initiated_address",
"expression":"(String('is_pd_done_on_initiated_address') == String('No'))",
"value_keys":[
"is_pd_done_on_initiated_address"
],
"questions":[
{
"question":"Reason for change in PD visit address",
"question_key":"end_use",
"type":"1",
"field_width":"100",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
]
},
{
"question": "Pincode",
"question_key": "pincode2",
"type": "3",
"answers": null,
"field_width":"25",
"api_properties": "local_pincode",
"onchange_properties": [
{
"purpose": "FORM_CTRL",
"form_controls": [
{
"insert_index": "pincode",
"expression": "(pincode == 1)",
"value_keys": [
"pincode"
],
"questions": [
{
"question_key": "pincode_others",
"question": "Specify the Pincode",
"place_holder": "Enter the Pincode",
"type": "1",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "num",
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "Validators.required",
"message": "Pincode is Required",
"value": null
},
{
"name": "pattern",
"isactive": "1",
"validator": "[0-9]{6}",
"message": "Pincode should be 6 digit",
"value": null
}
]
}
]
}
]
}
],
"is_repeatable": null,
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "Validators.required",
"message": "Pincode Required",
"value": null
}
]
}, {
"question": "City",
"question_key": "city2",
"type": "3",
"answers": null,
"field_width":"25",
"api_properties": "local_city",
"onchange_properties": null,
"is_repeatable": null,
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "Validators.required",
"message": "CIty Required",
"value": null
}
]
},
{
"question":"State",
"question_key":"State_list",
"type":"3",
"disable":false,
"field_width":"25",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"STATE"
},
"fields":[
"state_id",
"name"
]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
}, {
"question":"Enter actual PD address",
"question_key":"actual_pd_address",
"type":"1",
"field_width":"100",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
]
}
]
}
]
}],
"api_properties":null,
"answers":[
{
"answer_id":"Yes",
"answer":"Yes"
},
{
"answer_id":"No",
"answer":"No"
}
],
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Address Type",
"question_key":"Address_Type",
"type":"3",
"disable":false,
"field_width":"45",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"ADDRESSTYPE"
},
"fields":[
"address_type_id",
"address_type"
]
},
"answers": null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Locality",
"question_key":"Locality",
"type":"3",
"disable":false,
"field_width":"45",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"LOCALITY"
},
"fields":[
"locality_id",
"locality_name"
]
},
"answers": null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Approach to PD location*",
"question_key":"Approach_to_PD_location",
"type":"3",
"disable":false,
"field_width":"45",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"PDLOCATIONAPPROACH"
},
"fields":[
"pd_location_approach_id",
"description"
]
},
"answers": null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Comment on Locality",
"question_key":"Comment_on_Locality",
"type":"3",
"disable":false,
"field_width":"45",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"COMMENTSONLOCALITY"
},
"fields":[
"comments_on_locality_id",
"rating"
]
},
"answers": null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
}, {
"question":"Unit of Measurement",
"question_key":"Unit_of_Measurement",
"type":"3",
"disable":false,
"field_width":"45",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"UOM"
},
"fields":[
"uom_id",
"name"
]
},
"answers": null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},{
"question":"Estimate area of the Residence",
"question_key":"Estimate_area_of_the_Residence",
"type":"1",
"disable":false,
"field_width":"45",
"api_properties": null,
"answers": null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},{
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,423 @@
{
"section_id":"10",
"section_name":"Loan details",
"onsubmit":null,
"questions":[
{
"question":"Loan amount applied for ?",
"question_key":"loan_amount",
"type":"1",
"field_type":"numtoword",
"field_width":"65",
"answers":null,
"api_properties":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"total_fund_requirement",
"expression":" typeof(total_fund_requirement) == 'number' && (Number(total_fund_requirement) < Number(loan_amount))",
"value_keys":[
"total_fund_requirement","loan_amount"
],
"questions":[
{
"question":"Remarks on source of funds for balance amount required",
"question_key":"remarks_fund_source_balance",
"place_holder":"",
"field_type":"string",
"type":"1",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"total_fund_requirement",
"answers":null,
"validations":[
]
}
]
}]
}
],
"is_repeatable":null,
"validations":[
]
},
{
"question":"Loan Tenure applied for ?",
"question_key":"loan_tenure",
"type":"1",
"field_type":"num",
"field_width":"25",
"onchange_properties": null,
"api_properties":null,
"answers":null,
"is_repeatable":null,
"validations":[
]
},
{
"question":"Sub Product",
"question_key":"sub_product",
"type":"3",
"field_width":"65",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"SUBPRODUCTS"
},
"fields":[
"subproduct_id",
"name"
]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
]
},
{
"question":"What is the end use",
"question_key":"end_use",
"type":"3",
"field_width":"65",
"api_properties":{
"api":"getEndUseOfLoan",
"api_method":"POST",
"params":{
"master_name":null
},
"fields":["enduse_of_loan_id","enduse_of_loan"]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
]
},
{
"question":"Is there a balance transfer?",
"question_key":"balance_transfer",
"type":"3",
"field_width":"65",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"BTLENDERLIST"
},
"fields":[
"bt_lender_list_id",
"lender_name"
]
},
"answers": null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
]
},
{
"question":"EMI Amount comfortable paying",
"question_key":"emi_amount",
"type":"1",
"field_type":"numtoword",
"field_width":"65",
"answers":null,
"api_properties":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"total_fund_requirement",
"expression":" typeof(total_fund_requirement) == 'number' && (Number(total_fund_requirement) < Number(loan_amount))",
"value_keys":[
"total_fund_requirement","loan_amount"
],
"questions":[
]
}]
}
],
"is_repeatable":null,
"validations":[
]
},
{
"question":"Type of Property",
"question_key":"is_transfer",
"type":"3",
"sub_title":"Details of Property being Mortgaged",
"field_width":"55",
"api_properties":null,
"answers":[
{
"answer_id":"Chawl",
"answer":"Chawl"
},{
"answer_id":"Flat",
"answer":"Flat"
},{
"answer_id":"Floor",
"answer":"Floor"
},
{
"answer_id":"Independent House",
"answer":"Independent House"
}, {
"answer_id":"Row House",
"answer":"Row House"
}
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
},
{
"question":"Specify Type of Property*",
"question_key":"Specify_Type",
"type":"1",
"field_width":"55",
"api_properties":null,
"answers":[
{
"answer_id":"other",
"answer":"other"
}
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
},
{
"question":"Name of Owner",
"question_key":"owner_name",
"type":"4",
"field_width":"45",
"api_properties":
{
"purpose":"answer_options_local",
"master_name":"pd_applicants",
"fields":["pd_co_applicant_id","applicant_name"]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
]
},
{
"question":"Status of Construction",
"question_key":"is_transfer",
"type":"3",
"field_width":"45",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"STATUSOFCONSTRUCTION"
},
"fields":[
"id",
"name"
]
},
"answers": null,
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
},
{
"question":"Estimated market value as per customer",
"question_key":"emv_per_customer",
"place_holder":"",
"field_type":"numtoword",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"answers":null,
"validations":[
]
},
{
"question":"Address of Property*",
"question_key":"Address_of_Property",
"place_holder":"",
"field_type":"text",
"type":"1",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"answers":null,
"validations":[
]
},
{
"question": "State",
"question_key": "state",
"type": "3",
"answers": null,
"field_width":"45",
"api_properties": {
"api": "getListOfMaster",
"api_method": "POST",
"params": {
"master_name": "STATE"
},
"fields": [
"state_id",
"name"
]
},
"onchange_properties": [
{
"purpose": "api",
"api": "getListOfStatesAndCities",
"api_method": "POST",
"params": "{records:{state_id:'value_of_answer'}}",
"fields": [
"state_id",
"name"
],
"local_variable": "local_city"
}
],
"is_repeatable": null,
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "Validators.required",
"message": "State Required",
"value": null
}
]
},
{
"question": "City",
"question_key": "city",
"type": "3",
"answers": null,
"field_width":"45",
"api_properties": "local_city",
"onchange_properties": null,
"is_repeatable": null,
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "Validators.required",
"message": "CIty Required",
"value": null
}
]
},
{
"question": "Pincode",
"question_key": "pincode",
"type": "3",
"answers": null,
"field_width":"45",
"api_properties": "local_pincode",
"onchange_properties": [
{
"purpose": "FORM_CTRL",
"form_controls": [
{
"insert_index": "pincode",
"expression": "(pincode == 1)",
"value_keys": [
"pincode"
],
"questions": [
{
"question_key": "pincode_others",
"question": "Specify the Pincode",
"place_holder": "Enter the Pincode",
"type": "1",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "num",
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "Validators.required",
"message": "Pincode is Required",
"value": null
},
{
"name": "pattern",
"isactive": "1",
"validator": "[0-9]{6}",
"message": "Pincode should be 6 digit",
"value": null
}
]
}
]
}
]
}
],
"is_repeatable": null,
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "Validators.required",
"message": "Pincode Required",
"value": null
}
]
}, {
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,764 @@
{
"section_id": "4",
"section_name": "Employement Information",
"onsubmit": null,
"questions": [
{
"question": "Name of Employer*",
"question_key": "Name_of_Employer",
"type": "3",
"disable":false,
"field_width": "35",
"answers": null,
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "Validators.required",
"message": "Field Required",
"value": null
}
]
},
{
"question": "Company profile in brief",
"question_key": "Company_profile_in_brief",
"type": "7",
"disable":false,
"field_width": "100",
"answers": null,
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "Validators.required",
"message": "Field Required",
"value": null
}
]
},
{
"question": "Since how long working with this employer?",
"question_key": "Since_how_long_working_with_this_employer?",
"field_type":"null",
"sub_title":"Since how long working with this employer?",
"disable":false,
"field_width": "100",
"answers": null,
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": []
},
{
"question": "Year*",
"question_key": "Year",
"type": "1",
"field_type":"num",
"disable":false,
"field_width": "25",
"answers": null,
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "Validators.required",
"message": "Field Required",
"value": null
}
]
},
{
"question": "Month",
"question_key": "Month",
"type": "1",
"disable":false,
"field_type":"num",
"field_width": "25",
"answers": null,
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "Validators.required",
"message": "Field Required",
"value": null
}
]
},
{
"question": "Total Work Experience",
"question_key": "Total_Work_Experience",
"type": "1",
"disable":false,
"field_width": "25",
"answers": null,
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "Validators.required",
"message": "Field Required",
"value": null
}
]
},
{
"question":"Was the employee met?",
"question_key":"Was_the_employee_met",
"type":"3",
"field_width":"45",
"api_properties":null,
"answers":[
{
"answer_id":"Yes",
"answer":"Yes"
},
{
"answer_id":"No",
"answer":"No"
}
],
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Was_the_employee_met",
"expression":"(String('Was_the_employee_met') == String('Yes'))",
"value_keys":[
"Was_the_employee_met"
],
"questions":[
{
"question":"Name of the Person met",
"question_key":"Name_of_the_Person_met",
"place_holder":"",
"field_type":"text",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"Was_the_employee_met",
"answers":null,
"validations":[
]
},{
"question":"Designation of Person met",
"question_key":"Designation_of_Person_met",
"place_holder":"",
"field_type":"text",
"type":"3",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"Was_the_employee_met",
"answers":null,
"validations":[
]
},{
"question":"Photograph of 'Photo ID card of the Employee/Manager'",
"question_key":"Photograph",
"place_holder":"",
"field_type":"text",
"type":"3",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"Was_the_employee_met",
"answers":null,
"validations":[
]
},{
"question":"Employer's/Manager's Company ID card / Visiting card provided?",
"question_key":"Visiting_card_provided",
"place_holder":"",
"field_type":"text",
"type":"3",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"Was_the_employee_met",
"answers":[
{
"answer_id":"Yes",
"answer":"Yes"
},
{
"answer_id":"No",
"answer":"No"
}
],
"validations":[
]
}]
}]
}],
"is_repeatable":null,
"validations":[
]
},
{
"question":"Salary Amount confirmed?",
"question_key":"Salary_Amount_confirmed",
"type":"3",
"field_width":"45",
"api_properties":null,
"answers":[
{
"answer_id":"Yes",
"answer":"Yes"
},
{
"answer_id":"No",
"answer":"No"
}
],
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Salary_Amount_confirmed",
"expression":"(String('Salary_Amount_confirmed') == String('No'))",
"value_keys":[
"Salary_Amount_confirmed"
],
"questions":[
{
"question":"why salary amount was not confirmed",
"question_key":"why_salary_amount_was_not_confirmed",
"place_holder":"why salary amount was not confirmed",
"field_type":"text",
"type":"7",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"Salary_Amount_confirmed",
"answers":null,
"validations":[
]
}]
}]
}],
"is_repeatable":null,
"validations":[
]
},
{
"question":"Attendance register seen?",
"question_key":"Attendance_register_seen",
"type":"3",
"field_width":"45",
"api_properties":null,
"answers":[
{
"answer_id":"Yes",
"answer":"yes"
},
{
"answer_id":"No",
"answer":"no"
}
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
},
{
"question":"Salary register seen?",
"question_key":"Salary_register_seen",
"type":"3",
"field_width":"45",
"api_properties":null,
"answers":[
{
"answer_id":"Yes",
"answer":"yes"
},
{
"answer_id":"No",
"answer":"no"
}
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
},
{
"question":"Cash Voucher",
"question_key":"Cash_Voucher",
"type":"3",
"field_width":"45",
"api_properties":null,
"answers":[
{
"answer_id":"Yes",
"answer":"yes"
},
{
"answer_id":"No",
"answer":"no"
}
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
},
{
"question":"Salary Certificate",
"question_key":"Salary_Certificate",
"type":"3",
"field_width":"45",
"api_properties":null,
"answers":[
{
"answer_id":"Yes",
"answer":"yes"
},
{
"answer_id":"No",
"answer":"no"
}
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
},
{
"question":"Salary Slip",
"question_key":"Salary_Slip",
"type":"3",
"field_width":"45",
"api_properties":null,
"answers":[
{
"answer_id":"Yes",
"answer":"yes"
},
{
"answer_id":"No",
"answer":"no"
}
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
},
{
"question":"Others please specify",
"question_key":"Others_please_specify",
"type":"3",
"field_width":"45",
"api_properties":null,
"answers":[
{
"answer_id":"Yes",
"answer":"Yes"
},
{
"answer_id":"No",
"answer":"No"
}
],
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Others_please_specify",
"expression":"(String('Others_please_specify') == String('Yes'))",
"value_keys":[
"Others_please_specify"
],
"questions":[
{
"question":"Specify the Document",
"question_key":"Specify_the_Document",
"type":"1",
"field_width":"45",
"api_properties":null,
"parent_question_key":"Others_please_specify",
"answers":[
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Others_please_specify",
"expression":"(String('Others_please_specify') == String('No'))",
"value_keys":[
"Others_please_specify"
],
"questions":[
{
"question":"Why Documents are not available?",
"question_key":"Why_Documents_are_not_available",
"place_holder":"",
"field_type":"text",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"Others_please_specify",
"answers":null,
"validations":[
]
}]
}]
}],
"is_repeatable":null,
"validations":[
]
},
{
"question":"Mode of getting salary",
"question_key":"Mode_of_getting_salary",
"type":"3",
"field_width":"65",
"api_properties":null,
"answers":[
{
"answer":"Bank Transfer",
"answer_id":"Bank_Transfer"
},
{
"answer":"Paid in Cash",
"answer_id":"Paid_in_Cash"
},
{
"answer":"Both Bank Transfer & Cash",
"answer_id":"Both_Bank_Transfer_and _Cash"
}
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}, {
"question": "Salary Details",
"question_key": "Salary_Details",
"field_type":"null",
"sub_title":"Salary Details",
"disable":false,
"field_width": "100",
"answers": null,
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": []
},
{
"question": "Date of Salary",
"question_key": "Date_of_Salary",
"field_type":"null",
"sub_title":"Date of Salary",
"disable":false,
"field_width": "100",
"answers": null,
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": []
},
{
"question":"From",
"question_key":"from",
"type":"3",
"field_width":"45",
"api_properties":null,
"answers":[
{
"answer":"Bank Transfer",
"answer_id":"Bank_Transfer"
},
{
"answer":"Paid in Cash",
"answer_id":"Paid_in_Cash"
},
{
"answer":"Both Bank Transfer & Cash",
"answer_id":"Both_Bank_Transfer_and _Cash"
}
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
},
{
"question":"To",
"question_key":"to",
"type":"3",
"field_width":"45",
"api_properties":null,
"answers":[
{
"answer":"Bank Transfer",
"answer_id":"Bank_Transfer"
},
{
"answer":"Paid in Cash",
"answer_id":"Paid_in_Cash"
},
{
"answer":"Both Bank Transfer & Cash",
"answer_id":"Both_Bank_Transfer_and _Cash"
}
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}, {
"question":"Has salary been paid regularly in last 3 months",
"question_key":"Has_salary_been_paid_regularly_in_last_3_months",
"type":"3",
"field_width":"65",
"api_properties":null,
"answers":[
{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
},
{
"question":"Gross Monthly Salary",
"question_key":"Gross_Monthly_Salary",
"type":"1",
"field_type":"numtoword",
"field_width":"65",
"api_properties":null,
"answers":[
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
},
{
"question":"Net Monthly Salary",
"question_key":"Net_Monthly_Salary",
"type":"1",
"field_width":"65",
"field_type":"numtoword",
"api_properties":null,
"answers":[
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
},
{
"question":"Bounce or incentive*",
"question_key":"Bounce_or_incentive",
"type":"1",
"field_type":"numtoword",
"field_width":"65",
"api_properties":null,
"answers":[
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}, {
"question": "Bonus Frequency",
"question_key": "Bonus_Frequency",
"type": "3",
"field_width": "45",
"api_properties": null,
"answers": [
{
"answer": "Daily",
"answer_id": "Daily"
},
{
"answer": "Every 12 days",
"answer_id": "Every_12_days"
},
{
"answer": " Every 15 days",
"answer_id": " Every_15_days"
},
{
"answer": " Every 3 months",
"answer_id": " Every_3_months"
},
{
"answer": " Every 6 month",
"answer_id": " Every_6_month"
},
{
"answer": " Monthly",
"answer_id": "Monthly"
},
{
"answer": " Yearly",
"answer_id": "Yearly"
}
],
"onchange_properties": [
],
"is_repeatable": null,
"validations": [
]
},
{
"question": "Type of Bonus",
"question_key": "Type_of_Bonus",
"type": "3",
"field_width": "45",
"api_properties": null,
"answers": [
{
"answer": "Fixed",
"answer_id": "Fixed"
},
{
"answer": "Variable depending on performance",
"answer_id": "Variable_depending_on_performance"
},
{
"answer": " Others",
"answer_id": "Others"
}
],
"onchange_properties": [
],
"is_repeatable": null,
"validations": [
]
},{
"question":"ID card issued by the Company seen?*",
"question_key":"ID_card_issued_by_the_Company_seen",
"type":"3",
"field_width":"45",
"api_properties":null,
"answers":[
{
"answer_id":"Yes",
"answer":"Yes"
},
{
"answer_id":"No",
"answer":"No"
}
],
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"ID_card_issued_by_the_Company_seen",
"expression":"(String('ID_card_issued_by_the_Company_seen') == String('No'))",
"value_keys":[
"ID_card_issued_by_the_Company_seen"
],
"questions":[
{
"question_key": "common_remarks",
"question": "Remarks",
"place_holder": "Enter the text",
"type": "7",
"disable":false,
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "string",
"field_width": "45",
"validations": []
}]
}]
}],
"is_repeatable":null,
"validations":[
]
}
]
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,696 @@
{
"section_id":"6",
"section_name":"Banking Details",
"onsubmit":[
],
"questions":[ {
"question":"Is the Personal Banking Information Available",
"question_key":"Is_the_Personal_Banking_Information_Available",
"type":"3",
"sub_title":"Personal Banking Details",
"field_width":"65",
"api_properties":null,
"answers":[
{
"answer_id":"Yes",
"answer":"Yes"
},
{
"answer_id":"No",
"answer":"No"
}
],
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Is_the_Personal_Banking_Information_Available",
"expression":"(String('Is_the_Personal_Banking_Information_Available') == String('Yes'))",
"value_keys":[
"Is_the_Personal_Banking_Information_Available"
],
"questions":[
{
"question":[
{
"question_key":"Account_Holder_Name",
"question":"Account Holder's Name",
"place_holder":"Enter the text",
"type":"3",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"30",
"validations":[
]
},{
"question_key":"Banking_name",
"question":"Banking Name",
"place_holder":"Enter the text",
"type":"8",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"BTLENDERLIST"
},
"fields":[
"bt_lender_list_id",
"lender_name"
]
},
"answers":null,
"onchange_properties":[{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Banking_name",
"expression":"(String('Banking_name') == String('1'))",
"value_keys":[
"Banking_name"
],
"questions":[
{
"question":"Salary Credited in this account",
"question_key":"Salary_Credited_in_this_account",
"type":"1",
"field_width":"30",
"api_properties":null,
"parent_question_key":"Banking_name",
"answers":[
{
"answer_id":"YES",
"answer":"YES"
},
{
"answer_id":"NO",
"answer":"NO"
}, {
"answer_id":"NA",
"answer":"NA"
}
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}]
}]
}],
"is_repeatable":null,
"field_type":"string",
"field_width":"30",
"validations":[
]
}, {
"question":"Account Type",
"question_key":"Is_the_Personal_Banking_Information_Available",
"place_holder":"Enter text",
"type":"3",
"field_width":"30",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"ACCOUNTTYPE"
},
"fields":[
"id",
"name"
]
},
"answers": null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Is_the_Personal_Banking_Information_Available",
"expression":"(String('Is_the_Personal_Banking_Information_Available') == String('4'))",
"value_keys":[
"Is_the_Personal_Banking_Information_Available"
],
"questions":[
{
"question":"Limit in case of OD / CC account",
"question_key":"Limit_in_case_of_OD_CC_account",
"type":"1",
"field_type":"numtoword",
"field_width":"45",
"api_properties":null,
"parent_question_key":"loan_type",
"answers":[
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}]
}]
}, {
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Is_the_Personal_Banking_Information_Available",
"expression":"(String('Is_the_Personal_Banking_Information_Available') == String('3'))",
"value_keys":[
"Is_the_Personal_Banking_Information_Available"
],
"questions":[
{
"question":"Limit in case of OD / CC account",
"question_key":"limit_in_case_of_OD_CC_account",
"type":"1",
"field_width":"45",
"field_type":"numtoword",
"api_properties":null,
"parent_question_key":"loan_type",
"answers":[
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}]
}]
}],
"is_repeatable":null,
"field_type":"string",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Personal Banking Information Required",
"value":null
}
]
}, {
"question_key":null,
"question":null,
"place_holder":"Enter the text",
"type":null,
"api_properties":null,
"sub_title":"Number of Years / Months since account was started",
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"100",
"validations":[
]
}, {
"question_key":"year",
"question":"Year",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"25",
"validations":[
]
}, {
"question_key":"month",
"question":"Month",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"25",
"validations":[
]
},
{
"question":"Is this same AC used for?",
"question_key":"Is_this_same_AC_used_for",
"place_holder":"Enter the text",
"type":"3",
"api_properties":null,
"answers":[
{
"answer_id":"Personal",
"answer":"Personal"
},
{
"answer_id":"Business",
"answer":"Business"
},
{
"answer_id":"Both",
"answer":"Both"
}
],
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"25",
"validations":[
]
}
],
"is_repeatable":"1",
"group_title":"Personal Banking Details",
"group_key":"Personal_Banking_Details",
"form_name":"Personal Banking Details"
}
]
}]
}],
"is_repeatable":null,
"validations":[
]
}, {
"question":"Is the Business Information Available",
"question_key":"Is_the_Business_Information_Available",
"type":"3",
"sub_title":"Business Details",
"field_width":"65",
"api_properties":null,
"answers":[
{
"answer_id":"Yes",
"answer":"Yes"
},
{
"answer_id":"No",
"answer":"No"
}
],
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Is_the_Business_Information_Available",
"expression":"(String('Is_the_Business_Information_Available') == String('Yes'))",
"value_keys":[
"Is_the_Business_Information_Available"
],
"questions":[
{
"question":[
{
"question_key":"Account_Holder_name",
"question":"Account Holder's Name",
"place_holder":"Enter the text",
"type":"3",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"30",
"validations":[
]
},{
"question_key":"banking_name",
"question":"Banking Name",
"place_holder":"Enter the text",
"type":"8",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"BTLENDERLIST"
},
"fields":[
"bt_lender_list_id",
"lender_name"
]
},
"answers":null,
"onchange_properties":[{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"banking_name",
"expression":"(String('banking_name') == String('1'))",
"value_keys":[
"banking_name"
],
"questions":[
{
"question":"Salary Credited in this account",
"question_key":"salary_Credited_in_this_account",
"type":"1",
"field_width":"30",
"api_properties":null,
"parent_question_key":"banking_name",
"answers":[
{
"answer_id":"YES",
"answer":"YES"
},
{
"answer_id":"NO",
"answer":"NO"
}, {
"answer_id":"NA",
"answer":"NA"
}
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}]
}]
}],
"is_repeatable":null,
"field_type":"string",
"field_width":"30",
"validations":[
]
}, {
"question":"Account Type",
"question_key":"Account_Type",
"place_holder":"Enter text",
"type":"3",
"field_width":"30",
"api_properties":null,
"answers":[
{
"answer_id":"CC",
"answer":"CC"
},
{
"answer_id":"Current",
"answer":"Current"
},
{
"answer_id":"OD",
"answer":"OD"
},
{
"answer_id":"Savings",
"answer":"Savings"
}
],
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Account_Type",
"expression":"(String('Account_Type') == String('4'))",
"value_keys":[
"Account_Type"
],
"questions":[
{
"question":"Limit in case of OD / CC account",
"question_key":"Limit_in_case_of_OD_CC_account",
"type": "1",
"field_width": "45",
"field_type":"numtoword",
"api_properties": null,
"parent_question_key":"loan_type",
"answers":[
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}, {
"question":"Is the main business account",
"question_key":"Is_the_main_business_account",
"type":"3",
"field_width":"45",
"api_properties":null,
"parent_question_key":"loan_type",
"answers":[
{
"answer_id":"YES",
"answer":"YES"
},
{
"answer_id":"NO",
"answer":"NO"
}
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}]
}]
}, {
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Account_Type",
"expression":"(String('Account_Type') == String('3'))",
"value_keys":[
"Account_Type"
],
"questions":[
{
"question":"Limit in case of OD / CC account",
"question_key":"limit_in_case_of_OD_CC_account",
"type":"1",
"field_width":"45",
"api_properties":null,
"parent_question_key":"loan_type",
"answers":[
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}, {
"question":"Is the main business account",
"question_key":"is_the_main_business_account",
"type":"3",
"field_width":"45",
"api_properties":null,
"parent_question_key":"loan_type",
"answers":[
{
"answer_id":"YES",
"answer":"YES"
},
{
"answer_id":"NO",
"answer":"NO"
}
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}]
}]
}, {
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Account_Type",
"expression":"(String('Account_Type') == String('2'))",
"value_keys":[
"Account_Type"
],
"questions":[
{
"question":"Is the main business account",
"question_key":"is_the_main_Business_account",
"type":"3",
"field_width":"45",
"api_properties":null,
"parent_question_key":"loan_type",
"answers":[
{
"answer_id":"YES",
"answer":"YES"
},
{
"answer_id":"NO",
"answer":"NO"
}
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Account_Type",
"expression":"(String('Account_Type') == String('1'))",
"value_keys":[
"Account_Type"
],
"questions":[
{
"question":"Is the main business account",
"question_key":"is_the_main_Business_Account",
"type":"3",
"field_width":"45",
"api_properties":null,
"parent_question_key":"loan_type",
"answers":[
{
"answer_id":"YES",
"answer":"YES"
},
{
"answer_id":"NO",
"answer":"NO"
}
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}]
}]
}],
"is_repeatable":null,
"field_type":"string",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Business Details Required",
"value":null
}
]
}, {
"question_key":null,
"question":null,
"place_holder":"Enter the text",
"type":null,
"api_properties":null,
"sub_title":"Number of Years / Months since account was started",
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"100",
"validations":[
]
}, {
"question_key":"year",
"question":"Year",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"25",
"validations":[
]
}, {
"question_key":"month",
"question":"Month",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"25",
"validations":[
]
}
],
"is_repeatable":"1",
"group_title":"Business Details",
"group_key":"Business_Details",
"form_name":"Business Details"
}
]
}]
}],
"is_repeatable":null,
"validations":[
]
}, {
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,485 @@
{
"section_id": "7",
"section_name": "Existing Loan Obligations",
"onsubmit": null,
"questions": [
{
"question":"Do you have any exiting loan",
"question_key":"Do_you_have_any_exiting_loan",
"type":"3",
"field_width":"45",
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}],
"api_properties":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Do_you_have_any_exiting_loan",
"expression":"(String('Do_you_have_any_exiting_loan') == String('yes'))",
"value_keys":[
"Do_you_have_any_exiting_loan"
],
"questions":[
{
"question": [
{
"question": "Loan type",
"question_key": "loan_type",
"type": "3",
"field_width": "45",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"EXISTINGLOANTYPES"
},
"fields":[
"existing_loan_type_id",
"loan_type_name"
]
},
"answers": null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"loan_type",
"expression":"(String('loan_type') == String('1'))",
"value_keys":[
"loan_type"
],
"questions":[
{
"question":"Specify Loan Type",
"question_key":"Specify_Loan_Type",
"type":"1",
"field_width":"45",
"api_properties":null,
"parent_question_key":"loan_type",
"answers":[
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}]
}]
}],
"is_repeatable": null,
"validations": [
]
},
{
"question": "Loan amount",
"question_key": "loan_amount",
"type": "1",
"field_type": "numtoword",
"field_width": "65",
"onchange_properties": null,
"api_properties": null,
"answers": null,
"is_repeatable": null,
"validations": [
]
},
{
"question": "Lender name",
"question_key": "lender_name",
"type": "4",
"field_width": "45",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"BTLENDERLIST"
},
"fields":[
"bt_lender_list_id",
"lender_name"
]
},
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
},
{
"question": "Loan taken by",
"question_key": "loan_taken_by",
"type": "1",
"field_width": "45",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
},
{
"question": "Instalment frequency",
"question_key": "instalment_frequency",
"type": "3",
"field_width": "45",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"FREQUENCY"
},
"fields":[
"frequency_id",
"name"
]
},
"answers": null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"instalment_frequency",
"expression":"(String('instalment_frequency') == String('5'))",
"value_keys":[
"instalment_frequency"
],
"questions":[
{
"question":"Daily Instalment Amount",
"question_key":"Daily_Instalment_Amount",
"type":"1",
"field_width":"45",
"field_type": "numtoword",
"api_properties":null,
"parent_question_key":"instalment_frequency",
"answers":[
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"instalment_frequency",
"expression":"(String('instalment_frequency') == String('8'))",
"value_keys":[
"instalment_frequency"
],
"questions":[
{
"question":"Instalment Amount",
"question_key":"Instalment_Amount",
"type":"1",
"field_width":"45",
"field_type": "numtoword",
"api_properties":null,
"parent_question_key":"instalment_frequency",
"answers":[
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"instalment_frequency",
"expression":"(String('instalment_frequency') == String('4'))",
"value_keys":[
"instalment_frequency"
],
"questions":[
{
"question":"Fortnightly Instalment Amount",
"question_key":"Fortnightly_Instalment_Amount",
"type":"1",
"field_width":"45",
"field_type": "numtoword",
"api_properties":null,
"parent_question_key":"instalment_frequency",
"answers":[
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"instalment_frequency",
"expression":"(String('instalment_frequency') == String('6'))",
"value_keys":[
"instalment_frequency"
],
"questions":[
{
"question":"Quartly Instalment Amount",
"question_key":"Quartly_Instalment_Amount",
"type":"1",
"field_width":"45",
"field_type": "numtoword",
"api_properties":null,
"parent_question_key":"instalment_frequency",
"answers":[
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"instalment_frequency",
"expression":"(String('instalment_frequency') == String('3'))",
"value_keys":[
"instalment_frequency"
],
"questions":[
{
"question":"Halfyearly Instalment Amount",
"question_key":"Halfyearly_Instalment_Amount",
"type":"1",
"field_width":"45",
"field_type": "numtoword",
"api_properties":null,
"parent_question_key":"instalment_frequency",
"answers":[
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"instalment_frequency",
"expression":"(String('instalment_frequency') == String('7'))",
"value_keys":[
"instalment_frequency"
],
"questions":[
{
"question":"Monthly Instalment Amount",
"question_key":"Monthly_Instalment_Amount",
"type":"1",
"field_width":"45",
"field_type": "numtoword",
"api_properties":null,
"parent_question_key":"instalment_frequency",
"answers":[
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"instalment_frequency",
"expression":"(String('instalment_frequency') == String('2'))",
"value_keys":[
"instalment_frequency"
],
"questions":[
{
"question":"Annual Instalment Amount",
"question_key":"Annual_Instalment_Amount",
"type":"1",
"field_width":"45",
"field_type": "numtoword",
"api_properties":null,
"parent_question_key":"instalment_frequency",
"answers":[
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}]
}]
}],
"is_repeatable": null,
"validations": [
]
},
{
"question": "Original tenure in months",
"question_key": "original_tenure_months",
"type": "1",
"field_width": "65",
"field_type": "num",
"api_properties": null,
"answers": null,
"onchange_properties": [
{
"purpose":"answer_value",
"expression":"(Number(original_tenure_months)-Number(current_tenure_months))",
"value_keys":[
"original_tenure_months", "current_tenure_months"
],
"insert_control":"elapsed_tenure_months"
}
],
"is_repeatable": null,
"validations": [
]
},
{
"question": "Current balance tenure in months",
"question_key": "current_tenure_months",
"type": "1",
"field_type": "num",
"field_width": "65",
"api_properties": null,
"answers": null,
"onchange_properties": [
{
"purpose":"answer_value",
"expression":"(Number(original_tenure_months)-Number(current_tenure_months))",
"value_keys":[
"original_tenure_months", "current_tenure_months"
],
"insert_control":"elapsed_tenure_months"
}
],
"is_repeatable": null,
"validations": [
]
},
{
"question": "Elapsed tenure in mths",
"question_key": "elapsed_tenure_months",
"type": "1",
"field_width": "65",
"field_type": "num",
"api_properties": null,
"answers": null,
"onchange_properties": [
{
"purpose":"answer_value",
"expression":"(Number(original_tenure_months)-Number(elapsed_tenure_months))",
"value_keys":[
"original_tenure_months", "elapsed_tenure_months"
],
"insert_control":"current_tenure_months"
}
],
"is_repeatable": null,
"validations": [
]
}
],
"is_repeatable": "1",
"group_title": "Loan Details",
"group_key": "Loan_Details"
} ]
}]
}],
"is_repeatable":null,
"validations":[
]
}, {
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}, {
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,643 @@
{
"section_id": "8",
"section_name": "Family Details",
"onsubmit": [],
"questions": [{
"question":"Select a person*",
"question_key":"Select_a_person",
"type":"3",
"field_width":"65",
"answers":null,
"api_properties":
{
"purpose":"answer_options_local",
"master_name":"pd_applicants",
"fields":["pd_co_applicant_id","applicant_name"]
},
"onchange_properties":null,
"is_repeatable":null,
"validations":[
]
}, {
"question": "Residence Details of",
"question_key": "Residence_Details_of",
"field_type":"null",
"sub_title":"Residence Details of",
"disable":false,
"field_width": "100",
"answers": null,
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": []
},
{
"question": "State",
"question_key": "state",
"type": "3",
"answers": null,
"field_width":"45",
"api_properties": {
"api": "getListOfMaster",
"api_method": "POST",
"params": {
"master_name": "STATE"
},
"fields": [
"state_id",
"name"
]
},
"onchange_properties": [
{
"purpose": "api",
"api": "getListOfStatesAndCities",
"api_method": "POST",
"params": "{records:{state_id:'value_of_answer'}}",
"fields": [
"state_id",
"name"
],
"local_variable": "local_city"
}
],
"is_repeatable": null,
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "Validators.required",
"message": "State Required",
"value": null
}
]
},
{
"question": "City",
"question_key": "city",
"type": "3",
"answers": null,
"field_width":"45",
"api_properties": "local_city",
"onchange_properties": null,
"is_repeatable": null,
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "Validators.required",
"message": "CIty Required",
"value": null
}
]
},
{
"question":"Place*",
"question_key":"Place_list",
"type":"1",
"disable":false,
"field_width":"45",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question": "Pincode",
"question_key": "pincode",
"type": "3",
"answers": null,
"field_width":"45",
"api_properties": "local_pincode",
"onchange_properties": [
{
"purpose": "FORM_CTRL",
"form_controls": [
{
"insert_index": "pincode",
"expression": "(pincode == 1)",
"value_keys": [
"pincode"
],
"questions": [
{
"question_key": "pincode_others",
"question": "Specify the Pincode",
"place_holder": "Enter the Pincode",
"type": "1",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "num",
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "Validators.required",
"message": "Pincode is Required",
"value": null
},
{
"name": "pattern",
"isactive": "1",
"validator": "[0-9]{6}",
"message": "Pincode should be 6 digit",
"value": null
}
]
}
]
}
]
}
],
"is_repeatable": null,
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "Validators.required",
"message": "Pincode Required",
"value": null
}
]
},{
"question":"Year*",
"question_key":"Year",
"type":"1",
"disable":false,
"field_width":"25",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
}, {
"question":"Month*",
"question_key":"Month",
"type":"1",
"disable":false,
"field_width":"25",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
}, {
"question":"Ownership*",
"question_key":"Ownership",
"type":"3",
"disable":false,
"field_width":"25",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"RESIDENCEOWNERSHIP"
},
"fields":[
"id",
"name"
]
},
"answers": null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Ownership",
"expression":"(String('Ownership') == String('3'))",
"value_keys":[
"Ownership"
],
"questions":[
{
"question":"Monthly Rent Amount",
"question_key":"Monthly_Rent_Amount",
"place_holder":"",
"type":"1",
"field_width":"45",
"field_type": "numtoword",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"answers":null,
"validations":[
]
}]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Ownership",
"expression":"(String('Ownership') == String('1'))",
"value_keys":[
"Ownership"
],
"questions":[
{
"question":"Specify Ownership",
"question_key":"Specify_Ownership",
"place_holder":"",
"type":"1",
"field_width":"45",
"field_type": "text",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"answers":null,
"validations":[
]
}]
}]
}],
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question": [
{
"question": "Title",
"question_key": "Title",
"type": "3",
"field_width": "20",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"TITLES"
},
"fields":[
"title_id",
"name"
]
},
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "string",
"validations": [
]
},
{
"question": "Name*",
"question_key": "name",
"type": "1",
"field_width": "20",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
},{
"question": "Relationship*",
"question_key": "Relationship",
"type": "3",
"field_width": "20",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"RELATIONSHIPS"
},
"fields":[
"relationship_id",
"name"
]
},
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
},{
"question": "Age*",
"question_key": "Age",
"type": "1",
"field_width": "20",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
},{
"question": "Earning Status*",
"question_key": "Earning_Status",
"type": "3",
"field_width": "25",
"api_properties": null,
"answers":[
{
"answer_id":"Earning",
"answer":"Earning"
},
{
"answer_id":"Non_Earning",
"answer":"Non Earning"
}
],
"onchange_properties": [
{
"purpose": "FORM_CTRL",
"form_controls": [
{
"insert_index": "Earning_Status",
"expression":"(String('Earning_Status') == String('Earning'))",
"value_keys": [
"Earning_Status"
],
"questions": [
{
"question": "Segment*",
"question_key": "Segment",
"type": "3",
"field_width": "45",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"EARNINGMEMBERSSTATUS"
},
"fields":[
"earning_member_status_id",
"earning_member_status"
]
},
"answers": null,
"onchange_properties": [
{
"purpose": "FORM_CTRL",
"form_controls": [
{
"insert_index": "Segment",
"expression":"(String('Segment') == String('1'))",
"value_keys": [
"Segment"
],
"questions": [
{
"question": "Specify Others",
"question_key": "SpecifyOthers",
"type": "1",
"field_width": "45",
"api_properties": null,
"answers": null,
"parent_question_key":"Segment",
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
}
]
}
]
}
],
"is_repeatable": null,
"validations": [
]
}, {
"question": "Income Per Month",
"question_key": "Income_Per_Month",
"type": "1",
"field_width": "45",
"field_type": "numtoword",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
}, {
"question": "Name of the Employer/Business",
"question_key": "Name_of_the_Employer/Business",
"type": "1",
"field_width": "45",
"field_type": "text",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
}, {
"question": "No of Years in Employment/Business",
"question_key": "No_of_Years_in_Employment/Business",
"type": "1",
"field_width": "45",
"field_type": "text",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
}
]
}
],
"is_repeatable": null,
"validations": [
]
}, {
"purpose": "FORM_CTRL",
"form_controls": [
{
"insert_index": "Earning_Status",
"expression":"(String('Earning_Status') == String('Non_Earning'))",
"value_keys": [
"Earning_Status"
],
"questions": [
{
"question": "Occupation*",
"question_key": "Occupation",
"type": "3",
"field_width": "45",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"OCCUPATIONMEMBERS"
},
"fields":[
"occupation_non_earning_member_id",
"name"
]
},
"answers": null,
"onchange_properties": [
{
"purpose": "FORM_CTRL",
"form_controls": [
{
"insert_index": "Occupation",
"expression":"(String('Occupation') == String('1'))",
"value_keys": [
"Occupation"
],
"questions": [
{
"question": "Specify Others",
"question_key": "SpecifyOthers",
"type": "1",
"field_width": "45",
"api_properties": null,
"answers": null,
"parent_question_key":"Occupation",
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
}
]
}
]
},{
"purpose": "FORM_CTRL",
"form_controls": [
{
"insert_index": "Occupation",
"expression":"(String('Occupation') == String('3'))",
"value_keys": [
"Occupation"
],
"questions": [
{
"question": "Retired Form",
"question_key": "Retired_Form",
"type": "1",
"field_width": "45",
"api_properties": null,
"answers": null,
"parent_question_key":"Occupation",
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
}
]
}
]
},{
"purpose": "FORM_CTRL",
"form_controls": [
{
"insert_index": "Occupation",
"expression":"(String('Occupation') == String('2'))",
"value_keys": [
"Occupation"
],
"questions": [
{
"question": "Specify School/College Name",
"question_key": "Specify_School/College_Name",
"type": "1",
"field_width": "45",
"api_properties": null,
"answers": null,
"parent_question_key":"Occupation",
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
}
]
}
]
}
],
"is_repeatable": null,
"validations": [
]
} ]
}
],
"is_repeatable": null,
"validations": [
]
}
],
"is_repeatable": null,
"validations": [
]
}
],
"is_repeatable": "1",
"group_title": "Family Details",
"group_key": "Family_Details"
}, {
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,335 @@
{
"section_id": "9",
"section_name": "Other Income Details",
"onsubmit": [],
"questions": [
{
"question":"Other Income of Loan Application",
"question_key":"Other_Income_of_Loan_Application",
"type":"3",
"field_width":"45",
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}],
"api_properties":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Other_Income_of_Loan_Application",
"expression":"(String('Other_Income_of_Loan_Application') == String('yes'))",
"value_keys":[
"Other_Income_of_Loan_Application"
],
"questions":[
{
"question": [
{
"question": "Source",
"question_key": "Source",
"type": "3",
"field_width": "45",
"api_properties": null,
"answers":[{
"answer":"Agricultural Income",
"answer_id":"Agricultural_Income"
},
{
"answer":"Dividend Income",
"answer_id":"Dividend_Income"
}, {
"answer":"Interest Income",
"answer_id":"Interest_Income"
}, {
"answer":"Rental Income",
"answer_id":"Rental_Income"
},
{
"answer":"Others(Please Specify)",
"answer_id":"Others(Please_Specify)"
}
],
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Source",
"expression":"(String('Source') == String('Rental_Income'))",
"value_keys":[
"Source"
],
"questions":[
{
"question":"Address",
"question_key":"Address",
"place_holder":"",
"field_type":"num",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"Source",
"answers":null,
"validations":[
]
}]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Source",
"expression":"(String('Source') == String('Others(Please_Specify)'))",
"value_keys":[
"Source"
],
"questions":[
{
"question":"Specify Source",
"question_key":"Specify_Source",
"place_holder":"",
"field_type":"num",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"Source",
"answers":null,
"validations":[
]
}]
}]
}],
"is_repeatable": null,
"field_type": "string",
"validations": [
]
},
{
"question": "Income earned by",
"question_key": "Income_earned_by",
"type": "3",
"field_width": "45",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
},
{
"question": "Amount",
"question_key": "amount",
"type": "1",
"field_width": "45",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
},
{
"question": "Frequency",
"question_key": "account_type",
"type": "3",
"field_width": "45",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"FREQUENCY"
},
"fields":[
"frequency_id",
"name"
]
},
"answers":null,
"onchange_properties": [
],
"is_repeatable": null,
"validations": [
]
}
],
"is_repeatable": "1",
"group_title": "Income Details",
"group_key": "Income_Details"
}]
}]
}],
"is_repeatable":null,
"validations":[
]
},
{
"question": [
{
"question": "Source",
"question_key": "Source",
"type": "3",
"field_width": "45",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"SOURCEOFOTHERINCOME"
},
"fields":[
"id",
"name"
]
},
"answers": null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Source",
"expression":"(String('Source') == String('5'))",
"value_keys":[
"Source"
],
"questions":[
{
"question":"Address",
"question_key":"Address",
"place_holder":"",
"field_type":"text",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"Source",
"answers":null,
"validations":[
]
}]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Source",
"expression":"(String('Source') == String('1'))",
"value_keys":[
"Source"
],
"questions":[
{
"question":"Specify Source",
"question_key":"Specify_Source",
"place_holder":"",
"field_type":"text",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"Source",
"answers":null,
"validations":[
]
}]
}]
}],
"is_repeatable": null,
"field_type": "string",
"validations": [
]
},
{
"question": "Income earned by",
"question_key": "Income_earned_by",
"type": "3",
"field_width": "45",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
},
{
"question": "Amount",
"question_key": "amount",
"type": "1",
"field_width": "45",
"field_type":"numtoword",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
},
{
"question": "Frequency",
"question_key": "account_type",
"type": "3",
"field_width": "45",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"FREQUENCY"
},
"fields":[
"frequency_id",
"name"
]
},
"answers": null,
"onchange_properties": [
],
"is_repeatable": null,
"validations": [
]
}
],
"is_repeatable": "1",
"group_title": "Income Details",
"group_key": "Income_Details"
}, {
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,732 @@
{
"section_id":"13",
"section_name":"About Business",
"onsubmit":null,
"questions":[
{
"question": [
{
"question":"Name",
"question_key":"name",
"type":"4",
"field_width":"45",
"api_properties":
{
"purpose":"answer_options_local",
"master_name":"pd_applicants",
"fields":["pd_co_applicant_id","applicant_name"]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
]
},
{
"question":"Share of Profit / Shareholding (%)",
"question_key":"share_of_profit_shareholding",
"type":"1",
"field_width":"45",
"answers":null,
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
}, {
"question":"Started Business",
"question_key":"started_business",
"type":"3",
"field_width":"45",
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}],
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
}, {
"question_key":"no_of_years_in_current_business",
"question":"No of Years in Current Business",
"place_holder":"Enter the text",
"type":null,
"sub_title":"No of Years in Current Business",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"100",
"validations":[
]
}, {
"question_key":"year",
"question":"Year",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"30",
"validations":[
]
},{
"question_key":"month",
"question":"Month",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"30",
"validations":[
]
},{
"question_key":"total_work_experience",
"question":"Total Work Experience (in years)",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"30",
"validations":[
]
}
],
"is_repeatable": "1",
"group_title": "Director Details",
"group_key": "director_details"
},
{
"question": [
{
"question":"Title",
"question_key":"title",
"type":"3",
"field_width":"25",
"answers":null,
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"TITLES"
},
"fields":[
"title_id",
"name"
]
},
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
}, {
"question":"Name",
"question_key":"name",
"type":"1",
"field_width":"25",
"answers":null,
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
}, {
"question":"Relation",
"question_key":"relation",
"type":"3",
"field_width":"25",
"answers":null,
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"RELATIONSHIPS"
},
"fields":[
"relationship_id",
"name"
]
},
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
}, {
"question":"Relationship To",
"question_key":"relationship_to",
"type":"4",
"field_width":"25",
"answers":null,
"api_properties":
{
"purpose":"answer_options_local",
"master_name":"pd_applicants",
"fields":["pd_co_applicant_id","applicant_name"]
},
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
}, {
"question":"Relationship with Company",
"question_key":"relationship_with_company",
"type":"3",
"field_width":"25",
"answers":null,
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"COMPANYRELATIONSHIPS"
},
"fields":[
"company_relationship_id",
"name"
]
},
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
} , {
"question":"Started Busniess",
"question_key":"started_busniess",
"type":"3",
"field_width":"25",
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}],
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
}
],
"is_repeatable": "1",
"group_title": "Add Other Family Members Involved In Business",
"group_key": "add_other_family_members_involved_in_business"
},
{
"question_key":"type_of_business_activity",
"question":"Type of Business Activity",
"place_holder":"Enter the text",
"type":"4",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"TYPEOFACTIVITY"
},
"fields":[
"type_of_activity_id",
"name"
]
},
"answers": null,
"onchange_properties":[{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"type_of_business_activity",
"expression":"(String('type_of_business_activity').includes('2'))",
"value_keys":[
"type_of_business_activity"
],
"questions":[
{
"question":[
{
"questions_level_two":[
{
"question":"Mobile Number",
"question_key":"mobile_no",
"type":"1",
"field_type":"num",
"field_width":"100",
"onchange_properties":null,
"api_properties":null,
"answers":null,
"is_repeatable":null,
"validations":[
{
"name":"pattern",
"isactive":"1",
"validator":"[0-9]{10}",
"message":"Mobile number should be 10 digit",
"value":null
}
]
}
],
"is_repeatable":"2",
"group_key":"mobile_numbers",
"group_title":"Mobile Number"
},
{
"question":"Relationship",
"question_key":"relationship",
"type":"1",
"field_width":"100",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[]
}
],
"is_repeatable":"1",
"group_key":"borrower_details",
"group_title":"Borrower Details"
}
]
}
]
}],
"is_repeatable":null,
"field_type":"string",
"field_width":"100",
"validations":[
]
}, {
"question_key":"does_the_applicant_use_mobile_wallets_upi_apps",
"question":"Does the Applicant Use Mobile Wallets / UPI Apps",
"place_holder":"Enter the text",
"type":"3",
"sub_title":"Digital Payments",
"api_properties":null,
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}],
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"65",
"validations":[
]
}, {
"question_key":"does_the_applicant_use_pos_machines_in_his_business_profession",
"question":"Does the Applicant Use POS Machines in His Business / Profession",
"place_holder":"Enter the text",
"type":"3",
"api_properties":null,
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}],
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"65",
"validations":[
]
},{
"question_key":"is_the_business_seasonal",
"question":"Is The Business Seasonal",
"place_holder":"Enter the text",
"type":"3",
"sub_title":"Digital Payments",
"api_properties":null,
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No Major Changes In Sales",
"answer_id":"No Major Changes In Sales"
}],
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"65",
"validations":[
]
},
{
"question":"Employees As Per Applicant",
"question_key":"employees_as_per_applicant",
"place_holder":"",
"type":null,
"sub_title":"Employees As Per Applicant",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"answers": null,
"validations":[
]
}, {
"question":"Permanent",
"question_key":"permanent",
"place_holder":"",
"type":"1",
"field_width":"30",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"answers": null,
"validations":[
]
}, {
"question":"Temporary",
"question_key":"temporary",
"place_holder":"",
"type":"1",
"field_width":"30",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"answers": null,
"validations":[
]
}, {
"question":"Total",
"question_key":"total",
"place_holder":"",
"type":"1",
"field_width":"30",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"answers": null,
"validations":[
]
}, {
"question":"Approximate total monthly salary paid to employees",
"question_key":"approximate_total_monthly_salary_paid_to_employees",
"place_holder":"",
"type":"1",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"answers": null,
"validations":[
]
},
{
"question":"No of Employees Sighted By PD Officer During His Visit",
"question_key":"no_of_employees_sighted_by_pd_officer_during_his_visit",
"place_holder":"",
"type":null,
"sub_title":"No of Employees Sighted By PD Officer During His Visit",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"answers": null,
"validations":[
]
}, {
"question":"Total",
"question_key":"total",
"place_holder":"",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"answers": null,
"validations":[
]
}, {
"question":"Was the Company name board sighted ?",
"question_key":"was_the_company_name_board_sighted",
"place_holder":"",
"type":"3",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}],
"validations":[
]
} ,
{
"question":"Documents Sighted",
"question_key":"documents_sighted",
"place_holder":"",
"type":null,
"sub_title":"Documents Sighted",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"answers": null,
"validations":[
]
}, {
"question":"Shop and Est Act Cert",
"question_key":"shop_and_est_act_cert",
"place_holder":"",
"type":"3",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}, {
"answer":"Not Applicable",
"answer_id":"Not Applicable"
}],
"validations":[
]
} , {
"question":"GST Regn Cert",
"question_key":"gst_regn_cert",
"place_holder":"",
"type":"3",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}, {
"answer":"Not Applicable",
"answer_id":"Not Applicable"
}],
"validations":[
]
} , {
"question":"Cert of Practice",
"question_key":"cert_of_practice",
"place_holder":"",
"type":"3",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}, {
"answer":"Not Applicable",
"answer_id":"Not Applicable"
}],
"validations":[
]
} , {
"question":"PF Regn",
"question_key":"pf_regn",
"place_holder":"",
"type":"3",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}, {
"answer":"Not Applicable",
"answer_id":"Not Applicable"
}],
"validations":[
]
} , {
"question":"ESIC Regn",
"question_key":"esic_regn",
"place_holder":"",
"type":"3",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}, {
"answer":"Not Applicable",
"answer_id":"Not Applicable"
}],
"validations":[
]
} , {
"question":"Do You Want to Add Other Documents?",
"question_key":"do_you_want_to_add_other_documents",
"place_holder":"",
"type":"3",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
} ],
"validations":[
]
}, {
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,205 @@
{
"section_id": "10",
"section_name": "Neighbourhood / Reference Check",
"onsubmit": [
],
"questions": [
{
"question":[
{
"question_key": "Neighbour_Name",
"question": "Neighbour Name",
"place_holder": "Enter the text",
"type": "1",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "string",
"field_width": "45",
"validations": []
}, {
"question_key": "Do_you_known_about_the_applicants_or_their_business",
"question": "Do you known about the applicants or their business?",
"place_holder": "Enter the text",
"type": "3",
"api_properties": null,
"answers":[
{
"answer_id":"Yes",
"answer":"Yes"
},
{
"answer_id":"No",
"answer":"No"
}
],
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Do_you_known_about_the_applicants_or_their_business",
"expression":"(String('Do_you_known_about_the_applicants_or_their_business') == String('Yes'))",
"value_keys":[
"Do_you_known_about_the_applicants_or_their_business"
],
"questions":[
{
"question_key": "As_per_you_how_long_has_this_business_been_in_operation",
"question": "As per you how long has this business been in operation?",
"place_holder": "Enter the text",
"type": "5",
"api_properties": null,
"answers":[
{
"answer_id":"Do_not_know",
"answer":"Do not know"
}
],
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"As_per_you_how_long_has_this_business_been_in_operation",
"expression":"(String('As_per_you_how_long_has_this_business_been_in_operation') != String('Do_not_know'))",
"value_keys":[
"As_per_you_how_long_has_this_business_been_in_operation"
],
"questions":[
{ "question":"Year",
"question_key":"Year",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"As_per_you_how_long_has_this_business_been_in_operation",
"answers":null,
"validations":[
]
},
{ "question":"Month",
"question_key":"YeMonthar",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"As_per_you_how_long_has_this_business_been_in_operation",
"answers":null,
"validations":[
]
} ] } ] }],
"is_repeatable": null,
"field_type": "string",
"field_width": "100",
"validations": []
},
{
"question_key": "Who_is_the_owner_of_the_organisation",
"question": "Who is the owner of the organisation?",
"place_holder": "Enter the text",
"type": "5",
"api_properties": null,
"answers":[
{
"answer_id":"Do_not_know",
"answer":"Do not know"
}
],
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Who_is_the_owner_of_the_organisation",
"expression":"(String('Who_is_the_owner_of_the_organisation') != String('Do_not_know'))",
"value_keys":[
"Who_is_the_owner_of_the_organisation"
],
"questions":[
{ "question_key": "Who_is_the_owner_of_the_organisations",
"question": "Who is the owner of the organisation?",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"Who_is_the_owner_of_the_organisation",
"answers":null,
"validations":[
]
}
] } ] }],
"is_repeatable": null,
"field_type": "string",
"field_width": "100",
"validations": []
}
]
} ] }],
"is_repeatable": null,
"field_type": "string",
"field_width": "45",
"validations": []
}
],
"is_repeatable":"1",
"hidden_button":true,
"group_title":"Neighbourhood",
"group_key":"Neighbourhood"
},
{
"question_key": "Status of the check as per PD officer?",
"question": "Status of the check as per PD officer?",
"place_holder": "Enter the text",
"type": "3",
"api_properties": null,
"answers":[
{
"answer_id":"Positive",
"answer":"Positive"
},
{
"answer_id":"Negative",
"answer":"Negative"
}, {
"answer_id":"Could_not_verify",
"answer":"Could not verify"
}
],
"onchange_properties": null,
"is_repeatable": null,
"field_type": "string",
"field_width": "45",
"validations": []
}, {
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,280 @@
{
"section_id":"11",
"section_name":"Credit Manager Queries",
"onsubmit":null,
"questions":[
{
"question":"Is your business adversely impacted by coronavirus outbreak ?",
"question_key":"Is_your_business_adversely_impacted_by_coronavirus_outbreak",
"type":"2",
"sub_title":"Covid 19 Questions",
"field_width":"100",
"api_properties":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Is_your_business_adversely_impacted_by_coronavirus_outbreak",
"expression":"(String('Is_your_business_adversely_impacted_by_coronavirus_outbreak') == String('No'))",
"value_keys":[
"Is_your_business_adversely_impacted_by_coronavirus_outbreak"
],
"questions":[
{ "question":"Enter Your Remarks",
"question_key":"Enter_Your_Remarks",
"type":"1",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"Is_your_business_adversely_impacted_by_coronavirus_outbreak",
"answers":null,
"validations":[
]
} ] } ] },
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Is_your_business_adversely_impacted_by_coronavirus_outbreak",
"expression":"(String('Is_your_business_adversely_impacted_by_coronavirus_outbreak') == String('Yes'))",
"value_keys":[
"Is_your_business_adversely_impacted_by_coronavirus_outbreak"
],
"questions":[
{ "question":"Enter Your Remarks",
"question_key":"enter_Your_Remarks",
"type":"1",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"Is_your_business_adversely_impacted_by_coronavirus_outbreak",
"answers":null,
"validations":[
]
}
]
}
]
}],
"is_repeatable":null,
"answers":[{
"answer":"Yes",
"answer_id":"Yes"
},
{
"answer":"No",
"answer_id":"No"
}],
"validations":[
]
},{
"question":"Did you avail the loan moratorium facility on your existing loans which is extended by your bank or financial institution?",
"question_key":"your_bank_or_financial_institution",
"type":"2",
"field_width":"100",
"api_properties":null,
"onchange_properties":[
],
"is_repeatable":null,
"answers":[{
"answer":"Yes",
"answer_id":"Yes"
},
{
"answer":"No",
"answer_id":"No"
}],
"validations":[
]
},{
"question":"Are you planning to avail/ or already availed any loan or any other term facility for your business or personal use?",
"question_key":"your_business_or_personal_use",
"type":"2",
"field_width":"100",
"api_properties":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"your_business_or_personal_use",
"expression":"(String('your_business_or_personal_use') == String('Yes'))",
"value_keys":[
"your_business_or_personal_use"
],
"questions":[
{ "question":"How much is your sales/revenue from April till date?",
"question_key":"sales/revenue_April_till_date",
"type":"1",
"field_width":"100",
"field_type":"numtoword",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"your_business_or_personal_use",
"answers":null,
"validations":[
]
}, {
"question":"Please specify amount,lender etc",
"question_key":"Please_specify_amount_lender_etc",
"type":"7",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"your_business_or_personal_use",
"answers":null,
"validations":[
]
}
]
}
]
}, {
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"your_business_or_personal_use",
"expression":"(String('your_business_or_personal_use') == String('No'))",
"value_keys":[
"your_business_or_personal_use"
],
"questions":[
{ "question":"How much is your sales/revenue from April till date?",
"question_key":"How_much_is_your_sales/revenue_from_April_till_date",
"type":"1",
"field_width":"100",
"field_type":"numtoword",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"your_business_or_personal_use",
"answers":null,
"validations":[
]
}
]
}
]
}],
"is_repeatable":null,
"answers":[{
"answer":"Yes",
"answer_id":"Yes"
},
{
"answer":"No",
"answer_id":"No"
}],
"validations":[
]
},{
"question":"Is turnover mentioned above (sales/revenue from April till date) validated?",
"question_key":"sales/revenue_from_April_till_date_validated",
"type":"2",
"field_width":"100",
"api_properties":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"sales/revenue_from_April_till_date_validated",
"expression":"(String('sales/revenue_from_April_till_date_validated') == String('Yes'))",
"value_keys":[
"sales/revenue_from_April_till_date_validated"
],
"questions":[
{ "question":"Choose any ",
"question_key":"Choose any",
"type":"3",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"your_business_or_personal_use",
"answers":[
{
"answer_id":"Bills",
"answer":"Bills"
},
{
"answer_id":"Gst_returns",
"answer":"Gst returns"
},
{
"answer_id":"records_shown",
"answer":"records shown"
}
],
"validations":[
]
}
]
}
]
} ],
"is_repeatable":null,
"answers":[{
"answer":"Yes",
"answer_id":"Yes"
},
{
"answer":"No",
"answer_id":"No"
}],
"validations":[
]
}, {
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,310 @@
{
"section_id":"12",
"section_name":"Final Remarks Details",
"onsubmit":null,
"questions":[
{
"question":"Customer Behaviour",
"question_key":"Customer_Behaviour",
"place_holder":"Enter the text",
"type":"3",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"CUSTOMERBEHAVIOUR"
},
"fields":[
"customer_behaviour_id",
"description"
]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
},
{
"question":"Is the location of the business / profession suited to the nature of business / service provided?",
"question_key":"location_of_the_business",
"place_holder":"Enter the text",
"type":"3",
"api_properties":null,
"answers":[{
"answer":"Well Suited",
"answer_id":"Well Suited"
},
{
"answer":"Fairly Suited",
"answer_id":"Fairly Suited"
},{
"answer":"Not Suited",
"answer_id":"Not Suited"
}],
"onchange_properties":null,
"is_repeatable":null,
"sub_title":"Location",
"field_type":"string",
"field_width":"100",
"validations":[
]
},
{
"question":"Personal feedback or market intelligence on the case (if any)",
"question_key":"Personal_feedback_or_market_intelligence_on_the_case",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"100",
"validations":[
]
},
{
"question_key":"PD_Officers_Recommendation",
"question":"PD Officers Recommendation",
"place_holder":"Enter the text",
"type":"3",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"PDOFFICERRECOMMENDATIONS"
},
"fields":[
"pdofficer_recommendation_id",
"pdofficer_recommendation"
]
},
"answers":null,
"onchange_properties":[{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"PD_Officers_Recommendation",
"expression":"(String('PD_Officers_Recommendation') == String('2'))",
"value_keys":[
"PD_Officers_Recommendation"
],
"questions":[
{
"question":[
{
"question":"Reasons for marking PD status as Positive",
"question_key":"Reasons_for_marking_PD_status_as_Positive",
"type":"1",
"field_width":"100",
"onchange_properties":null,
"api_properties":null,
"answers":null,
"is_repeatable":null,
"validations":[
]
}
],
"is_repeatable":"1",
"group_key":"Reasons_for_marking_PD_status_as_Positive",
"group_title":"Reasons for marking PD status as Positive"
}]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"PD_Officers_Recommendation",
"expression":"(String('PD_Officers_Recommendation') == String('3'))",
"value_keys":[
"PD_Officers_Recommendation"
],
"questions":[
{
"question":[
{
"question":"Reasons for marking PD status as Negative",
"question_key":"Reasons_for_marking_PD_status_as_Negative",
"type":"1",
"field_width":"100",
"onchange_properties":null,
"api_properties":null,
"answers":null,
"is_repeatable":null,
"validations":[
]
}
],
"is_repeatable":"1",
"group_key":"Reasons_for_marking_PD_status_as_Negative",
"group_title":"Reasons for marking PD status as Negative"
}]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"PD_Officers_Recommendation",
"expression":"(String('PD_Officers_Recommendation') == String('1'))",
"value_keys":[
"PD_Officers_Recommendation"
],
"questions":[
{
"question":"Specify PD Officers Recommendation",
"question_key":"Specify_PD_Officers_Recommendation",
"type":"1",
"field_width":"45",
"onchange_properties":null,
"api_properties":null,
"answers":null,
"is_repeatable":null,
"validations":[
]
}
]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"PD_Officers_Recommendation",
"expression":"(String('PD_Officers_Recommendation') == String('4'))",
"value_keys":[
"PD_Officers_Recommendation"
],
"questions":[
{
"question":[
{
"question":"Reasons for marking PD status as Refer to Credit",
"question_key":"Reasons_for_marking_PD_status_as_Refer_to_Credit",
"type":"1",
"field_width":"100",
"onchange_properties":null,
"api_properties":null,
"answers":null,
"is_repeatable":null,
"validations":[
]
}
],
"is_repeatable":"1",
"group_key":"Reasons_for_marking_PD_status_as_Refer_to_Credit",
"group_title":"Reasons for marking PD status as Refer to Credit"
}]
}]
}],
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}, {
"question_key":"Any_additional_visit_(Godown/multiple_rental_properties)",
"question":"Any additional visit (Godown /multiple rental properties)",
"place_holder":"Enter the text",
"type":"12",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"100",
"validations":[
]
}, {
"question":"Mode of Transport Used to Visit the PD address",
"question_key":"Mode_of_Transport_Used_to_Visit_the_PD_address",
"type":"3",
"field_width":"45",
"api_properties":null,
"answers":[
{
"answer_id":"Two_Wheeler",
"answer":"Two Wheeler"
},{
"answer_id":"Four_Wheeler",
"answer":" Four Wheeler"
},{
"answer_id":"Public_Transport",
"answer":"Public Transport"
},
{
"answer_id":"Others",
"answer":"Others"
}
],
"onchange_properties": [{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Mode_of_Transport_Used_to_Visit_the_PD_address",
"expression":"(String('Mode_of_Transport_Used_to_Visit_the_PD_address') == String('Others'))",
"value_keys":[
"Mode_of_Transport_Used_to_Visit_the_PD_address"
],
"questions":[
{
"question":"Specify the Mode of Transport Used to Visit the PD address",
"question_key":"Specify_the_Mode_of_Transport_Used_to_Visit_the_PD_address",
"type":"1",
"field_width":"45",
"onchange_properties":null,
"api_properties":null,
"answers":null,
"is_repeatable":null,
"validations":[
]
}
]
}]
}],
"is_repeatable":null,
"validations":[
]
}, {
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,330 @@
{
"section_id": "13",
"section_name": "Stock details",
"onsubmit": [],
"questions": [
{
"question": "Is stock applicable to the business (Yes / No)",
"question_key": "stock_info_available",
"type": "2",
"field_width": "45",
"api_properties": null,
"onchange_properties": [
{
"purpose": "FORM_CTRL",
"form_controls": [
{
"insert_index": "stock_info_available",
"expression": "(String('stock_info_available') == String('No'))",
"value_keys": [
"stock_info_available"
],
"questions": [
{
"question": "Reason",
"question_key": "stock_not_available_reason",
"type": "7",
"field_width": "100",
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"is_subfield": "1",
"parent_question_key": "stock_info_available",
"answers": null,
"validations": [
]
}
]
}
]
},
{
"purpose": "FORM_CTRL",
"form_controls": [
{
"insert_index": "stock_info_available",
"expression": "(String('stock_info_available') == String('Yes'))",
"value_keys": [
"stock_info_available"
],
"questions":[
{
"question": "Is the stock of finished goods observed, sufficient considering the size of operations",
"question_key": "estimated_uom",
"type": "3",
"field_width": "100",
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"is_subfield": "1",
"parent_question_key": "stock_info_available",
"answers": [
{
"answer": "Yes",
"answer_id": "yes"
},
{
"answer": "No",
"answer_id": "no"
},
{
"answer": "Stock not required to be maintained",
"answer_id": "not applicable"
}
],
"validations": [
]
}
]
},
{
"insert_index": "stock_info_available",
"expression": "(String('stock_info_available') == String('Yes'))",
"value_keys": [
"stock_info_available"
],
"questions": [
{
"question": [
{
"question": "Type of Stock",
"question_key": "stock_type",
"type": "3",
"field_width": "100",
"api_properties": null,
"onchange_properties": null,
"is_repeatable": null,
"is_subfield": "1",
"parent_question_key": "stock_info_available",
"answers": [
{
"answer": "RM",
"answer_id": "RM"
},
{
"answer": "FG",
"answer_id": "FG"
},
{
"answer": "SFG",
"answer_id": "SFG"
}
],
"validations": [
]
},
{
"question": "Name of trading goods/manufacturing goods (raw material/finished goods)/ Service Provided",
"question_key": "provider_name",
"place_holder": "Enter text",
"type": "1",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "string",
"validations": [
]
},
{
"question": "Stock",
"question_key": "provider_observed",
"type": "3",
"api_properties": null,
"answers": [
{
"answer": "Add Stock Details",
"answer_id": "yes"
},
{
"answer": "No Stock Observed",
"answer_id": "no"
}
],
"is_repeatable": null,
"validations": [
],
"onchange_properties": [
{
"purpose": "FORM_CTRL",
"form_controls": [
{
"insert_index": "provider_observed",
"expression": "(String('provider_observed') === String('yes'))",
"value_keys": [
"provider_observed"
],
"questions": [
{
"question": "Estimated Quantity",
"question_key": "estimated_quantity",
"type": "1",
"field_width": "100",
"field_type": "num",
"api_properties": null,
"onchange_properties": [
{
"purpose": "validations",
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "",
"message": "Either Estimated Stock value or Estimated Quantity is required",
"value": "(String('estimated_quantity') === String(''))",
"validation_to": "estimated_stock_value",
"value_keys": [
"estimated_quantity",
"estimated_stock_value"
]
}
]
}
],
"is_repeatable": null,
"is_subfield": "1",
"parent_question_key": "provider_observed",
"answers": null,
"validations": [
]
},
{
"question": "UOM",
"question_key": "estimated_uom",
"type": "3",
"field_width": "100",
"api_properties": {
"api": "getListOfMaster",
"api_method": "POST",
"params": {
"master_name": "UOM"
},
"fields": [
"uom_id",
"name"
]
},
"onchange_properties": null,
"is_repeatable": null,
"is_subfield": "1",
"parent_question_key": "provider_observed",
"answers": null,
"validations": [
]
},
{
"question": "Estimated value of stock observed",
"question_key": "estimated_stock_value",
"type": "1",
"field_type": "numtoword",
"field_width": "100",
"api_properties": null,
"onchange_properties": [
{
"purpose": "validations",
"validations": [
{
"name": "required",
"isactive": "1",
"validator": "",
"message": "Either Estimated Stock value or Estimated Quantity is required",
"value": "(String('estimated_stock_value') === String(''))",
"validation_to": "estimated_quantity",
"value_keys": [
"estimated_stock_value"
]
}
]
}
],
"is_repeatable": null,
"is_subfield": "1",
"parent_question_key": "provider_observed",
"answers": null,
"validations": []
}
]
}
]
}
]
},
{
"question":"Name of the Company",
"question_key":"company_name",
"place_holder":"Enter text",
"type":"3",
"api_properties":{
"api":"getCompanyListForSMCList",
"api_method":"POST",
"params":{"records":{
"pd_id":"VAR_PD_ID",
"random_string":"VAR_RANDOM_STRING"
}},
"fields":[
"company_id",
"borrower_name"
]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Company Name Required",
"value":null
}
]
}
],
"is_repeatable": "1",
"group_title": "Stock details",
"group_key": "stock_details"
}
]
}
]
}
],
"is_repeatable": null,
"answers": [
{
"answer": "Yes",
"answer_id": "Yes"
},
{
"answer": "No",
"answer_id": "No"
}
],
"validations": [
]
},
{
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,118 @@
{
"section_id":"14",
"section_name":"Future Plans & Business Environments",
"onsubmit":null,
"questions":[
{
"question":"USP of the business- How is applicant's business different from others in the same line of business",
"question_key":"usp_of_business",
"type":"1",
"field_width":"100",
"answers":null,
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Future plans for business expansion",
"question_key":"future_business_expansion",
"type":"1",
"field_type":"string",
"field_width":"100",
"onchange_properties":null,
"api_properties":null,
"answers":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Key competitors",
"question_key":"key_competitors",
"type":"1",
"field_width":"100",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Sucession plan- who will look after the business after applicant retire/are unable to run business due to any reason",
"question_key":"sucession_plan",
"type":"1",
"field_width":"100",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Brief of other group concerns/Business run by the applicants",
"question_key":"other_group_business_applicants",
"type":"1",
"field_width":"100",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,506 @@
{
"section_id": "15",
"section_name": "Existing Loan Obligations",
"onsubmit": null,
"questions": [
{
"question":"Do you have any exiting loan",
"question_key":"Do_you_have_any_exiting_loan",
"type":"3",
"field_width":"45",
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}],
"api_properties":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Do_you_have_any_exiting_loan",
"expression":"(String('Do_you_have_any_exiting_loan') == String('yes'))",
"value_keys":[
"Do_you_have_any_exiting_loan"
],
"questions":[
{
"question": [
{
"question": "Loan type",
"question_key": "loan_type",
"type": "3",
"field_width": "45",
"api_properties": null,
"answers":[
{
"answer":" Business Loan",
"answer_id":"Business_Loan"
},
{
"answer":"Consumer Loan",
"answer_id":"Consumer_Loan"
},
{
"answer":" Education Loan",
"answer_id":" Education_Loan"
}, {
"answer":"Gold Loan",
"answer_id":" Gold_Loan"
}, {
"answer":"Home Loan",
"answer_id":"Home_Loan"
}, {
"answer":"Loan Against Property",
"answer_id":"Loan_Against_Property"
}, {
"answer":"Loan Against Shares",
"answer_id":"Loan_Against_Shares"
}, {
"answer":" Personal Loan",
"answer_id":" Personal_Loan"
}, {
"answer":"Vehicle Loan",
"answer_id":"Vehicle_Loan"
}, {
"answer":" Others (Please Specify)",
"answer_id":"Others_(Please Specify)"
}
],
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"loan_type",
"expression":"(String('loan_type') == String('Others_(Please Specify)'))",
"value_keys":[
"loan_type"
],
"questions":[
{
"question":"Specify Loan Type",
"question_key":"Specify_Loan_Type",
"type":"1",
"field_width":"45",
"api_properties":null,
"parent_question_key":"loan_type",
"answers":[
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}]
}]
}],
"is_repeatable": null,
"validations": [
]
},
{
"question": "Loan amount",
"question_key": "loan_amount",
"type": "1",
"field_type": "numtoword",
"field_width": "65",
"onchange_properties": null,
"api_properties": null,
"answers": null,
"is_repeatable": null,
"validations": [
]
},
{
"question": "Lender name",
"question_key": "lender_name",
"type": "1",
"field_width": "45",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
},
{
"question": "Loan taken by",
"question_key": "loan_taken_by",
"type": "1",
"field_width": "45",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
},
{
"question": "Instalment frequency",
"question_key": "instalment_frequency",
"type": "3",
"field_width": "45",
"api_properties": null,
"answers": [
{
"answer_id": "Daily",
"answer": "Daily"
},
{
"answer_id": "Every_12_days",
"answer": "Every 12 days"
},
{
"answer_id": "Every_15_days",
"answer": "Every 15 days"
},
{
"answer_id": "Monthly",
"answer": "Monthly"
},
{
"answer_id": "Every_3_months",
"answer": "Every 3 months"
},
{
"answer_id": "Every_6_months",
"answer": "Every 6 months"
},
{
"answer_id": "Yearly",
"answer": "Yearly"
}
],
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"instalment_frequency",
"expression":"(String('instalment_frequency') == String('Daily'))",
"value_keys":[
"instalment_frequency"
],
"questions":[
{
"question":"Daily Instalment Amount",
"question_key":"Daily_Instalment_Amount",
"type":"1",
"field_width":"45",
"field_type": "numtoword",
"api_properties":null,
"parent_question_key":"instalment_frequency",
"answers":[
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"instalment_frequency",
"expression":"(String('instalment_frequency') == String('Every_12_days'))",
"value_keys":[
"instalment_frequency"
],
"questions":[
{
"question":"Instalment Amount",
"question_key":"Instalment_Amount",
"type":"1",
"field_width":"45",
"field_type": "numtoword",
"api_properties":null,
"parent_question_key":"instalment_frequency",
"answers":[
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"instalment_frequency",
"expression":"(String('instalment_frequency') == String('Every_15_days'))",
"value_keys":[
"instalment_frequency"
],
"questions":[
{
"question":"Fortnightly Instalment Amount",
"question_key":"Fortnightly_Instalment_Amount",
"type":"1",
"field_width":"45",
"field_type": "numtoword",
"api_properties":null,
"parent_question_key":"instalment_frequency",
"answers":[
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"instalment_frequency",
"expression":"(String('instalment_frequency') == String('Every_3_months'))",
"value_keys":[
"instalment_frequency"
],
"questions":[
{
"question":"Quartly Instalment Amount",
"question_key":"Quartly_Instalment_Amount",
"type":"1",
"field_width":"45",
"field_type": "numtoword",
"api_properties":null,
"parent_question_key":"instalment_frequency",
"answers":[
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"instalment_frequency",
"expression":"(String('instalment_frequency') == String('Every_6_months'))",
"value_keys":[
"instalment_frequency"
],
"questions":[
{
"question":"Halfyearly Instalment Amount",
"question_key":"Halfyearly_Instalment_Amount",
"type":"1",
"field_width":"45",
"field_type": "numtoword",
"api_properties":null,
"parent_question_key":"instalment_frequency",
"answers":[
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"instalment_frequency",
"expression":"(String('instalment_frequency') == String('Monthly'))",
"value_keys":[
"instalment_frequency"
],
"questions":[
{
"question":"Monthly Instalment Amount",
"question_key":"Monthly_Instalment_Amount",
"type":"1",
"field_width":"45",
"field_type": "numtoword",
"api_properties":null,
"parent_question_key":"instalment_frequency",
"answers":[
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"instalment_frequency",
"expression":"(String('instalment_frequency') == String('Yearly'))",
"value_keys":[
"instalment_frequency"
],
"questions":[
{
"question":"Annual Instalment Amount",
"question_key":"Annual_Instalment_Amount",
"type":"1",
"field_width":"45",
"field_type": "numtoword",
"api_properties":null,
"parent_question_key":"instalment_frequency",
"answers":[
],
"onchange_properties": [],
"is_repeatable":null,
"validations":[
]
}]
}]
}],
"is_repeatable": null,
"validations": [
]
},
{
"question": "Original tenure in months",
"question_key": "original_tenure_months",
"type": "1",
"field_width": "65",
"field_type": "num",
"api_properties": null,
"answers": null,
"onchange_properties": [
{
"purpose":"answer_value",
"expression":"(Number(original_tenure_months)-Number(current_tenure_months))",
"value_keys":[
"original_tenure_months", "current_tenure_months"
],
"insert_control":"elapsed_tenure_months"
}
],
"is_repeatable": null,
"validations": [
]
},
{
"question": "Current balance tenure in months",
"question_key": "current_tenure_months",
"type": "1",
"field_type": "num",
"field_width": "65",
"api_properties": null,
"answers": null,
"onchange_properties": [
{
"purpose":"answer_value",
"expression":"(Number(original_tenure_months)-Number(current_tenure_months))",
"value_keys":[
"original_tenure_months", "current_tenure_months"
],
"insert_control":"elapsed_tenure_months"
}
],
"is_repeatable": null,
"validations": [
]
},
{
"question": "Elapsed tenure in mths",
"question_key": "elapsed_tenure_months",
"type": "1",
"field_width": "65",
"field_type": "num",
"api_properties": null,
"answers": null,
"onchange_properties": [
{
"purpose":"answer_value",
"expression":"(Number(original_tenure_months)-Number(elapsed_tenure_months))",
"value_keys":[
"original_tenure_months", "elapsed_tenure_months"
],
"insert_control":"current_tenure_months"
}
],
"is_repeatable": null,
"validations": [
]
}
],
"is_repeatable": "1",
"group_title": "Loan Details",
"group_key": "Loan_Details"
} ]
}]
}],
"is_repeatable":null,
"validations":[
]
},
{
"question_key": "common_remarks",
"question": "Remarks",
"place_holder": "Enter the text",
"type": "7",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"field_type": "string",
"field_width": "60",
"validations": []
}
]
}

View File

@ -0,0 +1,228 @@
{
"section_id":"16",
"section_name":"Family Members Involved in Business",
"onsubmit":null,
"questions":[
{
"question":"Is any other family member involved in the business",
"question_key":"is_family_details_available",
"type":"2",
"field_width":"45",
"api_properties":null,
"onchange_properties":[{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"is_family_details_available",
"expression":"(String('is_family_details_available') == String('Yes'))",
"value_keys":[
"is_family_details_available"
],
"questions":[
{
"question":[
{
"question":"Name",
"question_key":"member_name",
"place_holder":"Enter text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Name Required",
"value":null
},
{
"name":"pattern",
"isactive":"1",
"validator":"[A-Za-z ]*",
"message":"alphabets only ",
"value":null
}
]
},
{
"question":"Relationship",
"question_key":"relationship",
"place_holder":"Enter the text",
"type":"8",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"RELATIONSHIPS"
},
"fields":[
"relationship_id",
"name"
]
},
"answers":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[{
"insert_index":"relationship",
"expression":"(String('relationship').toLowerCase() == String('1'))",
"value_keys":[
"relationship"
],
"questions":[
{
"question": "Specify Facility details",
"question_key": "relationship_other",
"type": "1",
"field_width": "45",
"field_type": "string",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
}
]
}]
}
],
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
},
{
"question":"Relation to Individual Stakeholders",
"question_key":"stakeholder_relation",
"place_holder":"Enter text",
"type":"3",
"api_properties":{
"purpose":"answer_options_local",
"master_name":"pd_applicants",
"fields":["pd_co_applicant_id","applicant_name"]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
},
{
"question":"Relation to Company / Firm",
"question_key":"company_relation",
"place_holder":"Enter text",
"type":"8",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"COMPANYRELATIONSHIPS"
},
"fields":[
"company_relationship_id",
"name"
]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
},
{
"question":"Started Business (Yes / No)",
"question_key":"started_biz",
"place_holder":"Enter text",
"type":"2",
"api_properties":null,
"answers":[
{
"answer_id":"Yes",
"answer":"Yes"
},
{
"answer_id":"No",
"answer":"No"
}
],
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
}
],
"is_repeatable":"1",
"group_title":"Family Members Involved in Business",
"group_key":"family_details"
}
]}]
}],
"is_repeatable":null,
"answers":[{
"answer":"Yes",
"answer_id":"Yes"
},
{
"answer":"No",
"answer_id":"No"
}],
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
},
{
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,269 @@
{
"section_id":"17",
"section_name":"Neighbourhood Details",
"onsubmit":[],
"questions":[
{
"question":[
{
"question":"Neighbour name",
"question_key":"neighbourhood_name",
"place_holder":"Enter text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
},
{
"question":"Do you know about the applicant or their business?",
"question_key":"do_know",
"type":"3",
"api_properties":null,
"answers":[
{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}
],
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
},
{
"question":"As per you how long has this business been in operation",
"question_key":"know_business_operation",
"place_holder":"Enter the text",
"type":"2",
"api_properties":null,
"answers":[
{
"answer":"Know",
"answer_id":"yes"
},
{
"answer":"Do not know",
"answer_id":"no"
}
],
"is_repeatable":null,
"field_type":"string",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
],
"onchange_properties": [ {
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"know_business_operation",
"expression":"(String('know_business_operation') === String('yes'))",
"value_keys":[
"know_business_operation"
],
"questions":[
{
"question":"Years",
"question_key":"how_long_do_know_in_year",
"type":"1",
"field_width":"100",
"field_type":"num",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"know_business_operation",
"answers":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field required",
"value":null
}
]
} ,
{
"question":"Months",
"question_key":"how_long_do_know_in_month",
"type":"1",
"field_type":"num",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"know_business_operation",
"answers":null,
"validations":[
]
}
] } ] }]
},
{
"question":"Who is the owner of organisation?",
"question_key":"know_organisation_owner",
"type":"2",
"api_properties":null,
"answers":[
{
"answer":"Know",
"answer_id":"yes"
},
{
"answer":"Do not know",
"answer_id":"no"
}
],
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
],
"onchange_properties": [ {
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"know_organisation_owner",
"expression":"(String('know_organisation_owner') === String('yes'))",
"value_keys":[
"know_organisation_owner"
],
"questions":[
{
"question":"Who is the owner of the organisation",
"question_key":"organisation_owner",
"type":"4",
"field_width":"100",
"field_type":"num",
"api_properties": {
"purpose":"answer_options_local",
"master_name":"pd_applicants",
"fields":["pd_co_applicant_id","applicant_name"]
},
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"know_organisation_owner",
"answers":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field required",
"value":null
}
]
}
] } ] }]
}
],
"is_repeatable":"1",
"group_title":"Neighbourhood Details",
"group_key":"neighbourhood_list"
},
{
"question":"Status of the neighbour check as per Credit Manager",
"question_key":"neighbourhood_status",
"type":"3",
"api_properties":null,
"answers":[
{
"answer":"Select",
"answer_id":""
},
{
"answer":"Positive",
"answer_id":"Positive"
},
{
"answer":"Negative",
"answer_id":"Negative"
},
{
"answer":"Could Not Verify",
"answer_id":"Could Not Verify"
}
],
"onchange_properties":[
{
"purpose":"validations",
"validations":[{
"value_keys":["neighbourhood_status"],
"value":"(String('neighbourhood_status').toLowerCase() != String('positive'))",
"validation_to":"neighbourhood_remarks",
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required"
}]}
],
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
},
{
"question":"Remarks",
"question_key":"neighbourhood_remarks",
"type":"7",
"placeholder":"Enter the remarks",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
}
]
}

View File

@ -0,0 +1,53 @@
{
"section_id":"18",
"section_name":"Credit manager specific queries",
"onsubmit":[],
"questions":[
{
"question":[
{
"question":"Question",
"question_key":"question",
"place_holder":"Enter text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"validations":[
]
},
{
"question":"Answer",
"question_key":"answer",
"place_holder":"Enter the answer here",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
]
}
],
"is_repeatable":"1",
"group_title":"Query",
"group_key":"cm_queries"
},
{
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,218 @@
{
"section_id":"22",
"section_name":"Final remarks",
"onsubmit":null,
"questions":[
{
"question":"Customer Behaviour",
"question_key":"customer_behaviour",
"type":"3",
"field_width":"45",
"answers":null,
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"CUSTOMERBEHAVIOUR"
},
"fields":[
"customer_behaviour_id",
"description"
]
},
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"customer_behaviour",
"expression":"(String('customer_behaviour') == String('1'))",
"value_keys":[
"customer_behaviour"
],
"questions":[
{ "question":"Specify Customer behaviour",
"question_key":"customer_behaviour_other",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"customer_behaviour",
"answers":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field required",
"value":null
}
]
} ] }
]}] ,
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Is the location of the business suited to the nature of the business provided?",
"question_key":"business_location_suited",
"type":"3",
"field_width":"45",
"onchange_properties":null,
"api_properties":null,
"answers":[
{
"answer":"Well Suited",
"answer_id":"Well Suited"
},
{
"answer":"Fairly suited",
"answer_id":"Fairly suited"
},
{
"answer":"Not suited",
"answer_id":"Not suited"
}
],
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Credit Manager recommendation (Positive/negative/ refer to credit)",
"question_key":"pd_officer_recommendation",
"type":"3",
"field_width":"45",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"PDOFFICERRECOMMENDATIONS"
},
"fields":[
"pdofficer_recommendation_id",
"pdofficer_recommendation"
]
},
"answers":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"pd_officer_recommendation",
"expression":"(String('pd_officer_recommendation') == String('1'))",
"value_keys":[
"pd_officer_recommendation"
],
"questions":[
{ "question":"Specify Credit Manager Recommendation",
"question_key":"pd_officer_recommendation_other",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"pd_officer_recommendation",
"answers":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field required",
"value":null
}
]
} ] } ,
{
"insert_index":"pd_officer_recommendation",
"expression":"(String('pd_officer_recommendation') != String('1')) && (String('pdofficer_recommendation') != String(''))",
"value_keys":[
"pd_officer_recommendation"
],
"questions":[
{
"question":[{
"question":"Reasons for marking PD status as Positive/negative/ refer to credit",
"question_key":"reason",
"type":"1",
"field_width":"100",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"pd_officer_recommendation",
"answers":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field required",
"value":null
}
]
}
],
"is_repeatable":"1",
"group_title":"Remarks",
"group_title_shown":"0",
"group_key":"pd_officer_recommendation_remarks"
} ] }
] },
{
"purpose":"question_label",
"expression":"(function () {let label= 'Reasons for marking PD status as ';('pd_officer_recommendation' == '2') ? label+= 'Positive' : ('pd_officer_recommendation' == '3') ? label+= 'Negative' : ('pd_officer_recommendation' == '4') ? label+= 'Refer to Credit' : label+= 'Positive/negative/ refer to credit';return label}())",
"value_keys":[
"pd_officer_recommendation"
],
"insert_control":"reason",
"insert_group_key":"pd_officer_recommendation_remarks"
}
],
"is_repeatable":null,
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Field Required",
"value":null
}
]
},
{
"question":"Common Remarks",
"question_key":"final_form_remarks",
"place_holder":"Enter the remarks here",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"validations":[
]
}
]
}

View File

@ -0,0 +1,916 @@
{
"section_id": "3",
"section_name": "Financial Information",
"onsubmit": [],
"questions": [
{
"question":"Financial Statements Available ?",
"question_key":"financial_statements_available",
"type":"3",
"sub_title":"Data as Per Financial Statements",
"field_width":"65",
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}],
"api_properties":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"financial_statements_available",
"expression":"(String('financial_statements_available') == String('yes'))",
"value_keys":[
"financial_statements_available"
],
"questions":[
{
"question": "Latest years financials as per applicant met ?",
"question_key": "latest_years_financials_as_per_applicant_met",
"type": "3",
"field_width": "65",
"api_properties": null,
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}],
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"latest_years_financials_as_per_applicant_met",
"expression":"(String('latest_years_financials_as_per_applicant_met') == String('no'))",
"value_keys":[
"latest_years_financials_as_per_applicant_met"
],
"questions":[
{
"question":"Number of Financial Years",
"question_key":"number_of_financial_years",
"place_holder":"",
"field_type":"num",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"latest_years_financials_as_per_applicant_met",
"answers":null,
"validations":[
]
},{
"question":"Enter year from which financials provided",
"question_key":"enter_year_from_which_financials_provided",
"place_holder":"",
"field_type":"num",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"latest_years_financials_as_per_applicant_met",
"answers":null,
"validations":[
]
}]
}]
}],
"is_repeatable": null,
"field_type": "string",
"validations": [
]
}
]
}]
}],
"is_repeatable":null,
"validations":[
]
},
{
"question":"Same as Financial Statements ?",
"question_key":"same_as_financial_statements",
"type":"3",
"sub_title":"Latest years financials as per Applicant met ",
"field_width":"65",
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}],
"api_properties":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"same_as_financial_statements",
"expression":"(String('same_as_financial_statements') == String('no'))",
"value_keys":[
"same_as_financial_statements"
],
"questions":[
{
"question":"Were the Kuccha records shown to the PD officer",
"question_key":"were_the_kuccha_records_shown_to_the_pd_officer",
"place_holder":"Enter the text",
"type":"2",
"api_properties":null,
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}],
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"were_the_kuccha_records_shown_to_the_pd_officer",
"expression":"(String('were_the_kuccha_records_shown_to_the_pd_officer') == String('yes'))",
"value_keys":[
"were_the_kuccha_records_shown_to_the_pd_officer"
],
"questions":[
{
"question_key":"photograph_of_kuchha_bills_allowed",
"question":"Photograph of Kuchha bills allowed",
"place_holder":"Enter the text",
"type":"2",
"api_properties":null,
"field_width":"100",
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}],
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"were_the_kuccha_records_shown_to_the_pd_officer",
"validations":[
]
}, {
"question":"Does the Number of Kuccha Bills and Values therein, justify the customer declared turnover?",
"question_key":"does_the_number_of_kuccha_bills_and_values_therein_justify_the_customer_declared_turnover",
"place_holder":"",
"field_type":"num",
"type":"2",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"latest_years_financials_as_per_applicant_met",
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}],
"validations":[
]
}]
}]
}],
"is_repeatable":null,
"parent_question_key":"same_as_financial_statements",
"field_type":"string",
"field_width":"100",
"validations":[
]
},
{
"question":" Was there Net Profit or Net Loss?",
"question_key": "was_there_net_profit_or_net_loss",
"type": "3",
"field_width": "45",
"api_properties": null,
"answers":[{
"answer":"Net Profit",
"answer_id":"Net_Profit"
},
{
"answer":"Net Loss",
"answer_id":"Net_Loss"
}],
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"was_there_net_profit_or_net_loss",
"expression":"(String('was_there_net_profit_or_net_loss') == String('Net_Profit'))",
"value_keys":[
"was_there_net_profit_or_net_loss"
],
"questions":[
{
"question":"Is there Net Margin Information Available",
"question_key":"is_there_net_margin_information_available",
"place_holder":"",
"type":"3",
"field_width":"45",
"api_properties":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"is_there_net_margin_information_available",
"expression":"(String('is_there_net_margin_information_available') == String('yes'))",
"value_keys":[
"is_there_net_margin_information_available"
],
"questions":[
{
"question":"Net Profit Amount Considered",
"question_key":"net_profit_amount_considered",
"place_holder":"",
"type":"1",
"field_width":"30",
"api_properties":null,
"onchange_properties":[ {
"purpose":"answer_value",
"expression":"((Number(considered_sales_average) * Number(net_profit_considered))/100)",
"value_keys":[
"considered_sales_average", "net_profit_considered"
],
"insert_control":"net_profit_amount_considered"
}],
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"is_there_net_margin_information_available",
"answers": null,
"validations":[
]
}, {
"question":"Net Profit % Considered",
"question_key":"net_profit_considered",
"place_holder":"",
"type":"1",
"field_width":"30",
"api_properties":null,
"onchange_properties":[ {
"purpose":"answer_value",
"expression":"((Number(net_profit_from)+ Number(net_profit_to))/2)",
"value_keys":[
"net_profit_from", "net_profit_to"
],
"insert_control":"net_profit_considered"
}, {
"purpose":"answer_value",
"expression":"((Number(considered_sales_average) * Number(net_profit_considered))/100)",
"value_keys":[
"considered_sales_average", "net_profit_considered"
],
"insert_control":"net_profit_amount_considered"
}],
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"is_there_net_margin_information_available",
"answers": null,
"validations":[
]
}, {
"question":"Net Profit % To",
"question_key":"net_profit_to",
"place_holder":"",
"type":"1",
"field_width":"30",
"api_properties":null,
"onchange_properties":[ {
"purpose":"answer_value",
"expression":"((Number(net_profit_from)+ Number(net_profit_to))/2)",
"value_keys":[
"net_profit_from", "net_profit_to"
],
"insert_control":"net_profit_considered"
}, {
"purpose":"answer_value",
"expression":"((Number(considered_sales_average) * Number(net_profit_considered))/100)",
"value_keys":[
"considered_sales_average", "net_profit_considered"
],
"insert_control":"net_profit_amount_considered"
}],
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"is_there_net_margin_information_available",
"answers": null,
"validations":[
]
}, {
"question":"Net Profit % From",
"question_key":"net_profit_from",
"place_holder":"",
"type":"1",
"field_width":"30",
"api_properties":null,
"onchange_properties":[ {
"purpose":"answer_value",
"expression":"((Number(net_profit_from)+ Number(net_profit_to))/2)",
"value_keys":[
"net_profit_from", "net_profit_to"
],
"insert_control":"net_profit_considered"
}, {
"purpose":"answer_value",
"expression":"((Number(considered_sales_average) * Number(net_profit_considered))/100)",
"value_keys":[
"considered_sales_average", "net_profit_considered"
],
"insert_control":"net_profit_amount_considered"
}],
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"is_there_net_margin_information_available",
"answers": null,
"validations":[
]
} ]
}]
}, {
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"is_there_net_margin_information_available",
"expression":"(String('is_there_net_margin_information_available') == String('no'))",
"value_keys":[
"is_there_net_margin_information_available"
],
"questions":[
{
"question":"Considered Profit Amount",
"question_key":"considered_profit_amount",
"place_holder":"",
"type":"1",
"field_width":"30",
"api_properties":null,
"onchange_properties":[ {
"purpose":"answer_value",
"expression":"((Number(considered_sales_average) * Number(considered_net_profit))/100)",
"value_keys":[
"considered_sales_average", "considered_net_profit"
],
"insert_control":"considered_profit_amount"
}],
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"is_there_net_margin_information_available",
"answers": null,
"validations":[
]
},
{
"question":"Considered Net Profit % ",
"question_key":"considered_net_profit",
"place_holder":"",
"type":"1",
"field_width":"30",
"api_properties":null,
"onchange_properties":[ {
"purpose":"answer_value",
"expression":"((Number(net_profit_amount_from)+ Number(net_profit_amount_to))/2)",
"value_keys":[
"net_profit_amount_from", "net_profit_amount_to"
],
"insert_control":"considered_net_profit"
},{
"purpose":"answer_value",
"expression":"((Number(considered_sales_average) * Number(considered_net_profit))/100)",
"value_keys":[
"considered_sales_average", "considered_net_profit"
],
"insert_control":"considered_profit_amount"
}],
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"is_there_net_margin_information_available",
"answers": null,
"validations":[
]
}, {
"question":"Net Profit Amount To",
"question_key":"net_profit_amount_to",
"place_holder":"",
"type":"1",
"field_width":"30",
"api_properties":null,
"onchange_properties":[ {
"purpose":"answer_value",
"expression":"((Number(net_profit_amount_from)+ Number(net_profit_amount_to))/2)",
"value_keys":[
"net_profit_amount_from", "net_profit_amount_to"
],
"insert_control":"considered_net_profit"
},{
"purpose":"answer_value",
"expression":"((Number(considered_sales_average) * Number(considered_net_profit))/100)",
"value_keys":[
"considered_sales_average", "considered_net_profit"
],
"insert_control":"considered_profit_amount"
}],
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"is_there_net_margin_information_available",
"answers": null,
"validations":[
]
}, {
"question":"Net Profit Amount From",
"question_key":"net_profit_amount_from",
"place_holder":"",
"type":"1",
"field_width":"30",
"api_properties":null,
"onchange_properties":[ {
"purpose":"answer_value",
"expression":"((Number(net_profit_amount_from)+ Number(net_profit_amount_to))/2)",
"value_keys":[
"net_profit_amount_from", "net_profit_amount_to"
],
"insert_control":"considered_net_profit"
},{
"purpose":"answer_value",
"expression":"((Number(considered_sales_average) * Number(considered_net_profit))/100)",
"value_keys":[
"considered_sales_average", "considered_net_profit"
],
"insert_control":"considered_profit_amount"
}],
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"is_there_net_margin_information_available",
"answers": null,
"validations":[
]
}]
}]
}],
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"was_there_net_profit_or_net_loss",
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}],
"validations":[
]
} ]
}]
}],
"is_repeatable": null,
"field_type": "string",
"validations": [
]
},{
"question":"Considered Sales Average",
"question_key":"considered_sales_average",
"place_holder":"",
"field_type":"numtoword",
"type":"1",
"field_width":"30",
"api_properties":null,
"onchange_properties":[ {
"purpose":"answer_value",
"expression":"((Number(annual_sales_from)+ Number(annual_sales_to))/2)",
"value_keys":[
"annual_sales_from", "annual_sales_to"
],
"insert_control":"considered_sales_average"
}],
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"same_as_financial_statements",
"answers":null,
"validations":[
]
}, {
"question":"Annual Sales To",
"question_key":"annual_sales_to",
"place_holder":"",
"field_type":"numtoword",
"type":"1",
"field_width":"30",
"api_properties":null,
"onchange_properties":[ {
"purpose":"answer_value",
"expression":"((Number(annual_sales_from)+ Number(annual_sales_to))/2)",
"value_keys":[
"annual_sales_from", "annual_sales_to"
],
"insert_control":"considered_sales_average"
}],
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"same_as_financial_statements",
"answers":null,
"validations":[
]
}, {
"question":"Annual Sales From",
"question_key":"annual_sales_from",
"place_holder":"",
"field_type":"numtoword",
"type":"1",
"field_width":"30",
"api_properties":null,
"onchange_properties":[ {
"purpose":"answer_value",
"expression":"((Number(annual_sales_from)+ Number(annual_sales_to))/2)",
"value_keys":[
"annual_sales_from", "annual_sales_to"
],
"insert_control":"considered_sales_average"
}],
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"same_as_financial_statements",
"answers":null,
"validations":[
]
}
]
}]
}],
"is_repeatable":null,
"validations":[
]
},{
"question_key":"in_case_of_credit_sales_what_is_the_average_no_of_days_taken_to_receive_the_money",
"question":"In case of Credit Sales, what is the average no of days taken to receive the money?",
"place_holder":"Enter the text",
"type":"1",
"sub_title":"Total Banking Facilities",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"100",
"validations":[
]
}, {
"question_key":"what_is_the_average_no_of_days_taken_to_pay_the_money",
"question":"In case of Credit Purchase, what is the average no of days taken to pay the money?",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"100",
"validations":[
]
}, {
"question_key":"what_is_the_average_no_of_days_for_which_stock_lies_unsold_during_the_year",
"question":"What is the average no of days for which stock lies unsold during the year?",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"100",
"validations":[
]
}, {
"question_key":"is_there_working_capital_facilities",
"question":"Is there Working Capital Facilities?",
"place_holder":"Enter the text",
"type":"3",
"api_properties":null,
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},{
"answer":"no",
"answer_id":"no"
}],
"onchange_properties":[{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"is_there_working_capital_facilities",
"expression":"(String('is_there_working_capital_facilities') == String('yes'))",
"value_keys":[
"is_there_working_capital_facilities"
],
"questions":[
{
"question_key":"working_capital_facilities_availed",
"question":"Working Capital Facilities availed",
"place_holder":"Enter the text",
"type":"4",
"api_properties":null,
"answers":[{
"answer":"Letter of Credit",
"answer_id":"Letter of Credit"
},
{
"answer":"Bank Guarantee",
"answer_id":"Bank Guarantee"
},{
"answer":"Cash Credit Limit",
"answer_id":"Cash Credit Limit"
},{
"answer":"OD Limit",
"answer_id":"OD Limit"
},{
"answer":"Factoring",
"answer_id":"Factoring"
},{
"answer":"Forfaiting",
"answer_id":"Forfaiting"
},{
"answer":"Others",
"answer_id":"Others"
}
],
"onchange_properties":[{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"working_capital_facilities_availed",
"expression":"(String('working_capital_facilities_availed').includes('Letter of Credit'))",
"value_keys":[
"working_capital_facilities_availed"
],
"questions":[
{
"question_key":"details_of_letter_of_credit",
"question":"Details of Letter of Credit",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers": null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"working_capital_facilities_availed",
"expression":"(String('working_capital_facilities_availed').includes('Bank Guarantee'))",
"value_keys":[
"working_capital_facilities_availed"
],
"questions":[
{
"question_key":"details_of_bank_guarantee_facility",
"question":"Details of Bank Guarantee Facility",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers": null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"working_capital_facilities_availed",
"expression":"(String('working_capital_facilities_availed').includes('Cash Credit Limit'))",
"value_keys":[
"working_capital_facilities_availed"
],
"questions":[
{
"question_key":"Details_of_Cash_Credit_Limit",
"question":"Details of Cash Credit Limit",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers": null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"working_capital_facilities_availed",
"expression":"(String('working_capital_facilities_availed').includes('OD Limit'))",
"value_keys":[
"working_capital_facilities_availed"
],
"questions":[
{
"question_key":"Details_of_OD_Limit",
"question":"Details of OD Limit",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers": null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"working_capital_facilities_availed",
"expression":"(String('working_capital_facilities_availed').includes('Factoring'))",
"value_keys":[
"working_capital_facilities_availed"
],
"questions":[
{
"question_key":"details_of_factoring",
"question":"Details of Factoring",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers": null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"working_capital_facilities_availed",
"expression":"(String('working_capital_facilities_availed').includes('Forfaiting'))",
"value_keys":[
"working_capital_facilities_availed"
],
"questions":[
{
"question_key":"details_of_forfaiting",
"question":"Details of Forfaiting",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers": null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"working_capital_facilities_availed",
"expression":"(String('working_capital_facilities_availed').includes('Others'))",
"value_keys":[
"working_capital_facilities_availed"
],
"questions":[
{
"question_key":"Details_of_Others_Facility",
"question":"Details of Others Facility",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers": null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}, {
"question":"Others Working capital Facilities? availed",
"question_key":"others_working_capital_facilities",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers": null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}]
} ],
"is_repeatable":null,
"field_type":"string",
"field_width":"100",
"validations":[
]
}
]
}]
}],
"is_repeatable":null,
"field_type":"string",
"field_width":"100",
"validations":[
]
} , {
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"65",
"validations":[
]
}
]
}

View File

@ -0,0 +1,324 @@
{
"section_id": "4",
"section_name": "Supplier Details",
"onsubmit": [],
"questions": [
{
"question":"Is the Supplier information Available",
"question_key":"is_the_supplier_information_available",
"type":"3",
"field_width":"65",
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}],
"api_properties":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"is_the_supplier_information_available",
"expression":"(String('is_the_supplier_information_available') == String('yes'))",
"value_keys":[
"is_the_supplier_information_available"
],
"questions":[
{
"question":"Is the Billing Infomation Available",
"question_key":"is_the_billing_infomation_available",
"type":"3",
"field_width":"65",
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}],
"place_holder":"Enter the text",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"validations":[
]
},
{
"question": [
{
"question_key":"service_name",
"question":"Service Name",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
},{
"question_key":"supplier_name",
"question":"Supplier Name",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
},{
"question_key":"title",
"question":"Title",
"place_holder":"Enter the text",
"type":"3",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"TITLES"
},
"fields":[
"title_id",
"name"
]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"20",
"validations":[
]
},{
"question_key":"contact_person_name",
"question":"Contact Name",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"40",
"validations":[
]
},{
"question_key":"contact_person_designation",
"question":"Contact person Designation",
"place_holder":"Enter the text",
"type":"3",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"COMPANYRELATIONSHIPS"
},
"fields":[
"company_relationship_id",
"name"
]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"40",
"validations":[
]
},{
"question_key":"contact_person_mobile_number",
"question":"Contact person Mobile Number",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"40",
"validations":[
]
},{
"question_key":"std_code",
"question":"STD Code",
"place_holder":"Enter the STD Code",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"num",
"field_width":"20",
"validations":[
]
},{
"question_key":"contact_person_landline_number",
"question":"Contact person Landline Number",
"place_holder":"Enter the number",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"num",
"field_width":"40",
"validations":[
]
},{
"question_key":"payment_terms",
"question":"Payment Terms",
"place_holder":"Enter the text",
"type":"3",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"PAYMENTMODE"
},
"fields":[
"id",
"name"
]
},
"answers":null,
"onchange_properties":[{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"payment_terms",
"expression":"(String('payment_terms') == String('3'))",
"value_keys":[
"payment_terms"
],
"questions":[
{
"question_key":"what_%_of_total_purchase_is_done_on_credit",
"question":"What % of Total Purchase is done on Credit?",
"place_holder":"",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"num",
"field_width":"100",
"validations":[
]
},
{
"question_key":"day_to",
"question":"Day To",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"40",
"validations":[
]
}, {
"question_key":"day_from",
"question":"Day From",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"40",
"validations":[
]
}, {
"question_key":"no_of_days_of_credit_provided_by_supplier",
"question":"No.of days of Credit Provided by Supplier",
"place_holder":"Enter the text",
"type":null,
"sub_title":"No.of days of Credit Provided by Supplier",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"100",
"validations":[
]
} ]
}]
}],
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
},{
"question_key":"payment_mode",
"question":"Payment Mode",
"place_holder":"Enter the text",
"type":"3",
"api_properties":null,
"answers":[{
"answer":"Payment made in Cash.",
"answer_id":"Payment made in Cash."
},
{
"answer":"Payment made through Banking channels.",
"answer_id":"Payment made through Banking channels."
}, {
"answer":"Payment made through Cash and Banking channels.",
"answer_id":"Payment made through Cash and Banking channels."
}],
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
],
"is_repeatable": "1",
"group_title": "Service Provider Details",
"group_key": "service_provider_details"
}]
}]
}],
"is_repeatable":null,
"validations":[
]
},{
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,326 @@
{
"section_id": "5",
"section_name": "Client Details",
"onsubmit": [],
"questions": [
{
"question":"Is the Client information Available",
"question_key":"is_the_client_information_available",
"type":"3",
"field_width":"65",
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}],
"api_properties":null,
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"is_the_client_information_available",
"expression":"(String('is_the_client_information_available') == String('yes'))",
"value_keys":[
"is_the_client_information_available"
],
"questions":[
{
"question":"Is the Billing Infomation Available",
"question_key":"is_the_billing_infomation_available",
"type":"3",
"field_width":"65",
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
}],
"place_holder":"Enter the text",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"validations":[
]
},
{
"question": [
{
"question_key":"select_the_service_provider",
"question":"Select the Service Provider",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
},{
"question_key":"client_name",
"question":"Client Name",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
},{
"question_key":"title",
"question":"Title",
"place_holder":"Enter the text",
"type":"3",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"TITLES"
},
"fields":[
"title_id",
"name"
]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"20",
"validations":[
]
},{
"question_key":"contact_person_name",
"question":"Contact Name",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"40",
"validations":[
]
},{
"question_key":"contact_person_designation",
"question":"Contact person Designation",
"place_holder":"Enter the text",
"type":"3",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"COMPANYRELATIONSHIPS"
},
"fields":[
"company_relationship_id",
"name"
]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"40",
"validations":[
]
},{
"question_key":"contact_person_mobile_number",
"question":"Contact person Mobile Number",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"40",
"validations":[
]
},{
"question_key":"std_code",
"question":"STD Code",
"place_holder":"Enter the Code",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"20",
"validations":[
]
},{
"question_key":"contact_person_landline_number",
"question":"Contact person Landline Number",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"40",
"validations":[
]
},{
"question_key":"payment_terms",
"question":"Payment Terms",
"place_holder":"Enter the text",
"type":"3",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"PAYMENTMODE"
},
"fields":[
"id",
"name"
]
},
"answers":null,
"onchange_properties":[{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"payment_terms",
"expression":"(String('payment_terms') == String('3'))",
"value_keys":[
"payment_terms"
],
"questions":[
{
"question_key":"what_of_total_purchase_is_done_on_credit",
"question":"What % of Total Purchase is done on Credit?",
"place_holder":"",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"num",
"field_width":"100",
"validations":[
]
},
{
"question_key":"day_to",
"question":"Day To",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"40",
"validations":[
]
}, {
"question_key":"day_from",
"question":"Day From",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"40",
"validations":[
]
}, {
"question_key":"no_of_days_of_credit_provided_by_supplier",
"question":"No.of days of Credit Provided by Supplier",
"place_holder":"Enter the text",
"type":null,
"sub_title":"No.of days of Credit Provided by Supplier",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"100",
"validations":[
]
} ]
}]
}],
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
},{
"question_key":"payment_mode",
"question":"Payment Mode",
"place_holder":"Enter the text",
"type":"3",
"api_properties":null,
"answers":[{
"answer":"Payment made in Cash.",
"answer_id":"Payment made in Cash."
},
{
"answer":"Payment made through Banking channels.",
"answer_id":"Payment made through Banking channels."
}, {
"answer":"Payment made through Cash and Banking channels.",
"answer_id":"Payment made through Cash and Banking channels."
}],
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
],
"is_repeatable": "1",
"sub_title":"Manufacturing Product Details",
"group_title": "Manufacturing Product Details ",
"group_key": "manufacturing_product_details"
}
]
}]
}],
"is_repeatable":null,
"validations":[
]
},{
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,348 @@
{
"section_id": "6",
"section_name": "Stock Details",
"onsubmit": [],
"questions":[
{
"question": [
{
"question_key":"name",
"question":"Name",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
} ,
{
"question_key":"stock",
"question":"Stock",
"place_holder":"Enter the text",
"type":"3",
"api_properties":null,
"answers":[{
"answer":"Add Stock Details",
"answer_id":"Add_Stock_Details"
},
{
"answer":"No Stock Observed",
"answer_id":"No_Stock_Observed"
}],
"onchange_properties":[{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"stock",
"expression":"(String('stock') == String('Add_Stock_Details'))",
"value_keys":[
"stock"
],
"questions":[
{
"question_key":"estimated_value_of_stock_observed",
"question":"Estimated Value of Stock Observed",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"100",
"validations":[
]
} ,
{
"question_key":"unit_of_measurement",
"question":"Unit of Measurement",
"place_holder":"Enter the text",
"type":"3",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"UOM"
},
"fields":[
"uom_id",
"name"
]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}, {
"question_key":"estimated_quantity",
"question":"Estimated Quantity",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}]
}],
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
],
"is_repeatable": "1",
"group_title": "Raw Material ",
"group_key": "raw_material"
}, {
"question":"Is the stock of Raw Materials observed, sufficient considering the size of operations",
"question_key":"raw_material_sufficient_considering_the_size_of_operations",
"type":"3",
"field_width":"65",
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
},{
"answer":"Stock not required to be maintained",
"answer_id":"Stock not required to be maintained"
}],
"place_holder":"Enter the text",
"api_properties":null,
"onchange_properties":[{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"raw_material_sufficient_considering_the_size_of_operations",
"expression":"(String('raw_material_sufficient_considering_the_size_of_operations') == String('no'))",
"value_keys":[
"raw_material_sufficient_considering_the_size_of_operations"
],
"questions":[
{
"question_key":"raw_material_Please_comment_on_the_stock_level_observed",
"question":"Please comment on the stock level observed?",
"place_holder":"Please comment on the stock level observed?",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"100",
"validations":[
]
}
]
}]
}],
"is_repeatable":null,
"field_type":"string",
"validations":[
]
}, {
"question": [
{
"question_key":"finished_goods_name",
"question":"Name",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
} ,
{
"question_key":"finished_goods_stock",
"question":"Stock",
"place_holder":"Enter the text",
"type":"3",
"api_properties":null,
"answers":[{
"answer":"Add Stock Details",
"answer_id":"Add_Stock_Details"
},
{
"answer":"No Stock Observed",
"answer_id":"No_Stock_Observed"
}],
"onchange_properties":[{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"finished_goods_stock",
"expression":"(String('finished_goods_stock') == String('Add_Stock_Details'))",
"value_keys":[
"finished_goods_stock"
],
"questions":[
{
"question_key":"finished_goods_estimated_value_of_stock_observed",
"question":"Estimated Value of Stock Observed",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"100",
"validations":[
]
} ,
{
"question_key":"finished_goods_unit_of_measurement",
"question":"Unit of Measurement",
"place_holder":"Enter the text",
"type":"3",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"UOM"
},
"fields":[
"uom_id",
"name"
]
},
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}, {
"question_key":"finished_goods_estimated_quantity",
"question":"Estimated Quantity",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}]
}],
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
],
"is_repeatable": "1",
"group_title": "Finished Goods",
"group_key": "finished_goods"
}, {
"question":"Is the stock of finished / goods observed, sufficient considering the size of operations",
"question_key":"finished_goods_sufficient_considering_the_size_of_operations",
"type":"3",
"field_width":"65",
"answers":[{
"answer":"Yes",
"answer_id":"yes"
},
{
"answer":"No",
"answer_id":"no"
},{
"answer":"Stock not required to be maintained",
"answer_id":"Stock not required to be maintained"
}],
"place_holder":"Enter the text",
"api_properties":null,
"onchange_properties":[{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"finished_goods_sufficient_considering_the_size_of_operations",
"expression":"(String('finished_goods_sufficient_considering_the_size_of_operations') == String('no'))",
"value_keys":[
"finished_goods_sufficient_considering_the_size_of_operations"
],
"questions":[
{
"question_key":"finished_goods_please_comment_on_the_stock_level_observed?",
"question":"Please comment on the stock level observed?",
"place_holder":"Please comment on the stock level observed?",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"100",
"validations":[
]
}
]
}]
}],
"is_repeatable":null,
"field_type":"string",
"validations":[
]
}
,{
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,409 @@
{
"section_id": "7",
"section_name": "Facility & Anchor Details Section",
"onsubmit": null,
"questions": [
{
"question_key":"Facility Amount Applied For?",
"question":"Facility Amount Applied For?",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"title":"Anchor Details Section",
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"65",
"validations":[
]
}, {
"question_key":"Name of the Anchor",
"question":"Name of the Anchor",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"35",
"validations":[
]
},
{
"question_key":"Applicant's association vintage with the Anchor",
"question":"Applicant's association vintage with the Anchor",
"place_holder":"Enter the text",
"type":null,
"api_properties":null,
"sub_title":"Applicant's association vintage with the Anchor",
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"100",
"validations":[
]
},{
"question_key":"Year",
"question":"Year",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"30",
"validations":[
]
},{
"question_key":"Month",
"question":"Month",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"30",
"validations":[
]
},{
"question_key":"Monthly business (sale/purchase) with the Anchor",
"question":"Monthly business (sale/purchase) with the Anchor",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"numtoword",
"field_width":"30",
"validations":[
]
},{
"question_key":"Business concentration with Anchor %",
"question":"Business concentration with Anchor %",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"30",
"validations":[
]
}, {
"question_key":"Credit period with the Anchor (Days)",
"question":"Credit period with the Anchor (Days)",
"place_holder":"Enter the text",
"type":null,
"api_properties":null,
"sub_title":"Credit period with the Anchor (Days)",
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"100",
"validations":[
]
},{
"question_key":"Number of Days",
"question":"Number of Days",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"35",
"validations":[
]
},{
"question_key":"Payment Mechanism",
"question":"Payment Mechanism",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":[
{
"answer_id":"Bill-Wise",
"answer":"Bill-Wise"
},
{
"answer_id":"Open Account",
"answer":"Open Account"
}
],
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"65",
"validations":[
]
},{
"question_key":"Average Invoice Value",
"question":"Average Invoice Value",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"numtoword",
"field_width":"35",
"validations":[
]
},{
"question_key":"Are_there_peak_seasons_for_the_business_with_Anchor",
"question":"Are there peak seasons for the business with Anchor",
"place_holder":"Enter the text",
"type":"3",
"api_properties":null,
"answers":[
{
"answer_id":"Yes",
"answer":"Yes"
},
{
"answer_id":"No Major Changes In Sales",
"answer":"No Major Changes In Sales"
}
],
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Are_there_peak_seasons_for_the_business_with_Anchor",
"expression":"(String('Are_there_peak_seasons_for_the_business_with_Anchor') == String('Yes'))",
"value_keys":[
"Are_there_peak_seasons_for_the_business_with_Anchor"
],
"questions":[
{
"question":"Comments*",
"question_key":"Comments",
"place_holder":"",
"field_type":"text",
"type":"7",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"Are_there_peak_seasons_for_the_business_with_Anchor",
"answers":null,
"validations":[
]
}, {
"question":"Months in which sales/service is low?",
"question_key":"Months in which sales/service is low?",
"place_holder":"",
"field_type":"text",
"type":"4",
"field_width":"45",
"api_properties":{
"api":"getListOfMaster",
"api_method":"POST",
"params":{
"master_name":"STATE"
},
"fields":[
"state_id",
"name"
]
},
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"Are_there_peak_seasons_for_the_business_with_Anchor",
"answers":null,
"validations":[
]
}]
}]
}],
"is_repeatable":null,
"field_type":"string",
"field_width":"65",
"validations":[
]
},{
"question_key":"Are_there_debit_credit_notes_being_issued_to_by_Anchor",
"question":"Are there debit/credit notes being issued to/by Anchor",
"place_holder":"Enter the text",
"type":"3",
"api_properties":null,
"answers":[
{
"answer_id":"Yes",
"answer":"Yes"
},
{
"answer_id":"No",
"answer":"No"
}
],
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Are_there_debit_credit_notes_being_issued_to_by_Anchor",
"expression":"(String('Are_there_debit_credit_notes_being_issued_to_by_Anchor') == String('Yes'))",
"value_keys":[
"Are_there_debit_credit_notes_being_issued_to_by_Anchor"
],
"questions":[
{
"question":"Reason for such debit/credit notes",
"question_key":"Reason for such debit/credit notes",
"place_holder":"",
"field_type":"text",
"type":"1",
"field_width":"45",
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"Are_there_debit_credit_notes_being_issued_to_by_Anchor",
"answers":null,
"validations":[
]
} ]
}]
}],
"is_repeatable":null,
"field_type":"string",
"field_width":"65",
"validations":[
]
},{
"question_key":"Reason for such debit/credit notes",
"question":"Reason for such debit/credit notes",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
},{
"question_key":"Value of stock related to Anchor",
"question":"Value of stock related to Anchor",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"numtoword",
"field_width":"45",
"validations":[
]
},{
"question_key":"Observations_on_Sample_Invoices",
"question":"Observations on Sample Invoices",
"place_holder":"Enter the text",
"type":"3",
"api_properties":null,
"answers":[
{
"answer_id":"Yes",
"answer":"Yes"
},
{
"answer_id":"No",
"answer":"No"
}
],
"onchange_properties":[
{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Observations_on_Sample_Invoices",
"expression":"(String('Observations_on_Sample_Invoices') == String('Yes'))",
"value_keys":[
"Observations_on_Sample_Invoices"
],
"questions":[
{
"question_key":"observations on Invoice and lorry receipts",
"question":"observations on Invoice and lorry receipts",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
} ]
}]
},{
"purpose":"FORM_CTRL",
"form_controls":[
{
"insert_index":"Observations_on_Sample_Invoices",
"expression":"(String('Observations_on_Sample_Invoices') == String('No'))",
"value_keys":[
"Observations_on_Sample_Invoices"
],
"questions":[
{
"question_key":"reason for no sample invoices",
"question":"reason for no sample invoices",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
} ]
}]
}],
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}, {
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

View File

@ -0,0 +1,100 @@
{
"section_id": "8",
"section_name": "Future Plans & Business Environments",
"onsubmit": [],
"questions": [
{
"question_key":"USP of the business - How is the applicants business different from others in the same line of business?",
"question":"USP of the business - How is the applicants business different from others in the same line of business?",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"100",
"validations":[
]
},{
"question_key":"Future plans for business expansion",
"question":"Future plans for business expansion",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"100",
"validations":[
]
},{
"question_key":"Impact of GST on the business",
"question":"Impact of GST on the business",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"100",
"validations":[
]
},{
"question_key":"Key Competitors",
"question":"Key Competitors",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"100",
"validations":[
]
},{
"question_key":"Succession plan - who will look after the business after applicants retire / are unable to run the business due to any reason?",
"question":"Succession plan - who will look after the business after applicants retire / are unable to run the business due to any reason?",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"100",
"validations":[
]
},{
"question_key":"Brief of Other Group Concerns / Businesses run by the applicants",
"question":"Brief of Other Group Concerns / Businesses run by the applicants",
"place_holder":"Enter the text",
"type":"1",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"100",
"validations":[
]
}, {
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
}
]
}

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More