import Route from '@ember/routing/route'; import { inject as service } from '@ember/service'; import BaseRoute from 'hino-hearts/routes/base'; export default BaseRoute.extend({ hoyuSalesOrderApproval: service(), hoyuSalesOrderApprovalData: service(), hoyuSalesOrderAttachmentData: service(), hoyuSalesOrderCompetitorData: service(), hoyuSalesOrderProductSplitData: service(), hoyuSalesOrderApprovalListData: service(), hoyuSalesOrderAvailableVehicleData: service(), store: service(), approvalInboxData: service(), session: service(), accountManagementData: service(), approvalConfiguration: service(), approvalInputConfigurationDetailActionData: service(), init() { this._super(...arguments); }, model(params) { //penambahan untuk account this.set('session.data.prevDetailAccount', 'hoyu-sales-order-approval.approval'); this.set('session.data.prevDetailAccountId', params.id); this.hoyuSalesOrderApproval.setModel(null); var _this = this; let data = this.hoyuSalesOrderApprovalData.getData(params.id, { include: 'hoyu-sales-order-attachment,hoyu-sales-order-competitor,hoyu-sales-order-product-split,hoyu-sales-order-approval-list,hoyu-sales-order-available-vehicle,karoseri-type,color,payment-type' }, { reload: true }) data.then(async response => { if(response.approvalLevel=="BRANCH_MANAGER_ACCEPTANCE"){ response.set("approvalActionType", "accept"); }else{ response.set("approvalActionType", "approve"); } //penambahan untuk account // var filter = "\"source_system_no\" : {\"eq\" : \"" +response.accountPartyId + "\"}"; // filter = '{' + filter + '}'; // filter = JSON.parse(filter); // var account=this.accountManagementData.getList({filter: filter}); // var idAccount =""; // if(account != null && account != undefined && account != ""){ // account.forEach(item => { // this.set('idAccount',item.id); // }); // //console.log(this.get('idAccount')); // } if (response.subsidiDiberikan == "YES") { this.set('hoyuSalesOrderApproval.statusSubsidi', { id: 'YES', name: 'YES' }); } else if (response.subsidiDiberikan == "NO") { this.set('hoyuSalesOrderApproval.statusSubsidi', { id: 'NO', name: 'NO' }); } else { this.set('hoyuSalesOrderApproval.statusSubsidi', ''); } if (response.perpanjanganTopYangDiberikan == "Y") { this.set('hoyuSalesOrderApproval.statusTOP', { id: 'Y', name: 'YES' }); } else { this.set('hoyuSalesOrderApproval.statusTOP', { id: 'N', name: 'NO' }); } if (response.hargaTerkunci == "YES") { this.set('hoyuSalesOrderApproval.statusHarga', { id: 'YES', name: 'YES' }); } else { this.set('hoyuSalesOrderApproval.statusHarga', { id: 'NO', name: 'NO' }); } if (response.permintaanSubsidi == "YES") { this.set('hoyuSalesOrderApproval.statusPermintaan', { id: 'YES', name: 'YES' }); } else { this.set('hoyuSalesOrderApproval.statusPermintaan', { id: 'NO', name: 'NO' }); } this.hoyuSalesOrderApproval.setModel(response); // get inbox versi terakhir let inbox = this.approvalInboxData.getData(response.sourceSystemNo, { adapterOptions: { query: { last_inbox: true, doc_type: 'HOYU_SALES_ORDER_APPROVAL' } } }); this.hoyuSalesOrderApproval.setInbox(inbox); //mengambil button let detailButton = await this.approvalInputConfigurationDetailActionData.getList({ per_page: 0, form_name: "hoyu-sales-order-approval", source_system_no:response.sourceSystemNo, hoyu_sales_order : "true", }); let config =detailButton.get("firstObject"); //let config = this.approvalConfiguration.getApprovalConfiguration("hoyu-sales-order-approval",true,response.sourceSystemNo); console.log(config); this.hoyuSalesOrderApproval.setConfig(config); this.hoyuSalesOrderAttachmentData.getList({ include: 'hoyu-sales-order-approval,core-attachment', filter: { "hoyuSalesOrderApproval": { "id": response.id } } }).then(responseDetail => { this.hoyuSalesOrderApproval.clearDetail("hoyuSalesOrderAttachment"); responseDetail.forEach(item => { this.hoyuSalesOrderApproval.addRow(item, "hoyuSalesOrderAttachment"); }); }); this.hoyuSalesOrderCompetitorData.getList({ include: 'hoyu-sales-order-approval', filter: { "hoyuSalesOrderApproval": { "id": response.id } } }).then(responseDetail => { this.hoyuSalesOrderApproval.clearDetail("hoyuSalesOrderCompetitor"); responseDetail.forEach(item => { this.hoyuSalesOrderApproval.addRow(item, "hoyuSalesOrderCompetitor"); }); }); this.hoyuSalesOrderProductSplitData.getList({ include: 'hoyu-sales-order-approval', filter: { "hoyuSalesOrderApproval": { "id": response.id } } }).then(responseDetail => { this.hoyuSalesOrderApproval.clearDetail("hoyuSalesOrderProductSplit"); responseDetail.forEach(item => { this.hoyuSalesOrderApproval.addRow(item, "hoyuSalesOrderProductSplit"); }); }); this.hoyuSalesOrderApprovalListData.getList({ include: 'hoyu-sales-order-approval', filter: { "hoyuSalesOrderApproval": { "id": response.id } } }).then(responseDetail => { this.hoyuSalesOrderApproval.clearDetail("hoyuSalesOrderApprovalList"); responseDetail.forEach(item => { this.hoyuSalesOrderApproval.addRow(item, "hoyuSalesOrderApprovalList"); }); }); this.hoyuSalesOrderAvailableVehicleData.getList({ include: 'hoyu-sales-order-approval', filter: { "hoyuSalesOrderApproval": { "id": response.id } } }).then(responseDetail => { this.hoyuSalesOrderApproval.clearDetail("hoyuSalesOrderAvailableVehicle"); responseDetail.forEach(item => { this.hoyuSalesOrderApproval.addRow(item, "hoyuSalesOrderAvailableVehicle"); }); }); return response; }); this.set('data', data); return { data: data }; }, setupController(controller, model) { this._super(...arguments); controller.set('model', this.get('data')); controller.set('errorMessages', null); //controller.set('idAccount', this.get('idAccount')); }, templateName: 'hoyu-sales-order-approval/input-approval' });