import Controller from '@ember/controller'; import { inject as service } from '@ember/service'; import ENV from '../../config/environment'; export default Controller.extend({ hoyuSalesOrderApproval: service(), hoyuSalesOrderApprovalData: service(), coreAttachmentData: service(), hoyuSalesOrderAttachmentData: service(), hoyuSalesOrderCompetitorData: service(), hoyuSalesOrderProductSplitData: service(), hoyuSalesOrderApprovalListData: service(), hoyuSalesOrderAvailableVehicleData: service(), lostOrderReason: service(), lostOrderReasonData: service(), errors: service(), approvalConfiguration: service(), didValidate: false, formConfig: false, apiURL: null, attachments: Array(), lostOrderReasons: Array(), unitSalesOrderData: service(), karoseriTypeData: service(), colorData: service(), paymentTypeData: service(), so:'', session: service(), async init() { this._super(...arguments); //var so = this.get('session.data.so'); var attachments = this.coreAttachmentData.getList(); this.set("attachments", attachments); let lostOrderReasons = await this.lostOrderReasonData.getList(); this.set("lostOrderReasons", lostOrderReasons); let tipeKaroseris = await this.karoseriTypeData.getList(); this.set("tipeKaroseris", tipeKaroseris); let warnas = await this.colorData.getList(); this.set("warnas", warnas); let tipePembayarans = await this.paymentTypeData.getList(); this.set("tipePembayarans", tipePembayarans); //alert(this.get('model.sourceSystemNo')); var so = this.get('model.sourceSystemNo'); let formConfig = await this.approvalConfiguration.getApprovalConfiguration("hoyu-sales-order-approval",true,so); this.set("formConfig", formConfig); // untuk replace br menjadi enter if (formConfig.form.dealerNotes) { if (formConfig.form.dealerNotes.isEditable) { let dDealerNotes = this.get('hoyuSalesOrderApproval.model.dealerNotes'); let rpDealearNotes = dDealerNotes.replace("<br />", "\r\n"); this.set('hoyuSalesOrderApproval.model.dealerNotes', rpDealearNotes); } } if (formConfig.form.hmsiNotes) { if (formConfig.form.hmsiNotes.isEditable) { let dHmsiNotes = this.get('hoyuSalesOrderApproval.model.hmsiNotes'); let rpHmsiNotes = dHmsiNotes.replace("<br />", "\r\n"); this.set('hoyuSalesOrderApproval.model.hmsiNotes', rpHmsiNotes); } } if (formConfig.form.notes) { if (formConfig.form.notes.isEditable) { let dNotes = this.get('hoyuSalesOrderApproval.model.notes'); let rpNotes = dNotes.replace("<br />", "\r\n"); this.set('hoyuSalesOrderApproval.model.notes', rpNotes); } } this.set('apiURL', ENV.APP.api.downloadPath); let statuss = [ { id: 'YES', name: 'YES' }, { id: 'NO', name: 'NO' }, ]; let statusPerpanjanganTOP = [ { id: 'Y', name: 'YES' }, { id: 'N', name: 'NO' }, ]; this.set("subsidiDiberikans", statuss); this.set("hargaTerkuncis", statuss); this.set("permintaanSubsidis", statuss); this.set("perpanjanganTopYangDiberikans", statusPerpanjanganTOP); }, actions: { onChangeCombo(propertyName, itemCollection) { this.set(propertyName, itemCollection); this.set('hoyuSalesOrderApproval.model.subsidiDiberikan', this.hoyuSalesOrderApproval.statusSubsidi.id); this.set('hoyuSalesOrderApproval.model.perpanjanganTopYangDiberikan', this.hoyuSalesOrderApproval.statusTOP.id); this.set('hoyuSalesOrderApproval.model.permintaanSubsidi', this.hoyuSalesOrderApproval.statusPermintaan.id); }, setComboHargaTerkunci(propertyName, itemCollection) { let data = this.set('hoyuSalesOrderApproval.model.hargaTerkunci', this.hoyuSalesOrderApproval.statusHarga.id); }, onFocusOut() { }, updateUnitSalesOrder() { this.get('model') let newData = {}; newData = this.get('hoyuSalesOrderApproval.model'); this.set('hoyuSalesOrderApproval.isLoading', true); this.unitSalesOrderData.getData(newData.sourceSystemNo, { adapterOptions: { query: { subsidyC: newData.permintaanSubsidi, requestedExtendedTopC: newData.permintaanPerpanjanganTop, grantedExtendedTopC: newData.perpanjanganTopYangDiberikan, grantedSubsidyC: newData.subsidiDiberikan, priceLockedC: newData.hargaTerkunci, approvalVrfAmountC: newData.jumlahVrfYangDisetujui, mode: 1, jenisOrder: newData.jenisOrder } }, reload: true }).then(response => { if (response != undefined) { this.hoyuSalesOrderApproval.model.set('jumlahTopPerpanjangan', response.get('requestedExtendedTopC')); this.hoyuSalesOrderApproval.model.set('totalDiskon', response.get('totalDiscountDoC')); this.hoyuSalesOrderApproval.model.set('totalHarga', response.get('totalPriceDoC')); this.set('hoyuSalesOrderApproval.isLoading', false); } }).catch((e) => { this.set('errorMessages', this.errors.getErrorMessages(e)); window.scrollTo(0, 0); this.set('hoyuSalesOrderApproval.isLoading', false); }); }, async saveHoyuSalesOrderApproval() { this.hoyuSalesOrderApproval.model .validate() .then(({ validations }) => { this.set('didValidate', true); if (validations.get('isValid')) { this.set('hoyuSalesOrderApproval.model.isApprovalData', true); this.hoyuSalesOrderApprovalData.save(this.hoyuSalesOrderApproval.model).then(response => { if (response != undefined) { this.transitionToRoute('inbox.inbox-approval-hoyu', 'HOYU_SALES_ORDER_APPROVAL'); } }) .catch((e) => { this.set('errorMessages', this.errors.getErrorMessages(e)); window.scrollTo(0, 0); }); } }); }, 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"); } }, }, });