@fleetbase/fleetops-engine 0.4.0 → 0.4.1
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/addon/components/admin/navigator-app.hbs +3 -3
- package/addon/components/admin/visibility-controls.hbs +4 -4
- package/addon/components/cell/driver-name.hbs +1 -1
- package/addon/components/contact-form-panel.hbs +15 -15
- package/addon/components/contact-form-panel.js +5 -1
- package/addon/components/contact-panel/details.hbs +7 -7
- package/addon/components/contact-panel.hbs +2 -2
- package/addon/components/display-place.hbs +2 -2
- package/addon/components/driver-card.hbs +1 -1
- package/addon/components/driver-form-panel.hbs +36 -29
- package/addon/components/driver-form-panel.js +5 -1
- package/addon/components/driver-panel/details.hbs +10 -10
- package/addon/components/driver-panel.hbs +5 -5
- package/addon/components/fleet-driver-listing.hbs +5 -5
- package/addon/components/fleet-form-panel.hbs +16 -16
- package/addon/components/fleet-form-panel.js +5 -1
- package/addon/components/fleet-panel/details.hbs +7 -7
- package/addon/components/fleet-panel/driver-listing.hbs +5 -5
- package/addon/components/fleet-panel/driver-listing.js +6 -0
- package/addon/components/fleet-panel/vehicle-listing.hbs +5 -5
- package/addon/components/fleet-panel/vehicle-listing.js +6 -0
- package/addon/components/fleet-vehicle-listing.hbs +5 -5
- package/addon/components/fuel-report-form-panel.hbs +16 -16
- package/addon/components/fuel-report-form-panel.js +5 -1
- package/addon/components/fuel-report-panel/details.hbs +11 -11
- package/addon/components/fuel-report-panel.hbs +3 -3
- package/addon/components/global-search.hbs +1 -1
- package/addon/components/horizontal-route.hbs +1 -1
- package/addon/components/integrated-order-details.hbs +13 -13
- package/addon/components/issue-form-panel.hbs +25 -25
- package/addon/components/issue-form-panel.js +6 -1
- package/addon/components/issue-panel/details.hbs +11 -11
- package/addon/components/issue-panel.hbs +3 -3
- package/addon/components/layout/fleet-ops-sidebar.hbs +2 -2
- package/addon/components/layout/fleet-ops-sidebar.js +28 -12
- package/addon/components/live-map-drawer/driver-listing.hbs +1 -1
- package/addon/components/live-map-drawer/driver-listing.js +16 -10
- package/addon/components/live-map-drawer/place-listing.hbs +1 -1
- package/addon/components/live-map-drawer/place-listing.js +12 -7
- package/addon/components/live-map-drawer/vehicle-listing.hbs +1 -1
- package/addon/components/live-map-drawer/vehicle-listing.js +15 -9
- package/addon/components/live-map.hbs +10 -92
- package/addon/components/live-map.js +29 -24
- package/addon/components/map-container/toolbar/visibility-control-panel.hbs +9 -9
- package/addon/components/map-container/toolbar/zones-panel.hbs +10 -10
- package/addon/components/map-container/toolbar.hbs +6 -6
- package/addon/components/modals/assign-driver.hbs +2 -2
- package/addon/components/modals/clone-config-form.hbs +2 -2
- package/addon/components/modals/contact-details.hbs +6 -6
- package/addon/components/modals/contact-form.hbs +11 -11
- package/addon/components/modals/driver-assign-order.hbs +2 -2
- package/addon/components/modals/driver-assign-vehicle.hbs +2 -2
- package/addon/components/modals/driver-assign-vendor.hbs +2 -2
- package/addon/components/modals/driver-details.hbs +14 -14
- package/addon/components/modals/driver-form.hbs +18 -18
- package/addon/components/modals/edit-meta-form.hbs +2 -2
- package/addon/components/modals/entity-form.hbs +16 -16
- package/addon/components/modals/entity-meta-field-prompt.hbs +1 -1
- package/addon/components/modals/fleet-details.hbs +6 -6
- package/addon/components/modals/fleet-form.hbs +8 -8
- package/addon/components/modals/fuel-report-details.hbs +9 -9
- package/addon/components/modals/fuel-report-form.hbs +8 -8
- package/addon/components/modals/group-details.hbs +4 -4
- package/addon/components/modals/group-form.hbs +6 -6
- package/addon/components/modals/install-prompt.hbs +2 -3
- package/addon/components/modals/issue-details.hbs +8 -8
- package/addon/components/modals/issue-from.hbs +21 -21
- package/addon/components/modals/map-field-form.hbs +2 -2
- package/addon/components/modals/map-field-group-form.hbs +1 -1
- package/addon/components/modals/map-layer-form.hbs +10 -10
- package/addon/components/modals/meta-field-form.hbs +2 -2
- package/addon/components/modals/meta-field-group-form.hbs +1 -1
- package/addon/components/modals/new-order-config.hbs +4 -4
- package/addon/components/modals/order-assign-driver.hbs +2 -2
- package/addon/components/modals/order-config-new-status.hbs +1 -1
- package/addon/components/modals/order-event.hbs +2 -2
- package/addon/components/modals/order-form.hbs +8 -8
- package/addon/components/modals/order-import.hbs +8 -8
- package/addon/components/modals/order-label.hbs +1 -1
- package/addon/components/modals/order-new-activity.hbs +10 -10
- package/addon/components/modals/order-route-form.hbs +17 -17
- package/addon/components/modals/place-assign-vendor.hbs +2 -2
- package/addon/components/modals/place-details.hbs +13 -13
- package/addon/components/modals/place-form.hbs +15 -15
- package/addon/components/modals/policy-form.hbs +5 -5
- package/addon/components/modals/role-form.hbs +3 -3
- package/addon/components/modals/select-payment-method.hbs +1 -1
- package/addon/components/modals/service-area-form.hbs +8 -8
- package/addon/components/modals/set-password.hbs +3 -3
- package/addon/components/modals/uninstall-prompt.hbs +2 -3
- package/addon/components/modals/user-form.hbs +9 -9
- package/addon/components/modals/vehicle-details.hbs +41 -41
- package/addon/components/modals/vehicle-form.hbs +73 -73
- package/addon/components/modals/vendor-details.hbs +10 -10
- package/addon/components/modals/vendor-form.hbs +36 -36
- package/addon/components/modals/view-service-area.hbs +1 -1
- package/addon/components/modals/zone-form.hbs +6 -6
- package/addon/components/order/header.hbs +11 -11
- package/addon/components/order/place-card.hbs +2 -2
- package/addon/components/order/schedule-card.hbs +6 -6
- package/addon/components/order/schedule-card.js +11 -7
- package/addon/components/order-config/activity-flow-editor.hbs +14 -14
- package/addon/components/order-config/activity-flow-editor.js +11 -11
- package/addon/components/order-config/details-editor.hbs +9 -9
- package/addon/components/order-config/entities-editor.hbs +13 -13
- package/addon/components/order-config/entities-editor.js +2 -2
- package/addon/components/order-config/fields-editor.hbs +14 -14
- package/addon/components/order-config/fields-editor.js +13 -12
- package/addon/components/order-config.hbs +9 -9
- package/addon/components/order-config.js +12 -11
- package/addon/components/order-list-overlay.hbs +14 -14
- package/addon/components/place-form-panel.hbs +18 -18
- package/addon/components/place-form-panel.js +6 -1
- package/addon/components/place-panel/details.hbs +10 -10
- package/addon/components/place-panel.hbs +2 -2
- package/addon/components/route-list.hbs +2 -2
- package/addon/components/settings-window.hbs +5 -5
- package/addon/components/settings-window.js +2 -1
- package/addon/components/vehicle-form-panel.hbs +27 -27
- package/addon/components/vehicle-form-panel.js +7 -2
- package/addon/components/vehicle-panel/details.hbs +7 -7
- package/addon/components/vehicle-panel.hbs +4 -4
- package/addon/components/vendor-form-panel/create-form.hbs +34 -33
- package/addon/components/vendor-form-panel/create-form.js +6 -2
- package/addon/components/vendor-form-panel/edit-form.hbs +27 -27
- package/addon/components/vendor-form-panel/edit-form.js +1 -0
- package/addon/components/vendor-form-panel.hbs +6 -6
- package/addon/components/vendor-form-panel.js +6 -1
- package/addon/components/vendor-panel/details.hbs +10 -10
- package/addon/components/vendor-panel.hbs +3 -3
- package/addon/components/widget/fleet-ops-quickstart.hbs +2 -2
- package/addon/components/widget/fleet-ops-quickstart.js +1 -0
- package/addon/components/widget/key-metrics.hbs +12 -12
- package/addon/components/widget/live-order-map.hbs +4 -4
- package/addon/components/widget/recent-orders.hbs +4 -4
- package/addon/components/widget/transactions.hbs +4 -4
- package/addon/controllers/management/contacts/index/edit.js +10 -3
- package/addon/controllers/management/contacts/index/new.js +7 -0
- package/addon/controllers/management/contacts/index.js +23 -16
- package/addon/controllers/management/drivers/index/edit.js +10 -3
- package/addon/controllers/management/drivers/index/new.js +7 -0
- package/addon/controllers/management/drivers/index.js +33 -19
- package/addon/controllers/management/fleets/index/edit.js +10 -3
- package/addon/controllers/management/fleets/index/new.js +7 -0
- package/addon/controllers/management/fleets/index.js +24 -17
- package/addon/controllers/management/fuel-reports/index/edit.js +10 -3
- package/addon/controllers/management/fuel-reports/index/new.js +7 -0
- package/addon/controllers/management/fuel-reports/index.js +20 -13
- package/addon/controllers/management/issues/index/edit.js +10 -3
- package/addon/controllers/management/issues/index/new.js +8 -0
- package/addon/controllers/management/issues/index.js +22 -15
- package/addon/controllers/management/places/index/edit.js +10 -3
- package/addon/controllers/management/places/index/new.js +7 -0
- package/addon/controllers/management/places/index.js +27 -20
- package/addon/controllers/management/vehicles/index/edit.js +10 -3
- package/addon/controllers/management/vehicles/index/new.js +7 -0
- package/addon/controllers/management/vehicles/index.js +22 -15
- package/addon/controllers/management/vendors/index/edit.js +10 -3
- package/addon/controllers/management/vendors/index/new.js +7 -0
- package/addon/controllers/management/vendors/index.js +23 -16
- package/addon/controllers/operations/orders/index/new.js +110 -25
- package/addon/controllers/operations/orders/index/view.js +40 -16
- package/addon/controllers/operations/orders/index.js +34 -27
- package/addon/controllers/operations/scheduler/index.js +3 -2
- package/addon/controllers/operations/service-rates/index/edit.js +9 -1
- package/addon/controllers/operations/service-rates/index/new.js +9 -1
- package/addon/controllers/operations/service-rates/index.js +16 -9
- package/addon/routes/management/places/index.js +1 -1
- package/addon/routes/operations/orders/index/view.js +2 -14
- package/addon/services/driver-actions.js +9 -8
- package/addon/services/vehicle-actions.js +2 -1
- package/addon/templates/management/contacts/index.hbs +6 -6
- package/addon/templates/management/drivers/index.hbs +6 -6
- package/addon/templates/management/fleets/index.hbs +6 -6
- package/addon/templates/management/fuel-reports/index.hbs +7 -7
- package/addon/templates/management/index.hbs +17 -17
- package/addon/templates/management/issues/index.hbs +6 -6
- package/addon/templates/management/places/index.hbs +6 -6
- package/addon/templates/management/vehicles/index.hbs +6 -6
- package/addon/templates/management/vendors/index.hbs +6 -6
- package/addon/templates/operations/orders/index/config/types.hbs +3 -3
- package/addon/templates/operations/orders/index/config.hbs +3 -4
- package/addon/templates/operations/orders/index/new.hbs +72 -72
- package/addon/templates/operations/orders/index/view.hbs +147 -53
- package/addon/templates/operations/orders/index.hbs +13 -13
- package/addon/templates/operations/scheduler/index.hbs +3 -3
- package/addon/templates/operations/service-rates/index/new.hbs +79 -81
- package/addon/templates/operations/service-rates/index.hbs +6 -6
- package/composer.json +2 -2
- package/extension.json +1 -1
- package/package.json +3 -1
- package/server/resources/views/labels/default.php +40 -18
- package/server/resources/views/labels/waypoint-label.php +126 -0
- package/server/src/Http/Controllers/Api/v1/OrderController.php +1 -1
- package/server/src/Http/Resources/v1/Entity.php +2 -2
- package/server/src/Http/Resources/v1/Payload.php +11 -30
- package/server/src/Http/Resources/v1/Place.php +3 -3
- package/server/src/Http/Resources/v1/Waypoint.php +101 -0
- package/server/src/Models/Payload.php +39 -0
- package/server/src/Models/Place.php +5 -2
- package/server/src/Models/Waypoint.php +15 -3
- package/translations/en-us.yaml +1341 -3
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<Overlay @position="right" @noBackdrop={{true}} @isResizable={{true}} @fullHeight={{true}} @width="570px">
|
|
2
|
-
<Overlay::Header @title={{if this.serviceRate.id this.serviceRate.service_name "
|
|
2
|
+
<Overlay::Header @title={{if this.serviceRate.id this.serviceRate.service_name (t "fleet-ops.operations.service-rates.index.new.new-service-rate-title")}} @status={{this.serviceRate.public_id}} @hideStatusDot={{true}} @createdAt={{this.serviceRate.createdAt}} @onPressCancel={{this.transitionBack}}>
|
|
3
3
|
{{#if this.serviceRate.id}}
|
|
4
|
-
<Button @icon="save" @type="primary" @text=
|
|
4
|
+
<Button @icon="save" @type="primary" @text={{t "fleet-ops.operations.service-rates.index.new.save-service-button"}} @onClick={{this.updateServiceRate}} @isLoading={{this.isUpdatingServiceRate}} />
|
|
5
5
|
{{else}}
|
|
6
|
-
<Button @icon="check" @type="primary" @text=
|
|
6
|
+
<Button @icon="check" @type="primary" @text={{t "fleet-ops.operations.service-rates.index.new.create-service-button"}} @onClick={{this.createServiceRate}} @isLoading={{this.isCreatingServiceRate}} />
|
|
7
7
|
{{/if}}
|
|
8
8
|
</Overlay::Header>
|
|
9
9
|
|
|
@@ -11,48 +11,48 @@
|
|
|
11
11
|
<div>
|
|
12
12
|
<div class="grid grid-cols-2 gap-2">
|
|
13
13
|
<div class="input-group">
|
|
14
|
-
<InputLabel @labelText=
|
|
15
|
-
<Input @type="text" @value={{this.serviceRate.service_name}} placeholder=
|
|
14
|
+
<InputLabel @labelText={{t "fleet-ops.operations.service-rates.index.new.service-name"}} @helpText={{t "fleet-ops.operations.service-rates.index.new.service-name-help-text"}} @required={{true}} />
|
|
15
|
+
<Input @type="text" @value={{this.serviceRate.service_name}} placeholder={{t "fleet-ops.operations.service-rates.index.new.service-name"}} class="form-input w-full" />
|
|
16
16
|
</div>
|
|
17
17
|
|
|
18
18
|
<div class="input-group">
|
|
19
|
-
<InputLabel @labelText=
|
|
20
|
-
<Select class="w-full" @options={{this.serviceTypes}} @value={{this.serviceRate.service_type}} @optionLabel="name" @optionValue="key" @onSelect={{fn (mut this.serviceRate.service_type)}} @placeholder="
|
|
19
|
+
<InputLabel @labelText={{t "fleet-ops.operations.service-rates.index.new.service-order-label"}} @helpText={{t "fleet-ops.operations.service-rates.index.new.service-order-help-text"}} />
|
|
20
|
+
<Select class="w-full" @options={{this.serviceTypes}} @value={{this.serviceRate.service_type}} @optionLabel="name" @optionValue="key" @onSelect={{fn (mut this.serviceRate.service_type)}} @placeholder={{t "fleet-ops.operations.service-rates.index.new.service-order-placeholder"}} />
|
|
21
21
|
</div>
|
|
22
22
|
|
|
23
23
|
<div class="input-group">
|
|
24
|
-
<InputLabel @labelText=
|
|
24
|
+
<InputLabel @labelText={{t "fleet-ops.operations.service-rates.index.new.base-fee-label"}} @helpText={{t "fleet-ops.operations.service-rates.index.new.base-fee-help-text"}} @required={{true}} />
|
|
25
25
|
<MoneyInput class="w-full" @value={{this.serviceRate.base_fee}} @currency={{this.serviceRate.currency}} @canSelectCurrency={{true}} @onCurrencyChange={{fn (mut this.serviceRate.currency)}} />
|
|
26
26
|
</div>
|
|
27
27
|
|
|
28
28
|
<div class="input-group">
|
|
29
|
-
<InputLabel @labelText=
|
|
30
|
-
<Select class="w-full" @options={{this.calculationMethods}} @value={{this.serviceRate.rate_calculation_method}} @optionLabel="name" @optionValue="key" @onSelect={{fn (mut this.serviceRate.rate_calculation_method)}} @placeholder="
|
|
29
|
+
<InputLabel @labelText={{t "fleet-ops.operations.service-rates.index.new.rate-calculation-label"}} @helpText={{t "fleet-ops.operations.service-rates.index.new.rate-calculation-help-text"}} @required={{true}} />
|
|
30
|
+
<Select class="w-full" @options={{this.calculationMethods}} @value={{this.serviceRate.rate_calculation_method}} @optionLabel="name" @optionValue="key" @onSelect={{fn (mut this.serviceRate.rate_calculation_method)}} @placeholder={{t "fleet-ops.operations.service-rates.index.new.rate-calculation-placeholder"}} />
|
|
31
31
|
</div>
|
|
32
32
|
</div>
|
|
33
33
|
</div>
|
|
34
34
|
|
|
35
35
|
{{#if this.serviceRate.isParcelService}}
|
|
36
36
|
<div class="input-group">
|
|
37
|
-
<InputLabel @labelText=
|
|
37
|
+
<InputLabel @labelText={{t "fleet-ops.operations.service-rates.index.new.estimated-days"}} @helpText={{t "fleet-ops.operations.service-rates.index.new.estimated-days-help-text"}} @required={{true}} />
|
|
38
38
|
|
|
39
|
-
<Input @type="number" @value={{this.serviceRate.estimated_days}} placeholder=
|
|
39
|
+
<Input @type="number" @value={{this.serviceRate.estimated_days}} placeholder={{t "fleet-ops.operations.service-rates.index.new.estimated-days"}} class="form-input w-full" />
|
|
40
40
|
</div>
|
|
41
41
|
{{/if}}
|
|
42
42
|
|
|
43
43
|
<div class="input-group col-span-2">
|
|
44
|
-
<InputLabel @labelText=
|
|
44
|
+
<InputLabel @labelText={{t "fleet-ops.operations.service-rates.index.new.duration-terms-label"}} @helpText={{t "fleet-ops.operations.service-rates.index.new.duration-terms-help-text"}} />
|
|
45
45
|
|
|
46
|
-
<Input @type="text" @value={{this.serviceRate.duration_terms}} placeholder="
|
|
46
|
+
<Input @type="text" @value={{this.serviceRate.duration_terms}} placeholder={{t "fleet-ops.operations.service-rates.index.new.duration-terms-placeholder"}} class="form-input w-full" />
|
|
47
47
|
</div>
|
|
48
48
|
|
|
49
49
|
{{#if this.serviceRate.isFixedMeter}}
|
|
50
|
-
<ContentPanel @title=
|
|
51
|
-
<InfoBlock class="mb-5" @text="
|
|
50
|
+
<ContentPanel @title={{t "fleet-ops.operations.service-rates.index.new.fixed-meter"}} @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
|
|
51
|
+
<InfoBlock class="mb-5" @text={{t "fleet-ops.operations.service-rates.index.new.fixed-meter-text"}} @exampleText={{t "fleet-ops.operations.service-rates.index.new.fixed-meter-example-text"}} />
|
|
52
52
|
|
|
53
53
|
<div class="input-group">
|
|
54
|
-
<InputLabel @labelText=
|
|
55
|
-
<Input @type="number" @value={{this.fixedMeterMaxDistance}} placeholder=
|
|
54
|
+
<InputLabel @labelText={{t "fleet-ops.operations.service-rates.index.new.maximum-distance"}} @helpText={{t "fleet-ops.operations.service-rates.index.new.maximum-distance-help-text"}} @required={{true}} />
|
|
55
|
+
<Input @type="number" @value={{this.fixedMeterMaxDistance}} placeholder={{t "fleet-ops.operations.service-rates.index.new.maximum-distance"}} class="form-input w-full" />
|
|
56
56
|
</div>
|
|
57
57
|
|
|
58
58
|
<div class="table-scrolling-height overflow-y-scroll">
|
|
@@ -60,8 +60,8 @@
|
|
|
60
60
|
<table class="table table-fixed">
|
|
61
61
|
<thead>
|
|
62
62
|
<tr>
|
|
63
|
-
<th>
|
|
64
|
-
<th>
|
|
63
|
+
<th>{{t "fleet-ops.operations.service-rates.index.new.distance"}}</th>
|
|
64
|
+
<th>{{t "fleet-ops.operations.service-rates.index.new.fee"}}</th>
|
|
65
65
|
</tr>
|
|
66
66
|
</thead>
|
|
67
67
|
<tbody>
|
|
@@ -80,20 +80,20 @@
|
|
|
80
80
|
</div>
|
|
81
81
|
</ContentPanel>
|
|
82
82
|
{{else if this.serviceRate.isPerDrop}}
|
|
83
|
-
<ContentPanel @title="
|
|
84
|
-
<InfoBlock class="mb-5" @text="
|
|
83
|
+
<ContentPanel @title={{t "fleet-ops.operations.service-rates.index.new.per-drop-off-title"}} @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
|
|
84
|
+
<InfoBlock class="mb-5" @text={{t "fleet-ops.operations.service-rates.index.new.per-drop-off-text"}} @exampleText={{t "fleet-ops.operations.service-rates.index.new.per-drop-off-example-text"}} />
|
|
85
85
|
|
|
86
86
|
<div class="input-group">
|
|
87
|
-
<Button @text="
|
|
87
|
+
<Button @text={{t "fleet-ops.operations.service-rates.index.new.add-drop-off-button"}} @icon="plus" @iconPrefix="fas" @onClick={{this.addPerDropoffRateFee}} />
|
|
88
88
|
</div>
|
|
89
89
|
|
|
90
90
|
<div class="table-wrapper table-fluid rounded-none">
|
|
91
91
|
<table class="table table-fixed">
|
|
92
92
|
<thead>
|
|
93
93
|
<tr>
|
|
94
|
-
<th>
|
|
95
|
-
<th>
|
|
96
|
-
<th>
|
|
94
|
+
<th>{{t "fleet-ops.operations.service-rates.index.new.min-drop"}}</th>
|
|
95
|
+
<th>{{t "fleet-ops.operations.service-rates.index.new.max-drop"}}</th>
|
|
96
|
+
<th>{{t "fleet-ops.operations.service-rates.index.new.fee"}}</th>
|
|
97
97
|
<th></th>
|
|
98
98
|
</tr>
|
|
99
99
|
</thead>
|
|
@@ -101,16 +101,16 @@
|
|
|
101
101
|
{{#each this.perDropRateFees as |rateFee index|}}
|
|
102
102
|
<tr>
|
|
103
103
|
<td>
|
|
104
|
-
<Input @type="number" @value={{rateFee.min}} placeholder="
|
|
104
|
+
<Input @type="number" @value={{rateFee.min}} placeholder={{t "fleet-ops.operations.service-rates.index.new.min"}} class="form-input w-16" />
|
|
105
105
|
</td>
|
|
106
106
|
<td>
|
|
107
|
-
<Input @type="number" @value={{rateFee.max}} placeholder="
|
|
107
|
+
<Input @type="number" @value={{rateFee.max}} placeholder={{t "fleet-ops.operations.service-rates.index.new.max"}} class="form-input w-16" />
|
|
108
108
|
</td>
|
|
109
109
|
<td>
|
|
110
110
|
<MoneyInput class="w-full" @currency={{this.serviceRate.currency}} @value={{rateFee.fee}} />
|
|
111
111
|
</td>
|
|
112
112
|
<td>
|
|
113
|
-
<a href="javascript:;" class="text-danger text-red-500 font-semibold" {{on "click" (fn this.removePerDropoffRateFee index)}}>
|
|
113
|
+
<a href="javascript:;" class="text-danger text-red-500 font-semibold" {{on "click" (fn this.removePerDropoffRateFee index)}}>{{t "fleet-ops.common.remove"}}</a>
|
|
114
114
|
</td>
|
|
115
115
|
</tr>
|
|
116
116
|
{{/each}}
|
|
@@ -119,18 +119,18 @@
|
|
|
119
119
|
</div>
|
|
120
120
|
</ContentPanel>
|
|
121
121
|
{{else if this.serviceRate.isPerMeter}}
|
|
122
|
-
<ContentPanel @title=
|
|
123
|
-
<InfoBlock class="mb-5" @text="
|
|
122
|
+
<ContentPanel @title={{t "fleet-ops.operations.service-rates.index.new.per-meter"}} @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
|
|
123
|
+
<InfoBlock class="mb-5" @text={{t "fleet-ops.operations.service-rates.index.new.per-meter-text"}} @exampleText={{t "fleet-ops.operations.service-rates.index.new.per-meter-example-text"}} />
|
|
124
124
|
|
|
125
125
|
<div class="grid grid-cols-2 gap-2">
|
|
126
126
|
<div class="input-group">
|
|
127
|
-
<InputLabel @labelText=
|
|
127
|
+
<InputLabel @labelText={{t "fleet-ops.operations.service-rates.index.new.per-meter-rate-fee"}} @helpText={{t "fleet-ops.operations.service-rates.index.new.per-meter-rate-fee-help-text"}} @required={{true}} />
|
|
128
128
|
<MoneyInput class="w-full" @currency={{this.serviceRate.currency}} @value={{this.serviceRate.per_meter_flat_rate_fee}} />
|
|
129
129
|
</div>
|
|
130
130
|
|
|
131
131
|
<div class="input-group">
|
|
132
|
-
<InputLabel @labelText=
|
|
133
|
-
<Select class="w-full" @options={{this.distanceUnits}} @value={{this.serviceRate.per_meter_unit}} @optionLabel="name" @optionValue="key" @onSelect={{fn (mut this.serviceRate.per_meter_unit)}} placeholder="
|
|
132
|
+
<InputLabel @labelText={{t "fleet-ops.operations.service-rates.index.new.distance-unit"}} @helpText={{t "fleet-ops.operations.service-rates.index.new.distance-unit-help-text"}} @required={{true}} />
|
|
133
|
+
<Select class="w-full" @options={{this.distanceUnits}} @value={{this.serviceRate.per_meter_unit}} @optionLabel="name" @optionValue="key" @onSelect={{fn (mut this.serviceRate.per_meter_unit)}} placeholder={{t "fleet-ops.operations.service-rates.index.new.distance-unit-placeholder"}} />
|
|
134
134
|
</div>
|
|
135
135
|
|
|
136
136
|
<div class="col-span-2">
|
|
@@ -141,39 +141,37 @@
|
|
|
141
141
|
</div>
|
|
142
142
|
</ContentPanel>
|
|
143
143
|
{{else if this.serviceRate.isAlgorithm}}
|
|
144
|
-
<ContentPanel @title=
|
|
144
|
+
<ContentPanel @title={{t "fleet-ops.operations.service-rates.index.new.custom-algorithm-title"}} @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
|
|
145
145
|
<InfoBlock class="mb-5">
|
|
146
|
-
|
|
147
|
-
|
|
146
|
+
{{t "fleet-ops.operations.service-rates.index.new.custom-algorithm-info-message"}}
|
|
147
|
+
{{t "fleet-ops.operations.service-rates.index.new.custom-algorithm-info-second-message"}}
|
|
148
148
|
|
|
149
149
|
<div class="block my-4 break-text">
|
|
150
150
|
<ul class="list-disc space-y-2 pl-16">
|
|
151
|
-
<li class="leading-5"><i>distance</i> -
|
|
152
|
-
|
|
153
|
-
<li class="leading-5"><i>time</i> - the route ETA in seconds.</li>
|
|
151
|
+
<li class="leading-5"><i>{{t "fleet-ops.operations.service-rates.index.new.distance-message"}}</i> {{t "fleet-ops.operations.service-rates.index.new.distance-continue-message"}}</li>
|
|
152
|
+
<li class="leading-5"><i>{{t "fleet-ops.operations.service-rates.index.new.time-message"}}</i> {{t "fleet-ops.operations.service-rates.index.new.time-continue-message"}}</li>
|
|
154
153
|
</ul>
|
|
155
154
|
</div>
|
|
156
155
|
|
|
157
156
|
<div>
|
|
158
|
-
<h4 class="mb-1 text-sm font-semibold">
|
|
157
|
+
<h4 class="mb-1 text-sm font-semibold">{{t "fleet-ops.operations.service-rates.index.new.example"}}</h4>
|
|
159
158
|
<div class="mb-3 text-inherit">
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
added to the base fee.
|
|
159
|
+
{{t "fleet-ops.operations.service-rates.index.new.example-message"}}
|
|
160
|
+
{{t "fleet-ops.operations.service-rates.index.new.example-second-message"}}
|
|
163
161
|
</div>
|
|
164
162
|
<code class="text-xs font-mono">(( {distance} / 50 ) * .05 ) + (( {time} / 60 ) * .01)</code>
|
|
165
163
|
</div>
|
|
166
164
|
</InfoBlock>
|
|
167
165
|
|
|
168
166
|
<div class="input-group">
|
|
169
|
-
<InputLabel @labelText="
|
|
170
|
-
<Input @type="tel" @value={{this.serviceRate.algorithm}} placeholder=
|
|
167
|
+
<InputLabel @labelText={{t "fleet-ops.operations.service-rates.index.new.algorithm-label"}} @helpText={{t "fleet-ops.operations.service-rates.index.new.algorithm-help-text"}} @required={{true}} />
|
|
168
|
+
<Input @type="tel" @value={{this.serviceRate.algorithm}} placeholder={{t "fleet-ops.operations.service-rates.index.new.algorithm-placeholder"}} class="form-input w-full" />
|
|
171
169
|
</div>
|
|
172
170
|
</ContentPanel>
|
|
173
171
|
{{/if}}
|
|
174
172
|
|
|
175
173
|
{{#if this.serviceRate.isParcelService}}
|
|
176
|
-
<ContentPanel @title=
|
|
174
|
+
<ContentPanel @title={{t "fleet-ops.operations.service-rates.index.new.percel-fee-title"}} @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
|
|
177
175
|
<div class="space-y-2">
|
|
178
176
|
{{#each this.parcelFees as |parcelFee|}}
|
|
179
177
|
<div class="dark:text-gray-100">
|
|
@@ -185,38 +183,38 @@
|
|
|
185
183
|
<div class="col-span-6 dimensions-box">
|
|
186
184
|
<div class="grid grid-cols-4 gap-2 px-2 mb-2">
|
|
187
185
|
<div class="input-group">
|
|
188
|
-
<InputLabel @labelText="
|
|
189
|
-
<Input @type="tel" @value={{parcelFee.length}} placeholder="
|
|
186
|
+
<InputLabel @labelText={{t "fleet-ops.operations.service-rates.index.new.length-label"}} />
|
|
187
|
+
<Input @type="tel" @value={{parcelFee.length}} placeholder={{t "fleet-ops.operations.service-rates.index.new.length-placeholder" htmlSafe=true parcelFeeDimension=@parcelFee.dimension_unit}} class="form-input w-4/5" />
|
|
190
188
|
</div>
|
|
191
189
|
|
|
192
190
|
<div class="input-group">
|
|
193
|
-
<InputLabel @labelText="
|
|
194
|
-
<Input @type="tel" @value={{parcelFee.width}} placeholder="
|
|
191
|
+
<InputLabel @labelText={{t "fleet-ops.operations.service-rates.index.new.width-label"}} />
|
|
192
|
+
<Input @type="tel" @value={{parcelFee.width}} placeholder={{t "fleet-ops.operations.service-rates.index.new.width-placeholder" htmlSafe=true parcelFeeDimension=@parcelFee.dimension_unit }} class="form-input w-4/5" />
|
|
195
193
|
</div>
|
|
196
194
|
|
|
197
195
|
<div class="input-group">
|
|
198
|
-
<InputLabel @labelText="
|
|
199
|
-
<Input @type="tel" @value={{parcelFee.height}} placeholder="
|
|
196
|
+
<InputLabel @labelText={{t "fleet-ops.operations.service-rates.index.new.height-label"}} />
|
|
197
|
+
<Input @type="tel" @value={{parcelFee.height}} placeholder={{t "fleet-ops.operations.service-rates.index.new.height-placeholder" htmlSafe=true parcelFeeDimension=@parcelFee.dimension_unit }} class="form-input w-4/5" />
|
|
200
198
|
</div>
|
|
201
199
|
|
|
202
200
|
<div class="input-group">
|
|
203
|
-
<InputLabel @labelText="
|
|
204
|
-
<Input @type="tel" @value={{parcelFee.weight}} placeholder="
|
|
201
|
+
<InputLabel @labelText={{t "fleet-ops.operations.service-rates.index.new.weight-label"}} />
|
|
202
|
+
<Input @type="tel" @value={{parcelFee.weight}} placeholder={{t "fleet-ops.operations.service-rates.index.new.weight-label" htmlSafe=true parcelFeeWeight=@parcelFee.weight_unit }} class="form-input w-4/5" />
|
|
205
203
|
</div>
|
|
206
204
|
</div>
|
|
207
205
|
<div class="grid grid-cols-3 gap-2 px-2">
|
|
208
206
|
<div class="input-group">
|
|
209
|
-
<InputLabel @labelText=
|
|
210
|
-
<Select class="w-full" @options={{this.dimensionUnits}} @value={{parcelFee.dimension_unit}} placeholder="
|
|
207
|
+
<InputLabel @labelText={{t "fleet-ops.operations.service-rates.index.new.deminsions-unit"}} />
|
|
208
|
+
<Select class="w-full" @options={{this.dimensionUnits}} @value={{parcelFee.dimension_unit}} placeholder={{t "fleet-ops.operations.service-rates.index.new.select-unit-placeholder"}} />
|
|
211
209
|
</div>
|
|
212
210
|
|
|
213
211
|
<div class="input-group">
|
|
214
|
-
<InputLabel @labelText=
|
|
215
|
-
<Select class="w-full" @options={{this.weightUnits}} @value={{parcelFee.weight_unit}} placeholder="
|
|
212
|
+
<InputLabel @labelText={{t "fleet-ops.operations.service-rates.index.new.weight-unit"}} />
|
|
213
|
+
<Select class="w-full" @options={{this.weightUnits}} @value={{parcelFee.weight_unit}} placeholder={{t "fleet-ops.operations.service-rates.index.new.select-unit-placeholder"}} />
|
|
216
214
|
</div>
|
|
217
215
|
|
|
218
216
|
<div class="input-group">
|
|
219
|
-
<InputLabel @labelText=
|
|
217
|
+
<InputLabel @labelText={{t "fleet-ops.operations.service-rates.index.new.additional-fee"}} />
|
|
220
218
|
<MoneyInput class="w-full" @currency={{this.serviceRate.currency}} @value={{parcelFee.fee}} />
|
|
221
219
|
</div>
|
|
222
220
|
</div>
|
|
@@ -228,79 +226,79 @@
|
|
|
228
226
|
</ContentPanel>
|
|
229
227
|
{{/if}}
|
|
230
228
|
|
|
231
|
-
<ContentPanel @title=
|
|
232
|
-
<Toggle @wrapperClass="justify-start-i mb-5" @label="
|
|
229
|
+
<ContentPanel @title={{t "fleet-ops.operations.service-rates.index.new.cash-delivery-title"}} @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
|
|
230
|
+
<Toggle @wrapperClass="justify-start-i mb-5" @label={{t "fleet-ops.operations.service-rates.index.new.cash-delivery-label"}} @isToggled={{this.serviceRate.has_cod_fee}} @onToggle={{fn (mut this.serviceRate.has_cod_fee)}} />
|
|
233
231
|
|
|
234
232
|
{{#if this.serviceRate.has_cod_fee}}
|
|
235
233
|
<div class="grid grid-cols-2 gap-2">
|
|
236
234
|
<div class="input-group">
|
|
237
|
-
<InputLabel @labelText=
|
|
235
|
+
<InputLabel @labelText={{t "fleet-ops.operations.service-rates.index.new.calculation-method-label"}} @helpText={{t "fleet-ops.operations.service-rates.index.new.calculation-method-help-text"}} @required={{true}} />
|
|
238
236
|
<Select class="w-full" @options={{this.codCalculationMethods}} @optionLabel="name" @optionValue="key" @value={{this.serviceRate.cod_calculation_method}} @onSelect={{fn (mut
|
|
239
|
-
this.serviceRate.cod_calculation_method)}} @placeholder="
|
|
237
|
+
this.serviceRate.cod_calculation_method)}} @placeholder={{t "fleet-ops.operations.service-rates.index.new.calculation-method-placeholder"}} />
|
|
240
238
|
</div>
|
|
241
239
|
|
|
242
240
|
{{#if this.serviceRate.hasCodFlatFee}}
|
|
243
241
|
<div class="input-group">
|
|
244
|
-
<InputLabel @labelText=
|
|
242
|
+
<InputLabel @labelText={{t "fleet-ops.operations.service-rates.index.new.delivery-flat-fee"}} @helpText={{t "fleet-ops.operations.service-rates.index.new.delivery-flat-fee-help-text"}} @required={{true}} />
|
|
245
243
|
<MoneyInput class="w-full" @currency={{this.serviceRate.currency}} @value={{this.serviceRate.cod_flat_fee}} />
|
|
246
244
|
</div>
|
|
247
245
|
{{else if this.serviceRate.hasCodPercentageFee}}
|
|
248
246
|
<div class="input-group">
|
|
249
|
-
<InputLabel @labelText=
|
|
250
|
-
<Input @type="number" min="0" max="100" @value={{this.serviceRate.cod_percent}} placeholder="
|
|
247
|
+
<InputLabel @labelText={{t "fleet-ops.operations.service-rates.index.new.fee-percentage"}} @helpText={{t "fleet-ops.operations.service-rates.index.new.fee-percentage-help-text"}} @required={{true}} />
|
|
248
|
+
<Input @type="number" min="0" max="100" @value={{this.serviceRate.cod_percent}} placeholder={{t "fleet-ops.operations.service-rates.index.new.percentage-placeholder"}} class="form-input w-full" />
|
|
251
249
|
</div>
|
|
252
250
|
{{/if}}
|
|
253
251
|
</div>
|
|
254
252
|
{{/if}}
|
|
255
253
|
</ContentPanel>
|
|
256
254
|
|
|
257
|
-
<ContentPanel @title=
|
|
258
|
-
<Toggle @wrapperClass="justify-start-i mb-5" @label="
|
|
255
|
+
<ContentPanel @title={{t "fleet-ops.operations.service-rates.index.new.peak-hours-title"}} @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
|
|
256
|
+
<Toggle @wrapperClass="justify-start-i mb-5" @label={{t "fleet-ops.operations.service-rates.index.new.peak-hours-label"}} @isToggled={{this.serviceRate.has_peak_hours_fee}} @onToggle={{fn (mut this.serviceRate.has_peak_hours_fee)}} />
|
|
259
257
|
|
|
260
258
|
{{#if this.serviceRate.has_peak_hours_fee}}
|
|
261
259
|
<div class="grid grid-cols-2 gap-2">
|
|
262
260
|
<div class="input-group">
|
|
263
|
-
<InputLabel @labelText=
|
|
261
|
+
<InputLabel @labelText={{t "fleet-ops.operations.service-rates.index.new.peak-hours-start-label"}} @helpText={{t "fleet-ops.operations.service-rates.index.new.peak-hours-start-help-text"}} @required={{true}} />
|
|
264
262
|
|
|
265
263
|
<Input @type="time" @value={{this.serviceRate.peak_hours_start}} class="form-input w-full" />
|
|
266
264
|
</div>
|
|
267
265
|
|
|
268
266
|
<div class="input-group">
|
|
269
|
-
<InputLabel @labelText=
|
|
267
|
+
<InputLabel @labelText={{t "fleet-ops.operations.service-rates.index.new.peak-hours-end-label"}} @helpText={{t "fleet-ops.operations.service-rates.index.new.peak-hours-end-help-text"}} @required={{true}} />
|
|
270
268
|
|
|
271
269
|
<Input @type="time" @value={{this.serviceRate.peak_hours_end}} class="form-input w-full" />
|
|
272
270
|
</div>
|
|
273
271
|
</div>
|
|
274
272
|
|
|
275
273
|
<div class="input-group">
|
|
276
|
-
<InputLabel @labelText=
|
|
277
|
-
<Select class="w-full" @options={{this.peakHourCalculationMethods}} @optionLabel="name" @optionValue="key" @value={{this.serviceRate.peak_hours_calculation_method}} @onSelect={{fn (mut this.serviceRate.peak_hours_calculation_method)}} @placeholder="
|
|
274
|
+
<InputLabel @labelText={{t "fleet-ops.operations.service-rates.index.new.peak-hours-fee-label"}} @helpText={{t "fleet-ops.operations.service-rates.index.new.peak-hours-fee-help-text"}} @required={{true}} />
|
|
275
|
+
<Select class="w-full" @options={{this.peakHourCalculationMethods}} @optionLabel="name" @optionValue="key" @value={{this.serviceRate.peak_hours_calculation_method}} @onSelect={{fn (mut this.serviceRate.peak_hours_calculation_method)}} @placeholder={{t "fleet-ops.operations.service-rates.index.new.peak-hours-fee-placeholder"}} />
|
|
278
276
|
</div>
|
|
279
277
|
|
|
280
278
|
{{#if this.serviceRate.hasPeakHoursFlatFee}}
|
|
281
279
|
<div class="input-group">
|
|
282
|
-
<InputLabel @labelText=
|
|
280
|
+
<InputLabel @labelText={{t "fleet-ops.operations.service-rates.index.new.flat-fee-label"}} @helpText={{t "fleet-ops.operations.service-rates.index.new.flat-fee-help-text"}} @required={{true}} />
|
|
283
281
|
<MoneyInput class="w-full" @currency={{this.serviceRate.currency}} @value={{this.serviceRate.peak_hours_flat_fee}} />
|
|
284
282
|
</div>
|
|
285
283
|
{{else if this.serviceRate.hasPeakHoursPercentageFee}}
|
|
286
284
|
<div class="input-group">
|
|
287
|
-
<InputLabel @labelText=
|
|
288
|
-
<Input @type="number" min="0" max="100" @value={{this.serviceRate.peak_hours_percent}} placeholder="
|
|
285
|
+
<InputLabel @labelText={{t "fleet-ops.operations.service-rates.index.new.peak-hours-percentage-label"}} @helpText={{t "fleet-ops.operations.service-rates.index.new.peak-hours-percentage-help-text"}} @required={{true}} />
|
|
286
|
+
<Input @type="number" min="0" max="100" @value={{this.serviceRate.peak_hours_percent}} placeholder={{t "fleet-ops.operations.service-rates.index.new.percentage-placeholder"}} class="form-input w-full" />
|
|
289
287
|
</div>
|
|
290
288
|
{{/if}}
|
|
291
289
|
{{/if}}
|
|
292
290
|
</ContentPanel>
|
|
293
291
|
|
|
294
|
-
<ContentPanel @title=
|
|
292
|
+
<ContentPanel @title={{t "fleet-ops.operations.service-rates.index.new.restrict-service-title"}} @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
|
|
295
293
|
<div class="input-group">
|
|
296
|
-
<InputLabel @labelText=
|
|
297
|
-
<Select class="w-full" @options={{this.serviceAreas}} @optionLabel="name" @optionValue="id" @value={{this.serviceRate.service_area_uuid}} @onSelect={{this.selectServiceArea}} @placeholder="
|
|
294
|
+
<InputLabel @labelText={{t "fleet-ops.operations.service-rates.index.new.service-area-label"}} @helpText={{t "fleet-ops.operations.service-rates.index.new.service-area-help-text"}} />
|
|
295
|
+
<Select class="w-full" @options={{this.serviceAreas}} @optionLabel="name" @optionValue="id" @value={{this.serviceRate.service_area_uuid}} @onSelect={{this.selectServiceArea}} @placeholder={{t "fleet-ops.operations.service-rates.index.new.service-area-placeholder"}} @disabled={{not this.serviceAreas.length}} />
|
|
298
296
|
</div>
|
|
299
297
|
|
|
300
298
|
{{#if this.serviceRate.service_area_uuid}}
|
|
301
299
|
<div class="input-group">
|
|
302
|
-
<InputLabel @labelText="
|
|
303
|
-
<Select class="w-full" @options={{this.zones}} @optionLabel="name" @optionValue="id" @value={{this.serviceRate.zone_uuid}} @onSelect={{fn (mut this.serviceRate.zone_uuid)}} @placeholder="
|
|
300
|
+
<InputLabel @labelText={{t "fleet-ops.operations.service-rates.index.new.zone-label"}} @helpText={{t "fleet-ops.operations.service-rates.index.new.zone-help-text"}} />
|
|
301
|
+
<Select class="w-full" @options={{this.zones}} @optionLabel="name" @optionValue="id" @value={{this.serviceRate.zone_uuid}} @onSelect={{fn (mut this.serviceRate.zone_uuid)}} @placeholder={{t "fleet-ops.operations.service-rates.index.new.zone-placeholder"}} @disabled={{not this.zones.length}} />
|
|
304
302
|
</div>
|
|
305
303
|
{{/if}}
|
|
306
304
|
</ContentPanel>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
<Layout::Section::Header @title=
|
|
2
|
-
<Button @icon="refresh" @onClick={{this.reload}} @helpText="
|
|
1
|
+
<Layout::Section::Header @title={{t "fleet-ops.operations.service-rates.index.title"}} @searchQuery={{this.query}} @onSearch={{perform this.search}}>
|
|
2
|
+
<Button @icon="refresh" @onClick={{this.reload}} @helpText={{t "fleet-ops.operations.service-rates.index.reload-data"}} class="mr-2" />
|
|
3
3
|
<FiltersPicker
|
|
4
4
|
@columns={{this.columns}}
|
|
5
5
|
@onApply={{fn this.filters.apply this}}
|
|
@@ -10,18 +10,18 @@
|
|
|
10
10
|
/>
|
|
11
11
|
<VisibleColumnPicker @columns={{this.columns}} @onChange={{fn (mut this.columns)}} class="mr-2" />
|
|
12
12
|
{{#if (safe-has this.table "selectedRows")}}
|
|
13
|
-
<DropdownButton @icon="layer-group" @text=
|
|
13
|
+
<DropdownButton @icon="layer-group" @text={{t "fleet-ops.common.bulk-action"}} @type="magic" @size="sm" @buttonWrapperClass="mr-2" @contentClass="dropdown-menu" as |dd|>
|
|
14
14
|
<div class="next-dd-menu mt-2 mx-0">
|
|
15
15
|
<div class="px-1">
|
|
16
16
|
<a href="#" class="text-red-500 next-dd-item" {{on "click" (dropdown-fn dd this.bulkDeleteServiceRates this.selectedServiceRates)}}>
|
|
17
|
-
|
|
17
|
+
{{t "fleet-ops.operations.service-rates.index.delete-service-rates"}}
|
|
18
18
|
</a>
|
|
19
19
|
</div>
|
|
20
20
|
</div>
|
|
21
21
|
</DropdownButton>
|
|
22
22
|
{{/if}}
|
|
23
|
-
<Button @icon="plus" @iconPrefix="fas" @type="primary" @text="
|
|
24
|
-
<Button @icon="long-arrow-up" @iconClass="rotate-icon-45" @text="
|
|
23
|
+
<Button @icon="plus" @iconPrefix="fas" @type="primary" @text={{t "fleet-ops.common.new"}} class="mr-2" @onClick={{transition-to "operations.service-rates.index.new"}} />
|
|
24
|
+
<Button @icon="long-arrow-up" @iconClass="rotate-icon-45" @text={{t "fleet-ops.common.export"}} />
|
|
25
25
|
</Layout::Section::Header>
|
|
26
26
|
|
|
27
27
|
<Layout::Section::Body>
|
package/composer.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fleetbase/fleetops-api",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "Fleet & Transport Management Extension for Fleetbase",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"fleetbase-extension",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
],
|
|
23
23
|
"require": {
|
|
24
24
|
"php": "^7.4|^8.0",
|
|
25
|
-
"fleetbase/core-api": "^1.3.
|
|
25
|
+
"fleetbase/core-api": "^1.3.12",
|
|
26
26
|
"barryvdh/laravel-dompdf": "^2.0",
|
|
27
27
|
"brick/geo": "0.7.2",
|
|
28
28
|
"cknow/laravel-money": "^7.1",
|
package/extension.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fleetbase/fleetops-engine",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "Fleet & Transport Management Extension for Fleetbase",
|
|
5
5
|
"fleetbase": {
|
|
6
6
|
"route": "fleet-ops",
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
"lint:hbs:fix": "ember-template-lint . --fix",
|
|
34
34
|
"lint:js": "eslint . --cache",
|
|
35
35
|
"lint:js:fix": "eslint . --fix",
|
|
36
|
+
"lint:intl": "fleetbase-intl-lint",
|
|
36
37
|
"start": "ember serve",
|
|
37
38
|
"test": "concurrently \"npm:lint\" \"npm:test:*\" --names \"lint,test:\"",
|
|
38
39
|
"test:ember": "ember test",
|
|
@@ -68,6 +69,7 @@
|
|
|
68
69
|
"leaflet-rotatedmarker": "^0.2.0"
|
|
69
70
|
},
|
|
70
71
|
"devDependencies": {
|
|
72
|
+
"@fleetbase/intl-lint": "^0.0.1",
|
|
71
73
|
"@babel/eslint-parser": "^7.22.15",
|
|
72
74
|
"@babel/plugin-proposal-decorators": "^7.23.2",
|
|
73
75
|
"@ember/optional-features": "^2.0.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<?php
|
|
2
2
|
|
|
3
|
-
use Fleetbase\Models\Order;
|
|
3
|
+
use Fleetbase\Fleetops\Models\Order;
|
|
4
4
|
use Fleetbase\Support\Utils; ?>
|
|
5
5
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
6
6
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
@@ -43,32 +43,33 @@ use Fleetbase\Support\Utils; ?>
|
|
|
43
43
|
|
|
44
44
|
<body bgcolor="#f7f7f7">
|
|
45
45
|
<div style="width: 420px; border: 2px #414141 solid; margin: auto;">
|
|
46
|
-
<div class="group" style="border-bottom: 1px #414141 solid;">
|
|
47
|
-
<div style="float:left;
|
|
48
|
-
<img src="data:image/png;base64,<?= Utils::notEmpty($trackingNumber) ? $trackingNumber->qr_code : $order->trackingNumber->qr_code ?>" style="width: 100%; height:
|
|
46
|
+
<div class="group" style="border-bottom: 1px #414141 solid; overflow: hidden;">
|
|
47
|
+
<div style="float: left; width: 130px; height: 120px; border-right: 1px #414141 solid; text-align: center; padding: 10px; box-sizing: border-box;">
|
|
48
|
+
<img src="data:image/png;base64,<?= Utils::notEmpty($trackingNumber) ? $trackingNumber->qr_code : $order->trackingNumber->qr_code ?>" style="width: 100%; height: 100%; object-fit: cover;">
|
|
49
49
|
</div>
|
|
50
|
-
<div style="
|
|
51
|
-
<div style="
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
50
|
+
<div style="margin-top: 10px; padding-left: 10px;">
|
|
51
|
+
<div style="font-size: 18px; font-weight: bold;"><?= strtoupper($company->name) ?></div>
|
|
52
|
+
<div style="font-size: 16px; font-weight: 300; color: #000;">
|
|
53
|
+
<?php
|
|
54
|
+
if ($order && $order instanceof Order) {
|
|
55
|
+
$order->load('purchaseRate.serviceQuote.serviceRate');
|
|
56
|
+
$serviceName = data_get($order, 'purchaseRate.serviceQuote.serviceRate.service_name');
|
|
57
|
+
if ($serviceName) {
|
|
58
|
+
echo strtoupper($serviceName);
|
|
60
59
|
}
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
}
|
|
61
|
+
?>
|
|
63
62
|
</div>
|
|
64
63
|
</div>
|
|
65
64
|
</div>
|
|
65
|
+
|
|
66
66
|
<?php
|
|
67
67
|
// load payload locations
|
|
68
68
|
if ($order) {
|
|
69
|
-
$order->load('payload.pickup', 'payload.dropoff');
|
|
69
|
+
$order->load('payload.pickup', 'payload.dropoff', 'payload.entities');
|
|
70
70
|
$pickup = $pickup ?? $order->payload->pickup;
|
|
71
71
|
$dropoff = $dropoff ?? $order->payload->dropoff;
|
|
72
|
+
$entities = $entities ?? ($order->payload['entities'] ?? []);
|
|
72
73
|
}
|
|
73
74
|
?>
|
|
74
75
|
<?php if ($pickup) { ?>
|
|
@@ -114,7 +115,7 @@ use Fleetbase\Support\Utils; ?>
|
|
|
114
115
|
<?php } ?>
|
|
115
116
|
<?php if ($dropoff) { ?>
|
|
116
117
|
<div class="group">
|
|
117
|
-
<div style="padding: 15px;" class="group">
|
|
118
|
+
<div style="padding: 15px;" class="group" style="border-bottom: 1px #414141 solid; padding: 15px;">
|
|
118
119
|
<div style="float: left; display: inline-block; margin-right: 15px; font-weight: bold;">
|
|
119
120
|
DROPOFF:
|
|
120
121
|
</div>
|
|
@@ -153,6 +154,27 @@ use Fleetbase\Support\Utils; ?>
|
|
|
153
154
|
</div>
|
|
154
155
|
</div>
|
|
155
156
|
<?php } ?>
|
|
157
|
+
<?php if ($entities) { ?>
|
|
158
|
+
<div class="group">
|
|
159
|
+
<div style="padding: 15px;" class="group" style="border-bottom: 1px #414141 solid; padding: 15px;">
|
|
160
|
+
<div style="float: left; display: inline-block; margin-right: 15px">
|
|
161
|
+
<?php foreach ($entities as $entity) { ?>
|
|
162
|
+
<div class="line">
|
|
163
|
+
<strong>
|
|
164
|
+
<?php
|
|
165
|
+
if (isset($entity['name']) && !empty($entity['name'])) {
|
|
166
|
+
echo strtoupper($entity['name']) . ' - ' . ($entity['internal_id'] ?? '');
|
|
167
|
+
} else {
|
|
168
|
+
echo 'ITEM -' . ($entity['internal_id'] ?? '');
|
|
169
|
+
}
|
|
170
|
+
?>
|
|
171
|
+
</strong>
|
|
172
|
+
</div>
|
|
173
|
+
<?php } ?>
|
|
174
|
+
</div>
|
|
175
|
+
</div>
|
|
176
|
+
</div>
|
|
177
|
+
<?php } ?>
|
|
156
178
|
<div class="group">
|
|
157
179
|
<div style="text-align: center; padding: 15px 0px; border-top: 1px #414141 solid;">
|
|
158
180
|
<img src="data:image/png;base64,<?= isset($trackingNumber) ? $trackingNumber->barcode : $order->trackingNumber->barcode ?>" style="height: 90px; margin-top: 10px;">
|