hino / app / controllers / hoyu-event-approval / edit.js
edit.js
Raw
import Controller from '@ember/controller';
import { inject as service } from '@ember/service';

export default Controller.extend({
	hoyuEventApproval : service(),
	hoyuEventApprovalData : service(),
	hoyuEventApprovalListData : service(),
	attachmentData : service(),
	hoyuEventApprovalAttachmentData : service(),
	hoyuEventApprovalBudgetData : service(),
	session : service(),
	errors : service(),
	didValidate: false,
	rightActionInProgress: false,

	attachments: Array(),

	formConfig : {
		sourceSystemNo : { isEditable : true }, 
		namaEvent : { isEditable : true }, 
		typeEvent : { isEditable : true }, 
		kodeEvent : { isEditable : true }, 
		dukunganBudget : { isEditable : true }, 
		tanggalWaktuMulaiDiusulkan : { isEditable : true }, 
		tanggalWaktuSelesaiDiusulkan : { isEditable : true }, 
		eventSepanjangHari : { isEditable : true }, 
		aging : { isEditable : true }, 
		tanggalEfektifEventTerakhir : { isEditable : true }, 
		notes : { isEditable : true }, 
		latarBelakangTerjadinyaEvent : { isEditable : true }, 
		tujuanEvent : { isEditable : true }, 
		lokasiDiusulkan : { isEditable : true }, 
		targetSegmen : { isEditable : true }, 
		rangkaianAcara : { isEditable : true }, 
		eventOrganizer : { isEditable : true }, 
		budgetDealer : { isEditable : true }, 
		statusEvent : { isEditable : true }, 
		namaDealer : { isEditable : true }, 
		kodeDealer : { isEditable : true }, 
		permintaanCabang : { isEditable : true }, 
		kodeCabang : { isEditable : true }, 
		creationUser : { isEditable : true }, 
		creationDate : { isEditable : true }, 
		targetSkpDealer : { isEditable : true }, 
		targetUndanganDealer : { isEditable : true }, 
		targetUnitServiceDealer : { isEditable : true }, 
		targetDatabaseDealer : { isEditable : true }, 
		tanggalMulaiDisetujui : { isEditable : true }, 
		approvedEndDateTime : { isEditable : true }, 
		lokasiYangDisetujui : { isEditable : true }, 
		budgetHmsi : { isEditable : true }, 
		deskripsi : { isEditable : true }, 
		targetSpk : { isEditable : true }, 
		targetUndangan : { isEditable : true }, 
		targetUnitService : { isEditable : true }, 
		targetDatabase : { isEditable : true }, 
		hoyuEventApprovalList : { 
			eventApprovalListId : { isEditable : true }, 
			eventId : { isEditable : true }, 
			yangMenyetujui : { isEditable : true }, 
			approvalLevel : { isEditable : true }, 
			status : { isEditable : true }, 
			tanggalDisetujuiDitolak : { isEditable : true }, 
			budgetDealer : { isEditable : true }, 
			budgetHmsi : { isEditable : true }, 
			lokasiYangDisetujui : { isEditable : true }, 
			tanggalMulaiDisetujui : { isEditable : true }, 
			approvedEndDateTime : { isEditable : true }, 
			hoyuEventApproval : { isEditable : true }, 
		},
		hoyuEventApprovalAttachment : { 
			attachment : { isEditable : true }, 
			hoyuEventApproval : { isEditable : true }, 
		},
		hoyuEventApprovalBudget : { 
			eventBudgetId : { isEditable : true }, 
			eventId : { isEditable : true }, 
			deskripsiBudget : { isEditable : true }, 
			estimasiBudget : { isEditable : true }, 
			hoyuEventApproval : { isEditable : true }, 
		},
	},
	init() {
		this._super(...arguments);
		var attachments = this.attachmentData.getList();
		this.set("attachments", attachments);

	},

	actions: {
		onChangeCombo(propertyName, itemCollection) {
			this.set(propertyName, itemCollection);
		},

		async saveHoyuEventApproval() {
			this.set("rightActionInProgress", true);
			this.get('model')
				.validate()
				.then(async ({ validations }) => {
					this.set('didValidate', true); 
					if (validations.get('isValid')) {
						this.set('hoyuEventApproval.model.isApprovalData', false);
						this.hoyuEventApprovalData.save(this.hoyuEventApproval.model).then(response => {
							if (response != undefined) {
								this.transitionToRoute('hoyu-event-approval.detail', response.id); 
							}
						})
						.catch((e) => {
							this.set("rightActionInProgress", false);
							this.set('errorMessages', this.errors.getErrorMessages(e));
						});
					} else {
						this.set("rightActionInProgress", false);
					}
			}); 
		},

		addRowData(modal_type) {
			if (modal_type == "hoyu-event-approval-list") {
				let data = this.hoyuEventApprovalListData.createRecord();
				this.hoyuEventApproval.addRow(data, "hoyuEventApprovalList");
			}
			if (modal_type == "hoyu-event-approval-attachment") {
				let data = this.hoyuEventApprovalAttachmentData.createRecord();
				this.hoyuEventApproval.addRow(data, "hoyuEventApprovalAttachment");
			}
			if (modal_type == "hoyu-event-approval-budget") {
				let data = this.hoyuEventApprovalBudgetData.createRecord();
				this.hoyuEventApproval.addRow(data, "hoyuEventApprovalBudget");
			}
		},
		deleteRowData(modal_type, data) {
			if (modal_type == "hoyu-event-approval-list") {
				this.hoyuEventApproval.deleteRow(data, "hoyuEventApprovalList");
			}
			if (modal_type == "hoyu-event-approval-attachment") {
				this.hoyuEventApproval.deleteRow(data, "hoyuEventApprovalAttachment");
			}
			if (modal_type == "hoyu-event-approval-budget") {
				this.hoyuEventApproval.deleteRow(data, "hoyuEventApprovalBudget");
			}
		},
	},
});