Commit 4ed6a5e9 authored by 伊藤雄大's avatar 伊藤雄大

2024/07/23

 改善
parent 46e74517
...@@ -37,6 +37,7 @@ ...@@ -37,6 +37,7 @@
"@angular/localize": "^18.1.1", "@angular/localize": "^18.1.1",
"@eslint/js": "^9.7.0", "@eslint/js": "^9.7.0",
"@types/jasmine": "~5.1.0", "@types/jasmine": "~5.1.0",
"@types/jquery": "^3.5.30",
"angular-eslint": "18.1.0", "angular-eslint": "18.1.0",
"eslint": "^9.7.0", "eslint": "^9.7.0",
"globals": "^15.8.0", "globals": "^15.8.0",
...@@ -9087,6 +9088,16 @@ ...@@ -9087,6 +9088,16 @@
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/@types/jquery": {
"version": "3.5.30",
"resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.30.tgz",
"integrity": "sha512-nbWKkkyb919DOUxjmRVk8vwtDb0/k8FKncmUKFi+NY+QXqWltooxTrswvz4LspQwxvLdvzBN1TImr6cw3aQx2A==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/sizzle": "*"
}
},
"node_modules/@types/json-schema": { "node_modules/@types/json-schema": {
"version": "7.0.15", "version": "7.0.15",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
...@@ -9185,6 +9196,13 @@ ...@@ -9185,6 +9196,13 @@
"@types/send": "*" "@types/send": "*"
} }
}, },
"node_modules/@types/sizzle": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.8.tgz",
"integrity": "sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==",
"dev": true,
"license": "MIT"
},
"node_modules/@types/sockjs": { "node_modules/@types/sockjs": {
"version": "0.3.36", "version": "0.3.36",
"resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz",
......
...@@ -40,6 +40,7 @@ ...@@ -40,6 +40,7 @@
"@angular/localize": "^18.1.1", "@angular/localize": "^18.1.1",
"@eslint/js": "^9.7.0", "@eslint/js": "^9.7.0",
"@types/jasmine": "~5.1.0", "@types/jasmine": "~5.1.0",
"@types/jquery": "^3.5.30",
"angular-eslint": "18.1.0", "angular-eslint": "18.1.0",
"eslint": "^9.7.0", "eslint": "^9.7.0",
"globals": "^15.8.0", "globals": "^15.8.0",
...@@ -52,4 +53,4 @@ ...@@ -52,4 +53,4 @@
"typescript": "~5.5.3", "typescript": "~5.5.3",
"typescript-eslint": "^8.0.0-alpha.20" "typescript-eslint": "^8.0.0-alpha.20"
} }
} }
\ No newline at end of file
<div class="header"> <div class="header container-fluid">
<table width="100%"> <div class="row">
<tr> <div class="col">
<td style="padding-left:10px;padding-top:5px;"> <div style="margin-top:10px;">タッチ決済サービス</div>
タッチ決済サービス </div>
</td> @if (mode === 1) {
@if (mode === 1) { <div class="logout col" style="text-align: right;">
<td class="logout" style="text-align: right;padding-right:20px;padding-top:5px;"> <div role="button" style="margin-right:20px;margin-top:10px;" (click)="onClickLogout()">ログアウト</div>
<div role="button" (click)="onClickLogout()">ログアウト</div> </div>
</td> }
} </div>
</tr>
</table>
</div> </div>
\ No newline at end of file
<table style="margin-top:20px;"> <div class="container" style="margin-top:20px;">
<tr> <div class="row">
<td> <div class="col-md-auto">
<span>利用者</span> <span>利用者</span>
</td> </div>
<td> <div class="col-md-auto">
<span>{{model?.name}}</span> <span>{{model?.name}}</span>
</td> </div>
</tr> </div>
<tr> <div class="row">
<td colspan="2" align="center" style="padding-top:10px;"> <div class="col" style="padding-top:10px;">
<input type="button" class="btn common-button" value="削除依頼" (click)="onClickDel()"> <input type="button" class="btn common-button" value="削除依頼" (click)="onClickDel()">
</td> </div>
</tr> </div>
</table> </div>
<ag-grid-angular class="ag-theme-quartz" style="height:500px;margin-top:20px;" [rowData]="denyList" <ag-grid-angular class="ag-theme-quartz" style="height:500px;margin-top:20px;" [rowData]="denyList"
[columnDefs]="colDefs" [autoSizeStrategy]="autoSizeStrategy" [rowSelection]="rowSelection" [context]="context" [columnDefs]="colDefs" [autoSizeStrategy]="autoSizeStrategy" [rowSelection]="rowSelection" [context]="context"
(gridReady)="onGridReady($event)" [pagination]=true></ag-grid-angular> (gridReady)="onGridReady($event)" [pagination]=true></ag-grid-angular>
\ No newline at end of file
<table style="margin-top:20px;"> <div class="container" style="margin-top:20px;">
<tr> <div class="row">
<td> <div class="col-md-auto">
<span>利用者</span> <span>利用者</span>
</td> </div>
<td> <div class="col-md-auto">
<span>{{model?.name}}</span> <span>{{model?.name}}</span>
</td> </div>
</tr> </div>
</table> </div>
<ag-grid-angular class="ag-theme-quartz" style="height:500px;margin-top:20px;" [rowData]="historyList" <ag-grid-angular class="ag-theme-quartz" style="height:500px;margin-top:20px;" [rowData]="historyList"
[columnDefs]="colDefs" [autoSizeStrategy]="autoSizeStrategy" [context]="context" (gridReady)="onGridReady($event)" [columnDefs]="colDefs" [autoSizeStrategy]="autoSizeStrategy" [context]="context" (gridReady)="onGridReady($event)"
[pagination]=true></ag-grid-angular> [pagination]=true></ag-grid-angular>
\ No newline at end of file
<div class="modal-header"> <div class="modal-header">
<table width="100%"> <div class="container-fluid">
<tr> <div class="row">
<td> <div class="col">
<span class="modal-title">ステータス更新</span> <span class="modal-title">ステータス更新</span>
</td> </div>
<td align="right"> <div class="col" align="right">
<button type="button" class="border-0" style="background-color: white;" aria-label="Close" <button type="button" class="border-0" style="background-color: white;" aria-label="Close"
(click)="onClickClose()"> (click)="onClickClose()">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</td> </div>
</tr> </div>
</table> </div>
</div> </div>
<div class="modal-body border rounded"> <div class="modal-body border rounded">
<select class="form-select mx-auto" style="width:100px;" [(ngModel)]="status"> <select class="form-select mx-auto" style="width:100px;" [(ngModel)]="status">
...@@ -20,14 +20,14 @@ ...@@ -20,14 +20,14 @@
</select> </select>
</div> </div>
<div class="modal-footer d-flex justify-conent-between align-items-center"> <div class="modal-footer d-flex justify-conent-between align-items-center">
<table> <div class="container">
<tr> <div class="row">
<td> <div class="col" align="right">
<input type="button" class="btn form-control common-button" value="閉じる" (click)="onClickClose()"> <input type="button" class="btn common-button" value="閉じる" (click)="onClickClose()">
</td> </div>
<td> <div class="col">
<input type="button" class="btn form-control common-button" value="更新" (click)="onClickUpdate()"> <input type="button" class="btn common-button" value="更新" (click)="onClickUpdate()">
</td> </div>
</tr> </div>
</table> </div>
</div> </div>
\ No newline at end of file
<table style="margin-top:10px;margin-left:10px;"> <div class="container" style="margin-top:20px;margin-left:10px;">
<tr> <div class="row">
<td> <div class="col-md-auto">
<div class="listbox-container" [class.listbox-invalid]="invalid | async"> <div class="listbox-container" [class.listbox-invalid]="invalid | async">
<ul cdkListbox [formControl]="formControl" class="listbox"> <ul cdkListbox [formControl]="formControl" class="listbox">
@for (item of roleList; track item) { @for (item of roleList; track item) {
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
} }
</ul> </ul>
</div> </div>
</td> </div>
<td style="padding-left:10px;"> <div class="col-md-auto" style="padding-left:10px;">
<div> <div>
<input type="button" class="common-button rounded" value="追加" (click)="onClickAdd()"> <input type="button" class="common-button rounded" value="追加" (click)="onClickAdd()">
</div> </div>
...@@ -19,22 +19,22 @@ ...@@ -19,22 +19,22 @@
<div style="margin-top:5px;"> <div style="margin-top:5px;">
<input type="button" class="common-button rounded" value="削除" (click)="onClickDel()"> <input type="button" class="common-button rounded" value="削除" (click)="onClickDel()">
</div> </div>
</td> </div>
<td style="padding-left:10px;"> <div class="col">
<table> <div class="container" style="margin-left:10px;">
<tr> <div class="row">
<td> <div class="col-2">
<span>権限</span> <span>権限</span>
</td> </div>
<td> <div class="col-md-auto">
<input type="text" class="form-control" [(ngModel)]="roleName"> <input type="text" class="form-control" [(ngModel)]="roleName">
</td> </div>
</tr> </div>
<tr> <div class="row">
<td style="padding-top:10px;"> <div class="col-2">
<span>事業所担当者</span> <div style="margin-top:10px;">事業所担当者</div>
</td> </div>
<td style="padding-top:10px;"> <div class="col" style="padding-top:10px;">
<div class="form-check form-check-inline"> <div class="form-check form-check-inline">
<input class="form-check-input" type="radio" id="staffNo" name="staffRole" [value]="0" <input class="form-check-input" type="radio" id="staffNo" name="staffRole" [value]="0"
[(ngModel)]="staffRole"> [(ngModel)]="staffRole">
...@@ -50,13 +50,13 @@ ...@@ -50,13 +50,13 @@
[(ngModel)]="staffRole"> [(ngModel)]="staffRole">
<label class="form-check-label" for="staffAll">全事業所</label> <label class="form-check-label" for="staffAll">全事業所</label>
</div> </div>
</td> </div>
</tr> </div>
<tr> <div class="row">
<td style="padding-top:10px;"> <div class="col-2" style="padding-top:10px;">
<span>利用者検索</span> <span>利用者検索</span>
</td> </div>
<td style="padding-top:10px;"> <div class="col" style="padding-top:10px;">
<div class="form-check form-check-inline"> <div class="form-check form-check-inline">
<input class="form-check-input" type="radio" id="userNo" name="userRole" [value]="0" <input class="form-check-input" type="radio" id="userNo" name="userRole" [value]="0"
[(ngModel)]="userRole"> [(ngModel)]="userRole">
...@@ -72,13 +72,13 @@ ...@@ -72,13 +72,13 @@
[(ngModel)]="userRole"> [(ngModel)]="userRole">
<label class="form-check-label" for="userAll">全事業所</label> <label class="form-check-label" for="userAll">全事業所</label>
</div> </div>
</td> </div>
</tr> </div>
<tr> <div class="row">
<td style="padding-top:10px;"> <div class="col-2" style="padding-top:10px;">
<span>定期券検索</span> <span>定期券検索</span>
</td> </div>
<td style="padding-top:10px;"> <div class="col" style="padding-top:10px;">
<div class="form-check form-check-inline"> <div class="form-check form-check-inline">
<input class="form-check-input" type="radio" id="passNo" name="passRole" [value]="0" <input class="form-check-input" type="radio" id="passNo" name="passRole" [value]="0"
[(ngModel)]="passRole"> [(ngModel)]="passRole">
...@@ -94,13 +94,13 @@ ...@@ -94,13 +94,13 @@
[(ngModel)]="passRole"> [(ngModel)]="passRole">
<label class="form-check-label" for="passAll">全事業所</label> <label class="form-check-label" for="passAll">全事業所</label>
</div> </div>
</td> </div>
</tr> </div>
<tr> <div class="row">
<td style="padding-top:10px;"> <div class="col-2" style="padding-top:10px;">
<span>乗降履歴</span> <span>乗降履歴</span>
</td> </div>
<td style="padding-top:10px;"> <div class="col" style="padding-top:10px;">
<div class="form-check form-check-inline"> <div class="form-check form-check-inline">
<input class="form-check-input" type="radio" id="historyNo" name="historyRole" [value]="0" <input class="form-check-input" type="radio" id="historyNo" name="historyRole" [value]="0"
[(ngModel)]="historyRole"> [(ngModel)]="historyRole">
...@@ -116,13 +116,13 @@ ...@@ -116,13 +116,13 @@
[(ngModel)]="historyRole"> [(ngModel)]="historyRole">
<label class="form-check-label" for="historyAll">全事業所</label> <label class="form-check-label" for="historyAll">全事業所</label>
</div> </div>
</td> </div>
</tr> </div>
<tr> <div class="row">
<td style="padding-top:10px;"> <div class="col-2" style="padding-top:10px;">
<span>拒否リスト</span> <span>拒否リスト</span>
</td> </div>
<td style="padding-top:10px;"> <div class="col" style="padding-top:10px;">
<div class="form-check form-check-inline"> <div class="form-check form-check-inline">
<input class="form-check-input" type="radio" id="denyListNo" name="denyListRole" [value]="0" <input class="form-check-input" type="radio" id="denyListNo" name="denyListRole" [value]="0"
[(ngModel)]="denyListRole"> [(ngModel)]="denyListRole">
...@@ -138,13 +138,13 @@ ...@@ -138,13 +138,13 @@
[value]="2" [(ngModel)]="denyListRole"> [value]="2" [(ngModel)]="denyListRole">
<label class="form-check-label" for="denyListAll">全事業所</label> <label class="form-check-label" for="denyListAll">全事業所</label>
</div> </div>
</td> </div>
</tr> </div>
<tr> <div class="row">
<td style="padding-top:10px;"> <div class="col-2" style="padding-top:10px;">
<span>マスタメンテ</span> <span>マスタメンテ</span>
</td> </div>
<td style="padding-top:10px;"> <div class="col" style="padding-top:10px;">
<div class="form-check form-check-inline"> <div class="form-check form-check-inline">
<input class="form-check-input" type="radio" id="masterNo" name="masterRole" [value]="0" <input class="form-check-input" type="radio" id="masterNo" name="masterRole" [value]="0"
[(ngModel)]="masterRole"> [(ngModel)]="masterRole">
...@@ -155,9 +155,9 @@ ...@@ -155,9 +155,9 @@
[(ngModel)]="masterRole"> [(ngModel)]="masterRole">
<label class="form-check-label" for="masterOk"></label> <label class="form-check-label" for="masterOk"></label>
</div> </div>
</td> </div>
</tr> </div>
</table> </div>
</td> </div>
</tr> </div>
</table> </div>
\ No newline at end of file \ No newline at end of file
<app-header [mode]="1"></app-header> <app-header [mode]="1"></app-header>
<div class="container" style="max-width:100%;height:96%;"> <div class="container-fluid" style="max-width:100%;height:96%;">
<div class="row h-100"> <div class="row h-100">
<div class="col-md-auto border" style="width:180px;"> <div class="col-md-auto border" style="width:180px;">
@if (role && role.staffRole !== 0) { @if (role && role.staffRole !== 0) {
......
<table style="margin-top:20px;"> <div class="container" style="margin-top:20px;">
<tr> <div class="row">
<td> <div class="col-md-auto">
<span>利用者</span> <span>利用者</span>
</td> </div>
<td> <div class="col">
<span>{{model?.name}}</span> <span>{{model?.name}}</span>
</td> </div>
</tr> </div>
</table> </div>
<ag-grid-angular class="ag-theme-quartz" style="height:500px;margin-top:20px;" [rowData]="passList" <ag-grid-angular class="ag-theme-quartz" style="height:500px;margin-top:20px;" [rowData]="passList"
[columnDefs]="colDefs" [autoSizeStrategy]="autoSizeStrategy" [context]="context" (gridReady)="onGridReady($event)" [columnDefs]="colDefs" [autoSizeStrategy]="autoSizeStrategy" [context]="context" (gridReady)="onGridReady($event)"
[pagination]=true></ag-grid-angular> [pagination]=true></ag-grid-angular>
\ No newline at end of file
...@@ -73,7 +73,7 @@ export class PassListComponent implements OnInit { ...@@ -73,7 +73,7 @@ export class PassListComponent implements OnInit {
* @param model 定期券情報 * @param model 定期券情報
*/ */
async onClickRefund(model: PassModel) { async onClickRefund(model: PassModel) {
if (await this.passRefundService.confirm().valueOf()) { if (await this.passRefundService.confirm(model).valueOf()) {
//払戻処理 //払戻処理
this.passService.refund(model); this.passService.refund(model);
} }
......
<div class="modal-header"> <div class="modal-header">
<table width="100%"> <div class="container-fluid">
<tr> <div class="row">
<td> <div class="col">
<span class="modal-title">定期券払戻</span> <span class="modal-title">定期券払戻</span>
</td> </div>
<td align="right"> <div class="col" align="right">
<button type="button" class="border-0" style="background-color: white;" aria-label="Close" <button type="button" class="border-0" style="background-color: white;" aria-label="Close"
(click)="onClickClose()"> (click)="onClickClose()">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</td> </div>
</tr> </div>
</table> </div>
</div> </div>
<div class="modal-body border rounded"> <div class="modal-body border rounded">
<table width="250px" class=" mx-auto"> <div class="container" class="mx-auto" style="width:300px;">
<tr> <div class="row">
<td> <div class="col">
<span>カード番号</span> <span>カード番号</span>
</td> </div>
<td> <div class="col">
<span>****&nbsp;****&nbsp;****&nbsp;{{model?.creditCardNumber}}</span> <span>{{model?.creditCardNumber}}</span>
</td> </div>
</tr> </div>
<tr> <div class="row">
<td> <div class="col">
<span>乗車区間</span> <span>乗車区間</span>
</td> </div>
<td> <div class="col">
<span>{{model?.rideSection}}</span> <span>{{model?.rideSection}}</span>
</td> </div>
</tr> </div>
<tr> <div class="row">
<td> <div class="col">
<span>購入金額</span> <span>購入金額</span>
</td> </div>
<td align="right"> <div class="col" align="right">
<span>{{purphaseAmount|number}}円</span> <span>{{purphaseAmount|number}}円</span>
</td> </div>
</tr> </div>
<tr> <div class="row">
<td> <div class="col">
<span>普通運賃</span> <span>普通運賃</span>
</td> </div>
<td align="right"> <div class="col" align="right">
<span>{{standardFare|number}}円</span> <span>{{standardFare|number}}円</span>
</td> </div>
</tr> </div>
<tr> <div class="row">
<td> <div class="col">
<span>使用日数</span> <span>使用日数</span>
</td> </div>
<td align="right"> <div class="col" align="right">
<span>{{useDays}}日</span> <span>{{useDays}}日</span>
</td> </div>
</tr> </div>
<tr> <div class="row">
<td> <div class="col">
<span>払戻手数料</span> <span>払戻手数料</span>
</td> </div>
<td align="right"> <div class="col" align="right">
<span>{{refundFee|number}}円</span> <span>{{refundFee|number}}円</span>
</td> </div>
</tr> </div>
<tr> <div class="row">
<td> <div class="col">
<span>払戻金額</span> <span>払戻金額</span>
</td> </div>
<td align="right"> <div class="col" align="right">
<span>{{refundAmount|number}}円</span> <span>{{refundAmount|number}}円</span>
</td> </div>
</tr> </div>
</table> </div>
</div> </div>
<div class="modal-footer d-flex justify-conent-between align-items-center"> <div class="modal-footer d-flex justify-conent-between align-items-center">
<table> <div class="container">
<tr> <div class="row">
<td> <div class="col" align="right">
<input type="button" class="btn form-control common-button" value="閉じる" (click)="onClickClose()"> <input type="button" class="btn common-button" value="閉じる" (click)="onClickClose()">
</td> </div>
<td> <div class="col">
<input type="button" class="btn form-control common-button" value="払戻" (click)="onClickRefund()"> <input type="button" class="btn common-button" value="払戻" (click)="onClickRefund()">
</td> </div>
</tr> </div>
</table> </div>
</div> </div>
\ No newline at end of file
<table style="margin-top:10px;margin-left:10px;"> <div class="container" style="margin-top:10px;margin-left:10px;">
<tr> <div class="row">
<td> <div class="col-md-auto" style="margin-top:8px;">
<span>事業所</span> <span>事業所</span>
</td> </div>
<td style="padding-left:10px;"> <div class="col-md-auto" style="margin-left:10px;">
@if (role?.staffRole === 2) { @if (role?.staffRole === 2) {
<select class="form-select" [(ngModel)]="agencyId"> <select class="form-select" [(ngModel)]="agencyId">
@for (item of agencyList|keyvalue;track item.key) { @for (item of agencyList|keyvalue;track item.key) {
...@@ -13,24 +13,24 @@ ...@@ -13,24 +13,24 @@
} @else { } @else {
<span>{{agencyName}}</span> <span>{{agencyName}}</span>
} }
</td> </div>
@if (role?.staffRole === 2) { @if (role?.staffRole === 2) {
<td style="padding-left:10px;"> <div class="col" style="margin-left:10px;">
<input type="button" class="btn common-button" value="検索" (click)="onClickSearch()" /> <input type="button" class="btn common-button" value="検索" (click)="onClickSearch()" />
</td> </div>
} }
</tr> </div>
</table> </div>
<table style="margin-top:10px;"> <div class="container" style="margin-top:10px;">
<tr> <div class="row">
<td> <div class="col-md-auto">
<input type="button" class="btn common-button" value="新規" (click)="onClickNew()" /> <input type="button" class="btn common-button" value="新規" (click)="onClickNew()" />
</td> </div>
<td> <div class="col-md-auto">
<input type="button" class="btn common-button" value="削除" (click)="onClickDel()" /> <input type="button" class="btn common-button" value="削除" (click)="onClickDel()" />
</td> </div>
</tr> </div>
</table> </div>
<ag-grid-angular class="ag-theme-quartz" style="height:500px;margin-top:20px;" [rowData]="staffList" <ag-grid-angular class="ag-theme-quartz" style="height:500px;margin-top:20px;" [rowData]="staffList"
[columnDefs]="colDefs" [autoSizeStrategy]="autoSizeStrategy" [context]="context" [rowSelection]="rowSelection" [columnDefs]="colDefs" [autoSizeStrategy]="autoSizeStrategy" [context]="context" [rowSelection]="rowSelection"
(gridReady)="onGridReady($event)" [pagination]=true></ag-grid-angular> (gridReady)="onGridReady($event)" [pagination]=true></ag-grid-angular>
\ No newline at end of file
<table> <div class="container">
<tr> <div class="row">
<td style="padding-top:10px;padding-left:10px;"> <div class="col-2">
<span>事業所</span> <div style="margin-top:20px;">事業所</div>
</td> </div>
<td style="padding-top:10px;padding-left:10px;"> <div class="col-md-auto">
<select class="form-select" [(ngModel)]="agencyId" [disabled]="mode === 1"> <select class="form-select" style="margin-top:10px;" [(ngModel)]="agencyId" [disabled]="mode === 1">
@for (item of agencyList|keyvalue;track item.key) { @for (item of agencyList|keyvalue;track item.key) {
<option [value]="item.key">{{item.value}}</option> <option [value]="item.key">{{item.value}}</option>
} }
</select> </select>
</td> </div>
</tr> </div>
<tr> <div class="row">
<td style="padding-top:10px;padding-left:10px;"> <div class="col-2">
<span>メールアドレス</span> <div style="margin-top:20px;">メールアドレス</div>
</td> </div>
<td style="padding-top:10px;padding-left:10px;"> <div class="col-md-auto">
<input type="email" class="form-control" [(ngModel)]="email" [disabled]="mode === 1"> <input type="email" class="form-control" style="margin-top:10px;" [(ngModel)]="email"
</td> [disabled]="mode === 1">
</tr> </div>
<tr> </div>
<td style="padding-top:10px;padding-left:10px;"> <div class="row">
<span>パスワード</span> <div class="col-2">
</td> <div style="margin-top:20px;">パスワード</div>
<td style="padding-top:10px;padding-left:10px;"> </div>
<input type="password" class="form-control" [(ngModel)]="password"> <div class="col-md-auto">
</td> <input type="password" class="form-control" style="margin-top:10px;" [(ngModel)]="password">
</tr> </div>
<tr> </div>
<td style="padding-top:10px;padding-left:10px;"> <div class="row">
<span>氏名</span> <div class="col-2">
</td> <div style="margin-top:20px;">氏名</div>
<td style="padding-top:10px;padding-left:10px;"> </div>
<input type="text" class="form-control" [(ngModel)]="name"> <div class="col-md-auto">
</td> <input type="text" class="form-control" style="margin-top:10px;" [(ngModel)]="name">
</tr> </div>
<tr> </div>
<td style="padding-top:10px;padding-left:10px;"> <div class="row">
<span>部署</span> <div class="col-2">
</td> <div style="margin-top:20px;">部署</div>
<td style="padding-top:10px;padding-left:10px;"> </div>
<input type="text" class="form-control" [(ngModel)]="department"> <div class="col-md-auto">
</td> <input type="text" class="form-control" style="margin-top:10px;" [(ngModel)]="department">
</tr> </div>
<tr> </div>
<td style="padding-top:10px;padding-left:10px;"> <div class="row">
権限 <div class="col-2">
</td> <div style="margin-top:20px;">権限</div>
<td style="padding-top:10px;padding-left:10px;"> </div>
<select class="form-select" [(ngModel)]="roleId"> <div class="col-md-auto">
<select class="form-select" style="margin-top:10px;" [(ngModel)]="roleId">
@for (item of roleList|keyvalue;track item.key) { @for (item of roleList|keyvalue;track item.key) {
<option [value]="item.key">{{item.value}}</option> <option [value]="item.key">{{item.value}}</option>
} }
</select> </select>
</td> </div>
</tr> </div>
<tr> <div class="row">
<td colspan="2" style="padding-top:10px;"> <div class="col-md-auto">
<table> <div class="container" style="margin-top:20px;">
<tr> <div class="row">
<td> <div class="col">
@if (mode === 0) { @if (mode === 0) {
<input type="button" class="btn common-button" value="登録" (click)="onClickRegist()"> <input type="button" class="btn common-button" value="登録" (click)="onClickRegist()">
} @else { } @else {
<input type="button" class="btn common-button" value="更新" (click)="onClickUpdate()"> <input type="button" class="btn common-button" value="更新" (click)="onClickUpdate()">
} }
</td> </div>
<td> <div class="col">
<input type="button" class="btn common-button" value="戻る" (click)="onClickBack()"> <input type="button" class="btn common-button" value="戻る" (click)="onClickBack()">
</td> </div>
</tr> </div>
</table> </div>
</td> </div>
</tr> </div>
</table> </div>
\ No newline at end of file \ No newline at end of file
<table style="margin-top:10px;margin-left:10px;"> <div class="container" style="margin-top:10px;margin-left:10px;">
<tr> <div class="row">
<td> <div class="col-md-auto">
<span>利用者名</span> <div style="margin-top:10px;">利用者名</div>
</td> </div>
<td style="padding-left:10px;"> <div class="col-md-auto">
<input type="text" class="form-control" [(ngModel)]="userName" /> <input type="text" id="userName" class="form-control" style="margin-left:10px;" [(ngModel)]="userName" />
</td> </div>
<td style="padding-left:10px;"> <div class="col">
<input type="button" class="btn common-button" value="検索" (click)="onClickSearch()" /> <input type="button" class="btn common-button" style="margin-left:10px;" value="検索"
</td> (click)="onClickSearch()" />
</tr> </div>
</table> </div>
</div>
<ag-grid-angular class="ag-theme-quartz" style="height:500px;margin-top:20px;" [rowData]="userList" <ag-grid-angular class="ag-theme-quartz" style="height:500px;margin-top:20px;" [rowData]="userList"
[columnDefs]="colDefs" [autoSizeStrategy]="autoSizeStrategy" [context]="context" (gridReady)="onGridReady($event)" [columnDefs]="colDefs" [autoSizeStrategy]="autoSizeStrategy" [context]="context" (gridReady)="onGridReady($event)"
[pagination]=true></ag-grid-angular> [pagination]=true></ag-grid-angular>
\ No newline at end of file
import { Component, EventEmitter, Input, Output } from '@angular/core'; import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
import { UserInfoModel } from '../../model/user-info.model'; import { UserInfoModel } from '../../model/user-info.model';
import { ColDef, GridApi } from 'ag-grid-community'; import { ColDef, GridApi } from 'ag-grid-community';
import { HistoryButtonComponent } from './history-button/history-button.component'; import { HistoryButtonComponent } from './history-button/history-button.component';
...@@ -7,6 +7,7 @@ import { SizeColumnsToFitGridStrategy, SizeColumnsToFitProvidedWidthStrategy, Si ...@@ -7,6 +7,7 @@ import { SizeColumnsToFitGridStrategy, SizeColumnsToFitProvidedWidthStrategy, Si
import { PassButtonComponent } from './pass-button/pass-button.component'; import { PassButtonComponent } from './pass-button/pass-button.component';
import { UserService } from '../../service/user.service'; import { UserService } from '../../service/user.service';
import { RoleModel } from '../../model/role.model'; import { RoleModel } from '../../model/role.model';
import $ from 'jquery';
/** /**
* 利用者検索画面 * 利用者検索画面
...@@ -16,7 +17,7 @@ import { RoleModel } from '../../model/role.model'; ...@@ -16,7 +17,7 @@ import { RoleModel } from '../../model/role.model';
templateUrl: './user-list.component.html', templateUrl: './user-list.component.html',
styleUrl: './user-list.component.css' styleUrl: './user-list.component.css'
}) })
export class UserListComponent { export class UserListComponent implements OnInit {
@Input() role?: RoleModel; @Input() role?: RoleModel;
@Output() clickPass: EventEmitter<UserInfoModel> = new EventEmitter<UserInfoModel>(); @Output() clickPass: EventEmitter<UserInfoModel> = new EventEmitter<UserInfoModel>();
@Output() clickHistory: EventEmitter<UserInfoModel> = new EventEmitter<UserInfoModel>(); @Output() clickHistory: EventEmitter<UserInfoModel> = new EventEmitter<UserInfoModel>();
...@@ -64,6 +65,13 @@ export class UserListComponent { ...@@ -64,6 +65,13 @@ export class UserListComponent {
} }
} }
/**
* 初期処理
*/
ngOnInit(): void {
$("#userName").focus();
}
/** /**
* 検索 * 検索
*/ */
......
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
import { PassRefundComponent } from '../menu/pass-list/pass-refund/pass-refund.component'; import { PassRefundComponent } from '../menu/pass-list/pass-refund/pass-refund.component';
import { PassModel } from '../model/pass.model';
/** /**
* 定期券払戻サービス * 定期券払戻サービス
...@@ -19,8 +20,12 @@ export class PassRefundService { ...@@ -19,8 +20,12 @@ export class PassRefundService {
* ボタン押下 * ボタン押下
* @returns OK(true)/NO(false) * @returns OK(true)/NO(false)
*/ */
confirm(): Promise<boolean> { confirm(model: PassModel): Promise<boolean> {
const modalRef = this.modalService.open(PassRefundComponent); const modalRef = this.modalService.open(PassRefundComponent);
const component = modalRef.componentInstance as PassRefundComponent;
if (component != null) {
component.model = model;
}
return modalRef.result.then(() => { return modalRef.result.then(() => {
return true; return true;
}, () => { }, () => {
......
<app-header></app-header> <app-header></app-header>
<div class="mx-auto login-block" style="margin-top:20px;"> <div class="mx-auto login-block" style="margin-top:20px;">
<table> <div class="container">
<tr> <div class="row">
<td> <div class="col-5">
<span>メールアドレス</span> <span>メールアドレス</span>
</td> </div>
<td style="padding-left:10px;"> <div class="col">
<input type="email" class="form-control" [(ngModel)]="email" /> <input type="email" id="email" class="form-control" [(ngModel)]="email" />
</td> </div>
</tr> </div>
<tr> <div class="row">
<td> <div class="col-5" style="margin-top:10px;">
<span>パスワード</span> <span>パスワード</span>
</td> </div>
<td style="padding-left:10px;"> <div class="col" style="margin-top:10px;">
<input type="password" class="form-control" [(ngModel)]="password" /> <input type="password" class="form-control" [(ngModel)]="password" />
</td> </div>
</tr> </div>
<tr> <div class="row">
<td colspan="2" align="center" style="padding-top:20px;"> <div class="col" align="center" style="margin-top:20px;">
<input type="button" class="btn common-button" value="ログイン" (click)="onClickLogin()" /> <input type="button" class="btn common-button" value="ログイン" (click)="onClickLogin()" />
</td> </div>
</tr> </div>
</table> </div>
</div> </div>
\ No newline at end of file
import { Component } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { RouteService } from '../service/route.service'; import { RouteService } from '../service/route.service';
import { LoginService } from '../service/login.service'; import { LoginService } from '../service/login.service';
import { RoleModel } from '../model/role.model'; import { RoleModel } from '../model/role.model';
import $ from 'jquery';
/** /**
* ログイン画面 * ログイン画面
...@@ -11,7 +12,7 @@ import { RoleModel } from '../model/role.model'; ...@@ -11,7 +12,7 @@ import { RoleModel } from '../model/role.model';
templateUrl: './top.component.html', templateUrl: './top.component.html',
styleUrl: './top.component.css' styleUrl: './top.component.css'
}) })
export class TopComponent { export class TopComponent implements OnInit {
//メールアドレス //メールアドレス
email?: string; email?: string;
//パスワード //パスワード
...@@ -24,6 +25,10 @@ export class TopComponent { ...@@ -24,6 +25,10 @@ export class TopComponent {
*/ */
constructor(private routeService: RouteService, private loginService: LoginService) { } constructor(private routeService: RouteService, private loginService: LoginService) { }
ngOnInit(): void {
$("#email").focus();
}
/** /**
* ログイン * ログイン
*/ */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment