BemsWebApplication.EquipManagement = function (params, viewInfo) { "use strict"; var codeTypeDataSource = BemsWebApplication.db.createDataSource('FmsEquipmentCodeType', true, false, true), codeStateTypeDataSource = BemsWebApplication.db.createDataSource('FmsEquipmentCodeStateType', false, false, true), warehouseDataSource = BemsWebApplication.db.createDataSource('FmsMaterialWarehouse', true, false, true); var codeTypes = ko.observableArray(), codeStateTypes = ko.observableArray(), warehouses = ko.observableArray(); var codeTypesForSearch = ko.observableArray(), codeStateTypesForSearch = ko.observableArray(), warehousesForSearch = ko.observableArray(); var deferredForSearch = new $.Deferred(); var viewModel = BWA.DataGrid.createViewWithDataGrid(params, viewInfo, 'FmsEquipment', { dataSourceOptions: { select: [ 'SiteId', 'EquipmentId', 'Name', 'EquipmentTypeId', 'WarehouseId', 'Unit', 'Standard', 'AddDate', 'UpdateDate', 'RegisterUserId', 'SupplierName', 'SupplierPhoneNo', 'FmsEquipmentCodeType/Name', 'CmUser/Name', ], expand: [ 'CmUser', 'FmsEquipmentCodeType' ], extendOptions: { forceOriginalField: true, } }, columns: [ { dataField: 'Number', caption: $G('number'), width: '10%', alignment: 'center' }, { dataField: 'Name', caption: $G('name'), width: '30%', alignment: 'center' }, { dataField: 'FmsEquipmentCodeType/Name', caption: '분류', width: '20%', alignment: 'center' }, { dataField: 'Standard', caption: '규격', width: '20%', alignment: 'center' }, { caption: '보유수량', width: '20%', alignment: 'center', format: 'currency' }, // dataField: 'CurrentStockCount', { caption: '전체수량', width: '20%', alignment: 'center', format: 'currency' }, // { dataField: 'Unit', caption: '단위', width: '20%', alignment: 'center' }, { dataField: 'CmUser/Name', caption: '등록자', width: '20%', alignment: 'center' }, ], sort: { field: "EquipmentId", desc: true }, searchViewItems: [{ id: 'Name' }, { id: 'Name' }], popupWidth: 400, handleViewShowing: function (dataModel) { $.when( codeStateTypeDataSource.load(), codeTypeDataSource.load(), warehouseDataSource.load() ).done(function (codeStateTypeResult, codeTypeResult, warehouseResult) { codeStateTypes(codeStateTypeResult[0]); codeTypes(codeTypeResult[0]); warehouses(warehouseResult[0]); codeStateTypesForSearch($SearchView.createArrayOfSelectBox('EquipmentStateTypeId', codeStateTypes())); codeTypesForSearch($SearchView.createArrayOfSelectBox('EquipmentTypeId', codeTypes())); warehousesForSearch($SearchView.createArrayOfSelectBox('WarehouseId', warehouses())); deferredForSearch.resolve(); }); }, handleDataGridRowClick: function (id, dataGrid, clickRow, popupVisible) { dataGrid.clearSelection(); var data = clickRow.data; var dataModel = viewModel.dataModel; //dataModel.CompanyName = $KoSet( dataModel.CompanyName, data.CmCompany_Name ); popupVisible(true); }, handlePopupShown: function (isEditMode, isNew, dataViewModel) { if (isNew) { // 신규등록인 경우 dataViewModel.AddDate($G.date(new Date())); dataViewModel.UpdateDate($G.date(new Date())); dataViewModel.RegisterUserId(BWA.UserInfo.UserId()); } } }); viewModel.codeTypes = codeTypes; viewModel.codeStateTypes = codeStateTypes; viewModel.warehouses = warehouses; return viewModel; };