import Controller from '@ember/controller'; import { inject as service } from '@ember/service'; export default Controller.extend({ hoyuSalesOrderApproval : service(), hoyuSalesOrderApprovalData : service(), coreAttachmentData : service(), hoyuSalesOrderAttachmentData : service(), hoyuSalesOrderCompetitorData : service(), hoyuSalesOrderProductSplitData : service(), hoyuSalesOrderApprovalListData : service(), hoyuSalesOrderAvailableVehicleData : service(), session : service(), errors : service(), didValidate: false, rightActionInProgress: false, attachments: Array(), formConfig : { sourceSystemNo : { isEditable : true }, accountPartyId : { isEditable : true }, quotationNumber : { isEditable : true }, revisionNumber : { isEditable : true }, event : { isEditable : true }, kodeEvent : { isEditable : true }, namaProduk : { isEditable : true }, jumlah : { isEditable : true }, jenisOrder : { isEditable : true }, kategori : { isEditable : true }, manufacturingCode : { isEditable : true }, model : { isEditable : true }, varian : { isEditable : true }, tahunVin : { isEditable : true }, tipeKaroseri : { isEditable : true }, warna : { isEditable : true }, customer : { isEditable : true }, pemilik : { isEditable : true }, tipePembayaran : { isEditable : true }, flagDiscountCash : { isEditable : true }, defaultTop : { isEditable : true }, procurementType : { isEditable : true }, permintaanPerpanjanganTop : { isEditable : true }, perpanjanganTopYangDiberikan : { isEditable : true }, jumlahTopYangDiberikan : { isEditable : true }, jumlahTopPerpanjangan : { isEditable : true }, permintaanSubsidi : { isEditable : true }, subsidiDiberikan : { isEditable : true }, telematicsContacts : { isEditable : true }, telematicsContacsName : { isEditable : true }, telematicsContacsEmail : { isEditable : true }, telematicsContacsPhoneNumber : { isEditable : true }, approvalLevel : { isEditable : true }, status : { isEditable : true }, inisiator : { isEditable : true }, hargaTerkunci : { isEditable : true }, merekKompetitor : { isEditable : true }, tanggalKadaluarsa : { isEditable : true }, dealerNotes : { isEditable : true }, lostOrderReason : { isEditable : true }, lostOrderNotes : { isEditable : true }, opportunities : { isEditable : true }, onTheRoad : { isEditable : true }, bbn : { isEditable : true }, offTheRoad : { isEditable : true }, marginDealer : { isEditable : true }, biayaPengiriman : { isEditable : true }, dnp : { isEditable : true }, jumlahVrfYangDisetujui : { isEditable : true }, onTheRoadCr : { isEditable : true }, bbnCr : { isEditable : true }, offTheRoadCr : { isEditable : true }, marginDealerCr : { isEditable : true }, biayaPengirimanCr : { isEditable : true }, dnpCr : { isEditable : true }, totalJumlahVrf : { isEditable : true }, dnpWholesale : { isEditable : true }, pilihanDiskon : { isEditable : true }, programDutro : { isEditable : true }, cashDiscount : { isEditable : true }, eventDiscount : { isEditable : true }, tambahanDiscountYangDiajukan : { isEditable : true }, totalDiskon : { isEditable : true }, totalHarga : { isEditable : true }, notes : { isEditable : true }, hoyuSalesOrderAttachment : { hoyuSalesOrderApproval : { isEditable : true }, attachment : { isEditable : true }, description : { isEditable : true }, createdBy : { isEditable : true }, updatedBy : { isEditable : true }, }, hoyuSalesOrderCompetitor : { competitorId : { isEditable : true }, unitSalesOrderId : { isEditable : true }, competitorName : { isEditable : true }, modelKendaraanCompetitor : { isEditable : true }, hargaKendaraanCompetitor : { isEditable : true }, tipeHarga : { isEditable : true }, hinoTransmission : { isEditable : true }, hoyuSalesOrderApproval : { isEditable : true }, createdBy : { isEditable : true }, updatedBy : { isEditable : true }, }, hoyuSalesOrderProductSplit : { productSplitId : { isEditable : true }, productName : { isEditable : true }, jumlah : { isEditable : true }, kuantitasDisetujui : { isEditable : true }, rencanaTanggalPengiriman : { isEditable : true }, tanggalDisetujui : { isEditable : true }, tahunProduksi : { isEditable : true }, warna : { isEditable : true }, warnaDisetujui : { isEditable : true }, unitSalesOrderId : { isEditable : true }, hoyuSalesOrderApproval : { isEditable : true }, createdBy : { isEditable : true }, updatedBy : { isEditable : true }, }, hoyuSalesOrderApprovalList : { unitSalesOrderId : { isEditable : true }, approver : { isEditable : true }, approverDate : { isEditable : true }, approverVrfAmount : { isEditable : true }, extendedTop : { isEditable : true }, topAmount : { isEditable : true }, subsidyAmount : { isEditable : true }, notes : { isEditable : true }, hoyuSalesOrderApproval : { isEditable : true }, createdBy : { isEditable : true }, updatedBy : { isEditable : true }, }, hoyuSalesOrderAvailableVehicle : { hoyuSalesOrderApproval : { isEditable : true }, availableVehicleId : { isEditable : true }, vin : { isEditable : true }, manufacturingCode : { isEditable : true }, manufacturingYear : { isEditable : true }, color : { isEditable : true }, unitSalesOrderId : { isEditable : true }, createdBy : { isEditable : true }, updatedBy : { isEditable : true }, }, createdBy : { isEditable : true }, updatedBy : { isEditable : true }, remarks : { isEditable : true }, approvalActionType : { isEditable : true }, }, init() { this._super(...arguments); var attachments = this.coreAttachmentData.getList(); this.set("attachments", attachments); }, actions: { onChangeCombo(propertyName, itemCollection) { this.set(propertyName, itemCollection); }, async saveHoyuSalesOrderApproval() { this.set("rightActionInProgress", true); this.get('model') .validate() .then(async ({ validations }) => { this.set('didValidate', true); if (validations.get('isValid')) { this.set('hoyuSalesOrderApproval.model.isApprovalData', false); this.hoyuSalesOrderApprovalData.save(this.hoyuSalesOrderApproval.model).then(response => { if (response != undefined) { this.transitionToRoute('hoyu-sales-order-approval.detail', response.id); } }) .catch((e) => { this.set("rightActionInProgress", false); this.set('errorMessages', this.errors.getErrorMessages(e)); }); } else { this.set("rightActionInProgress", false); } }); }, addRowData(modal_type) { if (modal_type == "hoyu-sales-order-attachment") { let data = this.hoyuSalesOrderAttachmentData.createRecord(); this.hoyuSalesOrderApproval.addRow(data, "hoyuSalesOrderAttachment"); } if (modal_type == "hoyu-sales-order-competitor") { let data = this.hoyuSalesOrderCompetitorData.createRecord(); this.hoyuSalesOrderApproval.addRow(data, "hoyuSalesOrderCompetitor"); } if (modal_type == "hoyu-sales-order-product-split") { let data = this.hoyuSalesOrderProductSplitData.createRecord(); this.hoyuSalesOrderApproval.addRow(data, "hoyuSalesOrderProductSplit"); } if (modal_type == "hoyu-sales-order-approval-list") { let data = this.hoyuSalesOrderApprovalListData.createRecord(); this.hoyuSalesOrderApproval.addRow(data, "hoyuSalesOrderApprovalList"); } if (modal_type == "hoyu-sales-order-available-vehicle") { let data = this.hoyuSalesOrderAvailableVehicleData.createRecord(); this.hoyuSalesOrderApproval.addRow(data, "hoyuSalesOrderAvailableVehicle"); } }, deleteRowData(modal_type, data) { if (modal_type == "hoyu-sales-order-attachment") { this.hoyuSalesOrderApproval.deleteRow(data, "hoyuSalesOrderAttachment"); } if (modal_type == "hoyu-sales-order-competitor") { this.hoyuSalesOrderApproval.deleteRow(data, "hoyuSalesOrderCompetitor"); } if (modal_type == "hoyu-sales-order-product-split") { this.hoyuSalesOrderApproval.deleteRow(data, "hoyuSalesOrderProductSplit"); } if (modal_type == "hoyu-sales-order-approval-list") { this.hoyuSalesOrderApproval.deleteRow(data, "hoyuSalesOrderApprovalList"); } if (modal_type == "hoyu-sales-order-available-vehicle") { this.hoyuSalesOrderApproval.deleteRow(data, "hoyuSalesOrderAvailableVehicle"); } }, }, });