hino / app / routes / hoyu-order-split-approval / approval.js
approval.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({
	hoyuOrderSplitApproval: service(),
	hoyuOrderSplitApprovalData: service(),
	hoyuOrderSplitApprovalListData: service(),
	store: service(),
	approvalInboxData: service(),

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

	model(params) {
		this.hoyuOrderSplitApproval.setModel(null);
		let data = this.hoyuOrderSplitApprovalData.getData(params.id, { include: 'hoyu-order-split-approval-list', reload: true });

			data.then(response => {
				response.set("approvalActionType", "approve");
				this.hoyuOrderSplitApproval.setModel(response);

				// get inbox versi terakhir
				let inbox = this.approvalInboxData.getData(response.sourceSystemNo, { adapterOptions: { query: { last_inbox: true, doc_type: 'HOYU_ORDER_SPLIT_APPROVAL' } } });
				this.hoyuOrderSplitApproval.setInbox(inbox);

				this.hoyuOrderSplitApprovalListData.getList({ include: 'hoyu-order-split-approval', filter: { "hoyuOrderSplitApproval": { "id": response.id } } }).then(responseDetail => {

					this.hoyuOrderSplitApproval.clearDetail("hoyuOrderSplitApprovalList");
					responseDetail.forEach(item => {
						this.hoyuOrderSplitApproval.addRow(item, "hoyuOrderSplitApprovalList");
					});
				});
				return response;
			});

		this.set('data', data);
		return {};
	},

	setupController(controller, model) {
		this._super(...arguments);
		controller.set('model', this.get('data'));
	},

	templateName: 'hoyu-order-split-approval/input-approval'
});