BemsWebApplication.MaterialCodeType = function(params, viewInfo) { 'use strict'; var MaterialTypeInfo = ko.observableArray(); var FmsMaterialCodeTypeDataSource = BemsWebApplication.db.createDataSource('FmsMaterialCodeType'); var RowName; var eq = BWA.DataUtil.constructEqualFilter; var viewModel = BWA.DataGrid.createViewWithDataGrid(params, viewInfo, 'FmsMaterialCodeType', { dataSourceOptions: { store: BemsWebApplication.odata.FmsMaterialCodeType, select: [ 'SiteId', 'MaterialTypeId', 'Name', 'Nickname', 'IsUse' ], filter: [eq('SiteId', BWA.UserInfo.SiteId())], //**kgpark }, columns: [ { dataField: 'MaterialTypeId', caption: '번호', width: '20%', alignment: 'center', sortOrder: 'desc' }, { dataField: 'Name', caption: $G('materialTypeName'), width: '60%', alignment: 'center' }, { dataField: 'Nickname', caption: $G('materialTypeNickname'), width: '60%', alignment: 'center' }, utils.datagrid.columnIsUse('20%') ], isUseSiteId: false, notDeleteInPopup: true, popupWidth: 480, NoSearchView: true, // 2019.07.25 kgpark 검색버튼 삭제 // 이름 중복 방지 handlePopupShowing: function () { FmsMaterialCodeTypeDataSource.filter([ ["SiteId", "=", BWA.UserInfo.SiteId()] ]); FmsMaterialCodeTypeDataSource.load().done(function (result) { MaterialTypeInfo(result); }); }, handleDataGridRowClick: function (id, dataGrid, clickRow, popupVisible) { dataGrid.clearSelection(); var data = clickRow.data; var dataModel = viewModel.dataModel; RowName = data.Name; popupVisible(true); }, beforeInsertingDataViewModel: function (dataModel, dbModelId) { var dfd = $.Deferred(); var isDuplicated = false; for (var i = 0; i < MaterialTypeInfo().length; i++) { if (dataModel.Name() == MaterialTypeInfo()[i].Name() || dataModel.Nickname() == MaterialTypeInfo()[i].Nickname()) { isDuplicated = true; break; } } if (!BWA.DataUtil.isValidInputValue(dataModel.Name()) || !BWA.DataUtil.isValidInputValue(dataModel.Nickname())) return dfd.resolve(false, '저장 혹은 수정 반드시 필수 입력 정보를 모두 입력하셔야 합니다 (앞뒤공백 허용안함)'); else { if (isDuplicated) return dfd.resolve(false, '이미 동일 정보가 존재합니다.'); else return dfd.resolve(true); } }, beforeUpdateDataViewModel: function () { var isDuplicated = false; console.log(RowName()); for (var i = 0; i < MaterialTypeInfo().length; i++) { if (MaterialTypeInfo()[i].Name() != RowName() && (viewModel.dataModel.Name() == MaterialTypeInfo()[i].Name() || viewModel.dataModel.Nickname() == MaterialTypeInfo()[i].Nickname())) { isDuplicated = true; break; } } if (!BWA.DataUtil.isValidInputValue(viewModel.dataModel.Name()) || !BWA.DataUtil.isValidInputValue(viewModel.dataModel.Nickname())) { utils.toast.show('저장 혹은 수정 반드시 필수 입력 정보를 모두 입력하셔야 합니다 (앞뒤공백 허용안함)', 'error'); return 0; } else { if (isDuplicated) { utils.toast.show('이미 동일 정보가 존재합니다.', 'error'); return 0; } else return 2; } } }); return viewModel; };