@feedmepos/mf-order-setting 0.0.2 → 0.0.6
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/.env.dev +13 -0
- package/.env.example +11 -0
- package/.env.prod +12 -0
- package/.eslintrc.cjs +15 -0
- package/.nvmrc +1 -0
- package/.prettierrc.json +8 -0
- package/.vscode/extensions.json +8 -0
- package/README.md +31 -0
- package/dist/KioskSettingView-BTDNtWJ1.js +4 -0
- package/{app-gcisgtft.js → dist/app-XcwzVa60.js} +7363 -7390
- package/dist/app.js +6 -0
- package/dist/frontend/mf-order/src/app.d.ts +4 -0
- package/dist/frontend/mf-order/src/router/routes.d.ts +3 -0
- package/dist/frontend/mf-order/src/views/order-settings/sms/SmsSetting.vue.d.ts +2 -0
- package/dist/frontend/mf-order/tsconfig.app.tsbuildinfo +1 -0
- package/env.d.ts +95 -0
- package/index.html +16 -0
- package/package.json +5 -4
- package/postcss.config.js +6 -0
- package/public/favicon.ico +0 -0
- package/src/App.vue +19 -0
- package/src/Entry.vue +42 -0
- package/src/api/auth/index.ts +20 -0
- package/src/api/delivery/index.ts +15 -0
- package/src/api/index.ts +171 -0
- package/src/api/kiosk/index.ts +22 -0
- package/src/api/menu/index.ts +13 -0
- package/src/api/order/index.ts +15 -0
- package/src/api/order-setting/index.ts +25 -0
- package/src/api/public-setting/index.ts +11 -0
- package/src/api/remoteOrder/index.ts +142 -0
- package/src/api/restaurant-setting/index.ts +55 -0
- package/src/api/table-setting/index.ts +30 -0
- package/src/app.ts +7 -0
- package/src/assets/base.css +6 -0
- package/src/assets/images/no-data.svg +35 -0
- package/src/assets/logo.svg +1 -0
- package/src/assets/main.css +1 -0
- package/src/components/GoogleMap.vue +216 -0
- package/src/components/RestaurantSelection.vue +34 -0
- package/src/components/index.ts +7 -0
- package/src/components/snackbar.ts +44 -0
- package/src/components/type.ts +103 -0
- package/src/composables/index.ts +7 -0
- package/src/composables/loading/index.ts +51 -0
- package/src/composables/search.ts +18 -0
- package/src/helpers/currency.ts +6 -0
- package/src/helpers/date.ts +29 -0
- package/src/helpers/iteration.ts +87 -0
- package/src/helpers/map.ts +92 -0
- package/src/helpers/menu.ts +166 -0
- package/src/helpers/number.ts +25 -0
- package/src/helpers/object.ts +12 -0
- package/src/helpers/profile.ts +52 -0
- package/src/i18n.ts +43 -0
- package/src/index.d.ts +3 -0
- package/src/main.ts +77 -0
- package/src/modules/kiosk/interface.ts +16 -0
- package/src/modules/order-setting/interface.ts +4 -0
- package/src/modules/order-setting/kiosk/interface.ts +52 -0
- package/src/plugins/google-maps.ts +28 -0
- package/src/router/index.ts +10 -0
- package/src/router/routes.ts +43 -0
- package/src/stores/app/index.ts +58 -0
- package/src/stores/iframe/index.ts +23 -0
- package/src/stores/kiosk/index.ts +40 -0
- package/src/stores/kiosk/mapper.ts +25 -0
- package/src/stores/menu/menu.ts +258 -0
- package/src/stores/order-setting/index.ts +61 -0
- package/src/stores/order-setting/mapper.ts +104 -0
- package/src/stores/restaurant/index.ts +138 -0
- package/src/stores/table-settings.ts +160 -0
- package/src/stores/type.ts +65 -0
- package/src/utils/constants/route.ts +15 -0
- package/src/utils/number.ts +16 -0
- package/src/utils/object.ts +15 -0
- package/src/views/all-orders/ActionMenuCell.vue +92 -0
- package/src/views/all-orders/FilterRestaurant.vue +71 -0
- package/src/views/all-orders/FilterStatus.vue +121 -0
- package/src/views/all-orders/FilterStatusMenu.vue +44 -0
- package/src/views/all-orders/Orders.vue +524 -0
- package/src/views/all-orders/ReflowOrder.vue +105 -0
- package/src/views/all-orders/UpdateDeliveryOrderDialog.vue +313 -0
- package/src/views/all-orders/order.ts +584 -0
- package/src/views/feedme-express/FeedMeExpress.vue +139 -0
- package/src/views/feedme-express/FeedMeExpressSummary.vue +62 -0
- package/src/views/kiosk/KioskSummary.vue +74 -0
- package/src/views/kiosk/KioskView.vue +140 -0
- package/src/views/kiosk/devices/KioskDeviceCard.vue +105 -0
- package/src/views/kiosk/devices/KioskDeviceDetail.vue +28 -0
- package/src/views/kiosk/devices/KioskDevicesView.vue +27 -0
- package/src/views/kiosk/devices/KioskOtpDialog.vue +15 -0
- package/src/views/kiosk/devices/KioskUnbindConfirm.vue +28 -0
- package/src/views/kiosk/settings/KioskDineInSection.vue +86 -0
- package/src/views/kiosk/settings/KioskDisplayStandSection.vue +98 -0
- package/src/views/kiosk/settings/KioskPickAtCounterSection.vue +25 -0
- package/src/views/kiosk/settings/KioskSettingView.vue +61 -0
- package/src/views/kiosk/settings/KioskTakeawaySection.vue +39 -0
- package/src/views/order-settings/OrderSettingsView.vue +52 -0
- package/src/views/order-settings/components/RestaurantSelector.vue +77 -0
- package/src/views/order-settings/delivery/DeliverySetting.vue +799 -0
- package/src/views/order-settings/delivery/LocalDelivery.vue +0 -0
- package/src/views/order-settings/delivery/components/ManualIntegratedDeliverySetting.vue +167 -0
- package/src/views/order-settings/delivery/delivery.data.ts +75 -0
- package/src/views/order-settings/delivery/delivery.ts +41 -0
- package/src/views/order-settings/delivery/inhouse/CurrencyInput.vue +47 -0
- package/src/views/order-settings/delivery/inhouse/DeliveryCustomTime.vue +235 -0
- package/src/views/order-settings/delivery/inhouse/DeliveryOrder.vue +236 -0
- package/src/views/order-settings/delivery/inhouse/DeliveryTime.vue +143 -0
- package/src/views/order-settings/delivery/inhouse/InHouseDelivery.vue +186 -0
- package/src/views/order-settings/delivery/inhouse/TimePicker.vue +76 -0
- package/src/views/order-settings/delivery/inhouse/ZoneDialog.vue +143 -0
- package/src/views/order-settings/delivery/integrated-delivery/FeedmeDelivery.vue +244 -0
- package/src/views/order-settings/delivery/integrated-delivery/FoodpandaCampaignDialog.vue +110 -0
- package/src/views/order-settings/delivery/integrated-delivery/FoodpandaSetting.vue +261 -0
- package/src/views/order-settings/delivery/integrated-delivery/GrabfoodSetting.vue +128 -0
- package/src/views/order-settings/delivery/integrated-delivery/IntegratedDelivery.vue +272 -0
- package/src/views/order-settings/delivery/integrated-delivery/ShopeefoodSetting.vue +135 -0
- package/src/views/order-settings/delivery/integrated.data.interface.ts +0 -0
- package/src/views/order-settings/dinein/DineInSetting.vue +128 -0
- package/src/views/order-settings/dinein/OfflinePaymentTypeDialog.vue +51 -0
- package/src/views/order-settings/dinein/OfflinePaymentTypeDialogContent.vue +44 -0
- package/src/views/order-settings/dinein/PaymentType.vue +172 -0
- package/src/views/order-settings/pickup/AddressInput.vue +48 -0
- package/src/views/order-settings/pickup/CustomPayment.vue +84 -0
- package/src/views/order-settings/pickup/PaymentSidesheet.vue +167 -0
- package/src/views/order-settings/pickup/PickUpPointDialog.vue +125 -0
- package/src/views/order-settings/pickup/PickUpPointDialogContent.vue +95 -0
- package/src/views/order-settings/pickup/PickUpSetting.vue +233 -0
- package/src/views/order-settings/pickup/PickUpSettingDialog.vue +148 -0
- package/src/views/order-settings/pickup/PickUpSideSheet.vue +15 -0
- package/src/views/order-settings/pickup/Preorder.vue +139 -0
- package/src/views/order-settings/servicecharge/RateInput.vue +34 -0
- package/src/views/order-settings/servicecharge/ServiceChargeRule.vue +453 -0
- package/src/views/order-settings/servicecharge/ServiceChargeSetting.vue +233 -0
- package/src/views/order-settings/sms/SmsSetting.vue +162 -0
- package/tailwind.config.js +20 -0
- package/tsconfig.app.json +25 -0
- package/tsconfig.json +18 -0
- package/tsconfig.node.json +16 -0
- package/vite.config.ts +60 -0
- package/KioskSettingView-BRJpaAwI.js +0 -4
- package/app.js +0 -5
- package/frontend/mf-order/src/app.d.ts +0 -2
- package/frontend/mf-order/tsconfig.app.tsbuildinfo +0 -1
- package/style.css +0 -1
- package/{common → dist/common}/booking/index.d.ts +0 -0
- package/{common → dist/common}/config/bank/index.d.ts +0 -0
- package/{common → dist/common}/config/bank/malaysia.d.ts +0 -0
- package/{common → dist/common}/config/bank/singapore.d.ts +0 -0
- package/{common → dist/common}/config/index.d.ts +0 -0
- package/{common → dist/common}/convertor/index.d.ts +0 -0
- package/{common → dist/common}/index.d.ts +0 -0
- package/{common → dist/common}/number/index.d.ts +0 -0
- package/{common → dist/common}/sms/index.d.ts +0 -0
- package/{common → dist/common}/util/index.d.ts +0 -0
- package/{favicon.ico → dist/favicon.ico} +0 -0
- package/{frontend → dist/frontend}/mf-order/src/App.vue.d.ts +0 -0
- package/{frontend/mf-order/src/views/all-orders/Orders.vue.d.ts → dist/frontend/mf-order/src/Entry.vue.d.ts} +0 -0
- package/{frontend → dist/frontend}/mf-order/src/api/auth/index.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/api/delivery/index.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/api/index.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/api/kiosk/index.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/api/menu/index.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/api/order/index.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/api/order-setting/index.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/api/public-setting/index.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/api/remoteOrder/index.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/api/restaurant-setting/index.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/api/table-setting/index.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/components/GoogleMap.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/components/RestaurantSelection.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/components/index.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/components/snackbar.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/components/type.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/composables/index.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/composables/loading/index.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/composables/search.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/helpers/currency.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/helpers/date.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/helpers/iteration.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/helpers/map.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/helpers/menu.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/helpers/number.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/helpers/object.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/helpers/profile.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/i18n.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/main.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/modules/kiosk/interface.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/modules/order-setting/interface.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/modules/order-setting/kiosk/interface.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/plugins/google-maps.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/router/index.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/stores/app/index.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/stores/iframe/index.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/stores/kiosk/index.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/stores/kiosk/mapper.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/stores/menu/menu.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/stores/order-setting/index.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/stores/order-setting/mapper.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/stores/restaurant/index.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/stores/table-settings.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/stores/type.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/utils/constants/route.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/utils/number.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/utils/object.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/all-orders/ActionMenuCell.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/all-orders/FilterRestaurant.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/all-orders/FilterStatus.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/all-orders/FilterStatusMenu.vue.d.ts +0 -0
- package/{frontend/mf-order/src/views/feedme-express/FeedMeExpress.vue.d.ts → dist/frontend/mf-order/src/views/all-orders/Orders.vue.d.ts} +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/all-orders/ReflowOrder.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/all-orders/UpdateDeliveryOrderDialog.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/all-orders/order.d.ts +2 -2
- package/{frontend/mf-order/src/views/kiosk/KioskView.vue.d.ts → dist/frontend/mf-order/src/views/feedme-express/FeedMeExpress.vue.d.ts} +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/feedme-express/FeedMeExpressSummary.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/kiosk/KioskSummary.vue.d.ts +0 -0
- package/{frontend/mf-order/src/views/order-settings/OrderSettingsView.vue.d.ts → dist/frontend/mf-order/src/views/kiosk/KioskView.vue.d.ts} +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/kiosk/devices/KioskDeviceCard.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/kiosk/devices/KioskDeviceDetail.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/kiosk/devices/KioskDevicesView.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/kiosk/devices/KioskOtpDialog.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/kiosk/devices/KioskUnbindConfirm.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/kiosk/settings/KioskDineInSection.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/kiosk/settings/KioskDisplayStandSection.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/kiosk/settings/KioskPickAtCounterSection.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/kiosk/settings/KioskSettingView.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/kiosk/settings/KioskTakeawaySection.vue.d.ts +0 -0
- package/{frontend/mf-order/src/views/order-settings/delivery/LocalDelivery.vue.d.ts → dist/frontend/mf-order/src/views/order-settings/OrderSettingsView.vue.d.ts} +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/components/RestaurantSelector.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/delivery/DeliverySetting.vue.d.ts +0 -0
- package/{frontend/mf-order/src/views/order-settings/dinein/DineInSetting.vue.d.ts → dist/frontend/mf-order/src/views/order-settings/delivery/LocalDelivery.vue.d.ts} +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/delivery/components/ManualIntegratedDeliverySetting.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/delivery/delivery.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/delivery/delivery.data.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/delivery/inhouse/CurrencyInput.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/delivery/inhouse/DeliveryCustomTime.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/delivery/inhouse/DeliveryOrder.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/delivery/inhouse/DeliveryTime.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/delivery/inhouse/InHouseDelivery.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/delivery/inhouse/TimePicker.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/delivery/inhouse/ZoneDialog.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/delivery/integrated-delivery/FeedmeDelivery.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/delivery/integrated-delivery/FoodpandaCampaignDialog.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/delivery/integrated-delivery/FoodpandaSetting.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/delivery/integrated-delivery/GrabfoodSetting.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/delivery/integrated-delivery/IntegratedDelivery.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/delivery/integrated-delivery/ShopeefoodSetting.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/delivery/integrated.data.interface.d.ts +0 -0
- package/{frontend/mf-order/src/views/order-settings/pickup/PickUpSideSheet.vue.d.ts → dist/frontend/mf-order/src/views/order-settings/dinein/DineInSetting.vue.d.ts} +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/dinein/OfflinePaymentTypeDialog.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/dinein/OfflinePaymentTypeDialogContent.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/dinein/PaymentType.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/pickup/AddressInput.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/pickup/CustomPayment.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/pickup/PaymentSidesheet.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/pickup/PickUpPointDialog.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/pickup/PickUpPointDialogContent.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/pickup/PickUpSetting.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/pickup/PickUpSettingDialog.vue.d.ts +0 -0
- package/{frontend/mf-order/src/views/order-settings/servicecharge/ServiceChargeSetting.vue.d.ts → dist/frontend/mf-order/src/views/order-settings/pickup/PickUpSideSheet.vue.d.ts} +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/pickup/Preorder.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/servicecharge/RateInput.vue.d.ts +0 -0
- package/{frontend → dist/frontend}/mf-order/src/views/order-settings/servicecharge/ServiceChargeRule.vue.d.ts +0 -0
- package/{frontend/mf-order/src/views/order-settings/sms/SmsSetting.vue.d.ts → dist/frontend/mf-order/src/views/order-settings/servicecharge/ServiceChargeSetting.vue.d.ts} +0 -0
- package/{package → dist/package}/entity/booking/booking.do.d.ts +0 -0
- package/{package → dist/package}/entity/booking/booking.dto.d.ts +0 -0
- package/{package → dist/package}/entity/booking/booking.enum.d.ts +0 -0
- package/{package → dist/package}/entity/business/business.dto.d.ts +0 -0
- package/{package → dist/package}/entity/clickup/clickup.dto.d.ts +0 -0
- package/{package → dist/package}/entity/cursor/cursor.dto.d.ts +0 -0
- package/{package → dist/package}/entity/delivery/delivery.do.d.ts +0 -0
- package/{package → dist/package}/entity/delivery/delivery.dto.d.ts +28 -28
- package/{package → dist/package}/entity/delivery/delivery.enum.d.ts +0 -0
- package/{package → dist/package}/entity/delivery/gateway/grab.dto.d.ts +0 -0
- package/{package → dist/package}/entity/delivery/gateway/grab.enum.d.ts +0 -0
- package/{package → dist/package}/entity/delivery/gateway/kosmo.dto.d.ts +0 -0
- package/{package → dist/package}/entity/delivery/gateway/kosmo.enum.d.ts +0 -0
- package/{package → dist/package}/entity/delivery/gateway/manual.dto.d.ts +0 -0
- package/{package → dist/package}/entity/delivery/gateway/manual.enum.d.ts +0 -0
- package/{package → dist/package}/entity/delivery/gateway/pandago.dto.d.ts +2 -2
- package/{package → dist/package}/entity/delivery/gateway/pandago.enum.d.ts +0 -0
- package/{package → dist/package}/entity/delivery/linked-delivery.do.d.ts +0 -0
- package/{package → dist/package}/entity/food-court/food-court.do.d.ts +0 -0
- package/{package → dist/package}/entity/food-court/food-court.dto.d.ts +0 -0
- package/{package → dist/package}/entity/food-court/food-court.enum.d.ts +0 -0
- package/{package → dist/package}/entity/food-court/order.do.d.ts +0 -0
- package/{package → dist/package}/entity/food-court/order.dto.d.ts +0 -0
- package/{package → dist/package}/entity/general/dateTime.dto.d.ts +0 -0
- package/{package → dist/package}/entity/general/number.dto.d.ts +0 -0
- package/{package → dist/package}/entity/general/search.dto.d.ts +0 -0
- package/{package → dist/package}/entity/incoming-order/incoming-order-to-bill.dto.d.ts +0 -0
- package/{package → dist/package}/entity/incoming-order/incoming-order.do.d.ts +0 -0
- package/{package → dist/package}/entity/incoming-order/incoming-order.dto.d.ts +0 -0
- package/{package → dist/package}/entity/incoming-order/incoming-order.enum.d.ts +0 -0
- package/{package → dist/package}/entity/index.d.ts +0 -0
- package/{package → dist/package}/entity/kiosk/kiosk.do.d.ts +0 -0
- package/{package → dist/package}/entity/kiosk/kiosk.dto.d.ts +0 -0
- package/{package → dist/package}/entity/kiosk/marketing/marketing.dto.d.ts +0 -0
- package/{package → dist/package}/entity/kiosk/scanner/scanner.do.d.ts +0 -0
- package/{package → dist/package}/entity/kiosk/scanner/scanner.dto.d.ts +0 -0
- package/{package → dist/package}/entity/kiosk/scanner/scanner.enum.d.ts +0 -0
- package/{package → dist/package}/entity/marketing/marketing.dto.d.ts +0 -0
- package/{package → dist/package}/entity/member/member.dto.d.ts +0 -0
- package/{package → dist/package}/entity/money/money.enum.d.ts +0 -0
- package/{package → dist/package}/entity/order/dine-in/dine-in.do.d.ts +0 -0
- package/{package → dist/package}/entity/order/dine-in/dine-in.dto.d.ts +0 -0
- package/{package → dist/package}/entity/order/dine-in/qr.do.d.ts +0 -0
- package/{package → dist/package}/entity/order/dine-in/reservation.do.d.ts +0 -0
- package/{package → dist/package}/entity/order/dine-in/reservation.dto.d.ts +0 -0
- package/{package → dist/package}/entity/order/effects/effect.dto.d.ts +0 -0
- package/{package → dist/package}/entity/order/effects/effect.enum.d.ts +0 -0
- package/{package → dist/package}/entity/order/menu/menu.dto.d.ts +0 -0
- package/{package → dist/package}/entity/order/order-item/order-item.dto.d.ts +0 -0
- package/{package → dist/package}/entity/order/order.do.d.ts +0 -0
- package/{package → dist/package}/entity/order/order.dto.d.ts +4 -4
- package/{package → dist/package}/entity/order/order.enum.d.ts +0 -0
- package/{package → dist/package}/entity/order/payment/payment.dto.d.ts +0 -0
- package/{package → dist/package}/entity/order/pickup/pickup.do.d.ts +0 -0
- package/{package → dist/package}/entity/order/pickup/pickup.dto.d.ts +0 -0
- package/{package → dist/package}/entity/order/timeslot/timeslot.dto.d.ts +0 -0
- package/{package → dist/package}/entity/order/timeslot/timeslot.enum.d.ts +0 -0
- package/{package → dist/package}/entity/order-platform/base-integration.do.d.ts +0 -0
- package/{package → dist/package}/entity/order-platform/foodpanda/foodpanda-menu.dto.d.ts +48 -48
- package/{package → dist/package}/entity/order-platform/foodpanda/foodpanda-order.do.d.ts +16 -16
- package/{package → dist/package}/entity/order-platform/foodpanda/foodpanda-order.dto.d.ts +6 -6
- package/{package → dist/package}/entity/order-platform/foodpanda/foodpanda-settings.do.d.ts +0 -0
- package/{package → dist/package}/entity/order-platform/foodpanda/foodpanda-settings.dto.d.ts +0 -0
- package/{package → dist/package}/entity/order-platform/foodpanda/foodpanda.enum.d.ts +0 -0
- package/{package → dist/package}/entity/order-platform/grabfood/grabfood-menu.do.d.ts +0 -0
- package/{package → dist/package}/entity/order-platform/grabfood/grabfood-order.do.d.ts +0 -0
- package/{package → dist/package}/entity/order-platform/grabfood/grabfood-settings.do.d.ts +0 -0
- package/{package → dist/package}/entity/order-platform/grabfood/grabfood.dto.d.ts +0 -0
- package/{package → dist/package}/entity/order-platform/grabfood/grabfood.enum.d.ts +0 -0
- package/{package → dist/package}/entity/order-platform/menu.dto.d.ts +0 -0
- package/{package → dist/package}/entity/order-platform/order-platform.dto.d.ts +0 -0
- package/{package → dist/package}/entity/order-platform/order-platform.enum.d.ts +0 -0
- package/{package → dist/package}/entity/order-platform/shopeefood/shopeefood-menu.do.d.ts +0 -0
- package/{package → dist/package}/entity/order-platform/shopeefood/shopeefood-order.do.d.ts +20 -20
- /package/{package → dist/package}/entity/order-platform/shopeefood/shopeefood-order.dto.d.ts +0 -0
- /package/{package → dist/package}/entity/order-platform/shopeefood/shopeefood-settings.do.d.ts +0 -0
- /package/{package → dist/package}/entity/order-platform/shopeefood/shopeefood-settings.dto.d.ts +0 -0
- /package/{package → dist/package}/entity/order-platform/shopeefood/shopeefood.enum.d.ts +0 -0
- /package/{package → dist/package}/entity/order-setting/customization/color.do.d.ts +0 -0
- /package/{package → dist/package}/entity/order-setting/customization/color.dto.d.ts +0 -0
- /package/{package → dist/package}/entity/order-setting/kiosk/kiosk.do.d.ts +0 -0
- /package/{package → dist/package}/entity/order-setting/kiosk/kiosk.dto.d.ts +0 -0
- /package/{package → dist/package}/entity/order-setting/order-setting.do.d.ts +0 -0
- /package/{package → dist/package}/entity/order-setting/order-setting.dto.d.ts +0 -0
- /package/{package → dist/package}/entity/order-setting/queue/queue.do.d.ts +0 -0
- /package/{package → dist/package}/entity/order-setting/queue/queue.dto.d.ts +0 -0
- /package/{package → dist/package}/entity/order-setting/reservation/reservation.do.d.ts +0 -0
- /package/{package → dist/package}/entity/order-setting/reservation/reservation.dto.d.ts +0 -0
- /package/{package → dist/package}/entity/order-setting/sequence/sequence.do.d.ts +0 -0
- /package/{package → dist/package}/entity/order-setting/sequence/sequence.dto.d.ts +0 -0
- /package/{package → dist/package}/entity/order-setting/sms/sms.do.d.ts +0 -0
- /package/{package → dist/package}/entity/order-setting/sms/sms.dto.d.ts +0 -0
- /package/{package → dist/package}/entity/order-setting/sms/sms.enum.d.ts +0 -0
- /package/{package → dist/package}/entity/order-setting/upselling/upselling.do.d.ts +0 -0
- /package/{package → dist/package}/entity/order-setting/upselling/upselling.dto.d.ts +0 -0
- /package/{package → dist/package}/entity/order-setting/v3/v3.do.d.ts +0 -0
- /package/{package → dist/package}/entity/order-setting/v3/v3.dto.d.ts +0 -0
- /package/{package → dist/package}/entity/pagination/pagination.dto.d.ts +0 -0
- /package/{package → dist/package}/entity/payment/payment.enum.d.ts +0 -0
- /package/{package → dist/package}/entity/printer/printer.do.d.ts +0 -0
- /package/{package → dist/package}/entity/queue/queue.do.d.ts +0 -0
- /package/{package → dist/package}/entity/queue/queue.dto.d.ts +0 -0
- /package/{package → dist/package}/entity/queue/queue.enum.d.ts +0 -0
- /package/{package → dist/package}/entity/restaurant/restaurant.dto.d.ts +0 -0
- /package/{package → dist/package}/entity/user/user.do.d.ts +0 -0
- /package/{package → dist/package}/entity/websocket/websocket.dto.d.ts +0 -0
- /package/{package → dist/package}/entity/websocket/websocket.enum.d.ts +0 -0
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { computed, type PropType, ref } from 'vue'
|
|
3
|
+
import { sentenceCase, capitalCase } from 'change-case'
|
|
4
|
+
import {
|
|
5
|
+
F_DELIVERY_PROVIDER_TYPE,
|
|
6
|
+
F_DELIVERY_STATUS,
|
|
7
|
+
F_MANUAL_AVAILABLE_SERVICE
|
|
8
|
+
} from '@feedmepos/ordering/package/entity'
|
|
9
|
+
import { clone } from '@/helpers/object'
|
|
10
|
+
import { SnackbarPosition, useSnackbar, type ValidationRule } from '@feedmepos/ui-library'
|
|
11
|
+
import type { Delivery, DeliveryInfo, DeliveryProviderOption } from './order'
|
|
12
|
+
import { type DeliveryProviderDriverDto } from '@feedmepos/ordering/package/entity'
|
|
13
|
+
import { formatCurrency } from '@/helpers/currency'
|
|
14
|
+
import { Dinero } from '@feedmepos/core'
|
|
15
|
+
import { useSnackbarFunctions } from '@/components/snackbar'
|
|
16
|
+
|
|
17
|
+
const { showError } = useSnackbarFunctions()
|
|
18
|
+
const zeroDineroObject = Dinero.zero().toObject()
|
|
19
|
+
|
|
20
|
+
const props = defineProps({
|
|
21
|
+
initialValue: {
|
|
22
|
+
type: Object as PropType<DeliveryProviderOption[]>,
|
|
23
|
+
required: true
|
|
24
|
+
},
|
|
25
|
+
info: {
|
|
26
|
+
type: Object as PropType<DeliveryInfo>,
|
|
27
|
+
required: true
|
|
28
|
+
}
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
const lastProvider = computed(() => props.initialValue[props.initialValue.length - 1])
|
|
32
|
+
const selectedKey = ref(lastProvider.value.key)
|
|
33
|
+
const data = ref<Delivery>(clone(lastProvider.value.delivery))
|
|
34
|
+
const providerOptions = props.initialValue.map((v) => {
|
|
35
|
+
return { label: v.key, value: v.key }
|
|
36
|
+
})
|
|
37
|
+
const deliveryStatus = [
|
|
38
|
+
{
|
|
39
|
+
label: 'Picking up',
|
|
40
|
+
value: F_DELIVERY_STATUS.Enum.PICKING_UP
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
label: 'Completed',
|
|
44
|
+
value: F_DELIVERY_STATUS.Enum.COMPLETE
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
|
|
48
|
+
const serviceOptions = Object.entries(F_MANUAL_AVAILABLE_SERVICE.Enum).map(([key, value]) => ({
|
|
49
|
+
label: capitalCase(sentenceCase(key)),
|
|
50
|
+
value: value
|
|
51
|
+
}))
|
|
52
|
+
|
|
53
|
+
const isNewOrder = computed(() => data.value.status === F_DELIVERY_STATUS.Enum.NEW)
|
|
54
|
+
const isInvalidProvider = computed(
|
|
55
|
+
() =>
|
|
56
|
+
props.initialValue.length === 0 ||
|
|
57
|
+
selectedKey.value !== lastProvider.value.key ||
|
|
58
|
+
lastProvider.value.delivery.status === F_DELIVERY_STATUS.Enum.COMPLETE ||
|
|
59
|
+
data.value.type !== F_DELIVERY_PROVIDER_TYPE.Enum.MANUAL
|
|
60
|
+
)
|
|
61
|
+
const hasOrderStatus = computed(() => data.value.status !== null)
|
|
62
|
+
const canUpdate = computed(
|
|
63
|
+
() =>
|
|
64
|
+
isInvalidProvider.value ||
|
|
65
|
+
data.value.status === F_DELIVERY_STATUS.Enum.COMPLETE ||
|
|
66
|
+
!hasOrderStatus.value
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
const driverRows = computed<
|
|
70
|
+
{
|
|
71
|
+
label: string
|
|
72
|
+
disabled: boolean
|
|
73
|
+
value: string
|
|
74
|
+
rule?: ValidationRule
|
|
75
|
+
callback: (v: string) => void
|
|
76
|
+
}[]
|
|
77
|
+
>(() => {
|
|
78
|
+
const disabled = canUpdate.value
|
|
79
|
+
return [
|
|
80
|
+
{
|
|
81
|
+
label: 'Driver name',
|
|
82
|
+
disabled: disabled,
|
|
83
|
+
value: data.value.driver?.name || '',
|
|
84
|
+
rule: (v: string | any[]) => (v && v.length > 0) || 'Driver name required',
|
|
85
|
+
callback: (v) => updateDriver('name', v)
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
label: 'Driver contact',
|
|
89
|
+
disabled: disabled,
|
|
90
|
+
value: data.value.driver?.phone || '',
|
|
91
|
+
rule: (v: string | any[]) => (v && v.length > 0) || 'Driver phone required',
|
|
92
|
+
callback: (v) => updateDriver('phone', v)
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
label: 'Driver vehicle type',
|
|
96
|
+
disabled: disabled,
|
|
97
|
+
value: data.value.driver?.vehicle.physicalVehicleType || '',
|
|
98
|
+
rule: (v: string | any[]) => (v && v.length > 0) || 'Vehicle type is required',
|
|
99
|
+
callback: (v) => updateDriver('vehicle', (oldV: any) => ({ ...oldV, physicalVehicleType: v }))
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
label: 'Driver vehicle model',
|
|
103
|
+
disabled: disabled,
|
|
104
|
+
value: data.value.driver?.vehicle.model || '',
|
|
105
|
+
rule: (v: string | any[]) => (v && v.length > 0) || 'Vehicle model is required',
|
|
106
|
+
callback: (v) => updateDriver('vehicle', (oldV: any) => ({ ...oldV, model: v }))
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
label: 'Driver vehicle license plate',
|
|
110
|
+
disabled: disabled,
|
|
111
|
+
value: data.value.driver?.vehicle.licensePlate || '',
|
|
112
|
+
rule: (v: string | any[]) => (v && v.length > 0) || 'Vehicle license plate required',
|
|
113
|
+
callback: (v) => updateDriver('vehicle', (oldV: any) => ({ ...oldV, licensePlate: v }))
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
label: 'Tracking URL',
|
|
117
|
+
disabled: disabled,
|
|
118
|
+
value: data.value.trackingUrl || '',
|
|
119
|
+
callback: (v) => (data.value.trackingUrl = v.trim() || undefined)
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
label: 'Pickup ref',
|
|
123
|
+
disabled: disabled,
|
|
124
|
+
value: data.value.pickupRef || '',
|
|
125
|
+
rule: (v: string | any[]) => (v && v.length > 0) || 'Pickup ref is required',
|
|
126
|
+
callback: (v) => (data.value.pickupRef = v)
|
|
127
|
+
}
|
|
128
|
+
]
|
|
129
|
+
})
|
|
130
|
+
|
|
131
|
+
function updateDriver<T extends keyof DeliveryProviderDriverDto>(
|
|
132
|
+
key: T,
|
|
133
|
+
update:
|
|
134
|
+
| DeliveryProviderDriverDto[T]
|
|
135
|
+
| ((oldV: DeliveryProviderDriverDto[T]) => DeliveryProviderDriverDto[T])
|
|
136
|
+
) {
|
|
137
|
+
if (!data.value.driver) return
|
|
138
|
+
const newV = typeof update === 'function' ? update(data.value.driver[key]) : update
|
|
139
|
+
data.value.driver[key] = newV
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
function selectProvider(key: string | null): void {
|
|
143
|
+
if (selectedKey.value === key) return
|
|
144
|
+
const found = props.initialValue.find((v) => v.key === key)
|
|
145
|
+
if (found) {
|
|
146
|
+
setDelivery(found)
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
function setDelivery(dto: DeliveryProviderOption) {
|
|
151
|
+
selectedKey.value = dto.key
|
|
152
|
+
data.value = clone(dto.delivery)
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
const emit = defineEmits<{
|
|
156
|
+
(e: 'ok', value: Delivery): void
|
|
157
|
+
(e: 'cancel'): void
|
|
158
|
+
}>()
|
|
159
|
+
|
|
160
|
+
function updateOrder() {
|
|
161
|
+
sideSheet.value = false
|
|
162
|
+
if (isInvalidProvider.value || !hasOrderStatus.value) {
|
|
163
|
+
showError('Cannot edit order')
|
|
164
|
+
} else if (data.value && data.value.status === F_DELIVERY_STATUS.Enum.NEW) {
|
|
165
|
+
showError('Cannot edit order to new status')
|
|
166
|
+
} else {
|
|
167
|
+
// validate();
|
|
168
|
+
}
|
|
169
|
+
emit('ok', data.value)
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
function closeSideSheet() {
|
|
173
|
+
emit('cancel')
|
|
174
|
+
sideSheet.value = false
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
const sideSheet = ref<boolean>(true)
|
|
178
|
+
</script>
|
|
179
|
+
|
|
180
|
+
<template>
|
|
181
|
+
<div>
|
|
182
|
+
<FmSideSheet
|
|
183
|
+
header="Update delivery order"
|
|
184
|
+
dismiss-away
|
|
185
|
+
:model-value="sideSheet"
|
|
186
|
+
:maxWidth="600"
|
|
187
|
+
>
|
|
188
|
+
<div>
|
|
189
|
+
<FmCard variant="outlined" class="p-5 mb-5">
|
|
190
|
+
<span class="fm-typo-en-title-sm-800">Order info</span>
|
|
191
|
+
<div class="flex flex-col gap-1">
|
|
192
|
+
<div v-for="item in info.delivery" :key="item.label">
|
|
193
|
+
<span class="fm-typo-en-body-lg-400 text-fm-color-typo-secondary">
|
|
194
|
+
{{ item.label }}
|
|
195
|
+
</span>
|
|
196
|
+
<div class="fm-typo-en-body-lg-600 block">
|
|
197
|
+
{{ item.value }}
|
|
198
|
+
</div>
|
|
199
|
+
</div>
|
|
200
|
+
</div>
|
|
201
|
+
</FmCard>
|
|
202
|
+
<FmCard variant="outlined" class="p-5 mb-5">
|
|
203
|
+
<span class="fm-typo-en-title-sm-800">Order items</span>
|
|
204
|
+
<div class="flex flex-col gap-1">
|
|
205
|
+
<div class="fm-typo-en-body-lg-400 text-fm-color-typo-secondary">
|
|
206
|
+
<span v-for="(item, index) in info.items">
|
|
207
|
+
{{ item.name }} x{{ item.quantity
|
|
208
|
+
}}<span v-if="index < info.items.length - 1">, </span>
|
|
209
|
+
</span>
|
|
210
|
+
</div>
|
|
211
|
+
</div>
|
|
212
|
+
</FmCard>
|
|
213
|
+
<FmCard variant="outlined" class="p-5 mb-5">
|
|
214
|
+
<span class="fm-typo-en-title-sm-800 mb-5">Delivery info</span>
|
|
215
|
+
|
|
216
|
+
<FmSelect
|
|
217
|
+
v-if="providerOptions.length > 1"
|
|
218
|
+
v-model="selectedKey"
|
|
219
|
+
label="Key"
|
|
220
|
+
:items="providerOptions"
|
|
221
|
+
@update:model-value="(key: string | null) => selectProvider(key)"
|
|
222
|
+
class="mb-5 mt-5"
|
|
223
|
+
/>
|
|
224
|
+
|
|
225
|
+
<template v-if="!hasOrderStatus">
|
|
226
|
+
<div class="mb-5 mt-5">
|
|
227
|
+
<FmTextField
|
|
228
|
+
:model-value="formatCurrency(data.deliveryFee || zeroDineroObject)"
|
|
229
|
+
label="Delivery fee"
|
|
230
|
+
v-bind:disabled="true"
|
|
231
|
+
/>
|
|
232
|
+
</div>
|
|
233
|
+
</template>
|
|
234
|
+
|
|
235
|
+
<template v-else>
|
|
236
|
+
<FmSelect
|
|
237
|
+
label="Status"
|
|
238
|
+
:items="[...deliveryStatus, { label: data.status, value: data.status }]"
|
|
239
|
+
:model-value="data.status"
|
|
240
|
+
v-bind:disabled="isInvalidProvider"
|
|
241
|
+
@update:model-value="
|
|
242
|
+
(status: string) => {
|
|
243
|
+
if (status === F_DELIVERY_STATUS.Enum.COMPLETE) {
|
|
244
|
+
setDelivery(lastProvider)
|
|
245
|
+
}
|
|
246
|
+
data.status = status as F_DELIVERY_STATUS
|
|
247
|
+
}
|
|
248
|
+
"
|
|
249
|
+
class="mb-5 mt-3"
|
|
250
|
+
/>
|
|
251
|
+
|
|
252
|
+
<template v-if="!isNewOrder">
|
|
253
|
+
<div class="mb-5">
|
|
254
|
+
<FmSelect
|
|
255
|
+
label="Service"
|
|
256
|
+
:model-value="data.choosenService!"
|
|
257
|
+
:items="serviceOptions"
|
|
258
|
+
v-bind:disabled="canUpdate"
|
|
259
|
+
@update:model-value="
|
|
260
|
+
(service: string) =>
|
|
261
|
+
(data.choosenService = service as F_MANUAL_AVAILABLE_SERVICE)
|
|
262
|
+
"
|
|
263
|
+
/>
|
|
264
|
+
</div>
|
|
265
|
+
|
|
266
|
+
<FmTextField
|
|
267
|
+
:model-value="formatCurrency(data.deliveryFee || zeroDineroObject)"
|
|
268
|
+
v-bind:disabled="canUpdate"
|
|
269
|
+
label="Delivery fee"
|
|
270
|
+
@update:model-value="
|
|
271
|
+
(v) => {
|
|
272
|
+
let value1 = parseFloat((v || '').toString().replace(/[^0-9.-]/g, ''))
|
|
273
|
+
value1 = Number.isNaN(value1) ? 0 : value1
|
|
274
|
+
data.deliveryFee = Dinero.fromNumber({ number: value1 }).toObject()
|
|
275
|
+
}
|
|
276
|
+
"
|
|
277
|
+
/>
|
|
278
|
+
|
|
279
|
+
<FmTextarea
|
|
280
|
+
v-model="data.remark"
|
|
281
|
+
v-bind:disabled="canUpdate"
|
|
282
|
+
label="Remark"
|
|
283
|
+
class="mt-5 mb-5"
|
|
284
|
+
/>
|
|
285
|
+
</template>
|
|
286
|
+
</template>
|
|
287
|
+
</FmCard>
|
|
288
|
+
<div v-if="!isNewOrder && hasOrderStatus">
|
|
289
|
+
<FmCard variant="outlined" class="p-5 mb-5">
|
|
290
|
+
<div style="display: flex; flex-direction: column; gap: 16px">
|
|
291
|
+
<span class="fm-typo-en-title-sm-800">Driver</span>
|
|
292
|
+
<FmTextField
|
|
293
|
+
v-for="(row, index) in driverRows"
|
|
294
|
+
:key="index"
|
|
295
|
+
:label="row.label"
|
|
296
|
+
:model-value="row.value"
|
|
297
|
+
v-bind:disabled="row.disabled"
|
|
298
|
+
:rules="row.rule ? [row.rule] : []"
|
|
299
|
+
@update:model-value="row.callback"
|
|
300
|
+
/>
|
|
301
|
+
</div>
|
|
302
|
+
</FmCard>
|
|
303
|
+
</div>
|
|
304
|
+
</div>
|
|
305
|
+
<template #side-sheet-footer>
|
|
306
|
+
<div class="flex gap-8 items-center justify-start">
|
|
307
|
+
<FmButton variant="primary" label="Update" size="lg" @click="updateOrder" type="submit" />
|
|
308
|
+
<FmButton variant="secondary" label="Cancel" size="lg" @click="closeSideSheet" />
|
|
309
|
+
</div>
|
|
310
|
+
</template>
|
|
311
|
+
</FmSideSheet>
|
|
312
|
+
</div>
|
|
313
|
+
</template>
|