import Controller from '@ember/controller'; import { inject as service } from '@ember/service'; export default Controller.extend({ vehicleManagement : service(), vehicleManagementData : service(), brandData : service(), vehicleModelData : service(), vehicleVariantData : service(), subBusinessSegmentData : service(), colorData : service(), fuelTypeData : service(), karoseriTypeData : service(), karoseriData : service(), vehicleBastData : service(), vehicleWarrantyData : service(), vehicleWorkOrderData : service(), businessSegmentData : service(), session : service(), errors : service(), didValidate: false, rightActionInProgress: false, brands: Array(), vehicleModels: Array(), vehicleVariants: Array(), subBusinessSegments: Array(), warnas: Array(), tipeBbms: Array(), karoseriTypes: Array(), karoseris: Array(), businessSegments: Array(), //formConfig: true, formConfig : { form :{ sourceSystemNo : { isEditable : true }, vin : { isEditable : true }, vinNumber20 : { isEditable : true }, brand : { isEditable : true }, vehicleModel : { isEditable : true }, vehicleVariant : { isEditable : true }, vehicleCategory : { isEditable : true }, noRangka : { isEditable : true }, noMesin : { isEditable : true }, tahunPembuatan : { isEditable : true }, tahunPerakitan : { isEditable : true }, statusKendaraan : { isEditable : true }, subBusinessSegment : { isEditable : true }, color : { isEditable : true }, namaKomersil : { isEditable : true }, manufactureCode : { isEditable : true }, fuelType : { isEditable : true }, vrfCustomerName : { isEditable : true }, karoseriType : { isEditable : true }, karoseri : { isEditable : true }, keyCode : { isEditable : true }, kodeRadioTape : { isEditable : true }, kmTerakhir : { isEditable : true }, noPlat : { isEditable : true }, noBpkb : { isEditable : true }, tanggalBpkb : { isEditable : true }, noStnk : { isEditable : true }, tanggalStnk : { isEditable : true }, kapasitasMesin : { isEditable : true }, noPoliceFaktur : { isEditable : true }, vehicleStage : { isEditable : true }, kodeDealer : { isEditable : true }, kodeCabang : { isEditable : true }, namaKaryawan : { isEditable : true }, tanggalDo : { isEditable : true }, noVrf : { isEditable : true }, fromWarehouse : { isEditable : true }, shipmentNumber : { isEditable : true }, jenisPengiriman : { isEditable : true }, tanggalDaftar : { isEditable : true }, quotationNo : { isEditable : true }, namaCabang : { isEditable : true }, namaDealer : { isEditable : true }, stockStatus : { isEditable : true }, fakturDateIds : { isEditable : true }, invoiceNoIds : { isEditable : true }, kmLastTelematics : { isEditable : true }, vehicleUniqueIdentifier : { isEditable : true }, vehicleBast : { bastId : { isEditable : true }, vehicleId : { isEditable : true }, bastNo : { isEditable : true }, tanggalBastDiterima : { isEditable : true }, model : { isEditable : true }, spkNo : { isEditable : true }, status : { isEditable : true }, vehicleManagement : { isEditable : true }, }, vehicleWarranty : { warrantyId : { isEditable : true }, vehicleId : { isEditable : true }, warrantyRegistrationId : { isEditable : true }, warrantyRegistrationNumber : { isEditable : true }, tanggalMulaiPendaftaranWarranty : { isEditable : true }, statusWarranty : { isEditable : true }, namaCustomer : { isEditable : true }, vehicleManagement : { isEditable : true }, }, vehicleWorkOrder : { workOrderId : { isEditable : true }, vehicleId : { isEditable : true }, workOrderSysNo : { isEditable : true }, workOrderNo : { isEditable : true }, tanggalWorkOrder : { isEditable : true }, merek : { isEditable : true }, model : { isEditable : true }, status : { isEditable : true }, dealer : { isEditable : true }, branch : { isEditable : true }, vehicleManagement : { isEditable : true }, }, accountPartyId : { isEditable : true }, businessSegment : { isEditable : true }, }, }, init() { this._super(...arguments); var brands = this.brandData.getList(); this.set("brands", brands); var vehicleModels = this.vehicleModelData.getList(); this.set("vehicleModels", vehicleModels); var vehicleVariants = this.vehicleVariantData.getList(); this.set("vehicleVariants", vehicleVariants); var subBusinessSegments = this.subBusinessSegmentData.getList(); this.set("subBusinessSegments", subBusinessSegments); var warnas = this.colorData.getList(); this.set("warnas", warnas); var tipeBbms = this.fuelTypeData.getList(); this.set("tipeBbms", tipeBbms); var karoseriTypes = this.karoseriTypeData.getList(); this.set("karoseriTypes", karoseriTypes); var karoseris = this.karoseriData.getList(); this.set("karoseris", karoseris); var businessSegments = this.businessSegmentData.getList(); this.set("businessSegments", businessSegments); }, actions: { onChangeCombo(propertyName, item) { this.set(propertyName, item); }, async saveVehicleManagement() { this.set("rightActionInProgress", true); this.get('model') .validate() .then(async ({ validations }) => { this.set('didValidate', true); if (validations.get('isValid')) { this.set('vehicleManagement.model.isApprovalData', false); this.vehicleManagementData.save(this.vehicleManagement.model).then(response => { if (response != undefined) { this.transitionToRoute('vehicle-management.detail', response.id); } }) .catch((e) => { this.set("rightActionInProgress", false); this.set('errorMessages', this.errors.getErrorMessages(e)); window.scrollTo(0, 0); }); } else { this.set("rightActionInProgress", false); } }); }, addRowData(modal_type) { if (modal_type == "vehicle-bast") { let data = this.vehicleBastData.createRecord(); this.vehicleManagement.addRow(data, "vehicleBast"); } if (modal_type == "vehicle-warranty") { let data = this.vehicleWarrantyData.createRecord(); this.vehicleManagement.addRow(data, "vehicleWarranty"); } if (modal_type == "vehicle-work-order") { let data = this.vehicleWorkOrderData.createRecord(); this.vehicleManagement.addRow(data, "vehicleWorkOrder"); } }, deleteRowData(modal_type, data) { if (modal_type == "vehicle-bast") { this.vehicleManagement.deleteRow(data, "vehicleBast"); } if (modal_type == "vehicle-warranty") { this.vehicleManagement.deleteRow(data, "vehicleWarranty"); } if (modal_type == "vehicle-work-order") { this.vehicleManagement.deleteRow(data, "vehicleWorkOrder"); } }, }, });