| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 | 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;};
 |