hino / app / routes / dms-purchase-order / dms-purchase-order-approval-list.js
dms-purchase-order-approval-list.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({
    dmsPurchaseOrder : service(),
    dmsPurchaseOrderData : service(),
    approverListData : service(),
    queryParams: {
		page: {
			refreshModel: true
		},
		size: {
			refreshModel: true
		},
		filter: {
			refreshModel: true,
		},
		sort: {
			refreshModel: true
		}
	},
	init() {
		this._super(...arguments);
    },
    async model(params) {
		this.set("bBack", "");
		this.set("parentId", params.id);
		this.set("title", "Approval List");

		//Dynamic Back Button
		let prevUrl = window.location.href;
		let containUrl = prevUrl.includes("detail");
		if (containUrl){
			this.set("bBack", "dms-purchase-order.detail");
		}else{
			this.set("bBack", "dms-purchase-order.approval");
		}

		//Get Data Purchase Order
		let purchaseOrder = await this.dmsPurchaseOrderData.getData(params.id).then(async response => {
			this.dmsPurchaseOrder.setModel(response);
			
			return response;
		});

		let ss_no = purchaseOrder.sourceSystemNo;
		
		//Get Data Approval
		let filter = '';
		filter = JSON.parse("{\"source_system_no\" : \"" + ss_no + "\"}");

		let result = this.approverListData.getList({
			page: {
				number: params.page,
				size: params.perPage
			},
			filter: filter,
			sort: params.sort
		});
		return result;
	},
    
    setupController(controller, model) {
		this._super(...arguments);
        controller.set('parentId', this.get("parentId"));
		controller.set('title', this.get("title"));
		controller.set('bBack', this.get("bBack"));
	},

	templateName : 'dms-purchase-order/detail-list'
});