geer-builder 1.2.891 → 1.2.893
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/GAchievement.scss +120 -120
- package/GAchievement.vue +109 -109
- package/GApplyMerchant.vue +70 -70
- package/GApplyMerchantNew.vue +66 -66
- package/GAssets.scss +32 -32
- package/GAssets.vue +75 -75
- package/GAutoShipProduct.scss +671 -671
- package/GAutoShipProduct.vue +1216 -1216
- package/GBalanceReport.vue +145 -145
- package/GBinaryWidget.vue +495 -495
- package/GBlockchain.vue +199 -199
- package/GBoard.vue +27 -27
- package/GCaptcha.vue +108 -108
- package/GCarAndTravel.vue +181 -181
- package/GCart.vue +1242 -1242
- package/GCashOut.vue +580 -580
- package/GCashierReports.vue +792 -792
- package/GCashout.scss +182 -182
- package/GCategories.vue +130 -130
- package/GChangePassword.vue +143 -143
- package/GCheckout.vue +3460 -3460
- package/GChooseMerchantCourier.vue +116 -116
- package/GClaimCode.vue +91 -91
- package/GClaimCodeList.vue +209 -209
- package/GClient.vue +98 -98
- package/GCodeVault.vue +356 -356
- package/GCompanyToken.vue +206 -206
- package/GCompanyTokenThree.vue +419 -419
- package/GCompanyTokenTwo.vue +210 -210
- package/GContactUs.vue +54 -54
- package/GConvertWalletWidget.vue +206 -206
- package/GCurrentWallet.vue +47 -47
- package/GDailyMaxIncome.vue +126 -126
- package/GDeactivateAccount.vue +143 -143
- package/GDirectDownlineWidget.vue +436 -436
- package/GEarningBreakdownWidget.vue +215 -215
- package/GEcomChat.vue +1143 -1143
- package/GEcomStorePage.vue +503 -503
- package/GFloatChat.vue +96 -96
- package/GForgotPassword.vue +258 -258
- package/GGcClaim.vue +179 -179
- package/GGcashCollectorPage.vue +65 -65
- package/GGcashRequest.vue +675 -675
- package/GHubPage.vue +54 -54
- package/GIncentivePage.vue +219 -219
- package/GInventory.vue +50 -50
- package/GInvestment.vue +146 -146
- package/GInvestmentLeads.vue +103 -103
- package/GInvestmentLogin.vue +101 -101
- package/GInvestmentLogs.vue +299 -299
- package/GInvestmentTable.vue +19 -19
- package/GInvestmentWidget.vue +238 -238
- package/GInvestmentWidgetOld.vue +179 -179
- package/GLeads.vue +225 -187
- package/GLogin.vue +421 -421
- package/GManageAddress.vue +137 -137
- package/GManageProduct.vue +308 -308
- package/GManualPaymentPage.vue +255 -255
- package/GMerchantBanner.vue +171 -171
- package/GMerchantInventory.vue +296 -296
- package/GMyPurchases.vue +171 -171
- package/GMyTask.vue +73 -73
- package/GMyTransactions.vue +864 -864
- package/GNoSlot.vue +230 -230
- package/GNoSlotDashboardPackage.vue +208 -208
- package/GNoUser.vue +61 -61
- package/GNotifications.vue +220 -220
- package/GOvertime.vue +341 -341
- package/GPayBills.vue +777 -777
- package/GPayrollProcessing.vue +200 -200
- package/GPayslip.scss +3 -3
- package/GPayslip.vue +309 -309
- package/GPerks.vue +109 -109
- package/GPerksClaim.vue +245 -245
- package/GPrivilegeCard.vue +45 -45
- package/GProcessDistribution.vue +350 -350
- package/GProcessSale.vue +1275 -1275
- package/GProcessSaleGc.vue +893 -893
- package/GProductAutoBuy.vue +2211 -2211
- package/GProductCode.vue +366 -366
- package/GProductList.vue +662 -662
- package/GProductPage.vue +2073 -2073
- package/GProgressTracker.scss +116 -116
- package/GProgressTracker.vue +137 -137
- package/GProjection.vue +178 -178
- package/GPromoteToAdmin.vue +54 -54
- package/GReferralLink.vue +85 -85
- package/GRegistration.scss +107 -107
- package/GRegistration.vue +340 -340
- package/GReplicatedInvite.vue +123 -123
- package/GReplicatedLink.vue +110 -110
- package/GRequestProduct.vue +722 -722
- package/GShippingCalculator.vue +273 -273
- package/GSideNav.vue +261 -261
- package/GSlotBreakdownWidget.vue +205 -205
- package/GSlotChange.vue +240 -240
- package/GSlotCreation.vue +378 -378
- package/GSlotWallet.vue +572 -572
- package/GSprint.vue +130 -130
- package/GSrtCoopLogin.vue +178 -178
- package/GStaff.vue +100 -100
- package/GSubslotWidget.vue +92 -92
- package/GTask.vue +365 -365
- package/GTimeline.scss +97 -97
- package/GTimeline.vue +189 -189
- package/GTransaction.vue +322 -322
- package/GTransactionHistory.vue +152 -152
- package/GTransferSlot.vue +69 -69
- package/GUnilevelWidget.vue +81 -81
- package/GUnplacedSlot.vue +121 -121
- package/GUpdateProfile.vue +189 -189
- package/GUpdateTempAccount.vue +182 -182
- package/GUserVerification.vue +257 -257
- package/GVerifyAccount.vue +40 -40
- package/Gruntfile.js +27 -27
- package/assets/statics/default_profile.png +0 -0
- package/assets/statics/grey.png +0 -0
- package/assets/statics/invite.jpg +0 -0
- package/assets/statics/qrcode.png +0 -0
- package/auth.js +25 -25
- package/boot/eventbus.js +1 -1
- package/boot/firebase.js +56 -56
- package/classes/AchievementClass.js +435 -435
- package/classes/AutoshipPaymentMethodClass.js +137 -137
- package/classes/ChatIntegrationClass.js +159 -159
- package/classes/FAccountClass.js +97 -97
- package/classes/LoggerClass.js +29 -29
- package/classes/NotificationClass.js +81 -81
- package/classes/ProductClass.js +132 -132
- package/classes/RestApiClass.js +40 -40
- package/classes/SupportDashboardClass.js +258 -258
- package/classes/TaskClass.js +521 -521
- package/components/AccountVerfied.vue +75 -75
- package/components/AddBatchDialog.vue +130 -130
- package/components/AddNewAddressForm.vue +266 -266
- package/components/AddNewPhilexAddress.vue +70 -70
- package/components/ApplyMerchant/ApplyMerchantDialog.vue +404 -404
- package/components/ApplyMerchant/ApplyMerchantUploader.scss +96 -96
- package/components/ApplyMerchant/ApplyMerchantUploader.vue +204 -204
- package/components/BlockchainWallet/History.vue +157 -157
- package/components/BlockchainWallet/HistoryDetail.vue +127 -127
- package/components/BlockchainWallet/Receive.vue +48 -48
- package/components/BlockchainWallet/Send.vue +100 -100
- package/components/BlockchainWallet/SendConfirmation.vue +114 -114
- package/components/CarAndTravel/IncentiveRequest.vue +161 -161
- package/components/Chat/AddChatFloat.vue +82 -82
- package/components/Chat/ChatAttachCode.vue +75 -75
- package/components/Chat/ConfirmPasswordDialog.vue +93 -93
- package/components/Checkout/ChooseCourierDialog.vue +255 -255
- package/components/Checkout/Printable.vue +333 -333
- package/components/Checkout/ProcessCheckoutConfirmDialog.vue +258 -258
- package/components/Checkout/SelectVoucherDialog.vue +82 -82
- package/components/ClaimTable/ClaimOption.vue +63 -63
- package/components/ClaimTable/ClaimPrintable.vue +165 -165
- package/components/ClaimTable/ClaimTableDialog.vue +76 -76
- package/components/Client/AddEditDialog.vue +136 -136
- package/components/CollectorPages/BillsPaymentRequest.vue +302 -302
- package/components/CollectorPages/GcashWalletRequest.vue +301 -301
- package/components/ContentManagement/GContentManagement.vue +137 -137
- package/components/ContentManagement/GNewsAnnouncement.vue +221 -221
- package/components/CustomerSupport/GChatIntegration.scss +274 -274
- package/components/CustomerSupport/GChatIntegration.vue +167 -167
- package/components/CustomerSupport/GSupportDashboard.scss +107 -107
- package/components/CustomerSupport/GSupportDashboard.vue +391 -391
- package/components/DiscountDialog.vue +116 -116
- package/components/EarningBreakdownWidget/EarningsLog.vue +289 -289
- package/components/EnterCodeDialog.vue +93 -93
- package/components/FUploader.scss +117 -117
- package/components/FUploader.vue +244 -244
- package/components/GCard.vue +33 -33
- package/components/GDirectDownlineWidget/DownLineListTable.vue +147 -147
- package/components/GHeader.vue +37 -37
- package/components/GProduct.vue +157 -157
- package/components/GProductDistribution.vue +167 -167
- package/components/GProfile.vue +259 -259
- package/components/GSimulator.vue +60 -60
- package/components/GSlotWallet/GcLogsDialog.vue +278 -278
- package/components/GSlotWallet/UpCoinLogsDialog.vue +271 -271
- package/components/GSlotWallet/WalletLogsDialog.vue +400 -400
- package/components/GSlotWallet/WalletPayCDDialog.vue +153 -153
- package/components/GlobalLoader.vue +7 -7
- package/components/HubPage/AddCollectorForm.vue +287 -287
- package/components/HubPage/BillsPayment.vue +416 -416
- package/components/HubPage/GcashAndWallet.vue +423 -423
- package/components/HubPage/ManageCollectors.vue +130 -130
- package/components/HubPage/ManageWallet.vue +346 -346
- package/components/HubPage/MemberRequest.vue +63 -63
- package/components/HubPage/TrasactionFeeSettings.vue +67 -67
- package/components/InventoryLog.vue +139 -139
- package/components/InventoryTable.vue +216 -216
- package/components/Investment/InvestmentAddDialog.vue +44 -44
- package/components/Investment/InvestmentAddWallet.vue +364 -364
- package/components/Investment/InvestmentBreakdownDialog.vue +111 -111
- package/components/Investment/InvestmentLinkDialog.vue +44 -44
- package/components/Investment/InvestmentListDialog.vue +147 -147
- package/components/Investment/InvestmentStatusDialog.vue +113 -113
- package/components/Investment/InvestmentView.vue +98 -98
- package/components/Investment/InvestmentViewDialog.vue +97 -97
- package/components/InviteLead.vue +0 -0
- package/components/KUploader.scss +47 -47
- package/components/KUploader.vue +134 -134
- package/components/ManageProduct/Dialogs/AddDiscount.vue +142 -142
- package/components/ManageProduct/Dialogs/AddVariantDialog.vue +299 -299
- package/components/ManageProduct/EditProduct.vue +61 -61
- package/components/ManageProduct/Tabs/Information.vue +417 -417
- package/components/ManageProduct/Tabs/Testimony.vue +132 -132
- package/components/MemoHistory.vue +88 -88
- package/components/MerchantInventory/GProduct.vue +128 -128
- package/components/MerchantInventory/InventoryRefillDialog.vue +118 -118
- package/components/MerchantInventory/InventoryWriteOffDialog.vue +116 -116
- package/components/MerchantInventoryLog.vue +140 -140
- package/components/MyPurchases/dialogs/ChooseProductToRate.vue +138 -138
- package/components/MyPurchases/dialogs/ProofUploader.scss +95 -95
- package/components/MyPurchases/dialogs/ProofUploader.vue +188 -188
- package/components/MyPurchases/dialogs/RateDialog.vue +196 -196
- package/components/MyPurchases/tabs/CodManual.vue +391 -391
- package/components/MyPurchases/tabs/CompletedTab.vue +421 -421
- package/components/MyPurchases/tabs/OrderMobile.scss +109 -109
- package/components/MyPurchases/tabs/ProcessingTab.vue +400 -400
- package/components/MyPurchases/tabs/ToPayTab.vue +403 -403
- package/components/MyPurchases/tabs/ToPickedTab.vue +457 -457
- package/components/MyPurchases/tabs/ToReceiveTab.vue +466 -466
- package/components/MyPurchases/tabs/ToShipTab.vue +382 -382
- package/components/MyPurchases/tabs/cancelled.vue +394 -394
- package/components/MyTransactions/dialogs/EnterTrackingNumberDialog.vue +103 -103
- package/components/MyTransactions/dialogs/TraceProductDialog.vue +95 -95
- package/components/MyTransactions/tabs/ApprovalTab.vue +585 -585
- package/components/MyTransactions/tabs/Cancelled.vue +512 -512
- package/components/MyTransactions/tabs/CodManual.vue +556 -556
- package/components/MyTransactions/tabs/CompletedTab.vue +513 -513
- package/components/MyTransactions/tabs/ShippingTab.vue +531 -531
- package/components/MyTransactions/tabs/ToPayTab.vue +494 -494
- package/components/MyTransactions/tabs/ToPickedTab.vue +578 -578
- package/components/MyTransactions/tabs/ToShipTab.vue +530 -530
- package/components/OnlineSeminar/Agreement.vue +190 -190
- package/components/OnlineSeminar/FillupPrompt.vue +89 -89
- package/components/OnlineSeminar/FillupSuccess.vue +79 -79
- package/components/OnlineSeminar/GOnlineSeminar.vue +312 -312
- package/components/OnlineSeminar/MembershipForm.vue +396 -396
- package/components/OnlineSeminar/VideoCertificate.vue +107 -107
- package/components/PUploader.scss +96 -96
- package/components/PUploader.vue +218 -218
- package/components/Perks/AddEditDialog.vue +132 -132
- package/components/Perks/PurchaseHistoryDialog.vue +82 -82
- package/components/Points/PointsLogs.vue +251 -251
- package/components/Points/RCLogs.vue +189 -189
- package/components/Printable.vue +365 -365
- package/components/PrivilegeCard/ScanQR.vue +85 -85
- package/components/ProcessSaleConfirmDialog.vue +133 -133
- package/components/ProductPage/Tabs/Testimony.vue +133 -133
- package/components/ProductPage/chooseBranchDialog.vue +176 -176
- package/components/RejectReasonDialog.vue +44 -44
- package/components/RequestReceipt.vue +129 -129
- package/components/SaleChooseSlotDialog.vue +284 -284
- package/components/SaleInvoice.vue +216 -216
- package/components/SalesInvoicePrintable.vue +291 -291
- package/components/SlotCodeDialog.vue +88 -88
- package/components/Sprint/AddSprint.vue +185 -185
- package/components/Sprint/PayslipPaper.scss +128 -128
- package/components/Sprint/PayslipPaper.vue +204 -204
- package/components/Staff/AddEditDialog.vue +141 -141
- package/components/SupportDashboard/SearchResult.vue +161 -161
- package/components/Task/Board.scss +111 -111
- package/components/Task/Board.vue +167 -167
- package/components/Task/MyTaskList.scss +68 -68
- package/components/Task/MyTaskList.vue +154 -154
- package/components/Task/TaskDetail.scss +223 -223
- package/components/Task/TaskDetail.vue +483 -483
- package/components/Task/TaskList.vue +173 -173
- package/components/Task/WorkLoad.vue +125 -125
- package/components/TransactionConfirmDialog.vue +194 -194
- package/components/TransferSlot/ConfirmPasswordDialog.vue +120 -120
- package/components/UnplacedSlot/ManualPlaceDialog.vue +150 -150
- package/components/VUploader.vue +130 -130
- package/components/VideoPortal/AddLesson.vue +138 -138
- package/components/VideoPortal/GVideoManagement.scss +115 -115
- package/components/VideoPortal/GVideoManagement.vue +132 -132
- package/components/VideoPortal/TopicAddDialog.vue +97 -97
- package/components/VideoPortal/TopicView.vue +168 -168
- package/components/VoidOption.vue +84 -84
- package/components/cashout/GCashOutMethods.vue +56 -56
- package/components/cashout/GCashOutSubmit.vue +63 -63
- package/components/cashout/GCashoutFields.vue +47 -47
- package/components/genealogy/Dialog/SearchTable.vue +247 -247
- package/components/genealogy/Genealogy.scss +256 -256
- package/components/genealogy/Genealogy.vue +277 -277
- package/components/genealogy/GenealogyBinary.vue +314 -314
- package/components/genealogy/GenealogyChildren.vue +382 -382
- package/components/selectShippingOptions.vue +46 -46
- package/contracts/PaymentProcessor.json +147 -147
- package/contracts/USDT.json +304 -304
- package/dialogs/AddInvestment.vue +372 -372
- package/dialogs/AddInvestmentDialog.vue +465 -465
- package/dialogs/AddPaymentDialog.vue +207 -207
- package/dialogs/AddSlotDialog.vue +389 -389
- package/dialogs/AddSubslotDialog.vue +244 -244
- package/dialogs/BillDetailsDialog.vue +61 -61
- package/dialogs/BinaryHistory.vue +591 -591
- package/dialogs/Captcha.vue +550 -550
- package/dialogs/CaptchaExchange.vue +241 -241
- package/dialogs/CaptchaOldPoints.vue +85 -85
- package/dialogs/CashoutStatusDialog.vue +233 -233
- package/dialogs/ChangePaymentMethod.vue +80 -80
- package/dialogs/ChooseSlotDialog.vue +223 -223
- package/dialogs/ClaimInvestmentDialog.vue +85 -85
- package/dialogs/CompanyTokenClaim.vue +216 -216
- package/dialogs/CompanyTokenClaimSlot.vue +118 -118
- package/dialogs/CompanyTokenHistory.vue +119 -119
- package/dialogs/CompanyTokenThreeClaim.vue +402 -402
- package/dialogs/CompanyTokenThreeClaimSlot.vue +176 -176
- package/dialogs/CompanyTokenThreeHistory.vue +179 -179
- package/dialogs/CompanyTokenThreeInputAmount.vue +144 -144
- package/dialogs/CompanyTokenThreePreview.vue +158 -158
- package/dialogs/CompanyTokenTwoClaim.vue +215 -215
- package/dialogs/CompanyTokenTwoClaimSlot.vue +118 -118
- package/dialogs/CompanyTokenTwoHistory.vue +119 -119
- package/dialogs/ConversionDialog.vue +254 -254
- package/dialogs/DirectDownlineDialog.vue +74 -74
- package/dialogs/EcommerceMaintenance.vue +39 -39
- package/dialogs/GcClaimDIalog.vue +181 -181
- package/dialogs/GcClaimLogDialog.vue +249 -249
- package/dialogs/IncentiveClaimDialog.vue +80 -80
- package/dialogs/IncentivePendingDialog.vue +149 -149
- package/dialogs/InvestmentBreakdown.vue +82 -82
- package/dialogs/InvestmentHistoryDialog.vue +116 -116
- package/dialogs/InvestmentLogs.vue +172 -172
- package/dialogs/ManagerOverrideDialog.vue +81 -81
- package/dialogs/PairingHistory.vue +85 -85
- package/dialogs/PersonalRebateDialog.vue +95 -95
- package/dialogs/PointHistory.vue +156 -156
- package/dialogs/ProcessDistributionEditMemo.vue +128 -128
- package/dialogs/ProcessDistributionPreview.vue +205 -205
- package/dialogs/ProcessDistributionScan.vue +164 -164
- package/dialogs/ProductCodeDialog.vue +114 -114
- package/dialogs/ReleasedItemReport.vue +478 -478
- package/dialogs/SlotPlaceDialog.vue +134 -134
- package/dialogs/StairStepBreakdown.vue +89 -89
- package/dialogs/SubslotListDialog.vue +75 -75
- package/dialogs/TempWalletDialog.vue +279 -279
- package/dialogs/TinRegistrationDialog.vue +107 -107
- package/dialogs/UnilevelBreakdown.vue +98 -98
- package/dialogs/UnilevelDetail.vue +140 -140
- package/dialogs/UnilevelPurchasesDialog.vue +138 -138
- package/dialogs/UpgradeSlotDialog.vue +208 -208
- package/dialogs/UseBatchProductCodeDialog.vue +337 -337
- package/dialogs/UseProductCodeDialog.vue +305 -305
- package/dialogs/ViewAutoShipMemberDetails.vue +127 -127
- package/dialogs/ViewAutoshipLinkAccount.vue +150 -150
- package/dialogs/ViewShippingLogs.vue +136 -136
- package/dialogs/ViewShippingProduct.vue +99 -99
- package/dialogs/XenditAuthenticate.vue +48 -48
- package/dialogs/XenditConfirmation.vue +105 -105
- package/dialogs/XenditCreditCardGet.vue +381 -381
- package/dialogs/XenditEWalletGet.vue +261 -261
- package/dialogs/sendProductCodeDialog.vue +34 -34
- package/index.js +42 -42
- package/mixins/global_mixins.js +316 -316
- package/models/DB_ADMIN_CMS_BANNER.js +8 -8
- package/models/DB_ANNOUNCEMENT.js +8 -8
- package/models/DB_ASSETS.js +8 -8
- package/models/DB_AUDIT_TRAIL.js +8 -8
- package/models/DB_BILLS_PAYMENT.js +8 -8
- package/models/DB_BINARY_POINTS_HISTORY.js +8 -8
- package/models/DB_BINARY_THREE_POINTS_HISTORY.js +8 -8
- package/models/DB_BINARY_TREES.js +59 -59
- package/models/DB_BINARY_TWO_POINTS_HISTORY.js +8 -8
- package/models/DB_BITAPS_HISTORY.js +8 -8
- package/models/DB_CART.js +8 -8
- package/models/DB_CAR_INCENTIVE_REQUEST.js +9 -9
- package/models/DB_CASHIER.js +8 -8
- package/models/DB_CASHIER_ROLE.js +8 -8
- package/models/DB_CATEGORIES.js +8 -8
- package/models/DB_CHECKOUT_REQUEST.js +8 -8
- package/models/DB_CLIENT.js +31 -31
- package/models/DB_CMS_V1.js +9 -0
- package/models/DB_CODE.js +8 -8
- package/models/DB_COMPANY_TOKEN_PLAN.js +8 -8
- package/models/DB_COMPANY_TOKEN_PLAN_DATE.js +8 -8
- package/models/DB_COMPANY_TOKEN_THREE_PLAN.js +8 -8
- package/models/DB_COMPANY_TOKEN_THREE_PLAN_DATE.js +8 -8
- package/models/DB_COMPANY_TOKEN_TWO_PLAN.js +8 -8
- package/models/DB_COMPANY_TOKEN_TWO_PLAN_DATE.js +8 -8
- package/models/DB_CONTACT_US.js +8 -8
- package/models/DB_CONTENT_MANAGEMENT.js +8 -8
- package/models/DB_COUNTER.js +28 -28
- package/models/DB_CREWARD.js +8 -8
- package/models/DB_CREWARD_LOG.js +8 -8
- package/models/DB_ECOM_CHAT.js +8 -8
- package/models/DB_ECOM_CHAT_CONVERSATION.js +43 -43
- package/models/DB_GCASH_REQUEST.js +8 -8
- package/models/DB_GC_CLAIM.js +8 -8
- package/models/DB_GLOBAL_POOL_LOG.js +8 -8
- package/models/DB_HUB_REQUEST.js +8 -8
- package/models/DB_INCENTIVE_REQUEST.js +8 -8
- package/models/DB_INVENTORY.js +8 -8
- package/models/DB_INVENTORY_LOG.js +8 -8
- package/models/DB_INVESTMENT_LOGS.js +11 -11
- package/models/DB_MEMBER_CASHOUT.js +24 -24
- package/models/DB_MERCHANT_FRONT.js +8 -8
- package/models/DB_MERCHANT_INVENTORY.js +8 -8
- package/models/DB_MERCHANT_INVENTORY_LOG.js +8 -8
- package/models/DB_MERCHANT_ORDERS.js +8 -8
- package/models/DB_MERCHANT_REQUEST.js +8 -8
- package/models/DB_OVERTIME.js +25 -25
- package/models/DB_PAYOUT.js +8 -8
- package/models/DB_PAYOUT_BREAKDOWN.js +8 -8
- package/models/DB_PERKS.js +8 -8
- package/models/DB_PERKS_LOG.js +8 -8
- package/models/DB_POINTS_LOG.js +9 -9
- package/models/DB_PRODUCT.js +8 -8
- package/models/DB_PRODUCT_CODE.js +8 -8
- package/models/DB_PRODUCT_REVIEWS.js +8 -8
- package/models/DB_PSHARE.js +8 -8
- package/models/DB_PSHARE_LOG.js +8 -8
- package/models/DB_Q.js +8 -8
- package/models/DB_Q_ERROR.js +8 -8
- package/models/DB_REACTIVATE_SLOTS.js +8 -8
- package/models/DB_RESELLER_LOGS.js +10 -10
- package/models/DB_SALE.js +137 -137
- package/models/DB_SCHEDULE.js +28 -28
- package/models/DB_SETTINGS.js +8 -8
- package/models/DB_SHIPPING_PRODUCT.js +8 -8
- package/models/DB_SLOT.js +76 -76
- package/models/DB_SLOT_BLOCKCHAIN_WALLET.js +8 -8
- package/models/DB_SLOT_BREAKDOWN.js +8 -8
- package/models/DB_SLOT_LOG.js +32 -32
- package/models/DB_SPRINT.js +25 -25
- package/models/DB_SPRINT_PAYROLL.js +8 -8
- package/models/DB_STAFF.js +24 -24
- package/models/DB_STAIRSTEP.js +8 -8
- package/models/DB_STAIRSTEP_SLOT.js +8 -8
- package/models/DB_STAIRSTEP_SLOT_BREAKDOWN.js +8 -8
- package/models/DB_STAT.js +8 -8
- package/models/DB_STAT_DAILY.js +8 -8
- package/models/DB_STAT_MONTHLY.js +8 -8
- package/models/DB_STAT_YEARLY.js +8 -8
- package/models/DB_STOCKIST.js +8 -8
- package/models/DB_TASK.js +24 -24
- package/models/DB_TASK_CHAT.js +8 -8
- package/models/DB_TOPIC.js +8 -8
- package/models/DB_TOPIC_CHAPTER.js +8 -8
- package/models/DB_UNILEVEL.js +8 -8
- package/models/DB_UNILEVEL_COMPENSATION.js +8 -8
- package/models/DB_UNILEVEL_EARNING.js +8 -8
- package/models/DB_UNILEVEL_ROLLUP.js +8 -8
- package/models/DB_UNILEVEL_SLOT.js +30 -30
- package/models/DB_UNILEVEL_SLOT_BREAKDOWN.js +8 -8
- package/models/DB_UNITREE.js +59 -59
- package/models/DB_USER.js +77 -77
- package/models/DB_USER_AUTOSHIPPING.js +8 -8
- package/models/DB_USER_CHAT.js +8 -8
- package/models/DB_USER_CHAT_CONVERSATION.js +43 -43
- package/models/DB_USER_CREDIT_CARD.js +8 -8
- package/models/DB_USER_NOTIFICATION.js +8 -8
- package/models/DB_USER_SECRET.js +8 -8
- package/models/DB_USER_SHIPPING_ADDRESS.js +9 -9
- package/models/DB_USER_TEMP.js +8 -8
- package/models/DB_XENDIT_LOGS.js +11 -11
- package/models/MODEL.js +101 -101
- package/package.json +35 -35
- package/references/refs_autoship_payment_method.js +22 -22
- package/references/refs_channel_codes.js +14 -14
- package/references/refs_cloud_storage.js +9 -9
- package/references/refs_perks_categories.js +121 -121
- package/references/refs_philhealth.js +18 -18
- package/references/refs_slot_type.js +17 -17
- package/references/refs_sss.js +36 -36
- package/utilities/DateUtils.js +30 -30
- package/utilities/NumberUtils.js +83 -83
- package/utilities/sha1.js +193 -193
package/GAchievement.scss
CHANGED
|
@@ -1,121 +1,121 @@
|
|
|
1
|
-
.achievement {
|
|
2
|
-
.summary {
|
|
3
|
-
width: 500px;
|
|
4
|
-
margin: auto;
|
|
5
|
-
border: 1px solid #eee;
|
|
6
|
-
margin-bottom: 40px;
|
|
7
|
-
border-radius: 5px;
|
|
8
|
-
box-shadow: 1px 1px 3px rgba(77, 57, 57, 0.2);
|
|
9
|
-
|
|
10
|
-
table {
|
|
11
|
-
width: 100%;
|
|
12
|
-
text-align: center;
|
|
13
|
-
border-collapse: collapse;
|
|
14
|
-
table-layout: fixed;
|
|
15
|
-
|
|
16
|
-
.points {
|
|
17
|
-
padding: 20px 0;
|
|
18
|
-
|
|
19
|
-
&__value {
|
|
20
|
-
font-size: 35px;
|
|
21
|
-
font-weight: bold;
|
|
22
|
-
color: $primary;
|
|
23
|
-
}
|
|
24
|
-
&__label {
|
|
25
|
-
margin-top: -7px;
|
|
26
|
-
font-size: 16px;
|
|
27
|
-
font-weight: 300;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
tr {
|
|
32
|
-
border-bottom: 1px solid #eee;
|
|
33
|
-
|
|
34
|
-
&:last-child {
|
|
35
|
-
border-bottom: none;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
td {
|
|
40
|
-
border-right: 1px solid #eee;
|
|
41
|
-
padding: 10px 10px;
|
|
42
|
-
|
|
43
|
-
&:last-child {
|
|
44
|
-
border-right: none;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
&.label {
|
|
48
|
-
font-weight: 300;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
&.value {
|
|
52
|
-
font-weight: 500;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
.list {
|
|
59
|
-
background-color: #fafafa;
|
|
60
|
-
padding: 20px;
|
|
61
|
-
border: 1px solid #eee;
|
|
62
|
-
border-radius: 5px;
|
|
63
|
-
margin-bottom: 20px;
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
.details {
|
|
67
|
-
display: grid;
|
|
68
|
-
grid-template-columns: 1fr 1fr;
|
|
69
|
-
&__title {
|
|
70
|
-
font-weight: 400;
|
|
71
|
-
font-size: 18px;
|
|
72
|
-
text-transform: uppercase;
|
|
73
|
-
}
|
|
74
|
-
&__reward {
|
|
75
|
-
text-align: right;
|
|
76
|
-
font-weight: 800;
|
|
77
|
-
font-size: 20px;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
.progress {
|
|
81
|
-
&__bar {
|
|
82
|
-
height: 20px;
|
|
83
|
-
border: 1px solid #eee;
|
|
84
|
-
background-color: #eee;
|
|
85
|
-
border-radius: 20px;
|
|
86
|
-
margin-top: 10px;
|
|
87
|
-
overflow: hidden;
|
|
88
|
-
|
|
89
|
-
.percentage {
|
|
90
|
-
background-color: $primary;
|
|
91
|
-
height: 20px;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
.actions {
|
|
96
|
-
display: grid;
|
|
97
|
-
grid-template-columns: 2fr 1fr;
|
|
98
|
-
position: relative;
|
|
99
|
-
|
|
100
|
-
&__requirements {
|
|
101
|
-
|
|
102
|
-
}
|
|
103
|
-
&__button {
|
|
104
|
-
text-align: right;
|
|
105
|
-
margin-top: 30px;
|
|
106
|
-
|
|
107
|
-
.btn {
|
|
108
|
-
&.disable {
|
|
109
|
-
background-color: rgb(161, 161, 161) !important;
|
|
110
|
-
|
|
111
|
-
&:hover {
|
|
112
|
-
opacity: 1;
|
|
113
|
-
background-color: rgb(161, 161, 161) !important;
|
|
114
|
-
}
|
|
115
|
-
cursor: default !important;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
1
|
+
.achievement {
|
|
2
|
+
.summary {
|
|
3
|
+
width: 500px;
|
|
4
|
+
margin: auto;
|
|
5
|
+
border: 1px solid #eee;
|
|
6
|
+
margin-bottom: 40px;
|
|
7
|
+
border-radius: 5px;
|
|
8
|
+
box-shadow: 1px 1px 3px rgba(77, 57, 57, 0.2);
|
|
9
|
+
|
|
10
|
+
table {
|
|
11
|
+
width: 100%;
|
|
12
|
+
text-align: center;
|
|
13
|
+
border-collapse: collapse;
|
|
14
|
+
table-layout: fixed;
|
|
15
|
+
|
|
16
|
+
.points {
|
|
17
|
+
padding: 20px 0;
|
|
18
|
+
|
|
19
|
+
&__value {
|
|
20
|
+
font-size: 35px;
|
|
21
|
+
font-weight: bold;
|
|
22
|
+
color: $primary;
|
|
23
|
+
}
|
|
24
|
+
&__label {
|
|
25
|
+
margin-top: -7px;
|
|
26
|
+
font-size: 16px;
|
|
27
|
+
font-weight: 300;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
tr {
|
|
32
|
+
border-bottom: 1px solid #eee;
|
|
33
|
+
|
|
34
|
+
&:last-child {
|
|
35
|
+
border-bottom: none;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
td {
|
|
40
|
+
border-right: 1px solid #eee;
|
|
41
|
+
padding: 10px 10px;
|
|
42
|
+
|
|
43
|
+
&:last-child {
|
|
44
|
+
border-right: none;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
&.label {
|
|
48
|
+
font-weight: 300;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
&.value {
|
|
52
|
+
font-weight: 500;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
.list {
|
|
59
|
+
background-color: #fafafa;
|
|
60
|
+
padding: 20px;
|
|
61
|
+
border: 1px solid #eee;
|
|
62
|
+
border-radius: 5px;
|
|
63
|
+
margin-bottom: 20px;
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
.details {
|
|
67
|
+
display: grid;
|
|
68
|
+
grid-template-columns: 1fr 1fr;
|
|
69
|
+
&__title {
|
|
70
|
+
font-weight: 400;
|
|
71
|
+
font-size: 18px;
|
|
72
|
+
text-transform: uppercase;
|
|
73
|
+
}
|
|
74
|
+
&__reward {
|
|
75
|
+
text-align: right;
|
|
76
|
+
font-weight: 800;
|
|
77
|
+
font-size: 20px;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
.progress {
|
|
81
|
+
&__bar {
|
|
82
|
+
height: 20px;
|
|
83
|
+
border: 1px solid #eee;
|
|
84
|
+
background-color: #eee;
|
|
85
|
+
border-radius: 20px;
|
|
86
|
+
margin-top: 10px;
|
|
87
|
+
overflow: hidden;
|
|
88
|
+
|
|
89
|
+
.percentage {
|
|
90
|
+
background-color: $primary;
|
|
91
|
+
height: 20px;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
.actions {
|
|
96
|
+
display: grid;
|
|
97
|
+
grid-template-columns: 2fr 1fr;
|
|
98
|
+
position: relative;
|
|
99
|
+
|
|
100
|
+
&__requirements {
|
|
101
|
+
|
|
102
|
+
}
|
|
103
|
+
&__button {
|
|
104
|
+
text-align: right;
|
|
105
|
+
margin-top: 30px;
|
|
106
|
+
|
|
107
|
+
.btn {
|
|
108
|
+
&.disable {
|
|
109
|
+
background-color: rgb(161, 161, 161) !important;
|
|
110
|
+
|
|
111
|
+
&:hover {
|
|
112
|
+
opacity: 1;
|
|
113
|
+
background-color: rgb(161, 161, 161) !important;
|
|
114
|
+
}
|
|
115
|
+
cursor: default !important;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
121
|
}
|
package/GAchievement.vue
CHANGED
|
@@ -1,110 +1,110 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="achievement">
|
|
3
|
-
<div v-if="!loading && achievement_class">
|
|
4
|
-
<!-- SUMMARY PROGRESS -->
|
|
5
|
-
<div class="summary">
|
|
6
|
-
<table>
|
|
7
|
-
<tr>
|
|
8
|
-
<td colspan="2" class="points">
|
|
9
|
-
<div class="points__value">{{ $_formatNumber(this.staff_info_live.achievement_points, { decimal: 2 }) }}</div>
|
|
10
|
-
<div class="points__label">Your Achievement Gems</div>
|
|
11
|
-
</td>
|
|
12
|
-
</tr>
|
|
13
|
-
<tr>
|
|
14
|
-
<td class="text-right label">Personal Sprint Progress</td>
|
|
15
|
-
<td class="text-left value">{{ $_formatNumber(achievement_class.staff_info.task_total_progress, { decimal: 2 }) }}%</td>
|
|
16
|
-
</tr>
|
|
17
|
-
<tr>
|
|
18
|
-
<td class="text-right label">Team Sprint Progress</td>
|
|
19
|
-
<td class="text-left value">{{ $_formatNumber(achievement_class.task_class.production_percentage, { decimal: 2 }) }}%</td>
|
|
20
|
-
</tr>
|
|
21
|
-
<tr>
|
|
22
|
-
<td class="text-right label">Total Workload Hours</td>
|
|
23
|
-
<td class="text-left value">{{ $_formatNumber(achievement_class.staff_info.task_total_hours, { decimal: 2 }) }} Hours</td>
|
|
24
|
-
</tr>
|
|
25
|
-
<tr>
|
|
26
|
-
<td class="text-right label">Sprint Day</td>
|
|
27
|
-
<td class="text-left value">Day {{ $_formatNumber(achievement_class.task_class.days.used + 1) }}</td>
|
|
28
|
-
</tr>
|
|
29
|
-
<tr>
|
|
30
|
-
<td class="text-right label">Sprint Ideal Percentage</td>
|
|
31
|
-
<td class="text-left value">{{ $_formatNumber(achievement_class.task_class.ideal_percentage, { decimal: 2 }) }}%</td>
|
|
32
|
-
</tr>
|
|
33
|
-
</table>
|
|
34
|
-
</div>
|
|
35
|
-
|
|
36
|
-
<!-- ACHIEVEMENT LIST -->
|
|
37
|
-
<div v-for="achievement in achievement_class.achievement_list" :key="achievement.id" class="list">
|
|
38
|
-
<div class="details">
|
|
39
|
-
<div class="details__title">{{ achievement.title }}</div>
|
|
40
|
-
<div class="details__reward" :class="(achievement.claimed || !achievement.authorize) ? 'text-grey' : 'text-primary'">{{ $_formatNumber(achievement.points, { decimal: 2 }) }} GEMS</div>
|
|
41
|
-
</div>
|
|
42
|
-
<div v-if="!achievement.claimed && achievement.authorize" class="progress">
|
|
43
|
-
<q-linear-progress stripe rounded size="25px" :value="achievement.progress / 100">
|
|
44
|
-
<div class="absolute-full flex flex-center">
|
|
45
|
-
<q-badge color="white" text-color="primary" :label="$_formatNumber(achievement.progress, { decimal: 2 }) + '%'" />
|
|
46
|
-
</div>
|
|
47
|
-
</q-linear-progress>
|
|
48
|
-
</div>
|
|
49
|
-
<div v-if="achievement.claimed || !achievement.authorize" class="progress">
|
|
50
|
-
<q-linear-progress stripe rounded size="25px" :value="1" color="grey">
|
|
51
|
-
<div class="absolute-full flex flex-center">
|
|
52
|
-
<q-badge color="white" text-color="grey" :label="$_formatNumber(100, { decimal: 2 }) + '%'" />
|
|
53
|
-
</div>
|
|
54
|
-
</q-linear-progress>
|
|
55
|
-
</div>
|
|
56
|
-
<div class="actions">
|
|
57
|
-
<div class="actions__requirements">
|
|
58
|
-
<ul>
|
|
59
|
-
<li v-if="achievement.requirements.hasOwnProperty('sprint_day')">The sprint must be on the day {{ achievement.requirements.sprint_day }} or above of the current sprint.</li>
|
|
60
|
-
<li v-if="achievement.requirements.hasOwnProperty('ahead')">You must be ahead of the ideal percentage by atleast {{ achievement.requirements.ahead }}%.</li>
|
|
61
|
-
<li v-if="achievement.requirements.hasOwnProperty('personal_progress')">You simply need to reach {{ achievement.requirements.personal_progress }}% or above of your personal sprint progress.</li>
|
|
62
|
-
<li v-if="achievement.requirements.hasOwnProperty('required_hours')">You must have atleast {{ achievement.requirements.required_hours }} hours worth of workload in order to be qualified.</li>
|
|
63
|
-
<li v-if="achievement.requirements.hasOwnProperty('team_progress')">The team sprint progress must be atleast {{ achievement.requirements.team_progress }}%.</li>
|
|
64
|
-
<li v-if="achievement.requirements.hasOwnProperty('team_ahead')">The team must be ahead of the ideal percentage by atleast {{ achievement.requirements.team_ahead }}%.</li>
|
|
65
|
-
</ul>
|
|
66
|
-
</div>
|
|
67
|
-
<div v-if="achievement.authorize" class="actions__button">
|
|
68
|
-
<q-btn @click="achievement_class.claim(achievement.id)" outline class="btn" v-if="achievement.qualified && !achievement.claimed" color="primary"><q-icon class="q-mr-sm" size="14px" name="fa fa-star"></q-icon> Claim Points</q-btn>
|
|
69
|
-
<q-btn outline class="btn" v-if="achievement.claimed" color="grey"><q-icon class="q-mr-sm" size="14px" name="fa fa-check"></q-icon> Already Claimed</q-btn>
|
|
70
|
-
</div>
|
|
71
|
-
<div v-if="!achievement.authorize" class="actions__button">
|
|
72
|
-
<q-btn outline class="btn" color="grey"><q-icon class="q-mr-sm" size="14px" name="fa fa-times"></q-icon> Unauthorized</q-btn>
|
|
73
|
-
</div>
|
|
74
|
-
</div>
|
|
75
|
-
</div>
|
|
76
|
-
</div>
|
|
77
|
-
<div v-else class="loading text-center q-mt-lg q-pa-lg">
|
|
78
|
-
<global-loader></global-loader>
|
|
79
|
-
</div>
|
|
80
|
-
</div>
|
|
81
|
-
</template>
|
|
82
|
-
|
|
83
|
-
<script>
|
|
84
|
-
import scss from './GAchievement.scss';
|
|
85
|
-
import GlobalMixins from './mixins/global_mixins';
|
|
86
|
-
import GlobalLoader from './components/GlobalLoader';
|
|
87
|
-
import AchievementClass from './classes/AchievementClass';
|
|
88
|
-
|
|
89
|
-
export default
|
|
90
|
-
{
|
|
91
|
-
|
|
92
|
-
components: { GlobalLoader },
|
|
93
|
-
mixins: [GlobalMixins],
|
|
94
|
-
data:() =>
|
|
95
|
-
({
|
|
96
|
-
staff_info_live: {},
|
|
97
|
-
achievement_class: null,
|
|
98
|
-
staff_info: {},
|
|
99
|
-
is_dialog_open: false,
|
|
100
|
-
loading: false,
|
|
101
|
-
}),
|
|
102
|
-
async mounted() {
|
|
103
|
-
this.achievement_class = new AchievementClass(),
|
|
104
|
-
this.loading = true;
|
|
105
|
-
await this.achievement_class.initialize(this.user_info.uid);
|
|
106
|
-
await this.$bind('staff_info_live', this.achievement_class.task_class.db_staff.doc(this.achievement_class.staff_info.id));
|
|
107
|
-
this.loading = false;
|
|
108
|
-
},
|
|
109
|
-
}
|
|
1
|
+
<template>
|
|
2
|
+
<div class="achievement">
|
|
3
|
+
<div v-if="!loading && achievement_class">
|
|
4
|
+
<!-- SUMMARY PROGRESS -->
|
|
5
|
+
<div class="summary">
|
|
6
|
+
<table>
|
|
7
|
+
<tr>
|
|
8
|
+
<td colspan="2" class="points">
|
|
9
|
+
<div class="points__value">{{ $_formatNumber(this.staff_info_live.achievement_points, { decimal: 2 }) }}</div>
|
|
10
|
+
<div class="points__label">Your Achievement Gems</div>
|
|
11
|
+
</td>
|
|
12
|
+
</tr>
|
|
13
|
+
<tr>
|
|
14
|
+
<td class="text-right label">Personal Sprint Progress</td>
|
|
15
|
+
<td class="text-left value">{{ $_formatNumber(achievement_class.staff_info.task_total_progress, { decimal: 2 }) }}%</td>
|
|
16
|
+
</tr>
|
|
17
|
+
<tr>
|
|
18
|
+
<td class="text-right label">Team Sprint Progress</td>
|
|
19
|
+
<td class="text-left value">{{ $_formatNumber(achievement_class.task_class.production_percentage, { decimal: 2 }) }}%</td>
|
|
20
|
+
</tr>
|
|
21
|
+
<tr>
|
|
22
|
+
<td class="text-right label">Total Workload Hours</td>
|
|
23
|
+
<td class="text-left value">{{ $_formatNumber(achievement_class.staff_info.task_total_hours, { decimal: 2 }) }} Hours</td>
|
|
24
|
+
</tr>
|
|
25
|
+
<tr>
|
|
26
|
+
<td class="text-right label">Sprint Day</td>
|
|
27
|
+
<td class="text-left value">Day {{ $_formatNumber(achievement_class.task_class.days.used + 1) }}</td>
|
|
28
|
+
</tr>
|
|
29
|
+
<tr>
|
|
30
|
+
<td class="text-right label">Sprint Ideal Percentage</td>
|
|
31
|
+
<td class="text-left value">{{ $_formatNumber(achievement_class.task_class.ideal_percentage, { decimal: 2 }) }}%</td>
|
|
32
|
+
</tr>
|
|
33
|
+
</table>
|
|
34
|
+
</div>
|
|
35
|
+
|
|
36
|
+
<!-- ACHIEVEMENT LIST -->
|
|
37
|
+
<div v-for="achievement in achievement_class.achievement_list" :key="achievement.id" class="list">
|
|
38
|
+
<div class="details">
|
|
39
|
+
<div class="details__title">{{ achievement.title }}</div>
|
|
40
|
+
<div class="details__reward" :class="(achievement.claimed || !achievement.authorize) ? 'text-grey' : 'text-primary'">{{ $_formatNumber(achievement.points, { decimal: 2 }) }} GEMS</div>
|
|
41
|
+
</div>
|
|
42
|
+
<div v-if="!achievement.claimed && achievement.authorize" class="progress">
|
|
43
|
+
<q-linear-progress stripe rounded size="25px" :value="achievement.progress / 100">
|
|
44
|
+
<div class="absolute-full flex flex-center">
|
|
45
|
+
<q-badge color="white" text-color="primary" :label="$_formatNumber(achievement.progress, { decimal: 2 }) + '%'" />
|
|
46
|
+
</div>
|
|
47
|
+
</q-linear-progress>
|
|
48
|
+
</div>
|
|
49
|
+
<div v-if="achievement.claimed || !achievement.authorize" class="progress">
|
|
50
|
+
<q-linear-progress stripe rounded size="25px" :value="1" color="grey">
|
|
51
|
+
<div class="absolute-full flex flex-center">
|
|
52
|
+
<q-badge color="white" text-color="grey" :label="$_formatNumber(100, { decimal: 2 }) + '%'" />
|
|
53
|
+
</div>
|
|
54
|
+
</q-linear-progress>
|
|
55
|
+
</div>
|
|
56
|
+
<div class="actions">
|
|
57
|
+
<div class="actions__requirements">
|
|
58
|
+
<ul>
|
|
59
|
+
<li v-if="achievement.requirements.hasOwnProperty('sprint_day')">The sprint must be on the day {{ achievement.requirements.sprint_day }} or above of the current sprint.</li>
|
|
60
|
+
<li v-if="achievement.requirements.hasOwnProperty('ahead')">You must be ahead of the ideal percentage by atleast {{ achievement.requirements.ahead }}%.</li>
|
|
61
|
+
<li v-if="achievement.requirements.hasOwnProperty('personal_progress')">You simply need to reach {{ achievement.requirements.personal_progress }}% or above of your personal sprint progress.</li>
|
|
62
|
+
<li v-if="achievement.requirements.hasOwnProperty('required_hours')">You must have atleast {{ achievement.requirements.required_hours }} hours worth of workload in order to be qualified.</li>
|
|
63
|
+
<li v-if="achievement.requirements.hasOwnProperty('team_progress')">The team sprint progress must be atleast {{ achievement.requirements.team_progress }}%.</li>
|
|
64
|
+
<li v-if="achievement.requirements.hasOwnProperty('team_ahead')">The team must be ahead of the ideal percentage by atleast {{ achievement.requirements.team_ahead }}%.</li>
|
|
65
|
+
</ul>
|
|
66
|
+
</div>
|
|
67
|
+
<div v-if="achievement.authorize" class="actions__button">
|
|
68
|
+
<q-btn @click="achievement_class.claim(achievement.id)" outline class="btn" v-if="achievement.qualified && !achievement.claimed" color="primary"><q-icon class="q-mr-sm" size="14px" name="fa fa-star"></q-icon> Claim Points</q-btn>
|
|
69
|
+
<q-btn outline class="btn" v-if="achievement.claimed" color="grey"><q-icon class="q-mr-sm" size="14px" name="fa fa-check"></q-icon> Already Claimed</q-btn>
|
|
70
|
+
</div>
|
|
71
|
+
<div v-if="!achievement.authorize" class="actions__button">
|
|
72
|
+
<q-btn outline class="btn" color="grey"><q-icon class="q-mr-sm" size="14px" name="fa fa-times"></q-icon> Unauthorized</q-btn>
|
|
73
|
+
</div>
|
|
74
|
+
</div>
|
|
75
|
+
</div>
|
|
76
|
+
</div>
|
|
77
|
+
<div v-else class="loading text-center q-mt-lg q-pa-lg">
|
|
78
|
+
<global-loader></global-loader>
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
81
|
+
</template>
|
|
82
|
+
|
|
83
|
+
<script>
|
|
84
|
+
import scss from './GAchievement.scss';
|
|
85
|
+
import GlobalMixins from './mixins/global_mixins';
|
|
86
|
+
import GlobalLoader from './components/GlobalLoader';
|
|
87
|
+
import AchievementClass from './classes/AchievementClass';
|
|
88
|
+
|
|
89
|
+
export default
|
|
90
|
+
{
|
|
91
|
+
|
|
92
|
+
components: { GlobalLoader },
|
|
93
|
+
mixins: [GlobalMixins],
|
|
94
|
+
data:() =>
|
|
95
|
+
({
|
|
96
|
+
staff_info_live: {},
|
|
97
|
+
achievement_class: null,
|
|
98
|
+
staff_info: {},
|
|
99
|
+
is_dialog_open: false,
|
|
100
|
+
loading: false,
|
|
101
|
+
}),
|
|
102
|
+
async mounted() {
|
|
103
|
+
this.achievement_class = new AchievementClass(),
|
|
104
|
+
this.loading = true;
|
|
105
|
+
await this.achievement_class.initialize(this.user_info.uid);
|
|
106
|
+
await this.$bind('staff_info_live', this.achievement_class.task_class.db_staff.doc(this.achievement_class.staff_info.id));
|
|
107
|
+
this.loading = false;
|
|
108
|
+
},
|
|
109
|
+
}
|
|
110
110
|
</script>
|
package/GApplyMerchant.vue
CHANGED
|
@@ -1,71 +1,71 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="g-apply-product" v-if="user_info.slot_owned > 0 && !user_slot_info.hasOwnProperty('merchant') || (user_slot_info.hasOwnProperty('merchant') && !user_slot_info.merchant)">
|
|
3
|
-
<div v-if="merchant_request.length>0">
|
|
4
|
-
|
|
5
|
-
<h3 class="text-primary" style="margin-top:10px;">Thank you!</h3>
|
|
6
|
-
<div style="color:gray;font-size:17px;text-align:justify">
|
|
7
|
-
<p>Thanks for taking the time to apply as one of our merchant and for submitting the required documents.</p>
|
|
8
|
-
|
|
9
|
-
<p>We're currently in the process of reviewing / approving documents for our Merchant Section.</p>
|
|
10
|
-
|
|
11
|
-
<p>For updates, please always check this area for the approval of your application!</p>
|
|
12
|
-
</div>
|
|
13
|
-
</div>
|
|
14
|
-
<div v-else>
|
|
15
|
-
<div class="q-mb-md message">We have detected that you are not a <b>Merchant</b> yet.</div>
|
|
16
|
-
<div class="q-mb-md message"><b>Apply</b> to be one now!</div>
|
|
17
|
-
<q-btn color="primary" @click="is_apply_product_dialog_open=true" label="Apply as a Merchant"/>
|
|
18
|
-
</div>
|
|
19
|
-
<q-dialog v-model="is_apply_product_dialog_open">
|
|
20
|
-
<apply-merchant-dialog @closeDialog="is_apply_product_dialog_open=false"></apply-merchant-dialog>
|
|
21
|
-
</q-dialog>
|
|
22
|
-
</div>
|
|
23
|
-
<div v-else>
|
|
24
|
-
<template v-if="user_info.slot_owned<=0">
|
|
25
|
-
<div>You need to own slot to view this component.</div>
|
|
26
|
-
</template>
|
|
27
|
-
<template v-else>
|
|
28
|
-
<div>You are already a Merchant!</div>
|
|
29
|
-
</template>
|
|
30
|
-
</div>
|
|
31
|
-
</template>
|
|
32
|
-
<script>
|
|
33
|
-
import ApplyMerchantDialog from "./components/ApplyMerchant/ApplyMerchantDialog";
|
|
34
|
-
import GlobalMixins from './mixins/global_mixins.js';
|
|
35
|
-
import DB_MERCHANT_REQUEST from "./models/DB_MERCHANT_REQUEST"
|
|
36
|
-
export default
|
|
37
|
-
{
|
|
38
|
-
mixins: [GlobalMixins],
|
|
39
|
-
components:{ ApplyMerchantDialog },
|
|
40
|
-
data:() =>({
|
|
41
|
-
is_apply_product_dialog_open: false,
|
|
42
|
-
public_settings: [],
|
|
43
|
-
merchant_request: [],
|
|
44
|
-
}),
|
|
45
|
-
async mounted()
|
|
46
|
-
{
|
|
47
|
-
await this.$_getSlotInfo();
|
|
48
|
-
await this.$bind('merchant_request', await new DB_MERCHANT_REQUEST().collection().where("slot_code", "==", this.user_info.active_slot).where('status', '==', 'pending'));
|
|
49
|
-
},
|
|
50
|
-
methods: { },
|
|
51
|
-
computed:
|
|
52
|
-
{
|
|
53
|
-
user_slot_info()
|
|
54
|
-
{
|
|
55
|
-
if(this.current_slot_info)
|
|
56
|
-
{
|
|
57
|
-
return this.current_slot_info;
|
|
58
|
-
}
|
|
59
|
-
else
|
|
60
|
-
{
|
|
61
|
-
return {};
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
</script>
|
|
67
|
-
styl <style lang="scss">
|
|
68
|
-
.g-apply-product{
|
|
69
|
-
}
|
|
70
|
-
|
|
1
|
+
<template>
|
|
2
|
+
<div class="g-apply-product" v-if="user_info.slot_owned > 0 && !user_slot_info.hasOwnProperty('merchant') || (user_slot_info.hasOwnProperty('merchant') && !user_slot_info.merchant)">
|
|
3
|
+
<div v-if="merchant_request.length>0">
|
|
4
|
+
|
|
5
|
+
<h3 class="text-primary" style="margin-top:10px;">Thank you!</h3>
|
|
6
|
+
<div style="color:gray;font-size:17px;text-align:justify">
|
|
7
|
+
<p>Thanks for taking the time to apply as one of our merchant and for submitting the required documents.</p>
|
|
8
|
+
|
|
9
|
+
<p>We're currently in the process of reviewing / approving documents for our Merchant Section.</p>
|
|
10
|
+
|
|
11
|
+
<p>For updates, please always check this area for the approval of your application!</p>
|
|
12
|
+
</div>
|
|
13
|
+
</div>
|
|
14
|
+
<div v-else>
|
|
15
|
+
<div class="q-mb-md message">We have detected that you are not a <b>Merchant</b> yet.</div>
|
|
16
|
+
<div class="q-mb-md message"><b>Apply</b> to be one now!</div>
|
|
17
|
+
<q-btn color="primary" @click="is_apply_product_dialog_open=true" label="Apply as a Merchant"/>
|
|
18
|
+
</div>
|
|
19
|
+
<q-dialog v-model="is_apply_product_dialog_open">
|
|
20
|
+
<apply-merchant-dialog @closeDialog="is_apply_product_dialog_open=false"></apply-merchant-dialog>
|
|
21
|
+
</q-dialog>
|
|
22
|
+
</div>
|
|
23
|
+
<div v-else>
|
|
24
|
+
<template v-if="user_info.slot_owned<=0">
|
|
25
|
+
<div>You need to own slot to view this component.</div>
|
|
26
|
+
</template>
|
|
27
|
+
<template v-else>
|
|
28
|
+
<div>You are already a Merchant!</div>
|
|
29
|
+
</template>
|
|
30
|
+
</div>
|
|
31
|
+
</template>
|
|
32
|
+
<script>
|
|
33
|
+
import ApplyMerchantDialog from "./components/ApplyMerchant/ApplyMerchantDialog";
|
|
34
|
+
import GlobalMixins from './mixins/global_mixins.js';
|
|
35
|
+
import DB_MERCHANT_REQUEST from "./models/DB_MERCHANT_REQUEST"
|
|
36
|
+
export default
|
|
37
|
+
{
|
|
38
|
+
mixins: [GlobalMixins],
|
|
39
|
+
components:{ ApplyMerchantDialog },
|
|
40
|
+
data:() =>({
|
|
41
|
+
is_apply_product_dialog_open: false,
|
|
42
|
+
public_settings: [],
|
|
43
|
+
merchant_request: [],
|
|
44
|
+
}),
|
|
45
|
+
async mounted()
|
|
46
|
+
{
|
|
47
|
+
await this.$_getSlotInfo();
|
|
48
|
+
await this.$bind('merchant_request', await new DB_MERCHANT_REQUEST().collection().where("slot_code", "==", this.user_info.active_slot).where('status', '==', 'pending'));
|
|
49
|
+
},
|
|
50
|
+
methods: { },
|
|
51
|
+
computed:
|
|
52
|
+
{
|
|
53
|
+
user_slot_info()
|
|
54
|
+
{
|
|
55
|
+
if(this.current_slot_info)
|
|
56
|
+
{
|
|
57
|
+
return this.current_slot_info;
|
|
58
|
+
}
|
|
59
|
+
else
|
|
60
|
+
{
|
|
61
|
+
return {};
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
</script>
|
|
67
|
+
styl <style lang="scss">
|
|
68
|
+
.g-apply-product{
|
|
69
|
+
}
|
|
70
|
+
|
|
71
71
|
</style>
|