hino / app / routes / vehicle-management / detail.js
detail.js
Raw
import Route from '@ember/routing/route';
import { inject as service } from '@ember/service';

import BaseRoute from 'hino-hearts/routes/base';

export default BaseRoute.extend({
	vehicleManagement : service(),
	vehicleManagementData : service(),
	vehicleBastData: service(),
	vehicleWarrantyData: service(),
	vehicleWorkOrderData: service(),
	hoyuFakturApprovalData: service(),
	store : service(),

	init() {
		this._super(...arguments);
	},

	model(params) {
		this.vehicleManagement.setModel(null);
		let data = this.vehicleManagementData.getData(params.id, { include: 'brand,vehicle-model,vehicle-variant,sub-business-segment,color,fuel-type,karoseri-type,karoseri,vehicle-bast,vehicle-warranty,vehicle-work-order,business-segment,hoyu-faktur-approval', reload: true })
		data.then(response => {
			this.vehicleManagement.setModel(response);
			this.vehicleBastData.getList({include: 'vehicle-management', filter:{"vehicleManagement" : {"id" : response.id}}}).then(responseDetail => {

				this.vehicleManagement.clearDetail("vehicleBast");
				responseDetail.forEach(item => {
					this.vehicleManagement.addRow(item, "vehicle-bast");
				});
			});
			this.vehicleWarrantyData.getList({include: 'vehicle-management', filter:{"vehicleManagement" : {"id" : response.id}}}).then(responseDetail => {

				this.vehicleManagement.clearDetail("vehicleWarranty");
				responseDetail.forEach(item => {
					this.vehicleManagement.addRow(item, "vehicle-warranty");
				});
			});
			this.vehicleWorkOrderData.getList({include: 'vehicle-management', filter:{"vehicleManagement" : {"id" : response.id}}}).then(responseDetail => {

				this.vehicleManagement.clearDetail("vehicleWorkOrder");
				responseDetail.forEach(item => {
					this.vehicleManagement.addRow(item, "vehicle-work-order");
				});
			});
			this.hoyuFakturApprovalData.getList({include: 'vehicle-management', filter:{"vehicleId" : {"vehicle_id" : response.sourceSystemNo}}}).then(responseDetail => {

				this.vehicleManagement.clearDetail("hoyuFakturApproval");
				responseDetail.forEach(item => {
					this.vehicleManagement.addRow(item, "hoyu-faktur-approval");
				});
			});
			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);
	},

});