minor change on client

This commit is contained in:
2026-07-28 10:45:31 +05:30
parent a9c60083bf
commit 349dc91951
23 changed files with 305 additions and 101 deletions
@@ -969,7 +969,7 @@ export function buildForm60Pdf(r: Form60Record): jsPDF {
let y = paintLetterhead(
c,
'Form 60 Declaration',
'Form 97 Declaration',
'CERTIFICATE REFERENCE',
`F60-${r.customerId}`,
'PAN Status',
@@ -85,7 +85,7 @@
} @else if (isBalance && balance) {
<span class="cpd-stage-pill">{{ balance.asOnDate | date: 'd MMM y' }}</span>
} @else if (isForm60 && form60) {
<span class="cpd-stage-pill cpd-stage-pill--amber">No PAN — Form 60</span>
<span class="cpd-stage-pill cpd-stage-pill--amber">No PAN — Form 97</span>
} @else if (isForm15gh && form15gh) {
<span class="cpd-stage-pill cpd-stage-pill--teal">Form {{ form15gh.kind }}</span>
} @else if (isHypothecation && hypothecation) {
@@ -313,7 +313,7 @@
</p>
}
<!-- ── FORM 60 ── -->
<!-- ── FORM 97 ── -->
@if (isForm60 && form60) {
<p class="cpd-para">
Declaration under <strong>Section 114B</strong> of the Income-tax Rules, 1962, to be made by a person who does
@@ -367,7 +367,7 @@
<tr class="cpd-summary-total">
<td colspan="3">PAN STATUS</td>
<td>
<strong>NOT ALLOTTED — Form 60 declared</strong>
<strong>NOT ALLOTTED — Form 97 declared</strong>
</td>
</tr>
</tbody>
@@ -151,9 +151,9 @@ export class CertificatePreviewDialogComponent {
case 'balance':
return 'Balance Certificate';
case 'form60':
return 'Form 60 Declaration';
return 'Form 97 Declaration';
case 'form15gh':
return this.form15gh?.kind === '15H' ? 'Form 15H Declaration' : 'Form 15G Declaration';
return 'Form 121 Declaration';
case 'hypothecation':
return 'Hypothecation Certificate';
case 'noc':
@@ -11,11 +11,8 @@
<div class="cert-head-l">
<fa-icon icon="file-signature" class="cert-head-ic"></fa-icon>
<div>
<h2 class="cert-head-t">Form 15G &amp; 15H</h2>
<div class="cert-head-s">
TDS-waiver declarations for FD / RD interest income —
<strong>15G</strong> for individuals below 60 years, <strong>15H</strong> for senior citizens (60+).
</div>
<h2 class="cert-head-t">Form 121</h2>
<div class="cert-head-s">TDS-waiver declarations for FD / RD interest income — Form 121.</div>
</div>
</div>
</div>
@@ -26,14 +23,14 @@
<fa-icon icon="user" class="cert-kpi-ic"></fa-icon>
<div>
<div class="cert-kpi-n">{{ count15G() | number }}</div>
<div class="cert-kpi-l">Form 15G (under 60)</div>
<div class="cert-kpi-l">Form 121 (under 60)</div>
</div>
</div>
<div class="cert-kpi cert-kpi--amber">
<fa-icon icon="user-tie" class="cert-kpi-ic"></fa-icon>
<div>
<div class="cert-kpi-n">{{ count15H() | number }}</div>
<div class="cert-kpi-l">Form 15H (60+)</div>
<div class="cert-kpi-l">Form 121 (60+)</div>
</div>
</div>
<div class="cert-kpi cert-kpi--green">
@@ -63,11 +60,11 @@
</div>
<div class="cert-filter">
<label>Form</label>
<label>Form Type</label>
<select [(ngModel)]="kindFilter">
<option value="">Both forms</option>
<option value="15G">15G — Under 60</option>
<option value="15H">15H — Senior citizens (60+)</option>
<option value="">All Form 121</option>
<option value="15G">Form 121 (Below 60 years)</option>
<option value="15H">Form 121 (Senior Citizen 60+)</option>
</select>
</div>
@@ -92,7 +89,7 @@
<thead>
<tr>
<th>Customer · PAN</th>
<th>Form</th>
<th>Form Type</th>
<th>Age</th>
<th>Branch</th>
<th class="num">Deposit Principal</th>
@@ -115,7 +112,7 @@
[class.cert-pill--blue]="formKind(r) === '15G'"
[class.cert-pill--amber]="formKind(r) === '15H'"
>
Form {{ formKind(r) }}
Form 121 ({{ formKind(r) }})
</span>
</td>
<td class="small">{{ age(r.dob) }} yrs</td>
@@ -146,9 +146,9 @@ export class Form15ghComponent implements OnInit {
const kind = this.formKind(r);
this.dscSign.promptThenDownload(
{
title: `Form ${kind} Declaration`,
title: `Form 121 (${kind}) Declaration`,
reference: `${r.customerId} · ${r.customerName} · ${r.fy}`,
filename: `Form-${kind}-${r.customerId}-${r.fy.replace(/\s+/g, '')}.pdf`
filename: `Form121-${r.customerId}-${r.fy.replace(/\s+/g, '')}.pdf`
},
(dsc) => downloadForm15ghPdf(r, kind, dsc)
);
@@ -11,7 +11,7 @@
<div class="cert-head-l">
<fa-icon icon="file-signature" class="cert-head-ic"></fa-icon>
<div>
<h2 class="cert-head-t">Form 60 Declaration</h2>
<h2 class="cert-head-t">Form 97 Declaration</h2>
<div class="cert-head-s">
Income Tax Rule 114B — required for any customer transacting above the threshold who does
<strong>not</strong> have a PAN on file.
@@ -33,7 +33,7 @@
<fa-icon icon="check-circle" class="cert-kpi-ic"></fa-icon>
<div>
<div class="cert-kpi-n">{{ totalFiled() | number }}</div>
<div class="cert-kpi-l">Form 60 Filed</div>
<div class="cert-kpi-l">Form 97 Filed</div>
</div>
</div>
<div class="cert-kpi cert-kpi--amber">
@@ -58,7 +58,7 @@
<div class="cert-filter">
<label>PAN status</label>
<select [(ngModel)]="panFilter">
<option value="MISSING">Without PAN (Form 60 applicable)</option>
<option value="MISSING">Without PAN (Form 97 applicable)</option>
<option value="ON_FILE">With PAN on file</option>
<option value="">All customers</option>
</select>
@@ -91,7 +91,7 @@
<th>Trigger Transaction</th>
<th class="num">Amount</th>
<th>PAN Status</th>
<th>Form 60</th>
<th>Form 97</th>
<th class="col-actions">Actions</th>
</tr>
</thead>
@@ -146,7 +146,7 @@
class="cert-icon-btn primary"
[disabled]="r.hasPan"
(click)="viewCertificate(r)"
matTooltip="View / Print Form 60"
matTooltip="View / Print Form 97"
>
<fa-icon icon="eye"></fa-icon>
</button>
@@ -121,7 +121,7 @@ export class Form60Component implements OnInit {
viewCertificate(r: Form60Record): void {
if (r.hasPan) {
this.snack.open(`${r.customerName} already has a PAN on file — Form 60 is not applicable.`, 'OK', {
this.snack.open(`${r.customerName} already has a PAN on file — Form 97 is not applicable.`, 'OK', {
duration: 3200
});
return;
@@ -139,14 +139,14 @@ export class Form60Component implements OnInit {
downloadCertificate(r: Form60Record): void {
if (r.hasPan) {
this.snack.open(`${r.customerName} already has a PAN on file — Form 60 is not applicable.`, 'OK', {
this.snack.open(`${r.customerName} already has a PAN on file — Form 97 is not applicable.`, 'OK', {
duration: 3200
});
return;
}
this.dscSign.promptThenDownload(
{
title: 'Form 60 Declaration',
title: 'Form 97 Declaration',
reference: `${r.customerId} · ${r.customerName}`,
filename: `Form60-${r.customerId}.pdf`
},
@@ -44,12 +44,12 @@ const routes: Routes = [
{
path: 'letter-mgmt/form-60',
component: Form60Component,
data: { title: 'Form 60', breadcrumb: 'Form 60' }
data: { title: 'Form 97', breadcrumb: 'Form 97' }
},
{
path: 'letter-mgmt/form-15gh',
component: Form15ghComponent,
data: { title: 'Form 15G & 15H', breadcrumb: 'Form 15G/H' }
data: { title: 'Form 121', breadcrumb: 'Form 121' }
},
{
path: 'letter-mgmt/hypothecation-certificate',