import Route from '@ember/routing/route'; import { inject as service } from '@ember/service'; import BaseRoute from 'hino-hearts/routes/base'; export default BaseRoute.extend({ accountManagement : service(), accountManagementData : service(), accountAddressData: service(), accountContactData: service(), accountTeamData: service(), accountCustomerUioData: service(), accountVehicleData: service(), accountUnitSalesOrderData: service(), store : service(), init() { this._super(...arguments); }, async model(params) { this.accountManagement.setModel(null); return await this.accountManagementData.getData(params.id, { include: 'business-segment,sub-business-segment,id-type,account-address,account-contact,account-team,account-customer-uio,account-vehicle,account-unit-sales-order' }) .then(async response => { this.accountManagement.setModel(response); await this.accountAddressData.getList({include: 'address-type,country,village,province,municipality,sub-district,account-management', filter:{"accountManagement" : {"id" : response.id}}}).then(responseDetail => { this.accountManagement.clearDetail("accountAddress"); responseDetail.forEach(item => { this.accountManagement.addRow(item, "accountAddress"); }); }); await this.accountContactData.getList({include: 'account-management,contact-resource', filter:{"accountManagement" : {"id" : response.id}}}).then(responseDetail => { this.accountManagement.clearDetail("accountContact"); responseDetail.forEach(item => { this.accountManagement.addRow(item, "accountContact"); }); }); await this.accountTeamData.getList({include: 'team-access,account-management,team-resource', filter:{"accountManagement" : {"id" : response.id}}}).then(responseDetail => { this.accountManagement.clearDetail("accountTeam"); responseDetail.forEach(item => { this.accountManagement.addRow(item, "accountTeam"); }); }); await this.accountCustomerUioData.getList({include: 'account-management,category-uio', filter:{"accountManagement" : {"id" : response.id}}}).then(responseDetail => { this.accountManagement.clearDetail("accountCustomerUio"); responseDetail.forEach(item => { this.accountManagement.addRow(item, "accountCustomerUio"); }); }); await this.accountVehicleData.getList({include: 'account-management,vehicle-management', filter:{"accountManagement" : {"id" : response.id}}}).then(responseDetail => { this.accountManagement.clearDetail("accountVehicle"); responseDetail.forEach(item => { this.accountManagement.addRow(item, "accountVehicle"); }); }); await this.accountUnitSalesOrderData.getList({include: 'account-management,hoyu-sales-order-approval', filter:{"accountManagement" : {"id" : response.id}}}).then(responseDetail => { this.accountManagement.clearDetail("accountUnitSalesOrder"); responseDetail.forEach(item => { this.accountManagement.addRow(item, "accountUnitSalesOrder"); }); }); return response; }); }, templateName : 'account-management/input'});