hino / app / controllers / dms-work-order / edit.js
edit.js
Raw
import Controller from '@ember/controller';
import { inject as service } from '@ember/service';

export default Controller.extend({
	dmsWorkOrder : service(),
	dmsWorkOrderData : service(),
	dmsWorkOrderDetailData : service(),
	session : service(),
	errors : service(),
	didValidate: false,
	rightActionInProgress: false,

	formConfig : {
		woDocNo : { isEditable : true }, 
		sourceSystemNo : { isEditable : true }, 
		woDate : { isEditable : true }, 
		woEstimationNo : { isEditable : true }, 
		workOrderTypeCode : { isEditable : true }, 
		workOrderTypeDesc : { isEditable : true }, 
		workOrderStartDate : { isEditable : true }, 
		workOrderEndDate : { isEditable : true }, 
		customerCode : { isEditable : true }, 
		customerName : { isEditable : true }, 
		vehicleBrand : { isEditable : true }, 
		vehicleModel : { isEditable : true }, 
		vehicleVariant : { isEditable : true }, 
		vehicleChassisNo : { isEditable : true }, 
		policeNo : { isEditable : true }, 
		mileage : { isEditable : true }, 
		companyCode : { isEditable : true }, 
		companyName : { isEditable : true }, 
		profitCenterCode : { isEditable : true }, 
		profitCenterDescription : { isEditable : true }, 
		grandTotalBefore : { isEditable : true }, 
		grandTotalDiscount : { isEditable : true }, 
		grandTotalAfter : { isEditable : true }, 
		grandTotalVat : { isEditable : true }, 
		grandTotalAmount : { isEditable : true }, 
		creationUserId : { isEditable : true }, 
		creationUserName : { isEditable : true }, 
		creationDateTime : { isEditable : true }, 
		changeUserId : { isEditable : true }, 
		changeUserName : { isEditable : true }, 
		changeDateTime : { isEditable : true }, 
		documentStatus : { isEditable : true }, 
		remark : { isEditable : true }, 
		dmsWorkOrderDetail : { 
			sourceSystemNo : { isEditable : true }, 
			itemCode : { isEditable : true }, 
			itemName : { isEditable : true }, 
			itemSupplyQty : { isEditable : true }, 
			itemPriceList : { isEditable : true }, 
			itemSubTotal : { isEditable : true }, 
			itemDiscountAmount : { isEditable : true }, 
			itemDiscountPercent : { isEditable : true }, 
			itemSubTotalNet : { isEditable : true }, 
			dmsWorkOrder : { isEditable : true }, 
			createdBy : { isEditable : true }, 
			updatedBy : { isEditable : true }, 
		},
		createdBy : { isEditable : true }, 
		updatedBy : { isEditable : true }, 
		remarks : { isEditable : true }, 
		approvalActionType : { isEditable : true }, 
	},
	init() {
		this._super(...arguments);
	},

	actions: {
		async saveDmsWorkOrder() {
			this.set("rightActionInProgress", true);
			this.get('model')
				.validate()
				.then(async ({ validations }) => {
					this.set('didValidate', true); 
					if (validations.get('isValid')) {
						this.set('dmsWorkOrder.model.isApprovalData', false);
						this.dmsWorkOrderData.save(this.dmsWorkOrder.model).then(response => {
							if (response != undefined) {
								this.transitionToRoute('dms-work-order.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 == "dms-work-order-detail") {
				let data = this.dmsWorkOrderDetailData.createRecord();
				this.dmsWorkOrder.addRow(data, "dmsWorkOrderDetail");
			}
		},
		deleteRowData(modal_type, data) {
			if (modal_type == "dms-work-order-detail") {
				this.dmsWorkOrder.deleteRow(data, "dmsWorkOrderDetail");
			}
		},
	},
});