59 lines
2.7 KiB
HTML
59 lines
2.7 KiB
HTML
|
|
<form [formGroup]="uploadPwdForm" (ngSubmit)="onSubmit()">
|
||
|
|
<div class="mb-2">
|
||
|
|
<span>Excel file must have <b>EmployeeCode</b> and <b>Password</b> columns in the first row.</span>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<div class="mb-2 row g-0">
|
||
|
|
<span class="required">Excel File:</span>
|
||
|
|
<br />
|
||
|
|
<div class="col-lg-4 col-md-8 col-sm-12">
|
||
|
|
<div class="custom-file">
|
||
|
|
<input type="file" class="custom-file-input" accept="{{acceptFileType}}" formControlName="uploadFile" name="uploadFile" id="uploadFile" (change)="onFileSelected($event)" [ngClass]="{ 'is-invalid': submitted && f.fileName.errors }">
|
||
|
|
<label class="custom-file-label" #uploadFileLabel for="uploadFile" data-browse="Browse"><i class="fa fa-search button-search"></i> Choose file</label>
|
||
|
|
</div>
|
||
|
|
@if (submitted && f.fileName.errors)
|
||
|
|
{
|
||
|
|
<div class="invalid-feedback d-block">
|
||
|
|
<span>Please select an excel file to upload.</span>
|
||
|
|
</div>
|
||
|
|
}
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<div class="mb-2 col-lg-4 col-md-8 col-sm-12">
|
||
|
|
<div class="form-check">
|
||
|
|
<input type="checkbox" class="form-check-input" id="forcePasswordChange" formControlName="forcePasswordChange">
|
||
|
|
<label class="form-check-label" for="forcePasswordChange">Force user to change password at next login</label>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
@if (canSave)
|
||
|
|
{
|
||
|
|
<div class="mb-2">
|
||
|
|
<hr class="osds" />
|
||
|
|
<button class="ui-button ui-widget ui-state-default ui-corner-all ui-button-raised ui-button-text-only" [disabled]="loading">
|
||
|
|
<span class="ui-button-text-only ui-c"><i class="fa fa-upload button-edit" aria-hidden="true"></i> Upload & Update</span>
|
||
|
|
</button>
|
||
|
|
</div>
|
||
|
|
}
|
||
|
|
|
||
|
|
@if (totalRows > 0)
|
||
|
|
{
|
||
|
|
<div class="mb-2">
|
||
|
|
<span>Total Row(s): <b>{{totalRows}}</b> | Updated: <b>{{successCount}}</b> | Failed: <b>{{failedCount}}</b></span>
|
||
|
|
<br />
|
||
|
|
<kendo-grid id="grdUploadPwd"
|
||
|
|
[data]="items"
|
||
|
|
[resizable]="true"
|
||
|
|
[loading]="loading"
|
||
|
|
[rowClass]="rowCallback"
|
||
|
|
class="grid-font-900">
|
||
|
|
<kendo-grid-column field="rowNo" title="Row" [width]="70" class="cell-padding" [headerStyle]="{'font-weight':'bold'}" [style]="{'text-align':'center'}"></kendo-grid-column>
|
||
|
|
<kendo-grid-column field="employeeCode" title="Employee Code" [width]="150" class="cell-padding" [headerStyle]="{'font-weight':'bold'}"></kendo-grid-column>
|
||
|
|
<kendo-grid-column field="loginId" title="Login Id" [width]="150" class="cell-padding" [headerStyle]="{'font-weight':'bold'}"></kendo-grid-column>
|
||
|
|
<kendo-grid-column field="message" title="Remarks" class="cell-padding" [headerStyle]="{'font-weight':'bold'}"></kendo-grid-column>
|
||
|
|
</kendo-grid>
|
||
|
|
</div>
|
||
|
|
}
|
||
|
|
</form>
|