| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 | BemsWebApplication.Department = function( params , viewInfo ) {    "use strict";    var companyDataSource = BemsWebApplication.db.createDataSource( 'CmCompany', true );    var companies = ko.observableArray();    var CmDepartmentDataSource = BemsWebApplication.db.createDataSource('CmDepartment');    var DepartmentInfo = ko.observableArray();    var RowName, RowCompanyId;    var viewModel = BWA.DataGrid.createViewWithDataGrid( params, viewInfo, 'CmDepartment', {        dataSourceOptions: {            select: [ 'SiteId' , 'CompanyId' , 'DepartmentId' , 'Name' , 'Name', 'PhoneNo', 'IsUse' , 'CmCompany/Name' ],            expand: ["CmCompany"],            extendOptions: {                forceOriginalField: true            }        },        columns: [            { dataField: 'DepartmentId', caption: $G('number'), width: '10%', alignment: 'center' ,sortOrder: 'desc'},            { dataField: 'CmCompany/Name', caption: $G( 'companyName' ), width: '15%', alignment: 'center' },            { dataField: 'Name', caption: $G( 'departmentName' ), width: '35%', alignment: 'center' },            { dataField: 'PhoneNo', caption: $G( 'departmentPhoneNo' ), width: '15%', alignment: 'center' },            utils.datagrid.columnIsUse( '10%' )        ],        searchViewItems: [ { id: 'CmCompany/Name' }, { id: 'Name' } ],        popupWidth: 480,        handleDataGridRowClick: function( id, dataGrid, clickRow, popupVisible ) {            dataGrid.clearSelection();            var data = clickRow.data;            var dataModel = viewModel.dataModel;            dataModel.CompanyName = $KoSet(dataModel.CompanyName, data.CmCompany_Name);            RowName = data.Name;            RowCompanyId = data.CompanyId;            popupVisible( true );        },        // 이름 중복 방지        handlePopupShowing: function (that) {            companyDataSource.filter([                ["SiteId", "=", BWA.UserInfo.SiteId()]            ]);            companyDataSource.load().done(function (result) {                companies(result);            });            CmDepartmentDataSource.filter([                ["SiteId", "=", BWA.UserInfo.SiteId()]            ]);            CmDepartmentDataSource.load().done(function (result) {                DepartmentInfo(result);            });        },        beforeInsertingDataViewModel: function (dataModel, dbModelId) {            var dfd = $.Deferred();            var isDuplicated = false;            for (var i = 0; i < DepartmentInfo().length; i++) {                if (dataModel.Name() == DepartmentInfo()[i].Name() && dataModel.CompanyId() == DepartmentInfo()[i].CompanyId()) {                    isDuplicated = true;                }            }            if (!BWA.DataUtil.isValidInputValue(dataModel.Name()) || !BWA.DataUtil.isValidInputValue(dataModel.CompanyId()))                return dfd.resolve(false, '저장 혹은 수정 반드시 필수 입력 정보를 모두 입력하셔야 합니다 (앞뒤공백 허용안함)');            else {                if (isDuplicated)                    return dfd.resolve(false, '이미 동일 정보가 존재합니다.');                else                    return dfd.resolve(true);            }        },        beforeUpdateDataViewModel: function () {            var isDuplicated = false;            for (var i = 0; i < DepartmentInfo().length; i++) {                if (viewModel.dataModel.Name() == DepartmentInfo()[i].Name() && viewModel.dataModel.CompanyId() == DepartmentInfo()[i].CompanyId()                    && (RowName() != DepartmentInfo()[i].Name() || RowCompanyId() != DepartmentInfo()[i].CompanyId())) {                    isDuplicated = true;                }            }            if (!BWA.DataUtil.isValidInputValue(viewModel.dataModel.Name())) {                utils.toast.show('저장 혹은 수정 반드시 필수 입력 정보를 모두 입력하셔야 합니다 (앞뒤공백 허용안함)', 'error');                return 0;            }            else {                if (isDuplicated) {                    utils.toast.show('이미 동일 이름이 존재합니다.', 'error');                    return 0;                }                else                    return 2;            }        }    });    var handleSelectBoxCompany = function( e ) {        viewModel.dataModel.CompanyId(e.value);    };    viewModel.companyDataSource = companies;    viewModel.handleSelectBoxCompany = handleSelectBoxCompany;    return viewModel;};
 |