@rolatech/angular-order 19.0.0-beta.17 → 19.0.0-beta.18
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-order.mjs +63 -63
- package/package.json +19 -3
|
@@ -152,10 +152,10 @@ class OrderItemOptionsFormatPipe {
|
|
|
152
152
|
// return result;
|
|
153
153
|
return type?.toString() === 'COURSE' ? this.courseType[result] : result;
|
|
154
154
|
}
|
|
155
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
156
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.
|
|
155
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderItemOptionsFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
156
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.4", ngImport: i0, type: OrderItemOptionsFormatPipe, isStandalone: true, name: "orderItemoptions" }); }
|
|
157
157
|
}
|
|
158
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
158
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderItemOptionsFormatPipe, decorators: [{
|
|
159
159
|
type: Pipe,
|
|
160
160
|
args: [{
|
|
161
161
|
name: 'orderItemoptions',
|
|
@@ -171,10 +171,10 @@ class OrderItemComponent {
|
|
|
171
171
|
});
|
|
172
172
|
this.quantity = computed(() => sumBy(this.order().items, (item) => item.quantity));
|
|
173
173
|
}
|
|
174
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
175
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
174
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
175
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.4", type: OrderItemComponent, isStandalone: true, selector: "rolatech-order-item", inputs: { order: { classPropertyName: "order", publicName: "order", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex flex-col hover:bg-[--rt-raised-background] cursor-pointer p-3\">\n <div>\n @if (order().subOrders) {\n <div class=\"flex justify-between w-full mb-2\">\n <a class=\"flex items-center gap-3\">\n <span>\u8BA2\u5355ID: {{ order().id }}</span>\n <span class=\"text-sm\">(\u8BA2\u5355\u5DF2\u62C6\u5206)</span>\n <span>\u00A5{{ order().total | fixed }}</span>\n </a>\n\n <span class=\"font-medium text-sm\">{{ status[order().status] }}</span>\n </div>\n @for (subOrder of order().subOrders; track subOrder) {\n <div class=\"flex justify-between py-2\">\n <a class=\"text-sm\">\u5B50\u8BA2\u5355ID: {{ subOrder.id }}</a>\n <a>\u00A5{{ subOrder.subTotal | fixed }}</a>\n </div>\n <div class=\"flex flex-col overflow-x-scroll scrollbar-hide\">\n @for (item of subOrder.items; track $index) {\n <div class=\"flex flex-row py-2\">\n @if (item.media) {\n <div class=\"min-w-24 object-cover aspect-video rounded-lg mr-3\">\n @defer (on viewport()) {\n <rolatech-thumbnail [src]=\"item.media[0].url + '!w400'\" size=\"medium\" mode=\"full\"> </rolatech-thumbnail>\n } @placeholder {\n <div class=\"bg-[--rt-raised-background] h-full w-full object-cover aspect-video rounded-lg\"></div>\n }\n </div>\n } @else {\n <div class=\"min-w-24 w-36 object-cover aspect-video rounded-lg mr-3\">\n <rolatech-image-placeholder></rolatech-image-placeholder>\n </div>\n }\n <div class=\"flex w-full justify-between\">\n <div class=\"flex justify-between w-full\">\n <div>\n <div>{{ item.name }}</div>\n @if (item.options) {\n <div class=\"text-sm text-[--rt-text-secondary] mt-2\">\n {{ item.options | orderItemoptions: order().type }}\n </div>\n }\n </div>\n <div class=\"text-right\">\n <div class=\"text-sm\">\u00A5{{ item.total | fixed }}</div>\n <div class=\"text-sm mt-2\">x{{ item.quantity }}</div>\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n }\n } @else {\n <div class=\"flex justify-between w-full mb-2\">\n <a class=\"flex items-center gap-3\">\n <span>\u8BA2\u5355ID: {{ order().id }}</span>\n <span>\u00A5{{ order().total | fixed }}</span>\n </a>\n <span class=\"font-medium text-sm\">{{ status[order().status] }}</span>\n </div>\n @if (order().items; as items) {\n @if (items.length > 1) {\n } @else {}\n <div class=\"flex flex-col overflow-x-scroll scrollbar-hide\">\n @for (item of items; track $index) {\n <div class=\"flex flex-row py-2\">\n @if (item.media) {\n <div class=\"min-w-24 w-36 object-cover aspect-video rounded-lg mr-3\">\n @defer (on viewport()) {\n <rolatech-thumbnail [src]=\"item.media[0].url + '!w400'\" size=\"medium\" mode=\"full\"> </rolatech-thumbnail>\n } @placeholder {\n <div class=\"bg-[--rt-raised-background] h-full w-full object-cover aspect-video rounded-lg\"></div>\n }\n </div>\n } @else {\n <div class=\"min-w-24 w-36 object-cover aspect-video rounded-lg mr-3\">\n <rolatech-image-placeholder></rolatech-image-placeholder>\n </div>\n }\n <div class=\"flex w-full justify-between\">\n <div class=\"flex justify-between w-full\">\n <div>\n <div>{{ item.name }}</div>\n @if (item.options) {\n <div class=\"text-sm text-[--rt-text-secondary] mt-2\">\n {{ item.options | orderItemoptions: order().type }}\n </div>\n }\n </div>\n <div class=\"text-right\">\n <div class=\"text-sm\">\u00A5{{ item.total | fixed }}</div>\n <div class=\"text-sm mt-2\">x{{ item.quantity }}</div>\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n }\n }\n </div>\n</div>\n", styles: [".scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: ImagePlaceholderComponent, selector: "rolatech-image-placeholder" }, { kind: "pipe", type: OrderItemOptionsFormatPipe, name: "orderItemoptions" }, { kind: "pipe", type: FixedPipe, name: "fixed" }], deferBlockDependencies: [() => [ThumbnailComponent], () => [ThumbnailComponent]] }); }
|
|
176
176
|
}
|
|
177
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
177
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderItemComponent, decorators: [{
|
|
178
178
|
type: Component,
|
|
179
179
|
args: [{ selector: 'rolatech-order-item', imports: [MatIconModule, ThumbnailComponent, ImagePlaceholderComponent, OrderItemOptionsFormatPipe, FixedPipe], template: "<div class=\"flex flex-col hover:bg-[--rt-raised-background] cursor-pointer p-3\">\n <div>\n @if (order().subOrders) {\n <div class=\"flex justify-between w-full mb-2\">\n <a class=\"flex items-center gap-3\">\n <span>\u8BA2\u5355ID: {{ order().id }}</span>\n <span class=\"text-sm\">(\u8BA2\u5355\u5DF2\u62C6\u5206)</span>\n <span>\u00A5{{ order().total | fixed }}</span>\n </a>\n\n <span class=\"font-medium text-sm\">{{ status[order().status] }}</span>\n </div>\n @for (subOrder of order().subOrders; track subOrder) {\n <div class=\"flex justify-between py-2\">\n <a class=\"text-sm\">\u5B50\u8BA2\u5355ID: {{ subOrder.id }}</a>\n <a>\u00A5{{ subOrder.subTotal | fixed }}</a>\n </div>\n <div class=\"flex flex-col overflow-x-scroll scrollbar-hide\">\n @for (item of subOrder.items; track $index) {\n <div class=\"flex flex-row py-2\">\n @if (item.media) {\n <div class=\"min-w-24 object-cover aspect-video rounded-lg mr-3\">\n @defer (on viewport()) {\n <rolatech-thumbnail [src]=\"item.media[0].url + '!w400'\" size=\"medium\" mode=\"full\"> </rolatech-thumbnail>\n } @placeholder {\n <div class=\"bg-[--rt-raised-background] h-full w-full object-cover aspect-video rounded-lg\"></div>\n }\n </div>\n } @else {\n <div class=\"min-w-24 w-36 object-cover aspect-video rounded-lg mr-3\">\n <rolatech-image-placeholder></rolatech-image-placeholder>\n </div>\n }\n <div class=\"flex w-full justify-between\">\n <div class=\"flex justify-between w-full\">\n <div>\n <div>{{ item.name }}</div>\n @if (item.options) {\n <div class=\"text-sm text-[--rt-text-secondary] mt-2\">\n {{ item.options | orderItemoptions: order().type }}\n </div>\n }\n </div>\n <div class=\"text-right\">\n <div class=\"text-sm\">\u00A5{{ item.total | fixed }}</div>\n <div class=\"text-sm mt-2\">x{{ item.quantity }}</div>\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n }\n } @else {\n <div class=\"flex justify-between w-full mb-2\">\n <a class=\"flex items-center gap-3\">\n <span>\u8BA2\u5355ID: {{ order().id }}</span>\n <span>\u00A5{{ order().total | fixed }}</span>\n </a>\n <span class=\"font-medium text-sm\">{{ status[order().status] }}</span>\n </div>\n @if (order().items; as items) {\n @if (items.length > 1) {\n } @else {}\n <div class=\"flex flex-col overflow-x-scroll scrollbar-hide\">\n @for (item of items; track $index) {\n <div class=\"flex flex-row py-2\">\n @if (item.media) {\n <div class=\"min-w-24 w-36 object-cover aspect-video rounded-lg mr-3\">\n @defer (on viewport()) {\n <rolatech-thumbnail [src]=\"item.media[0].url + '!w400'\" size=\"medium\" mode=\"full\"> </rolatech-thumbnail>\n } @placeholder {\n <div class=\"bg-[--rt-raised-background] h-full w-full object-cover aspect-video rounded-lg\"></div>\n }\n </div>\n } @else {\n <div class=\"min-w-24 w-36 object-cover aspect-video rounded-lg mr-3\">\n <rolatech-image-placeholder></rolatech-image-placeholder>\n </div>\n }\n <div class=\"flex w-full justify-between\">\n <div class=\"flex justify-between w-full\">\n <div>\n <div>{{ item.name }}</div>\n @if (item.options) {\n <div class=\"text-sm text-[--rt-text-secondary] mt-2\">\n {{ item.options | orderItemoptions: order().type }}\n </div>\n }\n </div>\n <div class=\"text-right\">\n <div class=\"text-sm\">\u00A5{{ item.total | fixed }}</div>\n <div class=\"text-sm mt-2\">x{{ item.quantity }}</div>\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n }\n }\n </div>\n</div>\n", styles: [".scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}\n"] }]
|
|
180
180
|
}] });
|
|
@@ -265,8 +265,8 @@ class OrderIndexComponent {
|
|
|
265
265
|
statusCompareFn(t1, t2) {
|
|
266
266
|
return t1 === t2;
|
|
267
267
|
}
|
|
268
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
269
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
268
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderIndexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
269
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.4", type: OrderIndexComponent, isStandalone: true, selector: "rolatech-order-index", ngImport: i0, template: "<rolatech-container>\n <rolatech-toolbar title=\"\u6211\u7684\u8BA2\u5355\" large>\n <button mat-button (click)=\"filter = !filter\">\n <span>\u8FC7\u6EE4</span>\n <mat-icon>tune</mat-icon>\n </button>\n </rolatech-toolbar>\n <rolatech-filter>\n <div [@filter]=\"filter === true ? 'expanded' : 'collapsed'\">\n <div\n class=\"min-w-[256px] md:min-w-[320px] px-3 h-full flex flex-row md:flex-col md:h-full items-center md:items-start shadow-inner shadow-light-400 md:shadow-none overflow-x-scroll overflow-y-hidden scrollbar-hide whitespace-pre\"\n >\n <div class=\"flex items-center gap-3 mt-2\">\n <mat-form-field appearance=\"fill\" subscriptSizing=\"dynamic\">\n <mat-select name=\"type\" placeholder=\"\u7C7B\u578B\" [(ngModel)]=\"filterOptions.type\">\n @for (type of orderType | keyvalue; track type) {\n <mat-option [value]=\"type.key\">\n {{ type.value }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field subscriptSizing=\"dynamic\">\n <mat-select [compareWith]=\"statusCompareFn\" placeholder=\"\u72B6\u6001\" [(ngModel)]=\"filterOptions.status\">\n @for (status of orderStatus | keyvalue; track status) {\n <mat-option [value]=\"status.key\">\n {{ status.value }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n <div>\n <button mat-flat-button (click)=\"findOrders()\">\u641C\u7D22</button>\n <button mat-stroked-button (click)=\"resetFilter()\" class=\"ml-3\">\u91CD\u7F6E</button>\n </div>\n </div>\n </div>\n </div>\n </rolatech-filter>\n <rolatech-tabs [select]=\"select\">\n @for (item of links; track item) {\n @if (item.status) {\n <rolatech-tab [label]=\"item.name\" routerLink=\"./\" [queryParams]=\"{ status: item.status }\"></rolatech-tab>\n } @else {\n <rolatech-tab [label]=\"item.name\" routerLink=\"./\"></rolatech-tab>\n }\n }\n </rolatech-tabs>\n <rolatech-list>\n @if (orders) {\n @for (item of orders; track item) {\n <rolatech-order-item [routerLink]=\"['./', item.id]\" [order]=\"item\"></rolatech-order-item>\n }\n } @else {\n <rolatech-empty></rolatech-empty>\n }\n </rolatech-list>\n</rolatech-container>\n", styles: [""], dependencies: [{ kind: "component", type: ContainerComponent, selector: "rolatech-container" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: TabsComponent, selector: "rolatech-tabs", inputs: ["select", "loading"], outputs: ["selectChange"] }, { kind: "component", type: TabComponent, selector: "rolatech-tab", inputs: ["label"] }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "component", type: ListComponent, selector: "rolatech-list" }, { kind: "component", type: OrderItemComponent, selector: "rolatech-order-item", inputs: ["order"] }, { kind: "component", type: EmptyComponent, selector: "rolatech-empty" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { 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"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "ngmodule", type: MatOptionModule }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i7.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: FilterComponent, selector: "rolatech-filter" }, { kind: "pipe", type: KeyValuePipe, name: "keyvalue" }], animations: [
|
|
270
270
|
trigger('filter', [
|
|
271
271
|
state('collapsed', style({ height: '0px', minHeight: '0' })),
|
|
272
272
|
state('expanded', style({ height: '*' })),
|
|
@@ -274,7 +274,7 @@ class OrderIndexComponent {
|
|
|
274
274
|
]),
|
|
275
275
|
], encapsulation: i0.ViewEncapsulation.None }); }
|
|
276
276
|
}
|
|
277
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
277
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderIndexComponent, decorators: [{
|
|
278
278
|
type: Component,
|
|
279
279
|
args: [{ selector: 'rolatech-order-index', imports: [
|
|
280
280
|
ContainerComponent,
|
|
@@ -313,10 +313,10 @@ class OrderReturnRequestComponent {
|
|
|
313
313
|
ngDoCheck() {
|
|
314
314
|
this.output.emit(this.reason());
|
|
315
315
|
}
|
|
316
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
317
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.
|
|
316
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderReturnRequestComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
317
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.4", type: OrderReturnRequestComponent, isStandalone: true, selector: "rolatech-order-return-request", inputs: { reason: { classPropertyName: "reason", publicName: "reason", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { output: "output", reason: "reasonChange" }, ngImport: i0, template: "<div class=\"py-2\">\n <h2 class=\"mb-2\">\u5728\u4E0B\u9762\u8F93\u5165\u9000\u6B3E\u7406\u7531</h2>\n <mat-form-field appearance=\"fill\">\n <mat-label> \u9000\u6B3E\u7406\u7531 </mat-label>\n <textarea matInput required [(ngModel)]=\"reason\"></textarea>\n </mat-form-field>\n</div>\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { 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: AngularComponentsModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$1.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"] }] }); }
|
|
318
318
|
}
|
|
319
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
319
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderReturnRequestComponent, decorators: [{
|
|
320
320
|
type: Component,
|
|
321
321
|
args: [{ selector: 'rolatech-order-return-request', imports: [AngularCommonModule, AngularComponentsModule], template: "<div class=\"py-2\">\n <h2 class=\"mb-2\">\u5728\u4E0B\u9762\u8F93\u5165\u9000\u6B3E\u7406\u7531</h2>\n <mat-form-field appearance=\"fill\">\n <mat-label> \u9000\u6B3E\u7406\u7531 </mat-label>\n <textarea matInput required [(ngModel)]=\"reason\"></textarea>\n </mat-form-field>\n</div>\n", styles: ["mat-form-field{width:100%}\n"] }]
|
|
322
322
|
}] });
|
|
@@ -333,10 +333,10 @@ class OrderDetailItemComponent {
|
|
|
333
333
|
return (this.total() / 100)?.toFixed(2);
|
|
334
334
|
});
|
|
335
335
|
}
|
|
336
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
337
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
336
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderDetailItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
337
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.4", type: OrderDetailItemComponent, isStandalone: true, selector: "rolatech-order-detail-item", inputs: { thumbnail: { classPropertyName: "thumbnail", publicName: "thumbnail", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, quantity: { classPropertyName: "quantity", publicName: "quantity", isSignal: true, isRequired: false, transformFunction: null }, total: { classPropertyName: "total", publicName: "total", isSignal: true, isRequired: true, transformFunction: null }, link: { classPropertyName: "link", publicName: "link", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex justify-between py-2\">\n <div class=\"flex w-full\">\n <div\n class=\"min-w-24 w-36 aspect-video bg-[--rt-raised-background] hover:rounded-none rounded-lg h-fit cursor-pointer\"\n [routerLink]=\"link()\"\n >\n @defer (on viewport()) {\n <rolatech-thumbnail [src]=\"thumbnail()\" size=\"medium\" mode=\"full\"> </rolatech-thumbnail>\n } @placeholder {\n <div class=\"bg-[--rt-raised-background] h-full w-full object-cover aspect-video\"></div>\n }\n </div>\n\n <div class=\"w-full ml-3 flex flex-col justify-between\">\n <!-- info -->\n <div class=\"flex justify-between\">\n <div class=\"flex flex-col\">\n <span class=\"text-lg font-bold hover:text-[--rt-brand-color] cursor-pointer\" [routerLink]=\"link()\">{{\n title()\n }}</span>\n <span class=\"text-sm text-[--rt-text-secondary]\">{{ description() }}</span>\n <ng-content></ng-content>\n </div>\n <div class=\"text-right p-1\">\n <div class=\"text-sm\">\u00A5{{ priceDisplay() }}</div>\n <div class=\"text-sm mt-2\">x{{ quantity() }}</div>\n </div>\n </div>\n <!-- action -->\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex items-center text-sm\"></div>\n </div>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], deferBlockDependencies: [() => [import('@rolatech/angular-components').then(m => m.ThumbnailComponent)]] }); }
|
|
338
338
|
}
|
|
339
|
-
i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "19.2.
|
|
339
|
+
i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "19.2.4", ngImport: i0, type: OrderDetailItemComponent, resolveDeferredDeps: () => [import('@rolatech/angular-components').then(m => m.ThumbnailComponent)], resolveMetadata: ThumbnailComponent => ({ decorators: [{
|
|
340
340
|
type: Component,
|
|
341
341
|
args: [{ selector: 'rolatech-order-detail-item', imports: [CommonModule, ThumbnailComponent, RouterLink], template: "<div class=\"flex justify-between py-2\">\n <div class=\"flex w-full\">\n <div\n class=\"min-w-24 w-36 aspect-video bg-[--rt-raised-background] hover:rounded-none rounded-lg h-fit cursor-pointer\"\n [routerLink]=\"link()\"\n >\n @defer (on viewport()) {\n <rolatech-thumbnail [src]=\"thumbnail()\" size=\"medium\" mode=\"full\"> </rolatech-thumbnail>\n } @placeholder {\n <div class=\"bg-[--rt-raised-background] h-full w-full object-cover aspect-video\"></div>\n }\n </div>\n\n <div class=\"w-full ml-3 flex flex-col justify-between\">\n <!-- info -->\n <div class=\"flex justify-between\">\n <div class=\"flex flex-col\">\n <span class=\"text-lg font-bold hover:text-[--rt-brand-color] cursor-pointer\" [routerLink]=\"link()\">{{\n title()\n }}</span>\n <span class=\"text-sm text-[--rt-text-secondary]\">{{ description() }}</span>\n <ng-content></ng-content>\n </div>\n <div class=\"text-right p-1\">\n <div class=\"text-sm\">\u00A5{{ priceDisplay() }}</div>\n <div class=\"text-sm mt-2\">x{{ quantity() }}</div>\n </div>\n </div>\n <!-- action -->\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex items-center text-sm\"></div>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
342
342
|
}], ctorParameters: null, propDecorators: null }) });
|
|
@@ -345,10 +345,10 @@ class OrderMerchantComponent {
|
|
|
345
345
|
constructor() {
|
|
346
346
|
this.merchant = input.required();
|
|
347
347
|
}
|
|
348
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
349
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
348
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderMerchantComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
349
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.4", type: OrderMerchantComponent, isStandalone: true, selector: "rolatech-order-merchant", inputs: { merchant: { classPropertyName: "merchant", publicName: "merchant", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex flex-row items-center py-3\">\n <div class=\"flex mr-3 gap-2 items-center\">\n @if (merchant()) {\n @if (merchant().avatar) {\n <div class=\"cursor-pointer\" [routerLink]=\"['/', '@' + merchant().username]\">\n <img [src]=\"merchant().avatar\" class=\"w-11 h-11 rounded-full\" alt />\n </div>\n } @else {\n <div class=\"w-11 h-11 rounded-full bg-[--rt-brand-color]\"></div>\n }\n <div class=\"flex items-center text-lg font-bold cursor-pointer\">\n <a [routerLink]=\"['/', '@' + merchant().username]\">\n <span>{{ merchant().name }}</span>\n </a>\n <mat-icon class=\"verified-icon\">verified</mat-icon>\n </div>\n }\n </div>\n</div>\n", styles: ["mat-icon{transform:scale(.8);color:var(--rt-brand-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
350
350
|
}
|
|
351
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
351
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderMerchantComponent, decorators: [{
|
|
352
352
|
type: Component,
|
|
353
353
|
args: [{ selector: 'rolatech-order-merchant', imports: [CommonModule, RouterLink, MatIcon], template: "<div class=\"flex flex-row items-center py-3\">\n <div class=\"flex mr-3 gap-2 items-center\">\n @if (merchant()) {\n @if (merchant().avatar) {\n <div class=\"cursor-pointer\" [routerLink]=\"['/', '@' + merchant().username]\">\n <img [src]=\"merchant().avatar\" class=\"w-11 h-11 rounded-full\" alt />\n </div>\n } @else {\n <div class=\"w-11 h-11 rounded-full bg-[--rt-brand-color]\"></div>\n }\n <div class=\"flex items-center text-lg font-bold cursor-pointer\">\n <a [routerLink]=\"['/', '@' + merchant().username]\">\n <span>{{ merchant().name }}</span>\n </a>\n <mat-icon class=\"verified-icon\">verified</mat-icon>\n </div>\n }\n </div>\n</div>\n", styles: ["mat-icon{transform:scale(.8);color:var(--rt-brand-color)}\n"] }]
|
|
354
354
|
}] });
|
|
@@ -360,10 +360,10 @@ class MerchantFilterPipe {
|
|
|
360
360
|
}
|
|
361
361
|
return merchants.find((item) => item.id === merchantId);
|
|
362
362
|
}
|
|
363
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
364
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.
|
|
363
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: MerchantFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
364
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.4", ngImport: i0, type: MerchantFilterPipe, isStandalone: true, name: "merchantFilter" }); }
|
|
365
365
|
}
|
|
366
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
366
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: MerchantFilterPipe, decorators: [{
|
|
367
367
|
type: Pipe,
|
|
368
368
|
args: [{
|
|
369
369
|
name: 'merchantFilter',
|
|
@@ -519,10 +519,10 @@ class OrderDetailComponent extends BaseComponent {
|
|
|
519
519
|
},
|
|
520
520
|
});
|
|
521
521
|
}
|
|
522
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
523
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.3", type: OrderDetailComponent, isStandalone: true, selector: "rolatech-order-detail", viewQueries: [{ propertyName: "paymentElement", first: true, predicate: ["paymentElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (order) {\n <rolatech-container>\n <rolatech-toolbar [title]=\"status[order.status]\" large link=\"../\">\n <button mat-button (click)=\"timeline()\">\n <mat-icon>history</mat-icon>\n <span>\u8BA2\u5355\u72B6\u6001</span>\n </button>\n @if (isSingleMerchant() && order.type.toString() === 'PRODUCT') {\n <button mat-button routerLink=\"./tracking\">\n <mat-icon>local_shipping</mat-icon>\n <span>\u7269\u6D41\u67E5\u8BE2</span>\n </button>\n }\n </rolatech-toolbar>\n <div>\n @if (order.status === 'CREATED') {\n <div class=\"text-[--rt-brand-color] font-bold\">\u652F\u4ED8\u5012\u8BA1\u65F6: {{ countDown }}</div>\n }\n <div class=\"flex justify-between items-center py-2\">\n <a class=\"text-xl font-bold\">Order ID: {{ order.id }}</a>\n @if (!isSingleMerchant()) {\n <a class=\"text-sm\">\u8BA2\u5355\u5DF2\u62C6\u5206</a>\n }\n </div>\n <div>\n @if (isSingleMerchant()) {\n <div>\n <rolatech-order-merchant [merchant]=\"merchants | merchantFilter: order.merchantId\"></rolatech-order-merchant>\n @for (item of order.items; track $index) {\n <rolatech-order-detail-item\n [thumbnail]=\"item.media[0].url + '!w200 '\"\n [link]=\"order.type.toString() === 'PRODUCT' ? '/products/' + item.productId : '/courses/' + item.productId\"\n [title]=\"item.name\"\n [total]=\"item.total\"\n [description]=\"item.options | orderItemoptions: order.type\"\n [quantity]=\"item.quantity\"\n ></rolatech-order-detail-item>\n }\n </div>\n } @else {\n <div class=\"flex flex-col divide-y divide-[--rt-10-percent-layer]\">\n @for (subOrder of order.subOrders; track $index) {\n <div>\n <rolatech-order-merchant [merchant]=\"merchants | merchantFilter: subOrder.merchantId\"></rolatech-order-merchant>\n <div class=\"flex justify-between items-center\">\n <a class=\"text-lg font-bold\" [routerLink]=\"['/orders', subOrder.id]\">#{{ subOrder.id }}</a>\n @if (order.type.toString() === 'PRODUCT') {\n <button mat-button [routerLink]=\"['/orders', subOrder.id, 'tracking']\">\n <span>\u7269\u6D41\u67E5\u8BE2</span>\n </button>\n }\n </div>\n @for (item of subOrder.items; track $index) {\n <rolatech-order-detail-item\n [thumbnail]=\"item.media[0].url + '!w200 '\"\n [link]=\"order.type.toString() === 'PRODUCT' ? '/products/' + item.productId : '/courses/' + item.productId\"\n [title]=\"item.name\"\n [total]=\"item.total\"\n [description]=\"item.options | orderItemoptions: order.type\"\n [quantity]=\"item.quantity\"\n ></rolatech-order-detail-item>\n }\n <div class=\"flex justify-end py-3\">\n <a class=\"text-md font-bold\">\u00A5{{ subOrder.subTotal | fixed }}</a>\n </div>\n </div>\n }\n </div>\n }\n <div class=\"mt-3\">\n <div class=\"text-lg py-3 font-medium\">\u8BA2\u5355\u4FE1\u606F</div>\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\">\u4E0B\u5355\u65F6\u95F4</span>\n <span class=\"text-sm\"> {{ order.createdAt }}</span>\n </div>\n <div class=\"flex items-baseline justify-between py-1\">\n <span class=\"font-medium min-w-20\">\u914D\u9001\u4FE1\u606F</span>\n <span class=\"text-sm\">{{ order.shippingAddress | shippingAddress }}</span>\n </div>\n <div class=\"flex items-baseline justify-between py-1\">\n <span class=\"font-medium min-w-20\">\u5907\u6CE8\u4FE1\u606F</span>\n <span class=\"text-sm\">{{ order.note || '\u65E0' }}</span>\n </div>\n @if (order.deposit) {\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\">\u5B9A\u91D1\u91D1\u989D</span>\n <span class=\"text-sm\">\u00A5{{ order.deposit | fixed }}</span>\n </div>\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\">\u5C3E\u6B3E\u91D1\u989D</span>\n <span class=\"text-sm\">\u00A5{{ order.total - order.deposit | fixed }}</span>\n </div>\n }\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\">\u5E94\u4ED8\u91D1\u989D</span>\n <span class=\"text-sm\">\u00A5{{ order.total | fixed }}</span>\n </div>\n </div>\n <div id=\"payment-element\"></div>\n @if (order.status.toString() === 'CREATED' || order.status.toString() === 'PAID') {\n <div class=\"mt-6\">\n <div class=\"text-lg pb-3 font-medium\">\u652F\u4ED8\u65B9\u5F0F</div>\n\n <div class=\"flex items-center\">\n <svg\n class=\"svg-icon\"\n style=\"width: 2rem; height: 2rem\"\n viewBox=\"0 0 1024 1024\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M395.846 603.585c-3.921 1.98-7.936 2.925-12.81 2.925-10.9 0-19.791-5.85-24.764-14.625l-2.006-3.864-78.106-167.913c-0.956-1.98-0.956-3.865-0.956-5.845 0-7.83 5.928-13.68 13.863-13.68 2.965 0 5.928 0.944 8.893 2.924l91.965 64.43c6.884 3.864 14.82 6.79 23.708 6.79 4.972 0 9.85-0.945 14.822-2.926L861.71 282.479c-77.149-89.804-204.684-148.384-349.135-148.384-235.371 0-427.242 157.158-427.242 351.294 0 105.368 57.361 201.017 147.323 265.447 6.88 4.905 11.852 13.68 11.852 22.45 0 2.925-0.957 5.85-2.006 8.775-6.881 26.318-18.831 69.334-18.831 71.223-0.958 2.92-2.013 6.79-2.013 10.75 0 7.83 5.929 13.68 13.865 13.68 2.963 0 5.928-0.944 7.935-2.925l92.922-53.674c6.885-3.87 14.82-6.794 22.756-6.794 3.916 0 8.889 0.944 12.81 1.98 43.496 12.644 91.012 19.53 139.48 19.53 235.372 0 427.24-157.158 427.24-351.294 0-58.58-17.78-114.143-48.467-163.003l-491.39 280.07-2.963 1.98z\"\n fill=\"#09BB07\"\n />\n </svg>\n <span class=\"ml-1\">\u5FAE\u4FE1\u652F\u4ED8</span>\n <!-- <svg id=\"Layer_1\" data-name=\"Layer 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 715.94 211.02\">\n <title>WeChat Pay logo - Brandlogos.net</title>\n <g id=\"\u9875\u9762-1\">\n <g id=\"\u753B\u677F\">\n <g id=\"\u7F16\u7EC4\">\n <path\n id=\"\u5F62\u72B6\u7ED3\u5408\"\n d=\"M710.2,429.86l8.93,24.1c.93,2.7,1.94,5.9,2.61,8.34h.17c.76-2.44,1.6-5.56,2.61-8.51l8.09-23.93h7.84l-11.13,29.08c-5.31,14-8.93,21.16-14,25.54a21.48,21.48,0,0,1-7.57,4.41c-.61-1.09-3.39-5.85-3.39-5.85a19.62,19.62,0,0,0,6.49-3.62,22.5,22.5,0,0,0,6.24-8.26,5.31,5.31,0,0,0,.59-1.77,6.45,6.45,0,0,0-.51-1.94l-15.09-37.59Zm-170.81-.93c12.47,0,15.51,8.51,15.51,16.69v15.26a57.4,57.4,0,0,0,.67,9.78h-6.74l-.59-5.14H548a15.19,15.19,0,0,1-12.47,6.07c-8.26,0-12.47-5.82-12.47-11.72,0-9.86,8.76-15.25,24.53-15.17v-.84c0-3.37-.93-9.44-9.27-9.44a20.61,20.61,0,0,0-9.77,2.52L526,432.56A25.3,25.3,0,0,1,539.39,428.94Zm138.79,0c12.47,0,15.51,8.51,15.51,16.69v15.26a57.41,57.41,0,0,0,.67,9.78h-6.74l-.59-5.14h-.25a15.19,15.19,0,0,1-12.47,6.07c-8.26,0-12.47-5.82-12.47-11.72,0-9.86,8.77-15.25,24.53-15.17v-.84c0-3.37-.93-9.44-9.27-9.44a20.6,20.6,0,0,0-9.77,2.52l-2.53-4.38A25.3,25.3,0,0,1,678.18,428.94Zm-226.09-16c7.08,0,11.55,1.52,13.48,2.53,0,0-2.24,3.9-3.16,5.38a28,28,0,0,0-10.07-1.75c-13.32,0-22.17,8.51-22.17,23.43,0,13.91,8,22.84,21.83,22.84a31.51,31.51,0,0,0,10.48-1.73c.67,1.17,3,5.19,3,5.19-2.7,1.35-8.09,2.7-15,2.7-16,0-28.07-10.11-28.07-28.74C422.42,425,434.47,412.92,452.09,412.92Zm-55.11,16c13.32,0,16.86,11.72,16.86,19.22a28,28,0,0,1-.25,3.46H384.93c.17,10,6.57,14.16,14,14.16a27.78,27.78,0,0,0,9.78-1.51c.68,1.12,2.78,4.71,2.78,4.71a33,33,0,0,1-13.57,2.53c-12.56,0-20.06-8.26-20.06-20.57S385.09,428.94,397,428.94Zm181-10.79v11.72H588.6v5.65H578v22c0,5.06,1.43,7.92,5.56,7.92.61,0,1.16,0,1.67-.07.87,1.47,3,5.12,3,5.12a18.19,18.19,0,0,1-6.57,1c-3.46,0-6.24-1.1-8-3.12-2.11-2.19-2.87-5.81-2.87-10.62V435.51h-6.32v-5.65h6.32V418.15Zm56.21-4.72c7.25,0,12.56,1.69,15.93,4.72,3.12,2.7,5,6.83,5,11.88s-1.52,9.19-4.38,12.14c-3.88,4.13-10.2,6.24-17.36,6.24a25.3,25.3,0,0,1-5.9-.51v22.76h-7.33V414.52A85.05,85.05,0,0,1,634.19,413.43Zm-321.57.42,6.74,28.74c1.69,7.08,3.2,14.16,4.21,19.64h.17c.93-5.65,2.7-12.39,4.64-19.72L336,413.85h7.67l6.91,28.82c1.6,6.74,3.12,13.48,4,19.47h.17c1.18-6.24,2.78-12.56,4.55-19.64l7.5-28.66h7.5l-16.1,56.81h-7.67l-7.16-29.58a171.14,171.14,0,0,1-3.71-18.54h-.17A177.33,177.33,0,0,1,335,441.07L327,470.65h-7.67l-14.41-56.81Zm171.74-3v25.45h.17a13.77,13.77,0,0,1,5.31-5.23,15.27,15.27,0,0,1,7.59-2.11c5.48,0,14.24,3.37,14.24,17.45v24.27h-7.42V447.23c0-6.57-2.44-12.14-9.44-12.14a10.65,10.65,0,0,0-9.95,7.42,9,9,0,0,0-.51,3.54v24.61h-7.42V410.82ZM530.45,459c0,4.8,3.2,7.08,7,7.08a10.15,10.15,0,0,0,9.86-6.83,7.74,7.74,0,0,0,.42-2.36v-7.08C539.64,449.67,530.45,451.1,530.45,459Zm138.79,0c0,4.8,3.2,7.08,7,7.08a10.15,10.15,0,0,0,9.86-6.83,7.74,7.74,0,0,0,.42-2.36v-7.08C678.43,449.67,669.24,451.1,669.24,459ZM396.39,434.25c-7.5,0-10.79,6.91-11.38,12.05h21.66C406.75,441.58,404.73,434.25,396.39,434.25Zm238-15a30.8,30.8,0,0,0-6.91.59v22.08a24.65,24.65,0,0,0,6.07.59c8.85,0,14.24-4.3,14.24-12.14C647.76,422.87,642.45,419.24,634.36,419.24ZM584.45,291.18V306.1h44.14v7.75H584.45v16.2h35.63s-4.57,23.28-31.27,42.88c10.8,5.69,25,9.72,42.38,12.44,0,0-2.81,5-5.21,8.85-19-3.3-33.81-9.08-45.43-15.86-11.71,6.95-26.85,13-46.43,16.4-1.36-2-5.08-8.6-5.08-8.6,17.75-2.78,32.36-7.27,43.28-13.13-26.84-19.25-32-43-32-43h35.53v-16.2H530V306.1h45.85V291.18ZM323,319.7l6.88,3.65c-3.27,7.77-6.31,13.06-7.15,14.72v56.38H315V350.25c-4.44,6-7,9.07-8.34,10.54l-4.37-7.57C310.57,344.43,317.91,332.36,323,319.7Zm341.11-28.21,9,2-.28.74c-3.66,9.57-7.09,17.72-10.19,24.22v76H654V334.82a161.16,161.16,0,0,1-10.27,14.75L639,341.25c10.14-13.8,18.67-30.56,24.88-49.18Zm-226.36,0,8.15,2s-5.19,16.35-9.16,25l0,76h-8.61V335.12c-3.45,6.5-5.76,10.77-8.68,14.59l-4.66-8.07C426.86,326.4,437.72,291.47,437.72,291.47Zm-54.81-.41,7.75,1.55-.18.7c-1.6,6.13-3.37,12.15-5.26,17.91h23.19v7.33h-5.59c-1.44,20.81-5.13,36.93-10.95,47.93,4.62,9,13.52,17.42,16,19.7-.56,1.07-4.44,7.71-4.44,7.71s-12.89-13.2-15.81-19.59c-3.28,5.51-9.33,12.65-17.53,20h0L366,387s11.22-9.31,17.58-20.55a125.69,125.69,0,0,1-7.81-32.27c-1.36,2.39-2.1,3.68-3.47,5.73,0,0-3.62-6.29-4.36-7.47,6.51-11.45,11.39-24.94,14.87-40.71h0Zm344.12.88v24.4H742v8.18H727v53.12A15.35,15.35,0,0,1,711.7,393h-10v-9h10a6.39,6.39,0,0,0,6.38-6.38V324.52H670.25v-8.18h47.82v-24.4Zm-214.4,64.91v35.69H452V356.85Zm-149-4.26v19.71c1.45-1.23,5.89-5.13,7.38-6.46l3.57,6.18-16.36,13.81s-3.46-6-4.16-7.11c1-1.07,2.25-3.28,2.25-7.5V359.91H341.47c0,16.86-.68,23-11.92,31.75,0,0-2.71-4.78-3.92-6.78,9.66-7.63,8.51-18.06,8.51-32.29Zm140.81,12H460.61v20.61h43.84ZM608,337.7H552.6c3.17,6.6,11,19.34,28,30.42C597.44,356.87,605.06,344,608,337.7Zm79.67-.53L703.31,362l-8.15,4.45-14.64-25ZM395.5,318.55H382.74c-.13.52-1.33,3.54-1.6,4.13,1.59,15.26,3.94,27,7,34.81,3.79-9.1,6.27-22.18,7.36-38.94Zm118,21.24v7.33H451.15v-7.33Zm-146-3.84v7.33h-35V336Zm146-13.22v7.33H451.15v-7.33ZM354.26,292.89v26.87h7.92V300.56h6.9v26.09H331.7V301H339v18.76h7.91V292.89Zm-30.89-1.78,6.76,4.43a101.69,101.69,0,0,1-22.45,30.55L303.6,319C311,311.86,318,301.79,323.38,291.1Zm158.9.37,6.08,13.78h31.1V313H445.61v-7.75h34.12L475.3,294.5Z\"\n transform=\"translate(-26.03 -278.49)\"\n style=\"fill: #4d4d4d\"\n />\n <path\n id=\"Fill-29\"\n d=\"M113,412a8,8,0,0,1-10.54-3.22l-.52-1.14L80.18,359.84a4.16,4.16,0,0,1-.38-1.68A4,4,0,0,1,86.17,355l25.69,18.29a11.86,11.86,0,0,0,10.62,1.22L243.29,320.7c-21.66-25.52-57.32-42.2-97.68-42.2-66,0-119.58,44.62-119.58,99.66,0,30,16.11,57.06,41.32,75.33A8,8,0,0,1,70.69,460a9.43,9.43,0,0,1-.42,2.54l-5.39,20.1a11.73,11.73,0,0,0-.64,2.91,4,4,0,0,0,4,4,4.5,4.5,0,0,0,2.3-.74l26.18-15.11a12.55,12.55,0,0,1,6.35-1.84,12,12,0,0,1,3.51.53,141.5,141.5,0,0,0,39,5.46c66,0,119.59-44.62,119.59-99.66A86.29,86.29,0,0,0,251.58,332l-137.69,79.5Z\"\n transform=\"translate(-26.03 -278.49)\"\n style=\"fill: #1aad19\"\n />\n </g>\n </g>\n </g>\n </svg> -->\n </div>\n </div>\n }\n </div>\n\n <!-- safe area -->\n <div class=\"pb-16 sm:pb-3\"></div>\n <div class=\"\">\n @if (order.status.toString() === 'PAID') {\n <button mat-flat-button class=\"w-32 min-h-11\" (click)=\"refund()\">\u7533\u8BF7\u9000\u6B3E</button>\n }\n <div class=\"flex items-center justify-end\">\n @if (order.status.toString() === 'CREATED') {\n <span\n class=\"underline text-sm underline-offset-4 mr-6 cursor-pointer hover:text-[--rt-brand-color]\"\n (click)=\"cancel()\"\n >\u53D6\u6D88\u8BA2\u5355</span\n >\n }\n @if (order.status.toString() === 'CREATED') {\n @if (order.deposit) {\n <button mat-flat-button class=\"w-32 min-h-11\" (click)=\"pay()\">\u652F\u4ED8\u5B9A\u91D1</button>\n } @else {\n <button mat-flat-button class=\"w-32 min-h-11\" (click)=\"pay()\">\u652F\u4ED8\u8BA2\u5355</button>\n }\n }\n @if (order.status.toString() === 'PARTIAL_PAID') {\n <button mat-flat-button class=\"w-32 min-h-11\" (click)=\"pay()\">\u652F\u4ED8\u5C3E\u6B3E</button>\n }\n </div>\n </div>\n </div>\n </rolatech-container>\n}\n@if (info) {\n <div\n [ngClass]=\"loadingTimeline ? 'translate-x-full' : 'translate-none'\"\n class=\"fixed top-0 right-0 z-[1001] h-screen p-4 overflow-y-auto transition-transform bg-[--rt-raised-background] w-80 sm:w-[300px] shadow-xl\"\n >\n <div class=\"flex justify-between items-center sm:p-4\">\n <div class=\"text-xl font-bold\">\u8BA2\u5355\u72B6\u6001</div>\n <button mat-icon-button (click)=\"info = !info\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n @if (loadingTimeline) {\n <div>\n <rolatech-spinner></rolatech-spinner>\n </div>\n } @else {\n <div class=\"mt-3 p-1 sm:p-4\">\n <ol class=\"relative border-l border-[--rt-border-color]\">\n @for (item of timelineData; track item) {\n <li class=\"mb-8 ml-4\">\n <div\n class=\"absolute w-3 h-3 rounded-full mt-1.5 -left-1.5 border border-[--rt-raised-background] bg-[--rt-text-primary]\"\n ></div>\n <div class=\"text-md font-bold mb-1\">{{ timelineStatus[item.status] }}</div>\n @if (item.status === 'BOOKING_RETURN_REJECTED') {\n <div class=\"text-sm mb-1\">{{ item.return.note }}</div>\n }\n @if (item.status === 'BOOKING_RETURN_REQUESTED') {\n <div class=\"text-sm mb-1\">{{ item.return.reason }}</div>\n }\n <div class=\"text-sm text-[--rt-text-secondary]\">{{ item.date }}</div>\n </li>\n }\n </ol>\n </div>\n }\n </div>\n}\n\n<div\n (click)=\"info = !info\"\n [ngClass]=\"info ? 'visible' : 'invisible'\"\n class=\"bg-[--rt-10-percent-layer] fixed inset-0 z-[1000]\"\n></div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i1$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SpinnerComponent, selector: "rolatech-spinner", inputs: ["title"] }, { kind: "component", type: ContainerComponent, selector: "rolatech-container" }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "component", type: OrderDetailItemComponent, selector: "rolatech-order-detail-item", inputs: ["thumbnail", "title", "description", "quantity", "total", "link"] }, { kind: "pipe", type: OrderItemOptionsFormatPipe, name: "orderItemoptions" }, { kind: "pipe", type: FixedPipe, name: "fixed" }, { kind: "pipe", type: MerchantFilterPipe, name: "merchantFilter" }, { kind: "pipe", type: ShippingAddressPipe, name: "shippingAddress" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: OrderMerchantComponent, selector: "rolatech-order-merchant", inputs: ["merchant"] }] }); }
|
|
522
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderDetailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
523
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.4", type: OrderDetailComponent, isStandalone: true, selector: "rolatech-order-detail", viewQueries: [{ propertyName: "paymentElement", first: true, predicate: ["paymentElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (order) {\n <rolatech-container>\n <rolatech-toolbar [title]=\"status[order.status]\" large link=\"../\">\n <button mat-button (click)=\"timeline()\">\n <mat-icon>history</mat-icon>\n <span>\u8BA2\u5355\u72B6\u6001</span>\n </button>\n @if (isSingleMerchant() && order.type.toString() === 'PRODUCT') {\n <button mat-button routerLink=\"./tracking\">\n <mat-icon>local_shipping</mat-icon>\n <span>\u7269\u6D41\u67E5\u8BE2</span>\n </button>\n }\n </rolatech-toolbar>\n <div>\n @if (order.status === 'CREATED') {\n <div class=\"text-[--rt-brand-color] font-bold\">\u652F\u4ED8\u5012\u8BA1\u65F6: {{ countDown }}</div>\n }\n <div class=\"flex justify-between items-center py-2\">\n <a class=\"text-xl font-bold\">Order ID: {{ order.id }}</a>\n @if (!isSingleMerchant()) {\n <a class=\"text-sm\">\u8BA2\u5355\u5DF2\u62C6\u5206</a>\n }\n </div>\n <div>\n @if (isSingleMerchant()) {\n <div>\n <rolatech-order-merchant [merchant]=\"merchants | merchantFilter: order.merchantId\"></rolatech-order-merchant>\n @for (item of order.items; track $index) {\n <rolatech-order-detail-item\n [thumbnail]=\"item.media[0].url + '!w200 '\"\n [link]=\"order.type.toString() === 'PRODUCT' ? '/products/' + item.productId : '/courses/' + item.productId\"\n [title]=\"item.name\"\n [total]=\"item.total\"\n [description]=\"item.options | orderItemoptions: order.type\"\n [quantity]=\"item.quantity\"\n ></rolatech-order-detail-item>\n }\n </div>\n } @else {\n <div class=\"flex flex-col divide-y divide-[--rt-10-percent-layer]\">\n @for (subOrder of order.subOrders; track $index) {\n <div>\n <rolatech-order-merchant [merchant]=\"merchants | merchantFilter: subOrder.merchantId\"></rolatech-order-merchant>\n <div class=\"flex justify-between items-center\">\n <a class=\"text-lg font-bold\" [routerLink]=\"['/orders', subOrder.id]\">#{{ subOrder.id }}</a>\n @if (order.type.toString() === 'PRODUCT') {\n <button mat-button [routerLink]=\"['/orders', subOrder.id, 'tracking']\">\n <span>\u7269\u6D41\u67E5\u8BE2</span>\n </button>\n }\n </div>\n @for (item of subOrder.items; track $index) {\n <rolatech-order-detail-item\n [thumbnail]=\"item.media[0].url + '!w200 '\"\n [link]=\"order.type.toString() === 'PRODUCT' ? '/products/' + item.productId : '/courses/' + item.productId\"\n [title]=\"item.name\"\n [total]=\"item.total\"\n [description]=\"item.options | orderItemoptions: order.type\"\n [quantity]=\"item.quantity\"\n ></rolatech-order-detail-item>\n }\n <div class=\"flex justify-end py-3\">\n <a class=\"text-md font-bold\">\u00A5{{ subOrder.subTotal | fixed }}</a>\n </div>\n </div>\n }\n </div>\n }\n <div class=\"mt-3\">\n <div class=\"text-lg py-3 font-medium\">\u8BA2\u5355\u4FE1\u606F</div>\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\">\u4E0B\u5355\u65F6\u95F4</span>\n <span class=\"text-sm\"> {{ order.createdAt }}</span>\n </div>\n <div class=\"flex items-baseline justify-between py-1\">\n <span class=\"font-medium min-w-20\">\u914D\u9001\u4FE1\u606F</span>\n <span class=\"text-sm\">{{ order.shippingAddress | shippingAddress }}</span>\n </div>\n <div class=\"flex items-baseline justify-between py-1\">\n <span class=\"font-medium min-w-20\">\u5907\u6CE8\u4FE1\u606F</span>\n <span class=\"text-sm\">{{ order.note || '\u65E0' }}</span>\n </div>\n @if (order.deposit) {\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\">\u5B9A\u91D1\u91D1\u989D</span>\n <span class=\"text-sm\">\u00A5{{ order.deposit | fixed }}</span>\n </div>\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\">\u5C3E\u6B3E\u91D1\u989D</span>\n <span class=\"text-sm\">\u00A5{{ order.total - order.deposit | fixed }}</span>\n </div>\n }\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\">\u5E94\u4ED8\u91D1\u989D</span>\n <span class=\"text-sm\">\u00A5{{ order.total | fixed }}</span>\n </div>\n </div>\n <div id=\"payment-element\"></div>\n @if (order.status.toString() === 'CREATED' || order.status.toString() === 'PAID') {\n <div class=\"mt-6\">\n <div class=\"text-lg pb-3 font-medium\">\u652F\u4ED8\u65B9\u5F0F</div>\n\n <div class=\"flex items-center\">\n <svg\n class=\"svg-icon\"\n style=\"width: 2rem; height: 2rem\"\n viewBox=\"0 0 1024 1024\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M395.846 603.585c-3.921 1.98-7.936 2.925-12.81 2.925-10.9 0-19.791-5.85-24.764-14.625l-2.006-3.864-78.106-167.913c-0.956-1.98-0.956-3.865-0.956-5.845 0-7.83 5.928-13.68 13.863-13.68 2.965 0 5.928 0.944 8.893 2.924l91.965 64.43c6.884 3.864 14.82 6.79 23.708 6.79 4.972 0 9.85-0.945 14.822-2.926L861.71 282.479c-77.149-89.804-204.684-148.384-349.135-148.384-235.371 0-427.242 157.158-427.242 351.294 0 105.368 57.361 201.017 147.323 265.447 6.88 4.905 11.852 13.68 11.852 22.45 0 2.925-0.957 5.85-2.006 8.775-6.881 26.318-18.831 69.334-18.831 71.223-0.958 2.92-2.013 6.79-2.013 10.75 0 7.83 5.929 13.68 13.865 13.68 2.963 0 5.928-0.944 7.935-2.925l92.922-53.674c6.885-3.87 14.82-6.794 22.756-6.794 3.916 0 8.889 0.944 12.81 1.98 43.496 12.644 91.012 19.53 139.48 19.53 235.372 0 427.24-157.158 427.24-351.294 0-58.58-17.78-114.143-48.467-163.003l-491.39 280.07-2.963 1.98z\"\n fill=\"#09BB07\"\n />\n </svg>\n <span class=\"ml-1\">\u5FAE\u4FE1\u652F\u4ED8</span>\n <!-- <svg id=\"Layer_1\" data-name=\"Layer 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 715.94 211.02\">\n <title>WeChat Pay logo - Brandlogos.net</title>\n <g id=\"\u9875\u9762-1\">\n <g id=\"\u753B\u677F\">\n <g id=\"\u7F16\u7EC4\">\n <path\n id=\"\u5F62\u72B6\u7ED3\u5408\"\n d=\"M710.2,429.86l8.93,24.1c.93,2.7,1.94,5.9,2.61,8.34h.17c.76-2.44,1.6-5.56,2.61-8.51l8.09-23.93h7.84l-11.13,29.08c-5.31,14-8.93,21.16-14,25.54a21.48,21.48,0,0,1-7.57,4.41c-.61-1.09-3.39-5.85-3.39-5.85a19.62,19.62,0,0,0,6.49-3.62,22.5,22.5,0,0,0,6.24-8.26,5.31,5.31,0,0,0,.59-1.77,6.45,6.45,0,0,0-.51-1.94l-15.09-37.59Zm-170.81-.93c12.47,0,15.51,8.51,15.51,16.69v15.26a57.4,57.4,0,0,0,.67,9.78h-6.74l-.59-5.14H548a15.19,15.19,0,0,1-12.47,6.07c-8.26,0-12.47-5.82-12.47-11.72,0-9.86,8.76-15.25,24.53-15.17v-.84c0-3.37-.93-9.44-9.27-9.44a20.61,20.61,0,0,0-9.77,2.52L526,432.56A25.3,25.3,0,0,1,539.39,428.94Zm138.79,0c12.47,0,15.51,8.51,15.51,16.69v15.26a57.41,57.41,0,0,0,.67,9.78h-6.74l-.59-5.14h-.25a15.19,15.19,0,0,1-12.47,6.07c-8.26,0-12.47-5.82-12.47-11.72,0-9.86,8.77-15.25,24.53-15.17v-.84c0-3.37-.93-9.44-9.27-9.44a20.6,20.6,0,0,0-9.77,2.52l-2.53-4.38A25.3,25.3,0,0,1,678.18,428.94Zm-226.09-16c7.08,0,11.55,1.52,13.48,2.53,0,0-2.24,3.9-3.16,5.38a28,28,0,0,0-10.07-1.75c-13.32,0-22.17,8.51-22.17,23.43,0,13.91,8,22.84,21.83,22.84a31.51,31.51,0,0,0,10.48-1.73c.67,1.17,3,5.19,3,5.19-2.7,1.35-8.09,2.7-15,2.7-16,0-28.07-10.11-28.07-28.74C422.42,425,434.47,412.92,452.09,412.92Zm-55.11,16c13.32,0,16.86,11.72,16.86,19.22a28,28,0,0,1-.25,3.46H384.93c.17,10,6.57,14.16,14,14.16a27.78,27.78,0,0,0,9.78-1.51c.68,1.12,2.78,4.71,2.78,4.71a33,33,0,0,1-13.57,2.53c-12.56,0-20.06-8.26-20.06-20.57S385.09,428.94,397,428.94Zm181-10.79v11.72H588.6v5.65H578v22c0,5.06,1.43,7.92,5.56,7.92.61,0,1.16,0,1.67-.07.87,1.47,3,5.12,3,5.12a18.19,18.19,0,0,1-6.57,1c-3.46,0-6.24-1.1-8-3.12-2.11-2.19-2.87-5.81-2.87-10.62V435.51h-6.32v-5.65h6.32V418.15Zm56.21-4.72c7.25,0,12.56,1.69,15.93,4.72,3.12,2.7,5,6.83,5,11.88s-1.52,9.19-4.38,12.14c-3.88,4.13-10.2,6.24-17.36,6.24a25.3,25.3,0,0,1-5.9-.51v22.76h-7.33V414.52A85.05,85.05,0,0,1,634.19,413.43Zm-321.57.42,6.74,28.74c1.69,7.08,3.2,14.16,4.21,19.64h.17c.93-5.65,2.7-12.39,4.64-19.72L336,413.85h7.67l6.91,28.82c1.6,6.74,3.12,13.48,4,19.47h.17c1.18-6.24,2.78-12.56,4.55-19.64l7.5-28.66h7.5l-16.1,56.81h-7.67l-7.16-29.58a171.14,171.14,0,0,1-3.71-18.54h-.17A177.33,177.33,0,0,1,335,441.07L327,470.65h-7.67l-14.41-56.81Zm171.74-3v25.45h.17a13.77,13.77,0,0,1,5.31-5.23,15.27,15.27,0,0,1,7.59-2.11c5.48,0,14.24,3.37,14.24,17.45v24.27h-7.42V447.23c0-6.57-2.44-12.14-9.44-12.14a10.65,10.65,0,0,0-9.95,7.42,9,9,0,0,0-.51,3.54v24.61h-7.42V410.82ZM530.45,459c0,4.8,3.2,7.08,7,7.08a10.15,10.15,0,0,0,9.86-6.83,7.74,7.74,0,0,0,.42-2.36v-7.08C539.64,449.67,530.45,451.1,530.45,459Zm138.79,0c0,4.8,3.2,7.08,7,7.08a10.15,10.15,0,0,0,9.86-6.83,7.74,7.74,0,0,0,.42-2.36v-7.08C678.43,449.67,669.24,451.1,669.24,459ZM396.39,434.25c-7.5,0-10.79,6.91-11.38,12.05h21.66C406.75,441.58,404.73,434.25,396.39,434.25Zm238-15a30.8,30.8,0,0,0-6.91.59v22.08a24.65,24.65,0,0,0,6.07.59c8.85,0,14.24-4.3,14.24-12.14C647.76,422.87,642.45,419.24,634.36,419.24ZM584.45,291.18V306.1h44.14v7.75H584.45v16.2h35.63s-4.57,23.28-31.27,42.88c10.8,5.69,25,9.72,42.38,12.44,0,0-2.81,5-5.21,8.85-19-3.3-33.81-9.08-45.43-15.86-11.71,6.95-26.85,13-46.43,16.4-1.36-2-5.08-8.6-5.08-8.6,17.75-2.78,32.36-7.27,43.28-13.13-26.84-19.25-32-43-32-43h35.53v-16.2H530V306.1h45.85V291.18ZM323,319.7l6.88,3.65c-3.27,7.77-6.31,13.06-7.15,14.72v56.38H315V350.25c-4.44,6-7,9.07-8.34,10.54l-4.37-7.57C310.57,344.43,317.91,332.36,323,319.7Zm341.11-28.21,9,2-.28.74c-3.66,9.57-7.09,17.72-10.19,24.22v76H654V334.82a161.16,161.16,0,0,1-10.27,14.75L639,341.25c10.14-13.8,18.67-30.56,24.88-49.18Zm-226.36,0,8.15,2s-5.19,16.35-9.16,25l0,76h-8.61V335.12c-3.45,6.5-5.76,10.77-8.68,14.59l-4.66-8.07C426.86,326.4,437.72,291.47,437.72,291.47Zm-54.81-.41,7.75,1.55-.18.7c-1.6,6.13-3.37,12.15-5.26,17.91h23.19v7.33h-5.59c-1.44,20.81-5.13,36.93-10.95,47.93,4.62,9,13.52,17.42,16,19.7-.56,1.07-4.44,7.71-4.44,7.71s-12.89-13.2-15.81-19.59c-3.28,5.51-9.33,12.65-17.53,20h0L366,387s11.22-9.31,17.58-20.55a125.69,125.69,0,0,1-7.81-32.27c-1.36,2.39-2.1,3.68-3.47,5.73,0,0-3.62-6.29-4.36-7.47,6.51-11.45,11.39-24.94,14.87-40.71h0Zm344.12.88v24.4H742v8.18H727v53.12A15.35,15.35,0,0,1,711.7,393h-10v-9h10a6.39,6.39,0,0,0,6.38-6.38V324.52H670.25v-8.18h47.82v-24.4Zm-214.4,64.91v35.69H452V356.85Zm-149-4.26v19.71c1.45-1.23,5.89-5.13,7.38-6.46l3.57,6.18-16.36,13.81s-3.46-6-4.16-7.11c1-1.07,2.25-3.28,2.25-7.5V359.91H341.47c0,16.86-.68,23-11.92,31.75,0,0-2.71-4.78-3.92-6.78,9.66-7.63,8.51-18.06,8.51-32.29Zm140.81,12H460.61v20.61h43.84ZM608,337.7H552.6c3.17,6.6,11,19.34,28,30.42C597.44,356.87,605.06,344,608,337.7Zm79.67-.53L703.31,362l-8.15,4.45-14.64-25ZM395.5,318.55H382.74c-.13.52-1.33,3.54-1.6,4.13,1.59,15.26,3.94,27,7,34.81,3.79-9.1,6.27-22.18,7.36-38.94Zm118,21.24v7.33H451.15v-7.33Zm-146-3.84v7.33h-35V336Zm146-13.22v7.33H451.15v-7.33ZM354.26,292.89v26.87h7.92V300.56h6.9v26.09H331.7V301H339v18.76h7.91V292.89Zm-30.89-1.78,6.76,4.43a101.69,101.69,0,0,1-22.45,30.55L303.6,319C311,311.86,318,301.79,323.38,291.1Zm158.9.37,6.08,13.78h31.1V313H445.61v-7.75h34.12L475.3,294.5Z\"\n transform=\"translate(-26.03 -278.49)\"\n style=\"fill: #4d4d4d\"\n />\n <path\n id=\"Fill-29\"\n d=\"M113,412a8,8,0,0,1-10.54-3.22l-.52-1.14L80.18,359.84a4.16,4.16,0,0,1-.38-1.68A4,4,0,0,1,86.17,355l25.69,18.29a11.86,11.86,0,0,0,10.62,1.22L243.29,320.7c-21.66-25.52-57.32-42.2-97.68-42.2-66,0-119.58,44.62-119.58,99.66,0,30,16.11,57.06,41.32,75.33A8,8,0,0,1,70.69,460a9.43,9.43,0,0,1-.42,2.54l-5.39,20.1a11.73,11.73,0,0,0-.64,2.91,4,4,0,0,0,4,4,4.5,4.5,0,0,0,2.3-.74l26.18-15.11a12.55,12.55,0,0,1,6.35-1.84,12,12,0,0,1,3.51.53,141.5,141.5,0,0,0,39,5.46c66,0,119.59-44.62,119.59-99.66A86.29,86.29,0,0,0,251.58,332l-137.69,79.5Z\"\n transform=\"translate(-26.03 -278.49)\"\n style=\"fill: #1aad19\"\n />\n </g>\n </g>\n </g>\n </svg> -->\n </div>\n </div>\n }\n </div>\n\n <!-- safe area -->\n <div class=\"pb-16 sm:pb-3\"></div>\n <div class=\"\">\n @if (order.status.toString() === 'PAID') {\n <button mat-flat-button class=\"w-32 min-h-11\" (click)=\"refund()\">\u7533\u8BF7\u9000\u6B3E</button>\n }\n <div class=\"flex items-center justify-end\">\n @if (order.status.toString() === 'CREATED') {\n <span\n class=\"underline text-sm underline-offset-4 mr-6 cursor-pointer hover:text-[--rt-brand-color]\"\n (click)=\"cancel()\"\n >\u53D6\u6D88\u8BA2\u5355</span\n >\n }\n @if (order.status.toString() === 'CREATED') {\n @if (order.deposit) {\n <button mat-flat-button class=\"w-32 min-h-11\" (click)=\"pay()\">\u652F\u4ED8\u5B9A\u91D1</button>\n } @else {\n <button mat-flat-button class=\"w-32 min-h-11\" (click)=\"pay()\">\u652F\u4ED8\u8BA2\u5355</button>\n }\n }\n @if (order.status.toString() === 'PARTIAL_PAID') {\n <button mat-flat-button class=\"w-32 min-h-11\" (click)=\"pay()\">\u652F\u4ED8\u5C3E\u6B3E</button>\n }\n </div>\n </div>\n </div>\n </rolatech-container>\n}\n@if (info) {\n <div\n [ngClass]=\"loadingTimeline ? 'translate-x-full' : 'translate-none'\"\n class=\"fixed top-0 right-0 z-[1001] h-screen p-4 overflow-y-auto transition-transform bg-[--rt-raised-background] w-80 sm:w-[300px] shadow-xl\"\n >\n <div class=\"flex justify-between items-center sm:p-4\">\n <div class=\"text-xl font-bold\">\u8BA2\u5355\u72B6\u6001</div>\n <button mat-icon-button (click)=\"info = !info\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n @if (loadingTimeline) {\n <div>\n <rolatech-spinner></rolatech-spinner>\n </div>\n } @else {\n <div class=\"mt-3 p-1 sm:p-4\">\n <ol class=\"relative border-l border-[--rt-border-color]\">\n @for (item of timelineData; track item) {\n <li class=\"mb-8 ml-4\">\n <div\n class=\"absolute w-3 h-3 rounded-full mt-1.5 -left-1.5 border border-[--rt-raised-background] bg-[--rt-text-primary]\"\n ></div>\n <div class=\"text-md font-bold mb-1\">{{ timelineStatus[item.status] }}</div>\n @if (item.status === 'BOOKING_RETURN_REJECTED') {\n <div class=\"text-sm mb-1\">{{ item.return.note }}</div>\n }\n @if (item.status === 'BOOKING_RETURN_REQUESTED') {\n <div class=\"text-sm mb-1\">{{ item.return.reason }}</div>\n }\n <div class=\"text-sm text-[--rt-text-secondary]\">{{ item.date }}</div>\n </li>\n }\n </ol>\n </div>\n }\n </div>\n}\n\n<div\n (click)=\"info = !info\"\n [ngClass]=\"info ? 'visible' : 'invisible'\"\n class=\"bg-[--rt-10-percent-layer] fixed inset-0 z-[1000]\"\n></div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i1$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SpinnerComponent, selector: "rolatech-spinner", inputs: ["title"] }, { kind: "component", type: ContainerComponent, selector: "rolatech-container" }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "component", type: OrderDetailItemComponent, selector: "rolatech-order-detail-item", inputs: ["thumbnail", "title", "description", "quantity", "total", "link"] }, { kind: "pipe", type: OrderItemOptionsFormatPipe, name: "orderItemoptions" }, { kind: "pipe", type: FixedPipe, name: "fixed" }, { kind: "pipe", type: MerchantFilterPipe, name: "merchantFilter" }, { kind: "pipe", type: ShippingAddressPipe, name: "shippingAddress" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: OrderMerchantComponent, selector: "rolatech-order-merchant", inputs: ["merchant"] }] }); }
|
|
524
524
|
}
|
|
525
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
525
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderDetailComponent, decorators: [{
|
|
526
526
|
type: Component,
|
|
527
527
|
args: [{ selector: 'rolatech-order-detail', imports: [
|
|
528
528
|
MatButtonModule,
|
|
@@ -599,10 +599,10 @@ class OrderQrcodepayComponent extends BaseComponent {
|
|
|
599
599
|
this.renderer.removeChild(this.qrcElement().nativeElement, node);
|
|
600
600
|
}
|
|
601
601
|
}
|
|
602
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
603
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
602
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderQrcodepayComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
603
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.4", type: OrderQrcodepayComponent, isStandalone: true, selector: "rolatech-order-qrcodepay", viewQueries: [{ propertyName: "qrcElement", first: true, predicate: ["qrcode"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (order) {\n <rolatech-container>\n <rolatech-toolbar [title]=\"status[order.status]\" link=\"../\" large></rolatech-toolbar>\n <div>\n <div>\n <a class=\"text-[--rt-brand-color]\" routerLink=\"..\"\n ><span>\u8BA2\u5355: </span><span class=\"underline\">#{{ this.id }}</span></a\n >\n @if (order.status.toString() === 'CREATED') {\n @if (order.deposit) {\n <div>\u652F\u4ED8\u5B9A\u91D1: \u00A5{{ order.deposit | fixed }}</div>\n } @else {\n <div>\u652F\u4ED8\u91D1\u989D: \u00A5{{ order.total | fixed }}</div>\n }\n }\n @if (order.status.toString() === 'PARTIAL_PAID') {\n <div>\u652F\u4ED8\u5C3E\u6B3E \u00A5{{ order.total - order.deposit | fixed }}</div>\n }\n </div>\n <div class=\"mt-6\">\n @if (needPay) {\n <div>\n <div>\u8BF7\u4F7F\u7528\u5FAE\u4FE1\u626B\u7801\u652F\u4ED8, \u6211\u4EEC\u4F1A\u5728\u6536\u5230\u4ED8\u6B3E\u540E\u5904\u7406\u60A8\u7684\u8BA2\u5355</div>\n <div class=\"w-52 h-56 flex flex-col justify-end items-center\">\n <div #qrcode></div>\n <span class=\"text-md\">\u5FAE\u4FE1\u652F\u4ED8\u4E8C\u7EF4\u7801</span>\n </div>\n </div>\n } @else {\n <div>\u8BF7\u786E\u8BA4\u5F53\u524D\u8BA2\u5355\u72B6\u6001, \u5982\u5DF2\u7ECF\u4ED8\u6B3E, \u8BF7\u8FD4\u56DE\u67E5\u770B</div>\n }\n </div>\n </div>\n </rolatech-container>\n}\n", styles: [""], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: ContainerComponent, selector: "rolatech-container" }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "pipe", type: FixedPipe, name: "fixed" }] }); }
|
|
604
604
|
}
|
|
605
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
605
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderQrcodepayComponent, decorators: [{
|
|
606
606
|
type: Component,
|
|
607
607
|
args: [{ selector: 'rolatech-order-qrcodepay', imports: [RouterLink, ContainerComponent, ToolbarComponent, FixedPipe], template: "@if (order) {\n <rolatech-container>\n <rolatech-toolbar [title]=\"status[order.status]\" link=\"../\" large></rolatech-toolbar>\n <div>\n <div>\n <a class=\"text-[--rt-brand-color]\" routerLink=\"..\"\n ><span>\u8BA2\u5355: </span><span class=\"underline\">#{{ this.id }}</span></a\n >\n @if (order.status.toString() === 'CREATED') {\n @if (order.deposit) {\n <div>\u652F\u4ED8\u5B9A\u91D1: \u00A5{{ order.deposit | fixed }}</div>\n } @else {\n <div>\u652F\u4ED8\u91D1\u989D: \u00A5{{ order.total | fixed }}</div>\n }\n }\n @if (order.status.toString() === 'PARTIAL_PAID') {\n <div>\u652F\u4ED8\u5C3E\u6B3E \u00A5{{ order.total - order.deposit | fixed }}</div>\n }\n </div>\n <div class=\"mt-6\">\n @if (needPay) {\n <div>\n <div>\u8BF7\u4F7F\u7528\u5FAE\u4FE1\u626B\u7801\u652F\u4ED8, \u6211\u4EEC\u4F1A\u5728\u6536\u5230\u4ED8\u6B3E\u540E\u5904\u7406\u60A8\u7684\u8BA2\u5355</div>\n <div class=\"w-52 h-56 flex flex-col justify-end items-center\">\n <div #qrcode></div>\n <span class=\"text-md\">\u5FAE\u4FE1\u652F\u4ED8\u4E8C\u7EF4\u7801</span>\n </div>\n </div>\n } @else {\n <div>\u8BF7\u786E\u8BA4\u5F53\u524D\u8BA2\u5355\u72B6\u6001, \u5982\u5DF2\u7ECF\u4ED8\u6B3E, \u8BF7\u8FD4\u56DE\u67E5\u770B</div>\n }\n </div>\n </div>\n </rolatech-container>\n}\n" }]
|
|
608
608
|
}] });
|
|
@@ -628,10 +628,10 @@ class OrderTrackingComponent extends BaseComponent {
|
|
|
628
628
|
goBack() {
|
|
629
629
|
this.location.back();
|
|
630
630
|
}
|
|
631
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
632
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
631
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderTrackingComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
632
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.4", type: OrderTrackingComponent, isStandalone: true, selector: "rolatech-order-tracking", usesInheritance: true, ngImport: i0, template: "<rolatech-container>\n <rolatech-toolbar title=\"\u8BA2\u5355\u8FFD\u8E2A\" large back></rolatech-toolbar>\n <div>\n <!-- <div class=\"font-bold text-lg\">#{{ order.id }}</div> -->\n </div>\n <div>\n <div class=\"text-lg py-3 font-medium\">\u7269\u6D41\u4FE1\u606F</div>\n @for (item of trackingEvent; track $index) {\n <div class=\"py-2\">\n <div>{{ item.time }}</div>\n <div>{{ item.text }}</div>\n </div>\n }\n </div>\n</rolatech-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ContainerComponent, selector: "rolatech-container" }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }] }); }
|
|
633
633
|
}
|
|
634
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
634
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderTrackingComponent, decorators: [{
|
|
635
635
|
type: Component,
|
|
636
636
|
args: [{ selector: 'rolatech-order-tracking', imports: [CommonModule, ContainerComponent, ToolbarComponent], template: "<rolatech-container>\n <rolatech-toolbar title=\"\u8BA2\u5355\u8FFD\u8E2A\" large back></rolatech-toolbar>\n <div>\n <!-- <div class=\"font-bold text-lg\">#{{ order.id }}</div> -->\n </div>\n <div>\n <div class=\"text-lg py-3 font-medium\">\u7269\u6D41\u4FE1\u606F</div>\n @for (item of trackingEvent; track $index) {\n <div class=\"py-2\">\n <div>{{ item.time }}</div>\n <div>{{ item.text }}</div>\n </div>\n }\n </div>\n</rolatech-container>\n" }]
|
|
637
637
|
}] });
|
|
@@ -663,10 +663,10 @@ class OrderSubOrderTrackingComponent extends BaseComponent {
|
|
|
663
663
|
},
|
|
664
664
|
});
|
|
665
665
|
}
|
|
666
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
667
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
666
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderSubOrderTrackingComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
667
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.4", type: OrderSubOrderTrackingComponent, isStandalone: true, selector: "rolatech-order-suborder-tracking", usesInheritance: true, ngImport: i0, template: "<rolatech-container>\n <rolatech-toolbar title=\"\u8BA2\u5355\u8FFD\u8E2A\" large link=\"../../\"></rolatech-toolbar>\n <div>\n <!-- <div class=\"font-bold text-lg\">#{{ order.id }}</div> -->\n </div>\n <div>\n <div class=\"text-lg py-3 font-medium\">\u7269\u6D41\u4FE1\u606F</div>\n @for (item of trackingEvent; track $index) {\n <div class=\"py-2\">\n <div>{{ item.time }}</div>\n <div>{{ item.text }}</div>\n </div>\n }\n </div>\n</rolatech-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ContainerComponent, selector: "rolatech-container" }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }] }); }
|
|
668
668
|
}
|
|
669
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
669
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderSubOrderTrackingComponent, decorators: [{
|
|
670
670
|
type: Component,
|
|
671
671
|
args: [{ selector: 'rolatech-order-suborder-tracking', imports: [CommonModule, ContainerComponent, ToolbarComponent], template: "<rolatech-container>\n <rolatech-toolbar title=\"\u8BA2\u5355\u8FFD\u8E2A\" large link=\"../../\"></rolatech-toolbar>\n <div>\n <!-- <div class=\"font-bold text-lg\">#{{ order.id }}</div> -->\n </div>\n <div>\n <div class=\"text-lg py-3 font-medium\">\u7269\u6D41\u4FE1\u606F</div>\n @for (item of trackingEvent; track $index) {\n <div class=\"py-2\">\n <div>{{ item.time }}</div>\n <div>{{ item.text }}</div>\n </div>\n }\n </div>\n</rolatech-container>\n" }]
|
|
672
672
|
}] });
|
|
@@ -701,10 +701,10 @@ class OrderManageItemHeaderComponent {
|
|
|
701
701
|
this.fulfillmentStatus = input();
|
|
702
702
|
this.total = input.required();
|
|
703
703
|
}
|
|
704
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
705
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.
|
|
704
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderManageItemHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
705
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.4", type: OrderManageItemHeaderComponent, isStandalone: true, selector: "rolatech-order-manage-item-header", inputs: { orderId: { classPropertyName: "orderId", publicName: "orderId", isSignal: true, isRequired: true, transformFunction: null }, status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, fulfillmentStatus: { classPropertyName: "fulfillmentStatus", publicName: "fulfillmentStatus", isSignal: true, isRequired: false, transformFunction: null }, total: { classPropertyName: "total", publicName: "total", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "id": "rolatech-order-manage-item-header" }, classAttribute: "rolatech-order-manage-item-header" }, ngImport: i0, template: "<div class=\"w-full h-11 flex items-center justify-between\">\n <div class=\"text-md font-bold\">#{{ orderId() }}</div>\n <div class=\"flex items-center gap-3\">\n <div>{{ status() }}</div>\n <div>{{ fulfillmentStatus() }}</div>\n <div>\u00A5{{ total() | fixed }}</div>\n </div>\n</div>\n", styles: ["rolatech-order-manage-item-header{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: FixedPipe, name: "fixed" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
706
706
|
}
|
|
707
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
707
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderManageItemHeaderComponent, decorators: [{
|
|
708
708
|
type: Component,
|
|
709
709
|
args: [{ selector: 'rolatech-order-manage-item-header', imports: [CommonModule, FixedPipe], encapsulation: ViewEncapsulation.None, host: {
|
|
710
710
|
id: 'rolatech-order-manage-item-header',
|
|
@@ -716,10 +716,10 @@ class OrderManageItemContentComponent {
|
|
|
716
716
|
constructor() {
|
|
717
717
|
this.items = input.required();
|
|
718
718
|
}
|
|
719
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
720
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
719
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderManageItemContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
720
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.4", type: OrderManageItemContentComponent, isStandalone: true, selector: "rolatech-order-manage-item-content", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "id": "rolatech-order-manage-item-content" }, classAttribute: "rolatech-order-manage-item-content" }, ngImport: i0, template: "<div class=\"flex flex-row md:flex-col overflow-hidden\">\n @for (item of items(); track $index) {\n <div class=\"flex items-center py-2\">\n <div class=\"min-w-16 w-24 object-cover aspect-video rounded-md mr-3\">\n @defer (on viewport()) {\n <rolatech-thumbnail [src]=\"item.media[0].url + '!w400'\" size=\"medium\" mode=\"full\"> </rolatech-thumbnail>\n } @placeholder {\n <div class=\"bg-[--rt-raised-background] h-full w-full object-cover aspect-video rounded-lg\"></div>\n }\n </div>\n <div class=\"hidden md:flex flex-col px-3\">\n <span class=\"text-lg font-bold hover:text-[--rt-brand-color] cursor-pointer\">{{ item.name }}</span>\n <span class=\"text-sm text-[--rt-text-secondary]\"> {{ item.options | orderItemoptions }}</span>\n </div>\n </div>\n }\n</div>\n", styles: [".scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: OrderItemOptionsFormatPipe, name: "orderItemoptions" }], encapsulation: i0.ViewEncapsulation.None, deferBlockDependencies: [() => [import('@rolatech/angular-components').then(m => m.ThumbnailComponent)]] }); }
|
|
721
721
|
}
|
|
722
|
-
i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "19.2.
|
|
722
|
+
i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "19.2.4", ngImport: i0, type: OrderManageItemContentComponent, resolveDeferredDeps: () => [import('@rolatech/angular-components').then(m => m.ThumbnailComponent)], resolveMetadata: ThumbnailComponent => ({ decorators: [{
|
|
723
723
|
type: Component,
|
|
724
724
|
args: [{ selector: 'rolatech-order-manage-item-content', imports: [CommonModule, ThumbnailComponent, OrderItemOptionsFormatPipe], encapsulation: ViewEncapsulation.None, host: {
|
|
725
725
|
id: 'rolatech-order-manage-item-content',
|
|
@@ -728,10 +728,10 @@ i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "19.2.3", ng
|
|
|
728
728
|
}], ctorParameters: null, propDecorators: null }) });
|
|
729
729
|
|
|
730
730
|
class OrderManageItemContainerComponent {
|
|
731
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
732
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
731
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderManageItemContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
732
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.4", type: OrderManageItemContainerComponent, isStandalone: true, selector: "rolatech-order-manage-item-container", host: { attributes: { "id": "rolatech-order-manage-item-container" }, classAttribute: "rolatech-order-manage-item-container" }, ngImport: i0, template: "<div class=\"flex flex-col w-full\">\n <ng-content select=\"rolatech-order-manage-item-header\"></ng-content>\n <ng-content select=\"rolatech-order-manage-item-content\"></ng-content>\n</div>\n", styles: ["rolatech-order-manage-item-container{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
733
733
|
}
|
|
734
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
734
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderManageItemContainerComponent, decorators: [{
|
|
735
735
|
type: Component,
|
|
736
736
|
args: [{ selector: 'rolatech-order-manage-item-container', imports: [CommonModule], encapsulation: ViewEncapsulation.None, host: {
|
|
737
737
|
id: 'rolatech-order-manage-item-container',
|
|
@@ -752,10 +752,10 @@ class OrderManageItemComponent {
|
|
|
752
752
|
}
|
|
753
753
|
archived() { }
|
|
754
754
|
delete() { }
|
|
755
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
756
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.
|
|
755
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderManageItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
756
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.4", type: OrderManageItemComponent, isStandalone: true, selector: "rolatech-order-manage-item", inputs: { order: { classPropertyName: "order", publicName: "order", isSignal: true, isRequired: true, transformFunction: null }, thumbnail: { classPropertyName: "thumbnail", publicName: "thumbnail", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { fulfill: "fulfill" }, ngImport: i0, template: "<div class=\"flex p-3 items-center hover:bg-[--rt-raised-background] cursor-pointer\">\n <rolatech-order-manage-item-container>\n <rolatech-order-manage-item-header\n [orderId]=\"order().subOrders ? order().subOrders[0].id : order().id\"\n [status]=\"order().subOrders ? status[order().subOrders[0].status] : status[order().status]\"\n [fulfillmentStatus]=\"fulfillmentStatus[order().fulfillmentStatus]\"\n [total]=\"order().items ? order().total : order().subOrders[0].subTotal\"\n ></rolatech-order-manage-item-header>\n <rolatech-order-manage-item-content\n [items]=\"order().items ? order().items : order().subOrders[0].items\"\n ></rolatech-order-manage-item-content>\n </rolatech-order-manage-item-container>\n</div>\n<div class=\"h-[1px] px-3 bg-[--rt-raised-background]\"></div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: OrderManageItemContainerComponent, selector: "rolatech-order-manage-item-container" }, { kind: "component", type: OrderManageItemHeaderComponent, selector: "rolatech-order-manage-item-header", inputs: ["orderId", "status", "fulfillmentStatus", "total"] }, { kind: "component", type: OrderManageItemContentComponent, selector: "rolatech-order-manage-item-content", inputs: ["items"] }] }); }
|
|
757
757
|
}
|
|
758
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
758
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderManageItemComponent, decorators: [{
|
|
759
759
|
type: Component,
|
|
760
760
|
args: [{ selector: 'rolatech-order-manage-item', imports: [
|
|
761
761
|
CommonModule,
|
|
@@ -877,10 +877,10 @@ class OrderManageIndexComponent {
|
|
|
877
877
|
})
|
|
878
878
|
.join(',');
|
|
879
879
|
}
|
|
880
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
881
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
880
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderManageIndexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
881
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.4", type: OrderManageIndexComponent, isStandalone: true, selector: "rolatech-order-manage-index", ngImport: i0, template: "<rolatech-toolbar title=\"\u8BA2\u5355\u7BA1\u7406\">\n <div class=\"flex items-center gap-2\"></div>\n</rolatech-toolbar>\n<rolatech-tabs [select]=\"select\">\n @for (item of links; track item) {\n @if (item.status) {\n <rolatech-tab [label]=\"item.name\" routerLink=\"./\" [queryParams]=\"{ status: item.status }\"></rolatech-tab>\n } @else {\n <rolatech-tab [label]=\"item.name\" routerLink=\"./\"></rolatech-tab>\n }\n }\n</rolatech-tabs>\n<div>\n @for (item of orders; track $index) {\n <rolatech-order-manage-item\n [order]=\"item\"\n routerLink=\"./{{ item.subOrders ? item.subOrders[0].id : item.id }}\"\n (fulfill)=\"onFulfill(item.id)\"\n ></rolatech-order-manage-item>\n }\n</div>\n<mat-paginator\n #paginator\n [length]=\"length\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (page)=\"pageEvent = findOrders($event)\"\n hidePageSize\n showFirstLastButtons\n>\n</mat-paginator>\n", styles: ["mat-form-field{width:100%}table{width:100%}td.mat-column-actions{text-align:right;max-width:64px;font-size:.8rem;padding:0 8px}.mat-mdc-header-cell.actions{text-align:right;max-width:64px;width:64px}.mat-mdc-cell:nth-last-child(2),.mat-mdc-header-cell:nth-last-child(2),.mat-mdc-footer-cell:nth-last-child(2){text-align:right;max-width:180px;width:180px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{text-align:right;padding-right:8px!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "component", type: TabsComponent, selector: "rolatech-tabs", inputs: ["select", "loading"], outputs: ["selectChange"] }, { kind: "component", type: TabComponent, selector: "rolatech-tab", inputs: ["label"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i1$2.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: OrderManageItemComponent, selector: "rolatech-order-manage-item", inputs: ["order", "thumbnail"], outputs: ["fulfill"] }] }); }
|
|
882
882
|
}
|
|
883
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
883
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderManageIndexComponent, decorators: [{
|
|
884
884
|
type: Component,
|
|
885
885
|
args: [{ selector: 'rolatech-order-manage-index', imports: [
|
|
886
886
|
CommonModule,
|
|
@@ -917,10 +917,10 @@ class OrderManageFulfillmentComponent extends BaseComponent {
|
|
|
917
917
|
next: (res) => { },
|
|
918
918
|
});
|
|
919
919
|
}
|
|
920
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
921
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
920
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderManageFulfillmentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
921
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.4", type: OrderManageFulfillmentComponent, isStandalone: true, selector: "rolatech-order-manage-fulfillment", usesInheritance: true, ngImport: i0, template: "<rolatech-toolbar large link=\"../\" title=\"\u53D1\u8D27\"> </rolatech-toolbar>\n<div class=\"flex flex-col w-full md:w-1/3\">\n <mat-form-field appearance=\"fill\">\n <mat-label>\u7269\u6D41\u5355\u53F7</mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"fulfillments.trackingNumber\" />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label>\u7269\u6D41\u516C\u53F8</mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"fulfillments.carrierId\" />\n </mat-form-field>\n</div>\n<button mat-flat-button (click)=\"fulfill()\">\n <mat-icon>local_shipping</mat-icon>\n <span>\u53D1\u8D27</span>\n</button>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { 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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3$1.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: TextFieldModule }] }); }
|
|
922
922
|
}
|
|
923
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
923
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderManageFulfillmentComponent, decorators: [{
|
|
924
924
|
type: Component,
|
|
925
925
|
args: [{ selector: 'rolatech-order-manage-fulfillment', imports: [
|
|
926
926
|
CommonModule,
|
|
@@ -935,10 +935,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImpor
|
|
|
935
935
|
}] });
|
|
936
936
|
|
|
937
937
|
class OrderVariantItemComponent {
|
|
938
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
939
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
938
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderVariantItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
939
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.4", type: OrderVariantItemComponent, isStandalone: true, selector: "rolatech-order-variant-item", ngImport: i0, template: "<p>order-variant-item works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
|
940
940
|
}
|
|
941
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
941
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderVariantItemComponent, decorators: [{
|
|
942
942
|
type: Component,
|
|
943
943
|
args: [{ selector: 'rolatech-order-variant-item', imports: [CommonModule], template: "<p>order-variant-item works!</p>\n" }]
|
|
944
944
|
}] });
|
|
@@ -958,10 +958,10 @@ class OrderFulfillComponent {
|
|
|
958
958
|
ngDoCheck() {
|
|
959
959
|
this.output.emit(this.fulfillmentForm.value);
|
|
960
960
|
}
|
|
961
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
962
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.
|
|
961
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderFulfillComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
962
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.4", type: OrderFulfillComponent, isStandalone: true, selector: "rolatech-order-fulfill", inputs: { fulfillments: { classPropertyName: "fulfillments", publicName: "fulfillments", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { fulfillments: "fulfillmentsChange", output: "output" }, ngImport: i0, template: "<div class=\"flex flex-col w-full\">\n <!-- <mat-form-field appearance=\"fill\">\n <mat-label>\u7269\u6D41\u5355\u53F7</mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"fulfillments().trackingNumber\" />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label>\u7269\u6D41\u516C\u53F8</mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"fulfillments().carrierId\" />\n </mat-form-field> -->\n <form [formGroup]=\"fulfillmentForm\">\n <mat-form-field appearance=\"fill\">\n <mat-label> \u7269\u6D41\u5355\u53F7 </mat-label>\n <input matInput formControlName=\"trackingNumber\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label> \u7269\u6D41\u516C\u53F8 </mat-label>\n <input matInput formControlName=\"carrierId\" required />\n </mat-form-field>\n </form>\n</div>\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3$1.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.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
|
|
963
963
|
}
|
|
964
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
964
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderFulfillComponent, decorators: [{
|
|
965
965
|
type: Component,
|
|
966
966
|
args: [{ selector: 'rolatech-order-fulfill', imports: [CommonModule, MatFormFieldModule, MatInputModule, FormsModule, ReactiveFormsModule], template: "<div class=\"flex flex-col w-full\">\n <!-- <mat-form-field appearance=\"fill\">\n <mat-label>\u7269\u6D41\u5355\u53F7</mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"fulfillments().trackingNumber\" />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label>\u7269\u6D41\u516C\u53F8</mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"fulfillments().carrierId\" />\n </mat-form-field> -->\n <form [formGroup]=\"fulfillmentForm\">\n <mat-form-field appearance=\"fill\">\n <mat-label> \u7269\u6D41\u5355\u53F7 </mat-label>\n <input matInput formControlName=\"trackingNumber\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label> \u7269\u6D41\u516C\u53F8 </mat-label>\n <input matInput formControlName=\"carrierId\" required />\n </mat-form-field>\n </form>\n</div>\n", styles: ["mat-form-field{width:100%}\n"] }]
|
|
967
967
|
}] });
|
|
@@ -1078,10 +1078,10 @@ class OrderManageDetailComponent extends BaseComponent {
|
|
|
1078
1078
|
},
|
|
1079
1079
|
});
|
|
1080
1080
|
}
|
|
1081
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
1082
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
1081
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderManageDetailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1082
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.4", type: OrderManageDetailComponent, isStandalone: true, selector: "rolatech-order-manage-detail", usesInheritance: true, ngImport: i0, template: "@if (order) {\n <rolatech-toolbar [title]=\"order.subOrders ? status[order.subOrders[0].status] : status[order.status]\" large link=\"../\">\n <button mat-button (click)=\"fulfill()\">\n <mat-icon>local_shipping</mat-icon>\n <span>\u53D1\u8D27</span>\n </button>\n <button mat-button (click)=\"timeline()\">\n <mat-icon>history</mat-icon>\n <span>\u8BA2\u5355\u72B6\u6001</span>\n </button>\n </rolatech-toolbar>\n @if (info) {\n <div\n [ngClass]=\"loadingTimeline ? 'translate-x-full' : 'translate-none'\"\n class=\"fixed top-0 right-0 z-[1001] h-screen p-4 overflow-y-auto transition-transform bg-[--rt-raised-background] w-80 sm:w-[300px] shadow-xl\"\n >\n <div class=\"flex justify-between items-center sm:p-4\">\n <div class=\"text-xl font-bold\">\u8BA2\u5355\u72B6\u6001</div>\n <button mat-icon-button (click)=\"info = !info\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n @if (loadingTimeline) {\n <div>\n <rolatech-spinner></rolatech-spinner>\n </div>\n } @else {\n <div class=\"mt-3 p-1 sm:p-4\">\n <ol class=\"relative border-l border-[--rt-border-color]\">\n @for (item of timelineData; track item) {\n <li class=\"mb-8 ml-4\">\n <div\n class=\"absolute w-3 h-3 rounded-full mt-1.5 -left-1.5 border border-[--rt-raised-background] bg-[--rt-text-primary]\"\n ></div>\n <div class=\"text-md font-bold mb-1\">{{ timelineStatus[item.status] }}</div>\n @if (item.status === 'BOOKING_RETURN_REJECTED') {\n <div class=\"text-sm mb-1\">{{ item.return.note }}</div>\n }\n @if (item.status === 'BOOKING_RETURN_REQUESTED') {\n <div class=\"text-sm mb-1\">{{ item.return.reason }}</div>\n }\n <div class=\"text-sm text-[--rt-text-secondary]\">{{ item.date }}</div>\n </li>\n }\n </ol>\n </div>\n }\n </div>\n }\n\n <div\n (click)=\"info = !info\"\n [ngClass]=\"info ? 'visible' : 'invisible'\"\n class=\"bg-[--rt-10-percent-layer] fixed inset-0 z-[1000]\"\n ></div>\n\n <div class=\"flex flex-col gap-3 px-3 justify-between\">\n <div class=\"\">\n <div class=\"flex flex-col py-2\">\n <a class=\"text-xl font-bold\">Order ID: {{ order.subOrders ? order.subOrders[0].id : order.id }}</a>\n <span class=\"text-sm\"> {{ order.createdAt }}</span>\n </div>\n <div class=\"text-lg py-2 font-medium\">\u8BA2\u5355\u4FE1\u606F</div>\n <div>\n <div>\n @if (order.subOrders) {\n @for (item of order.subOrders[0].items; track $index) {\n <rolatech-order-detail-item\n [thumbnail]=\"item.media[0].url + '!w200 '\"\n [link]=\"\n order.type.toString() === 'PRODUCT'\n ? '/products/' + item.productId + '/manage/info'\n : '/courses/' + item.productId\n \"\n [title]=\"item.name\"\n [total]=\"item.total\"\n [description]=\"item.options | orderItemoptions: order.type\"\n [quantity]=\"item.quantity\"\n ></rolatech-order-detail-item>\n }\n } @else {\n @for (item of order.items; track $index) {\n <rolatech-order-detail-item\n [thumbnail]=\"item.media[0].url + '!w200 '\"\n [link]=\"order.type.toString() === 'PRODUCT' ? '/products/' + item.productId : '/courses/' + item.productId\"\n [title]=\"item.name\"\n [total]=\"item.total\"\n [description]=\"item.options | orderItemoptions: order.type\"\n [quantity]=\"item.quantity\"\n ></rolatech-order-detail-item>\n }\n }\n </div>\n\n <div class=\"mt-3\">\n @if (order.deposit) {\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\">\u5B9A\u91D1\u91D1\u989D</span>\n <span class=\"text-sm\">\u00A5{{ order.deposit | fixed }}</span>\n </div>\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\">\u5C3E\u6B3E\u91D1\u989D</span>\n <span class=\"text-sm\">\u00A5{{ order.total - order.deposit | fixed }}</span>\n </div>\n }\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\">\u5E94\u4ED8\u91D1\u989D</span>\n <span class=\"text-sm\">\u00A5{{ order.items ? (order.total | fixed) : (order.subOrders[0].subTotal | fixed) }}</span>\n </div>\n </div>\n </div>\n </div>\n <div class=\"\">\n <div class=\"text-lg py-2 font-medium\">\u914D\u9001\u4FE1\u606F</div>\n <div class=\"flex items-baseline justify-between py-1\">\n <span class=\"font-medium min-w-20\">\u6536\u8D27\u5730\u5740</span>\n <span class=\"text-sm\">{{ order.shippingAddress | shippingAddress }}</span>\n </div>\n <div class=\"flex items-baseline justify-between py-1\">\n <span class=\"font-medium min-w-20\">\u5907\u6CE8\u4FE1\u606F</span>\n <span class=\"text-sm\">{{ order.note || '\u65E0' }}</span>\n </div>\n </div>\n </div>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i1$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SpinnerComponent, selector: "rolatech-spinner", inputs: ["title"] }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "component", type: OrderDetailItemComponent, selector: "rolatech-order-detail-item", inputs: ["thumbnail", "title", "description", "quantity", "total", "link"] }, { kind: "pipe", type: OrderItemOptionsFormatPipe, name: "orderItemoptions" }, { kind: "pipe", type: FixedPipe, name: "fixed" }, { kind: "pipe", type: ShippingAddressPipe, name: "shippingAddress" }] }); }
|
|
1083
1083
|
}
|
|
1084
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
1084
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderManageDetailComponent, decorators: [{
|
|
1085
1085
|
type: Component,
|
|
1086
1086
|
args: [{ selector: 'rolatech-order-manage-detail', imports: [
|
|
1087
1087
|
MatButtonModule,
|
|
@@ -1097,10 +1097,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImpor
|
|
|
1097
1097
|
}] });
|
|
1098
1098
|
|
|
1099
1099
|
class OrderManageTrackingComponent {
|
|
1100
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
1101
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
1100
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderManageTrackingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1101
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.4", type: OrderManageTrackingComponent, isStandalone: true, selector: "rolatech-order-manage-tracking", ngImport: i0, template: "<p>order-manage-tracking works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
|
1102
1102
|
}
|
|
1103
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
1103
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: OrderManageTrackingComponent, decorators: [{
|
|
1104
1104
|
type: Component,
|
|
1105
1105
|
args: [{ selector: 'rolatech-order-manage-tracking', imports: [CommonModule], template: "<p>order-manage-tracking works!</p>\n" }]
|
|
1106
1106
|
}] });
|
package/package.json
CHANGED
|
@@ -1,13 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rolatech/angular-order",
|
|
3
|
-
"version": "19.0.0-beta.
|
|
3
|
+
"version": "19.0.0-beta.18",
|
|
4
4
|
"private": false,
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^19.0.0",
|
|
7
|
-
"@angular/core": "^19.0.0"
|
|
7
|
+
"@angular/core": "^19.0.0",
|
|
8
|
+
"@stripe/stripe-js": "^6.1.0",
|
|
9
|
+
"@angular/router": "^19.0.0",
|
|
10
|
+
"@angular/cdk": "^19.0.0",
|
|
11
|
+
"@angular/material": "^19.0.0",
|
|
12
|
+
"@angular/animations": "^19.0.0",
|
|
13
|
+
"@angular/forms": "^19.0.0",
|
|
14
|
+
"@angular/platform-browser": "^19.0.0",
|
|
15
|
+
"@nx/angular": "^19.0.0 || ^20.0.0",
|
|
16
|
+
"qrcode": "^1.5.4",
|
|
17
|
+
"lodash": "^4.17.21",
|
|
18
|
+
"moment": "^2.30.1"
|
|
8
19
|
},
|
|
9
20
|
"dependencies": {
|
|
10
|
-
"
|
|
21
|
+
"@rolatech/angular-common": "19.0.0-beta.18",
|
|
22
|
+
"@rolatech/angular-components": "19.0.0-beta.18",
|
|
23
|
+
"@rolatech/angular-services": "19.0.0-beta.18",
|
|
24
|
+
"@rolatech/angular-auth": "19.0.0-beta.18",
|
|
25
|
+
"@rolatech/angular-course": "19.0.0-beta.18",
|
|
26
|
+
"tslib": "^2.3.0"
|
|
11
27
|
},
|
|
12
28
|
"sideEffects": false,
|
|
13
29
|
"publishConfig": {
|