@rolatech/angular-booking 19.0.0-beta.12 → 19.0.0-beta.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/rolatech-angular-booking.mjs +69 -14
- package/fesm2022/rolatech-angular-booking.mjs.map +1 -1
- package/lib/components/booking-return-item/booking-return-item.component.d.ts +5 -0
- package/lib/components/booking-return-request/booking-return-request.component.d.ts +15 -0
- package/lib/components/index.d.ts +2 -0
- package/lib/components/period-item/period-item.component.d.ts +5 -3
- package/lib/components/session-item/session-item.component.d.ts +5 -3
- package/package.json +1 -1
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import { DatePipe } from '@angular/common';
|
|
2
1
|
import * as i0 from '@angular/core';
|
|
3
|
-
import {
|
|
2
|
+
import { Component, input, output, model } from '@angular/core';
|
|
3
|
+
import { CommonModule, DatePipe } from '@angular/common';
|
|
4
|
+
import * as i3 from '@angular/forms';
|
|
5
|
+
import { FormsModule } from '@angular/forms';
|
|
6
|
+
import * as i1 from '@angular/material/checkbox';
|
|
7
|
+
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
8
|
+
import { map } from 'lodash';
|
|
4
9
|
import { MomentDateAdapter } from '@angular/material-moment-adapter';
|
|
5
10
|
import * as i5 from '@angular/material/core';
|
|
6
11
|
import { MatOptionModule, MAT_DATE_LOCALE, DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
|
|
@@ -8,20 +13,62 @@ import * as i6 from '@angular/material/button';
|
|
|
8
13
|
import { MatButtonModule } from '@angular/material/button';
|
|
9
14
|
import * as i4 from '@angular/material/select';
|
|
10
15
|
import { MatSelectModule } from '@angular/material/select';
|
|
11
|
-
import * as i3 from '@angular/forms';
|
|
12
|
-
import { FormsModule } from '@angular/forms';
|
|
13
16
|
import * as i2 from '@angular/material/input';
|
|
14
17
|
import { MatInputModule } from '@angular/material/input';
|
|
15
|
-
import * as i1 from '@angular/material/form-field';
|
|
18
|
+
import * as i1$1 from '@angular/material/form-field';
|
|
16
19
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
17
20
|
import moment from 'moment';
|
|
18
21
|
import * as i4$1 from '@angular/material/datepicker';
|
|
19
22
|
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
20
|
-
import * as i1$
|
|
23
|
+
import * as i1$2 from '@angular/material/icon';
|
|
21
24
|
import { MatIconModule } from '@angular/material/icon';
|
|
22
25
|
|
|
23
26
|
const bookingRoutes = [];
|
|
24
27
|
|
|
28
|
+
class BookingReturnItemComponent {
|
|
29
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: BookingReturnItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.2", type: BookingReturnItemComponent, isStandalone: true, selector: "rolatech-booking-return-item", ngImport: i0, template: "<p>booking-return-item works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
31
|
+
}
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: BookingReturnItemComponent, decorators: [{
|
|
33
|
+
type: Component,
|
|
34
|
+
args: [{ selector: 'rolatech-booking-return-item', imports: [CommonModule], template: "<p>booking-return-item works!</p>\n" }]
|
|
35
|
+
}] });
|
|
36
|
+
|
|
37
|
+
class BookingReturnRequestComponent {
|
|
38
|
+
items = input.required();
|
|
39
|
+
allComplete = false;
|
|
40
|
+
total = 0;
|
|
41
|
+
selectedItems;
|
|
42
|
+
output = output();
|
|
43
|
+
updateAllComplete() {
|
|
44
|
+
this.allComplete = this.items() != null && this.items().every((t) => t.completed);
|
|
45
|
+
}
|
|
46
|
+
someComplete() {
|
|
47
|
+
if (this.items() == null) {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
return this.items().filter((t) => t.completed).length > 0 && !this.allComplete;
|
|
51
|
+
}
|
|
52
|
+
setAll(completed) {
|
|
53
|
+
this.allComplete = completed;
|
|
54
|
+
if (this.items() == null) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
this.items().forEach((t) => (t.completed = completed));
|
|
58
|
+
}
|
|
59
|
+
ngDoCheck() {
|
|
60
|
+
const filterItems = this.items().filter((item) => item.completed);
|
|
61
|
+
const items = map(filterItems, 'id');
|
|
62
|
+
this.output.emit(items);
|
|
63
|
+
}
|
|
64
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: BookingReturnRequestComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
65
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.2", type: BookingReturnRequestComponent, isStandalone: true, selector: "rolatech-booking-return-request", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { output: "output" }, ngImport: i0, template: "<div>\n <div class=\"flex justify-between items-center\">\n <div class=\"flex items-center gap-3\">\n <mat-checkbox [checked]=\"allComplete\" [indeterminate]=\"someComplete()\" (change)=\"setAll($event.checked)\"> </mat-checkbox>\n <div>\u5168\u9009</div>\n </div>\n <div>\u9000\u6B3E\u91D1\u989D: \u00A5{{ total.toFixed(2) }}</div>\n </div>\n @for (item of items(); track item) {\n <div class=\"flex flex-col\">\n <div class=\"hover:bg-[--rt-raised-background] cursor-pointer py-2\">\n <div class=\"flex justify-between items-center\">\n <div class=\"flex flex-row w-full\">\n <mat-checkbox [(ngModel)]=\"item.completed\" (ngModelChange)=\"updateAllComplete()\"> </mat-checkbox>\n <div class=\"w-2/5 sm:w-1/4 bg-[--rt-raised-background]\">\n @if (item.variant) {\n <img class=\"w-full h-full object-cover sm:aspect-video\" [src]=\"item.variant.classroom.media[0].url\" alt />\n }\n </div>\n <div class=\"w-3/5 sm:w-3/4 ml-3 flex flex-col py-1\">\n <span class=\"font-bold break-words line-clamp-2\">\u6559\u5BA4: {{ item.variant.classroom.name }}</span>\n <span class=\"font-thin text-md\">\u53EF\u7528\u65F6\u95F4: {{ item.startAt }} - {{ item.endAt }}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
66
|
+
}
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: BookingReturnRequestComponent, decorators: [{
|
|
68
|
+
type: Component,
|
|
69
|
+
args: [{ selector: 'rolatech-booking-return-request', imports: [MatCheckboxModule, FormsModule], template: "<div>\n <div class=\"flex justify-between items-center\">\n <div class=\"flex items-center gap-3\">\n <mat-checkbox [checked]=\"allComplete\" [indeterminate]=\"someComplete()\" (change)=\"setAll($event.checked)\"> </mat-checkbox>\n <div>\u5168\u9009</div>\n </div>\n <div>\u9000\u6B3E\u91D1\u989D: \u00A5{{ total.toFixed(2) }}</div>\n </div>\n @for (item of items(); track item) {\n <div class=\"flex flex-col\">\n <div class=\"hover:bg-[--rt-raised-background] cursor-pointer py-2\">\n <div class=\"flex justify-between items-center\">\n <div class=\"flex flex-row w-full\">\n <mat-checkbox [(ngModel)]=\"item.completed\" (ngModelChange)=\"updateAllComplete()\"> </mat-checkbox>\n <div class=\"w-2/5 sm:w-1/4 bg-[--rt-raised-background]\">\n @if (item.variant) {\n <img class=\"w-full h-full object-cover sm:aspect-video\" [src]=\"item.variant.classroom.media[0].url\" alt />\n }\n </div>\n <div class=\"w-3/5 sm:w-3/4 ml-3 flex flex-col py-1\">\n <span class=\"font-bold break-words line-clamp-2\">\u6559\u5BA4: {{ item.variant.classroom.name }}</span>\n <span class=\"font-thin text-md\">\u53EF\u7528\u65F6\u95F4: {{ item.startAt }} - {{ item.endAt }}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n</div>\n" }]
|
|
70
|
+
}] });
|
|
71
|
+
|
|
25
72
|
var ResourceStatus;
|
|
26
73
|
(function (ResourceStatus) {
|
|
27
74
|
ResourceStatus[ResourceStatus["DRAFT"] = '草稿'] = "DRAFT";
|
|
@@ -150,6 +197,7 @@ class PeriodItemComponent {
|
|
|
150
197
|
actions = input(false);
|
|
151
198
|
delete = output();
|
|
152
199
|
save = output();
|
|
200
|
+
output = output();
|
|
153
201
|
date = PeriodDate;
|
|
154
202
|
ngOnInit() {
|
|
155
203
|
// this.period.startTime = moment(this.period.startTime).format('HH:mm');
|
|
@@ -163,8 +211,11 @@ class PeriodItemComponent {
|
|
|
163
211
|
onDelete(period) {
|
|
164
212
|
this.delete.emit(period);
|
|
165
213
|
}
|
|
214
|
+
ngDoCheck() {
|
|
215
|
+
this.output.emit(this.period());
|
|
216
|
+
}
|
|
166
217
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: PeriodItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
167
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.2", type: PeriodItemComponent, isStandalone: true, selector: "rolatech-period-item", inputs: { period: { classPropertyName: "period", publicName: "period", isSignal: true, isRequired: true, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { period: "periodChange", delete: "delete", save: "save" }, providers: [
|
|
218
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.2", type: PeriodItemComponent, isStandalone: true, selector: "rolatech-period-item", inputs: { period: { classPropertyName: "period", publicName: "period", isSignal: true, isRequired: true, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { period: "periodChange", delete: "delete", save: "save", output: "output" }, providers: [
|
|
168
219
|
{
|
|
169
220
|
provide: DateAdapter,
|
|
170
221
|
useClass: MomentDateAdapter,
|
|
@@ -172,7 +223,7 @@ class PeriodItemComponent {
|
|
|
172
223
|
},
|
|
173
224
|
{ provide: MAT_DATE_FORMATS, useValue: MY_FORMATS$1 },
|
|
174
225
|
DatePipe,
|
|
175
|
-
], ngImport: i0, template: "<div class=\"flex flex-col\">\n <mat-form-field appearance=\"fill\">\n <mat-label> \u540D\u79F0 </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"period.name\" name=\"name\" required />\n </mat-form-field>\n <div class=\"flex flex-row gap-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label>\u5F00\u59CB\u65F6\u95F4</mat-label>\n <mat-select [(ngModel)]=\"period().startTime\" (selectionChange)=\"startTimeChanged($event)\" required readonly>\n @for (d of date; track d) {\n <mat-option [value]=\"d\">\n {{ d }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label>\u7ED3\u675F\u65F6\u95F4</mat-label>\n <mat-select [(ngModel)]=\"period().endTime\" (selectionChange)=\"endTimeChanged($event)\" required readonly>\n @for (d of date; track d) {\n <mat-option [value]=\"d\">\n {{ d }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n @if (actions()) {\n <div class=\"flex flex-row justify-end p-3 gap-3\">\n <button mat-button (click)=\"onDelete(period())\">\u5220\u9664</button>\n <button mat-flat-button (click)=\"onSave(period())\">\u4FDD\u5B58</button>\n </div>\n }\n</div>\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] });
|
|
226
|
+
], ngImport: i0, template: "<div class=\"flex flex-col\">\n <mat-form-field appearance=\"fill\">\n <mat-label> \u540D\u79F0 </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"period().name\" name=\"name\" required />\n </mat-form-field>\n <div class=\"flex flex-row gap-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label>\u5F00\u59CB\u65F6\u95F4</mat-label>\n <mat-select [(ngModel)]=\"period().startTime\" (selectionChange)=\"startTimeChanged($event)\" required readonly>\n @for (d of date; track d) {\n <mat-option [value]=\"d\">\n {{ d }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label>\u7ED3\u675F\u65F6\u95F4</mat-label>\n <mat-select [(ngModel)]=\"period().endTime\" (selectionChange)=\"endTimeChanged($event)\" required readonly>\n @for (d of date; track d) {\n <mat-option [value]=\"d\">\n {{ d }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n @if (actions()) {\n <div class=\"flex flex-row justify-end p-3 gap-3\">\n <button mat-button (click)=\"onDelete(period())\">\u5220\u9664</button>\n <button mat-flat-button (click)=\"onSave(period())\">\u4FDD\u5B58</button>\n </div>\n }\n</div>\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$1.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] });
|
|
176
227
|
}
|
|
177
228
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: PeriodItemComponent, decorators: [{
|
|
178
229
|
type: Component,
|
|
@@ -184,7 +235,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImpor
|
|
|
184
235
|
},
|
|
185
236
|
{ provide: MAT_DATE_FORMATS, useValue: MY_FORMATS$1 },
|
|
186
237
|
DatePipe,
|
|
187
|
-
], imports: [MatFormFieldModule, MatInputModule, FormsModule, MatSelectModule, MatOptionModule, MatButtonModule], template: "<div class=\"flex flex-col\">\n <mat-form-field appearance=\"fill\">\n <mat-label> \u540D\u79F0 </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"period.name\" name=\"name\" required />\n </mat-form-field>\n <div class=\"flex flex-row gap-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label>\u5F00\u59CB\u65F6\u95F4</mat-label>\n <mat-select [(ngModel)]=\"period().startTime\" (selectionChange)=\"startTimeChanged($event)\" required readonly>\n @for (d of date; track d) {\n <mat-option [value]=\"d\">\n {{ d }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label>\u7ED3\u675F\u65F6\u95F4</mat-label>\n <mat-select [(ngModel)]=\"period().endTime\" (selectionChange)=\"endTimeChanged($event)\" required readonly>\n @for (d of date; track d) {\n <mat-option [value]=\"d\">\n {{ d }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n @if (actions()) {\n <div class=\"flex flex-row justify-end p-3 gap-3\">\n <button mat-button (click)=\"onDelete(period())\">\u5220\u9664</button>\n <button mat-flat-button (click)=\"onSave(period())\">\u4FDD\u5B58</button>\n </div>\n }\n</div>\n", styles: ["mat-form-field{width:100%}\n"] }]
|
|
238
|
+
], imports: [MatFormFieldModule, MatInputModule, FormsModule, MatSelectModule, MatOptionModule, MatButtonModule], template: "<div class=\"flex flex-col\">\n <mat-form-field appearance=\"fill\">\n <mat-label> \u540D\u79F0 </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"period().name\" name=\"name\" required />\n </mat-form-field>\n <div class=\"flex flex-row gap-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label>\u5F00\u59CB\u65F6\u95F4</mat-label>\n <mat-select [(ngModel)]=\"period().startTime\" (selectionChange)=\"startTimeChanged($event)\" required readonly>\n @for (d of date; track d) {\n <mat-option [value]=\"d\">\n {{ d }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label>\u7ED3\u675F\u65F6\u95F4</mat-label>\n <mat-select [(ngModel)]=\"period().endTime\" (selectionChange)=\"endTimeChanged($event)\" required readonly>\n @for (d of date; track d) {\n <mat-option [value]=\"d\">\n {{ d }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n @if (actions()) {\n <div class=\"flex flex-row justify-end p-3 gap-3\">\n <button mat-button (click)=\"onDelete(period())\">\u5220\u9664</button>\n <button mat-flat-button (click)=\"onSave(period())\">\u4FDD\u5B58</button>\n </div>\n }\n</div>\n", styles: ["mat-form-field{width:100%}\n"] }]
|
|
188
239
|
}] });
|
|
189
240
|
|
|
190
241
|
const MY_FORMATS = {
|
|
@@ -204,6 +255,7 @@ class SessionItemComponent {
|
|
|
204
255
|
delete = output();
|
|
205
256
|
save = output();
|
|
206
257
|
date = PeriodDate;
|
|
258
|
+
output = output();
|
|
207
259
|
ngOnInit() {
|
|
208
260
|
this.session().startDate = moment(this.session().startDate).format('YYYY-MM-DD');
|
|
209
261
|
this.session().endDate = moment(this.session().endDate).format('YYYY-MM-DD');
|
|
@@ -214,8 +266,11 @@ class SessionItemComponent {
|
|
|
214
266
|
onDelete(session) {
|
|
215
267
|
this.delete.emit(session);
|
|
216
268
|
}
|
|
269
|
+
ngDoCheck() {
|
|
270
|
+
this.output.emit(this.session());
|
|
271
|
+
}
|
|
217
272
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: SessionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
218
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.2", type: SessionItemComponent, isStandalone: true, selector: "rolatech-session-item", inputs: { session: { classPropertyName: "session", publicName: "session", isSignal: true, isRequired: true, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { session: "sessionChange", delete: "delete", save: "save" }, providers: [
|
|
273
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.2", type: SessionItemComponent, isStandalone: true, selector: "rolatech-session-item", inputs: { session: { classPropertyName: "session", publicName: "session", isSignal: true, isRequired: true, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { session: "sessionChange", delete: "delete", save: "save", output: "output" }, providers: [
|
|
219
274
|
{
|
|
220
275
|
provide: DateAdapter,
|
|
221
276
|
useClass: MomentDateAdapter,
|
|
@@ -223,7 +278,7 @@ class SessionItemComponent {
|
|
|
223
278
|
},
|
|
224
279
|
{ provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },
|
|
225
280
|
DatePipe,
|
|
226
|
-
], ngImport: i0, template: "<div class=\"flex flex-col\">\n <mat-form-field appearance=\"fill\">\n <mat-label> \u540D\u79F0 </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"session.name\" name=\"name\" required />\n </mat-form-field>\n <div class=\"flex flex-row gap-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label>\u5F00\u59CB\u65E5\u671F</mat-label>\n <input\n matInput\n [matDatepicker]=\"picker\"\n (focus)=\"picker.open()\"\n name=\"startAt\"\n [(ngModel)]=\"session().startDate\"\n (dateInput)=\"session().startDate = $event.value.format('YYYY-MM-DD')\"\n readonly\n required\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label>\u7ED3\u675F\u65E5\u671F</mat-label>\n <input\n matInput\n [matDatepicker]=\"picker2\"\n name=\"endAt\"\n (focus)=\"picker2.open()\"\n [(ngModel)]=\"session().endDate\"\n (dateInput)=\"session().endDate = $event.value.format('YYYY-MM-DD')\"\n readonly\n required\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"picker2\"></mat-datepicker-toggle>\n <mat-datepicker #picker2></mat-datepicker>\n </mat-form-field>\n </div>\n @if (actions()) {\n <div class=\"flex flex-row justify-end p-3 gap-3\">\n <button mat-button (click)=\"onDelete(session())\">\u5220\u9664</button>\n <button mat-flat-button (click)=\"onSave(session())\">\u4FDD\u5B58</button>\n </div>\n }\n</div>\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i4$1.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i4$1.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i4$1.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] });
|
|
281
|
+
], ngImport: i0, template: "<div class=\"flex flex-col\">\n <mat-form-field appearance=\"fill\">\n <mat-label> \u540D\u79F0 </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"session().name\" name=\"name\" required />\n </mat-form-field>\n <div class=\"flex flex-row gap-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label>\u5F00\u59CB\u65E5\u671F</mat-label>\n <input\n matInput\n [matDatepicker]=\"picker\"\n (focus)=\"picker.open()\"\n name=\"startAt\"\n [(ngModel)]=\"session().startDate\"\n (dateInput)=\"session().startDate = $event.value.format('YYYY-MM-DD')\"\n readonly\n required\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label>\u7ED3\u675F\u65E5\u671F</mat-label>\n <input\n matInput\n [matDatepicker]=\"picker2\"\n name=\"endAt\"\n (focus)=\"picker2.open()\"\n [(ngModel)]=\"session().endDate\"\n (dateInput)=\"session().endDate = $event.value.format('YYYY-MM-DD')\"\n readonly\n required\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"picker2\"></mat-datepicker-toggle>\n <mat-datepicker #picker2></mat-datepicker>\n </mat-form-field>\n </div>\n @if (actions()) {\n <div class=\"flex flex-row justify-end p-3 gap-3\">\n <button mat-button (click)=\"onDelete(session())\">\u5220\u9664</button>\n <button mat-flat-button (click)=\"onSave(session())\">\u4FDD\u5B58</button>\n </div>\n }\n</div>\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i4$1.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i4$1.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i4$1.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] });
|
|
227
282
|
}
|
|
228
283
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: SessionItemComponent, decorators: [{
|
|
229
284
|
type: Component,
|
|
@@ -235,7 +290,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImpor
|
|
|
235
290
|
},
|
|
236
291
|
{ provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },
|
|
237
292
|
DatePipe,
|
|
238
|
-
], imports: [MatFormFieldModule, MatInputModule, FormsModule, MatDatepickerModule, MatButtonModule], template: "<div class=\"flex flex-col\">\n <mat-form-field appearance=\"fill\">\n <mat-label> \u540D\u79F0 </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"session.name\" name=\"name\" required />\n </mat-form-field>\n <div class=\"flex flex-row gap-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label>\u5F00\u59CB\u65E5\u671F</mat-label>\n <input\n matInput\n [matDatepicker]=\"picker\"\n (focus)=\"picker.open()\"\n name=\"startAt\"\n [(ngModel)]=\"session().startDate\"\n (dateInput)=\"session().startDate = $event.value.format('YYYY-MM-DD')\"\n readonly\n required\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label>\u7ED3\u675F\u65E5\u671F</mat-label>\n <input\n matInput\n [matDatepicker]=\"picker2\"\n name=\"endAt\"\n (focus)=\"picker2.open()\"\n [(ngModel)]=\"session().endDate\"\n (dateInput)=\"session().endDate = $event.value.format('YYYY-MM-DD')\"\n readonly\n required\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"picker2\"></mat-datepicker-toggle>\n <mat-datepicker #picker2></mat-datepicker>\n </mat-form-field>\n </div>\n @if (actions()) {\n <div class=\"flex flex-row justify-end p-3 gap-3\">\n <button mat-button (click)=\"onDelete(session())\">\u5220\u9664</button>\n <button mat-flat-button (click)=\"onSave(session())\">\u4FDD\u5B58</button>\n </div>\n }\n</div>\n", styles: ["mat-form-field{width:100%}\n"] }]
|
|
293
|
+
], imports: [MatFormFieldModule, MatInputModule, FormsModule, MatDatepickerModule, MatButtonModule], template: "<div class=\"flex flex-col\">\n <mat-form-field appearance=\"fill\">\n <mat-label> \u540D\u79F0 </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"session().name\" name=\"name\" required />\n </mat-form-field>\n <div class=\"flex flex-row gap-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label>\u5F00\u59CB\u65E5\u671F</mat-label>\n <input\n matInput\n [matDatepicker]=\"picker\"\n (focus)=\"picker.open()\"\n name=\"startAt\"\n [(ngModel)]=\"session().startDate\"\n (dateInput)=\"session().startDate = $event.value.format('YYYY-MM-DD')\"\n readonly\n required\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label>\u7ED3\u675F\u65E5\u671F</mat-label>\n <input\n matInput\n [matDatepicker]=\"picker2\"\n name=\"endAt\"\n (focus)=\"picker2.open()\"\n [(ngModel)]=\"session().endDate\"\n (dateInput)=\"session().endDate = $event.value.format('YYYY-MM-DD')\"\n readonly\n required\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"picker2\"></mat-datepicker-toggle>\n <mat-datepicker #picker2></mat-datepicker>\n </mat-form-field>\n </div>\n @if (actions()) {\n <div class=\"flex flex-row justify-end p-3 gap-3\">\n <button mat-button (click)=\"onDelete(session())\">\u5220\u9664</button>\n <button mat-flat-button (click)=\"onSave(session())\">\u4FDD\u5B58</button>\n </div>\n }\n</div>\n", styles: ["mat-form-field{width:100%}\n"] }]
|
|
239
294
|
}] });
|
|
240
295
|
|
|
241
296
|
var BookingStatus;
|
|
@@ -286,7 +341,7 @@ class BookingItemComponent {
|
|
|
286
341
|
booking = input.required();
|
|
287
342
|
status = BookingStatus;
|
|
288
343
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: BookingItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
289
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.2", type: BookingItemComponent, isStandalone: true, selector: "rolatech-booking-item", inputs: { booking: { classPropertyName: "booking", publicName: "booking", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex flex-col p-3 hover:bg-[--rt-raised-background] cursor-pointer\">\n <div class=\"flex justify-between w-full\">\n <span>\u9884\u8BA2\u53F7: {{ booking().bookingNo }}</span>\n <span class=\"font-medium text-sm\">{{ status[booking().status] }}</span>\n </div>\n @if (booking().product) {\n <div class=\"flex items-center justify-between\">\n <div>\n <span class=\"font-bold break-words line-clamp-2\">\u5546\u54C1: {{ booking().product.name }}</span>\n @if (booking().items) {\n <span class=\"font-bold break-words line-clamp-2\">\u6559\u5BA4: {{ booking().items[0].variant.classroom.name }}</span>\n }\n <span class=\"mt-2 text-md\">\u91D1\u989D: \u00A5{{ booking().total / 100 }}</span>\n </div>\n <div class=\"pl-2\">\n <mat-icon>navigate_next</mat-icon>\n </div>\n </div>\n }\n</div>\n<hr />\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$
|
|
344
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.2", type: BookingItemComponent, isStandalone: true, selector: "rolatech-booking-item", inputs: { booking: { classPropertyName: "booking", publicName: "booking", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex flex-col p-3 hover:bg-[--rt-raised-background] cursor-pointer\">\n <div class=\"flex justify-between w-full\">\n <span>\u9884\u8BA2\u53F7: {{ booking().bookingNo }}</span>\n <span class=\"font-medium text-sm\">{{ status[booking().status] }}</span>\n </div>\n @if (booking().product) {\n <div class=\"flex items-center justify-between\">\n <div>\n <span class=\"font-bold break-words line-clamp-2\">\u5546\u54C1: {{ booking().product.name }}</span>\n @if (booking().items) {\n <span class=\"font-bold break-words line-clamp-2\">\u6559\u5BA4: {{ booking().items[0].variant.classroom.name }}</span>\n }\n <span class=\"mt-2 text-md\">\u91D1\u989D: \u00A5{{ booking().total / 100 }}</span>\n </div>\n <div class=\"pl-2\">\n <mat-icon>navigate_next</mat-icon>\n </div>\n </div>\n }\n</div>\n<hr />\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
290
345
|
}
|
|
291
346
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: BookingItemComponent, decorators: [{
|
|
292
347
|
type: Component,
|
|
@@ -297,5 +352,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImpor
|
|
|
297
352
|
* Generated bundle index. Do not edit.
|
|
298
353
|
*/
|
|
299
354
|
|
|
300
|
-
export { BookingItemComponent, BookingItemStatus, BookingReturnStatus, BookingStatus, BookingTimelineStatus, PeriodDate, PeriodItemComponent, ResourceStatus, ResourceType, SessionItemComponent, bookingRoutes };
|
|
355
|
+
export { BookingItemComponent, BookingItemStatus, BookingReturnItemComponent, BookingReturnRequestComponent, BookingReturnStatus, BookingStatus, BookingTimelineStatus, PeriodDate, PeriodItemComponent, ResourceStatus, ResourceType, SessionItemComponent, bookingRoutes };
|
|
301
356
|
//# sourceMappingURL=rolatech-angular-booking.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rolatech-angular-booking.mjs","sources":["../../../../packages/angular-booking/src/lib/pages/booking.routes.ts","../../../../packages/angular-booking/src/lib/interfaces/resource.ts","../../../../packages/angular-booking/src/lib/components/period-item/period-item.component.ts","../../../../packages/angular-booking/src/lib/components/period-item/period-item.component.html","../../../../packages/angular-booking/src/lib/components/session-item/session-item.component.ts","../../../../packages/angular-booking/src/lib/components/session-item/session-item.component.html","../../../../packages/angular-booking/src/lib/interfaces/booking.ts","../../../../packages/angular-booking/src/lib/components/booking-item/booking-item.component.ts","../../../../packages/angular-booking/src/lib/components/booking-item/booking-item.component.html","../../../../packages/angular-booking/src/rolatech-angular-booking.ts"],"sourcesContent":["export const bookingRoutes = [];\n","import { Booking } from './booking';\nimport { Category } from './category';\nimport { Facility } from './facility';\nimport { Media } from './media';\n\nexport interface Resource {\n id: string;\n createdAt: string;\n updatedAt: string;\n name: number;\n description: string;\n status: ResourceStatus;\n type: ResourceType;\n price: number;\n partnerId: string;\n location?: ResourceLocation;\n bookings: Booking[];\n sessions: ResourceSession[];\n media: Media[];\n categories: Category[];\n details: ResourceDetail[];\n facilities?: Facility[];\n periods: any;\n}\nexport enum ResourceStatus {\n DRAFT = <any>'草稿',\n AWAITING = <any>'审核中',\n PENDING = <any>'审核中',\n ACTIVE = <any>'已发布',\n ACCEPTED = <any>'已通过',\n DELETED = <any>'已删除',\n}\nexport enum ResourceType {\n CLASSROOM = <any>'教室',\n}\nexport interface ResourceSession {\n id?: string;\n name: string;\n startDate: string;\n endDate: string;\n}\nexport interface ResourcePeriod {\n id?: string;\n name: string;\n startTime: string;\n endTime: string;\n}\nexport interface ResourceRate {\n userId: string;\n rate: number;\n}\nexport interface ResourceLocation {\n id: string;\n name: string;\n contact: string;\n phone: string;\n province: string;\n city: string;\n county: string;\n town: string;\n address: string;\n detail: string;\n latitude: string;\n longitude: string;\n}\nexport interface ResourceDetail {\n id: string;\n title: string;\n description: string;\n content: string;\n media: Media[];\n isUploading?: boolean;\n}\nexport interface ResourceClassroom {\n id: string;\n name: string;\n capacity: number;\n area: number;\n contact: string;\n phone: string;\n notes: string;\n facilities?: Facility[];\n media: Media[];\n productId?: string;\n isUploading?: boolean;\n}\nexport const PeriodDate = [\n '00:00',\n '00:15',\n '00:30',\n '00:45',\n\n '01:00',\n '01:15',\n '01:30',\n '01:45',\n\n '02:00',\n '02:15',\n '02:30',\n '02:45',\n '03:00',\n '03:15',\n '03:30',\n '03:45',\n\n '04:00',\n '04:15',\n '04:30',\n '04:45',\n '05:00',\n '05:15',\n '05:30',\n '05:45',\n\n '06:00',\n '06:15',\n '06:30',\n '06:45',\n '07:00',\n '07:15',\n '07:30',\n '07:45',\n\n '08:00',\n '08:15',\n '08:30',\n '08:45',\n '09:00',\n '09:15',\n '09:30',\n '09:45',\n\n '10:00',\n '10:15',\n '10:30',\n '10:45',\n '11:00',\n '11:15',\n '11:30',\n '11:45',\n\n '12:00',\n '12:15',\n '12:30',\n '12:45',\n '13:00',\n '13:15',\n '13:30',\n '13:45',\n\n '14:00',\n '14:15',\n '14:30',\n '14:45',\n '15:00',\n '15:15',\n '15:30',\n '15:45',\n\n '16:00',\n '16:15',\n '16:30',\n '16:45',\n '17:00',\n '17:15',\n '17:30',\n '17:45',\n\n '18:00',\n '18:15',\n '18:30',\n '18:45',\n '19:00',\n '19:15',\n '19:30',\n '19:45',\n\n '20:00',\n '20:15',\n '20:30',\n '20:45',\n '21:00',\n '21:15',\n '21:30',\n '21:45',\n\n '22:00',\n '22:15',\n '22:30',\n '22:45',\n '23:00',\n '23:15',\n '23:30',\n '23:45',\n];\n","import { DatePipe } from '@angular/common';\nimport { Component, OnInit, input, model, output } from '@angular/core';\nimport { MomentDateAdapter } from '@angular/material-moment-adapter';\nimport { DateAdapter, MAT_DATE_LOCALE, MAT_DATE_FORMATS, MatOptionModule } from '@angular/material/core';\nimport moment from 'moment';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatSelectModule } from '@angular/material/select';\nimport { FormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { ResourcePeriod, PeriodDate } from '../../interfaces/resource';\nexport const MY_FORMATS = {\n parse: {\n dateInput: 'YYYY-MM-DD',\n },\n display: {\n dateInput: 'YYYY-MM-DD',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'YYYY-MM-DD',\n monthYearA11yLabel: 'MMMM YYYY',\n },\n};\n@Component({\n selector: 'rolatech-period-item',\n templateUrl: './period-item.component.html',\n styleUrls: ['./period-item.component.scss'],\n providers: [\n {\n provide: DateAdapter,\n useClass: MomentDateAdapter,\n deps: [MAT_DATE_LOCALE],\n },\n { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },\n DatePipe,\n ],\n imports: [MatFormFieldModule, MatInputModule, FormsModule, MatSelectModule, MatOptionModule, MatButtonModule],\n})\nexport class PeriodItemComponent implements OnInit {\n period = model.required<ResourcePeriod>();\n actions = input<boolean>(false);\n delete = output<ResourcePeriod>();\n save = output<ResourcePeriod>();\n\n date = PeriodDate;\n\n ngOnInit(): void {\n // this.period.startTime = moment(this.period.startTime).format('HH:mm');\n // this.period.endTime = moment(this.period.endTime).format('HH:mm');\n }\n startTimeChanged(event: any) {}\n endTimeChanged(event: any) {}\n\n onSave(period: ResourcePeriod) {\n this.save.emit(period);\n }\n onDelete(period: ResourcePeriod) {\n this.delete.emit(period);\n }\n}\n","<div class=\"flex flex-col\">\n <mat-form-field appearance=\"fill\">\n <mat-label> 名称 </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"period.name\" name=\"name\" required />\n </mat-form-field>\n <div class=\"flex flex-row gap-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label>开始时间</mat-label>\n <mat-select [(ngModel)]=\"period().startTime\" (selectionChange)=\"startTimeChanged($event)\" required readonly>\n @for (d of date; track d) {\n <mat-option [value]=\"d\">\n {{ d }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label>结束时间</mat-label>\n <mat-select [(ngModel)]=\"period().endTime\" (selectionChange)=\"endTimeChanged($event)\" required readonly>\n @for (d of date; track d) {\n <mat-option [value]=\"d\">\n {{ d }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n @if (actions()) {\n <div class=\"flex flex-row justify-end p-3 gap-3\">\n <button mat-button (click)=\"onDelete(period())\">删除</button>\n <button mat-flat-button (click)=\"onSave(period())\">保存</button>\n </div>\n }\n</div>\n","import { Component, OnInit, input, model, output } from '@angular/core';\nimport moment from 'moment';\nimport { DatePipe } from '@angular/common';\nimport { MomentDateAdapter } from '@angular/material-moment-adapter';\nimport { DateAdapter, MAT_DATE_LOCALE, MAT_DATE_FORMATS } from '@angular/material/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { FormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { PeriodDate, ResourceSession } from '../../interfaces/resource';\nexport const MY_FORMATS = {\n parse: {\n dateInput: 'YYYY-MM-DD',\n },\n display: {\n dateInput: 'YYYY-MM-DD',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'YYYY-MM-DD',\n monthYearA11yLabel: 'MMMM YYYY',\n },\n};\n\n@Component({\n selector: 'rolatech-session-item',\n templateUrl: './session-item.component.html',\n styleUrls: ['./session-item.component.scss'],\n providers: [\n {\n provide: DateAdapter,\n useClass: MomentDateAdapter,\n deps: [MAT_DATE_LOCALE],\n },\n { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },\n DatePipe,\n ],\n imports: [MatFormFieldModule, MatInputModule, FormsModule, MatDatepickerModule, MatButtonModule],\n})\nexport class SessionItemComponent implements OnInit {\n session = model.required<ResourceSession>();\n actions = input<boolean>(false);\n delete = output<ResourceSession>();\n save = output<ResourceSession>();\n date = PeriodDate;\n\n ngOnInit(): void {\n this.session().startDate = moment(this.session().startDate).format('YYYY-MM-DD');\n this.session().endDate = moment(this.session().endDate).format('YYYY-MM-DD');\n }\n onSave(session: ResourceSession) {\n this.save.emit(session);\n }\n onDelete(session: ResourceSession) {\n this.delete.emit(session);\n }\n}\n","<div class=\"flex flex-col\">\n <mat-form-field appearance=\"fill\">\n <mat-label> 名称 </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"session.name\" name=\"name\" required />\n </mat-form-field>\n <div class=\"flex flex-row gap-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label>开始日期</mat-label>\n <input\n matInput\n [matDatepicker]=\"picker\"\n (focus)=\"picker.open()\"\n name=\"startAt\"\n [(ngModel)]=\"session().startDate\"\n (dateInput)=\"session().startDate = $event.value.format('YYYY-MM-DD')\"\n readonly\n required\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label>结束日期</mat-label>\n <input\n matInput\n [matDatepicker]=\"picker2\"\n name=\"endAt\"\n (focus)=\"picker2.open()\"\n [(ngModel)]=\"session().endDate\"\n (dateInput)=\"session().endDate = $event.value.format('YYYY-MM-DD')\"\n readonly\n required\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"picker2\"></mat-datepicker-toggle>\n <mat-datepicker #picker2></mat-datepicker>\n </mat-form-field>\n </div>\n @if (actions()) {\n <div class=\"flex flex-row justify-end p-3 gap-3\">\n <button mat-button (click)=\"onDelete(session())\">删除</button>\n <button mat-flat-button (click)=\"onSave(session())\">保存</button>\n </div>\n }\n</div>\n","import { Resource, ResourceType } from './resource';\nimport { ResourceVariant } from './resource-variant';\n\nexport interface Booking {\n id?: string;\n createdAt: string;\n bookingNo?: string;\n total: number;\n status: BookingStatus | string;\n userId: string;\n partnerId: string;\n notes: string;\n type: ResourceType;\n items: BookingItem[];\n product: Resource;\n}\nexport enum BookingStatus {\n CREATED = <any>'待付款',\n PAID = <any>'已支付',\n COMPLETED = <any>'已完成',\n CLOSED = <any>'交易关闭',\n CANCELED = <any>'交易取消',\n REFUNDED = <any>'已退款',\n}\nexport enum BookingReturnStatus {\n CREATED = <any>'等待审核',\n CANCELED = <any>'用户取消',\n APPROVED = <any>'已通过',\n REJECTED = <any>'已拒绝',\n PROCESSING = <any>'平台处理中',\n RETURNED = <any>'已退款',\n}\n\nexport interface BookingItem {\n total: number;\n variant: ResourceVariant;\n startAt: string;\n endAt: string;\n status: BookingItemStatus;\n}\nexport enum BookingItemStatus {\n CREATED = <any>'创建',\n CANCELED = <any>'已取消',\n CLOSED = <any>'已关闭',\n RETURN_REQUESTED = <any>'等待审核',\n RETURN_APPROVED = <any>'商家同意退款',\n RETURN_REJECTED = <any>'商家拒绝退款',\n RETURN_PROCESSING = <any>'退款处理中',\n REFUNDED = <any>'已退款',\n}\nexport enum BookingTimelineStatus {\n BOOKING_CREATE = <any>'交易创建',\n BOOKING_CLOSED = <any>'交易关闭',\n BOOKING_CANCELED = <any>'交易取消',\n BOOKING_PAID = <any>'订单已支付',\n BOOKING_REFUNDED = <any>'订单已退款',\n BOOKING_COMPLETED = <any>'订单已完成',\n BOOKING_RETURN_REQUESTED = <any>'退款申请',\n BOOKING_RETURN_APPROVED = <any>'商家同意退款',\n BOOKING_RETURN_REJECTED = <any>'商家拒绝退款',\n BOOKING_RETURN_PROCESSING = <any>'退款处理中',\n BOOKING_RETURN_REFUNDED = <any>'退款处理完成,已入账',\n}\n","import { Component, input } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { Booking, BookingStatus } from '../../interfaces/booking';\n\n@Component({\n selector: 'rolatech-booking-item',\n imports: [MatIconModule],\n templateUrl: './booking-item.component.html',\n styleUrl: './booking-item.component.scss',\n})\nexport class BookingItemComponent {\n booking = input.required<Booking>();\n status: any = BookingStatus;\n}\n","<div class=\"flex flex-col p-3 hover:bg-[--rt-raised-background] cursor-pointer\">\n <div class=\"flex justify-between w-full\">\n <span>预订号: {{ booking().bookingNo }}</span>\n <span class=\"font-medium text-sm\">{{ status[booking().status] }}</span>\n </div>\n @if (booking().product) {\n <div class=\"flex items-center justify-between\">\n <div>\n <span class=\"font-bold break-words line-clamp-2\">商品: {{ booking().product.name }}</span>\n @if (booking().items) {\n <span class=\"font-bold break-words line-clamp-2\">教室: {{ booking().items[0].variant.classroom.name }}</span>\n }\n <span class=\"mt-2 text-md\">金额: ¥{{ booking().total / 100 }}</span>\n </div>\n <div class=\"pl-2\">\n <mat-icon>navigate_next</mat-icon>\n </div>\n </div>\n }\n</div>\n<hr />\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["MY_FORMATS","i4","i5","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rolatech-angular-booking.mjs","sources":["../../../../packages/angular-booking/src/lib/pages/booking.routes.ts","../../../../packages/angular-booking/src/lib/components/booking-return-item/booking-return-item.component.ts","../../../../packages/angular-booking/src/lib/components/booking-return-item/booking-return-item.component.html","../../../../packages/angular-booking/src/lib/components/booking-return-request/booking-return-request.component.ts","../../../../packages/angular-booking/src/lib/components/booking-return-request/booking-return-request.component.html","../../../../packages/angular-booking/src/lib/interfaces/resource.ts","../../../../packages/angular-booking/src/lib/components/period-item/period-item.component.ts","../../../../packages/angular-booking/src/lib/components/period-item/period-item.component.html","../../../../packages/angular-booking/src/lib/components/session-item/session-item.component.ts","../../../../packages/angular-booking/src/lib/components/session-item/session-item.component.html","../../../../packages/angular-booking/src/lib/interfaces/booking.ts","../../../../packages/angular-booking/src/lib/components/booking-item/booking-item.component.ts","../../../../packages/angular-booking/src/lib/components/booking-item/booking-item.component.html","../../../../packages/angular-booking/src/rolatech-angular-booking.ts"],"sourcesContent":["export const bookingRoutes = [];\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-booking-return-item',\n imports: [CommonModule],\n templateUrl: './booking-return-item.component.html',\n styleUrl: './booking-return-item.component.scss',\n})\nexport class BookingReturnItemComponent {}\n","<p>booking-return-item works!</p>\n","import { Component, DoCheck, input, output } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { map } from 'lodash';\n\n@Component({\n selector: 'rolatech-booking-return-request',\n imports: [MatCheckboxModule, FormsModule],\n templateUrl: './booking-return-request.component.html',\n styleUrl: './booking-return-request.component.scss',\n})\nexport class BookingReturnRequestComponent implements DoCheck {\n items = input.required<any>();\n allComplete = false;\n total = 0;\n selectedItems: any;\n output = output<any>();\n\n updateAllComplete() {\n this.allComplete = this.items() != null && this.items().every((t: any) => t.completed);\n }\n someComplete(): boolean {\n if (this.items() == null) {\n return false;\n }\n return this.items().filter((t: any) => t.completed).length > 0 && !this.allComplete;\n }\n\n setAll(completed: boolean) {\n this.allComplete = completed;\n if (this.items() == null) {\n return;\n }\n this.items().forEach((t: any) => (t.completed = completed));\n }\n\n ngDoCheck(): void {\n const filterItems = this.items().filter((item: any) => item.completed);\n const items = map(filterItems, 'id');\n this.output.emit(items);\n }\n}\n","<div>\n <div class=\"flex justify-between items-center\">\n <div class=\"flex items-center gap-3\">\n <mat-checkbox [checked]=\"allComplete\" [indeterminate]=\"someComplete()\" (change)=\"setAll($event.checked)\"> </mat-checkbox>\n <div>全选</div>\n </div>\n <div>退款金额: ¥{{ total.toFixed(2) }}</div>\n </div>\n @for (item of items(); track item) {\n <div class=\"flex flex-col\">\n <div class=\"hover:bg-[--rt-raised-background] cursor-pointer py-2\">\n <div class=\"flex justify-between items-center\">\n <div class=\"flex flex-row w-full\">\n <mat-checkbox [(ngModel)]=\"item.completed\" (ngModelChange)=\"updateAllComplete()\"> </mat-checkbox>\n <div class=\"w-2/5 sm:w-1/4 bg-[--rt-raised-background]\">\n @if (item.variant) {\n <img class=\"w-full h-full object-cover sm:aspect-video\" [src]=\"item.variant.classroom.media[0].url\" alt />\n }\n </div>\n <div class=\"w-3/5 sm:w-3/4 ml-3 flex flex-col py-1\">\n <span class=\"font-bold break-words line-clamp-2\">教室: {{ item.variant.classroom.name }}</span>\n <span class=\"font-thin text-md\">可用时间: {{ item.startAt }} - {{ item.endAt }}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n</div>\n","import { Booking } from './booking';\nimport { Category } from './category';\nimport { Facility } from './facility';\nimport { Media } from './media';\n\nexport interface Resource {\n id: string;\n createdAt: string;\n updatedAt: string;\n name: number;\n description: string;\n status: ResourceStatus;\n type: ResourceType;\n price: number;\n partnerId: string;\n location?: ResourceLocation;\n bookings: Booking[];\n sessions: ResourceSession[];\n media: Media[];\n categories: Category[];\n details: ResourceDetail[];\n facilities?: Facility[];\n periods: any;\n}\nexport enum ResourceStatus {\n DRAFT = <any>'草稿',\n AWAITING = <any>'审核中',\n PENDING = <any>'审核中',\n ACTIVE = <any>'已发布',\n ACCEPTED = <any>'已通过',\n DELETED = <any>'已删除',\n}\nexport enum ResourceType {\n CLASSROOM = <any>'教室',\n}\nexport interface ResourceSession {\n id?: string;\n name: string;\n startDate: string;\n endDate: string;\n}\nexport interface ResourcePeriod {\n id?: string;\n name: string;\n startTime: string;\n endTime: string;\n}\nexport interface ResourceRate {\n userId: string;\n rate: number;\n}\nexport interface ResourceLocation {\n id: string;\n name: string;\n contact: string;\n phone: string;\n province: string;\n city: string;\n county: string;\n town: string;\n address: string;\n detail: string;\n latitude: string;\n longitude: string;\n}\nexport interface ResourceDetail {\n id: string;\n title: string;\n description: string;\n content: string;\n media: Media[];\n isUploading?: boolean;\n}\nexport interface ResourceClassroom {\n id: string;\n name: string;\n capacity: number;\n area: number;\n contact: string;\n phone: string;\n notes: string;\n facilities?: Facility[];\n media: Media[];\n productId?: string;\n isUploading?: boolean;\n}\nexport const PeriodDate = [\n '00:00',\n '00:15',\n '00:30',\n '00:45',\n\n '01:00',\n '01:15',\n '01:30',\n '01:45',\n\n '02:00',\n '02:15',\n '02:30',\n '02:45',\n '03:00',\n '03:15',\n '03:30',\n '03:45',\n\n '04:00',\n '04:15',\n '04:30',\n '04:45',\n '05:00',\n '05:15',\n '05:30',\n '05:45',\n\n '06:00',\n '06:15',\n '06:30',\n '06:45',\n '07:00',\n '07:15',\n '07:30',\n '07:45',\n\n '08:00',\n '08:15',\n '08:30',\n '08:45',\n '09:00',\n '09:15',\n '09:30',\n '09:45',\n\n '10:00',\n '10:15',\n '10:30',\n '10:45',\n '11:00',\n '11:15',\n '11:30',\n '11:45',\n\n '12:00',\n '12:15',\n '12:30',\n '12:45',\n '13:00',\n '13:15',\n '13:30',\n '13:45',\n\n '14:00',\n '14:15',\n '14:30',\n '14:45',\n '15:00',\n '15:15',\n '15:30',\n '15:45',\n\n '16:00',\n '16:15',\n '16:30',\n '16:45',\n '17:00',\n '17:15',\n '17:30',\n '17:45',\n\n '18:00',\n '18:15',\n '18:30',\n '18:45',\n '19:00',\n '19:15',\n '19:30',\n '19:45',\n\n '20:00',\n '20:15',\n '20:30',\n '20:45',\n '21:00',\n '21:15',\n '21:30',\n '21:45',\n\n '22:00',\n '22:15',\n '22:30',\n '22:45',\n '23:00',\n '23:15',\n '23:30',\n '23:45',\n];\n","import { DatePipe } from '@angular/common';\nimport { Component, DoCheck, OnInit, input, model, output } from '@angular/core';\nimport { MomentDateAdapter } from '@angular/material-moment-adapter';\nimport { DateAdapter, MAT_DATE_LOCALE, MAT_DATE_FORMATS, MatOptionModule } from '@angular/material/core';\nimport moment from 'moment';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatSelectModule } from '@angular/material/select';\nimport { FormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { ResourcePeriod, PeriodDate } from '../../interfaces/resource';\nexport const MY_FORMATS = {\n parse: {\n dateInput: 'YYYY-MM-DD',\n },\n display: {\n dateInput: 'YYYY-MM-DD',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'YYYY-MM-DD',\n monthYearA11yLabel: 'MMMM YYYY',\n },\n};\n@Component({\n selector: 'rolatech-period-item',\n templateUrl: './period-item.component.html',\n styleUrls: ['./period-item.component.scss'],\n providers: [\n {\n provide: DateAdapter,\n useClass: MomentDateAdapter,\n deps: [MAT_DATE_LOCALE],\n },\n { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },\n DatePipe,\n ],\n imports: [MatFormFieldModule, MatInputModule, FormsModule, MatSelectModule, MatOptionModule, MatButtonModule],\n})\nexport class PeriodItemComponent implements OnInit, DoCheck {\n period = model.required<ResourcePeriod>();\n actions = input<boolean>(false);\n delete = output<ResourcePeriod>();\n save = output<ResourcePeriod>();\n output = output<any>();\n date = PeriodDate;\n\n ngOnInit(): void {\n // this.period.startTime = moment(this.period.startTime).format('HH:mm');\n // this.period.endTime = moment(this.period.endTime).format('HH:mm');\n }\n startTimeChanged(event: any) {}\n endTimeChanged(event: any) {}\n\n onSave(period: ResourcePeriod) {\n this.save.emit(period);\n }\n onDelete(period: ResourcePeriod) {\n this.delete.emit(period);\n }\n ngDoCheck(): void {\n this.output.emit(this.period());\n }\n}\n","<div class=\"flex flex-col\">\n <mat-form-field appearance=\"fill\">\n <mat-label> 名称 </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"period().name\" name=\"name\" required />\n </mat-form-field>\n <div class=\"flex flex-row gap-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label>开始时间</mat-label>\n <mat-select [(ngModel)]=\"period().startTime\" (selectionChange)=\"startTimeChanged($event)\" required readonly>\n @for (d of date; track d) {\n <mat-option [value]=\"d\">\n {{ d }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label>结束时间</mat-label>\n <mat-select [(ngModel)]=\"period().endTime\" (selectionChange)=\"endTimeChanged($event)\" required readonly>\n @for (d of date; track d) {\n <mat-option [value]=\"d\">\n {{ d }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n @if (actions()) {\n <div class=\"flex flex-row justify-end p-3 gap-3\">\n <button mat-button (click)=\"onDelete(period())\">删除</button>\n <button mat-flat-button (click)=\"onSave(period())\">保存</button>\n </div>\n }\n</div>\n","import { Component, DoCheck, OnInit, input, model, output } from '@angular/core';\nimport moment from 'moment';\nimport { DatePipe } from '@angular/common';\nimport { MomentDateAdapter } from '@angular/material-moment-adapter';\nimport { DateAdapter, MAT_DATE_LOCALE, MAT_DATE_FORMATS } from '@angular/material/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { FormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { PeriodDate, ResourceSession } from '../../interfaces/resource';\nexport const MY_FORMATS = {\n parse: {\n dateInput: 'YYYY-MM-DD',\n },\n display: {\n dateInput: 'YYYY-MM-DD',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'YYYY-MM-DD',\n monthYearA11yLabel: 'MMMM YYYY',\n },\n};\n\n@Component({\n selector: 'rolatech-session-item',\n templateUrl: './session-item.component.html',\n styleUrls: ['./session-item.component.scss'],\n providers: [\n {\n provide: DateAdapter,\n useClass: MomentDateAdapter,\n deps: [MAT_DATE_LOCALE],\n },\n { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },\n DatePipe,\n ],\n imports: [MatFormFieldModule, MatInputModule, FormsModule, MatDatepickerModule, MatButtonModule],\n})\nexport class SessionItemComponent implements OnInit, DoCheck {\n session = model.required<ResourceSession>();\n actions = input<boolean>(false);\n delete = output<ResourceSession>();\n save = output<ResourceSession>();\n date = PeriodDate;\n output = output<any>();\n\n ngOnInit(): void {\n this.session().startDate = moment(this.session().startDate).format('YYYY-MM-DD');\n this.session().endDate = moment(this.session().endDate).format('YYYY-MM-DD');\n }\n onSave(session: ResourceSession) {\n this.save.emit(session);\n }\n onDelete(session: ResourceSession) {\n this.delete.emit(session);\n }\n ngDoCheck(): void {\n this.output.emit(this.session());\n }\n}\n","<div class=\"flex flex-col\">\n <mat-form-field appearance=\"fill\">\n <mat-label> 名称 </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"session().name\" name=\"name\" required />\n </mat-form-field>\n <div class=\"flex flex-row gap-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label>开始日期</mat-label>\n <input\n matInput\n [matDatepicker]=\"picker\"\n (focus)=\"picker.open()\"\n name=\"startAt\"\n [(ngModel)]=\"session().startDate\"\n (dateInput)=\"session().startDate = $event.value.format('YYYY-MM-DD')\"\n readonly\n required\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label>结束日期</mat-label>\n <input\n matInput\n [matDatepicker]=\"picker2\"\n name=\"endAt\"\n (focus)=\"picker2.open()\"\n [(ngModel)]=\"session().endDate\"\n (dateInput)=\"session().endDate = $event.value.format('YYYY-MM-DD')\"\n readonly\n required\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"picker2\"></mat-datepicker-toggle>\n <mat-datepicker #picker2></mat-datepicker>\n </mat-form-field>\n </div>\n @if (actions()) {\n <div class=\"flex flex-row justify-end p-3 gap-3\">\n <button mat-button (click)=\"onDelete(session())\">删除</button>\n <button mat-flat-button (click)=\"onSave(session())\">保存</button>\n </div>\n }\n</div>\n","import { Resource, ResourceType } from './resource';\nimport { ResourceVariant } from './resource-variant';\n\nexport interface Booking {\n id?: string;\n createdAt: string;\n bookingNo?: string;\n total: number;\n status: BookingStatus | string;\n userId: string;\n partnerId: string;\n notes: string;\n type: ResourceType;\n items: BookingItem[];\n product: Resource;\n}\nexport enum BookingStatus {\n CREATED = <any>'待付款',\n PAID = <any>'已支付',\n COMPLETED = <any>'已完成',\n CLOSED = <any>'交易关闭',\n CANCELED = <any>'交易取消',\n REFUNDED = <any>'已退款',\n}\nexport enum BookingReturnStatus {\n CREATED = <any>'等待审核',\n CANCELED = <any>'用户取消',\n APPROVED = <any>'已通过',\n REJECTED = <any>'已拒绝',\n PROCESSING = <any>'平台处理中',\n RETURNED = <any>'已退款',\n}\n\nexport interface BookingItem {\n total: number;\n variant: ResourceVariant;\n startAt: string;\n endAt: string;\n status: BookingItemStatus;\n}\nexport enum BookingItemStatus {\n CREATED = <any>'创建',\n CANCELED = <any>'已取消',\n CLOSED = <any>'已关闭',\n RETURN_REQUESTED = <any>'等待审核',\n RETURN_APPROVED = <any>'商家同意退款',\n RETURN_REJECTED = <any>'商家拒绝退款',\n RETURN_PROCESSING = <any>'退款处理中',\n REFUNDED = <any>'已退款',\n}\nexport enum BookingTimelineStatus {\n BOOKING_CREATE = <any>'交易创建',\n BOOKING_CLOSED = <any>'交易关闭',\n BOOKING_CANCELED = <any>'交易取消',\n BOOKING_PAID = <any>'订单已支付',\n BOOKING_REFUNDED = <any>'订单已退款',\n BOOKING_COMPLETED = <any>'订单已完成',\n BOOKING_RETURN_REQUESTED = <any>'退款申请',\n BOOKING_RETURN_APPROVED = <any>'商家同意退款',\n BOOKING_RETURN_REJECTED = <any>'商家拒绝退款',\n BOOKING_RETURN_PROCESSING = <any>'退款处理中',\n BOOKING_RETURN_REFUNDED = <any>'退款处理完成,已入账',\n}\n","import { Component, input } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { Booking, BookingStatus } from '../../interfaces/booking';\n\n@Component({\n selector: 'rolatech-booking-item',\n imports: [MatIconModule],\n templateUrl: './booking-item.component.html',\n styleUrl: './booking-item.component.scss',\n})\nexport class BookingItemComponent {\n booking = input.required<Booking>();\n status: any = BookingStatus;\n}\n","<div class=\"flex flex-col p-3 hover:bg-[--rt-raised-background] cursor-pointer\">\n <div class=\"flex justify-between w-full\">\n <span>预订号: {{ booking().bookingNo }}</span>\n <span class=\"font-medium text-sm\">{{ status[booking().status] }}</span>\n </div>\n @if (booking().product) {\n <div class=\"flex items-center justify-between\">\n <div>\n <span class=\"font-bold break-words line-clamp-2\">商品: {{ booking().product.name }}</span>\n @if (booking().items) {\n <span class=\"font-bold break-words line-clamp-2\">教室: {{ booking().items[0].variant.classroom.name }}</span>\n }\n <span class=\"mt-2 text-md\">金额: ¥{{ booking().total / 100 }}</span>\n </div>\n <div class=\"pl-2\">\n <mat-icon>navigate_next</mat-icon>\n </div>\n </div>\n }\n</div>\n<hr />\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","MY_FORMATS","i1","i4","i5"],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class BookingReturnItemComponent {
|
|
3
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BookingReturnItemComponent, never>;
|
|
4
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BookingReturnItemComponent, "rolatech-booking-return-item", never, {}, {}, never, never, true, never>;
|
|
5
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DoCheck } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class BookingReturnRequestComponent implements DoCheck {
|
|
4
|
+
items: import("@angular/core").InputSignal<any>;
|
|
5
|
+
allComplete: boolean;
|
|
6
|
+
total: number;
|
|
7
|
+
selectedItems: any;
|
|
8
|
+
output: import("@angular/core").OutputEmitterRef<any>;
|
|
9
|
+
updateAllComplete(): void;
|
|
10
|
+
someComplete(): boolean;
|
|
11
|
+
setAll(completed: boolean): void;
|
|
12
|
+
ngDoCheck(): void;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BookingReturnRequestComponent, never>;
|
|
14
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BookingReturnRequestComponent, "rolatech-booking-return-request", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; }, { "output": "output"; }, never, never, true, never>;
|
|
15
|
+
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
export { BookingReturnItemComponent } from './booking-return-item/booking-return-item.component';
|
|
2
|
+
export { BookingReturnRequestComponent } from './booking-return-request/booking-return-request.component';
|
|
1
3
|
export { PeriodItemComponent } from './period-item/period-item.component';
|
|
2
4
|
export { SessionItemComponent } from './session-item/session-item.component';
|
|
3
5
|
export { BookingItemComponent } from './booking-item/booking-item.component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { OnInit } from '@angular/core';
|
|
1
|
+
import { DoCheck, OnInit } from '@angular/core';
|
|
2
2
|
import { ResourcePeriod } from '../../interfaces/resource';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare const MY_FORMATS: {
|
|
@@ -12,17 +12,19 @@ export declare const MY_FORMATS: {
|
|
|
12
12
|
monthYearA11yLabel: string;
|
|
13
13
|
};
|
|
14
14
|
};
|
|
15
|
-
export declare class PeriodItemComponent implements OnInit {
|
|
15
|
+
export declare class PeriodItemComponent implements OnInit, DoCheck {
|
|
16
16
|
period: import("@angular/core").ModelSignal<ResourcePeriod>;
|
|
17
17
|
actions: import("@angular/core").InputSignal<boolean>;
|
|
18
18
|
delete: import("@angular/core").OutputEmitterRef<ResourcePeriod>;
|
|
19
19
|
save: import("@angular/core").OutputEmitterRef<ResourcePeriod>;
|
|
20
|
+
output: import("@angular/core").OutputEmitterRef<any>;
|
|
20
21
|
date: string[];
|
|
21
22
|
ngOnInit(): void;
|
|
22
23
|
startTimeChanged(event: any): void;
|
|
23
24
|
endTimeChanged(event: any): void;
|
|
24
25
|
onSave(period: ResourcePeriod): void;
|
|
25
26
|
onDelete(period: ResourcePeriod): void;
|
|
27
|
+
ngDoCheck(): void;
|
|
26
28
|
static ɵfac: i0.ɵɵFactoryDeclaration<PeriodItemComponent, never>;
|
|
27
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PeriodItemComponent, "rolatech-period-item", never, { "period": { "alias": "period"; "required": true; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; }, { "period": "periodChange"; "delete": "delete"; "save": "save"; }, never, never, true, never>;
|
|
29
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PeriodItemComponent, "rolatech-period-item", never, { "period": { "alias": "period"; "required": true; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; }, { "period": "periodChange"; "delete": "delete"; "save": "save"; "output": "output"; }, never, never, true, never>;
|
|
28
30
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { OnInit } from '@angular/core';
|
|
1
|
+
import { DoCheck, OnInit } from '@angular/core';
|
|
2
2
|
import { ResourceSession } from '../../interfaces/resource';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare const MY_FORMATS: {
|
|
@@ -12,15 +12,17 @@ export declare const MY_FORMATS: {
|
|
|
12
12
|
monthYearA11yLabel: string;
|
|
13
13
|
};
|
|
14
14
|
};
|
|
15
|
-
export declare class SessionItemComponent implements OnInit {
|
|
15
|
+
export declare class SessionItemComponent implements OnInit, DoCheck {
|
|
16
16
|
session: import("@angular/core").ModelSignal<ResourceSession>;
|
|
17
17
|
actions: import("@angular/core").InputSignal<boolean>;
|
|
18
18
|
delete: import("@angular/core").OutputEmitterRef<ResourceSession>;
|
|
19
19
|
save: import("@angular/core").OutputEmitterRef<ResourceSession>;
|
|
20
20
|
date: string[];
|
|
21
|
+
output: import("@angular/core").OutputEmitterRef<any>;
|
|
21
22
|
ngOnInit(): void;
|
|
22
23
|
onSave(session: ResourceSession): void;
|
|
23
24
|
onDelete(session: ResourceSession): void;
|
|
25
|
+
ngDoCheck(): void;
|
|
24
26
|
static ɵfac: i0.ɵɵFactoryDeclaration<SessionItemComponent, never>;
|
|
25
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SessionItemComponent, "rolatech-session-item", never, { "session": { "alias": "session"; "required": true; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; }, { "session": "sessionChange"; "delete": "delete"; "save": "save"; }, never, never, true, never>;
|
|
27
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SessionItemComponent, "rolatech-session-item", never, { "session": { "alias": "session"; "required": true; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; }, { "session": "sessionChange"; "delete": "delete"; "save": "save"; "output": "output"; }, never, never, true, never>;
|
|
26
28
|
}
|