| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 | BemsWebApplication.SeniorItem = function( params, viewInfo ) {    "use strict";    var businessFieldDataSource = BemsWebApplication.db.createDataSource( 'CmBusinessField', true, true ),        businessFields = ko.observableArray(),        businessFieldsForSearch = ko.observableArray();    var deferredForSearch = new $.Deferred();    var selectedSeniorItemId;    var viewModel = BWA.DataGrid.createViewWithDataGrid( params, viewInfo, 'FmsBusinessSeniorItem', {            columns: [                { dataField: 'Number', caption: $G( 'number' ), width: '15%', alignment: 'center' },                { dataField: 'Name', caption: $G( 'seniorItemName' ), width: '55%', alignment: 'center', dataType: 'string' },                { dataField: 'PeopleCount', caption: $G( 'seniorPeopleCount' ), width: '20%', alignment: 'center' },                utils.datagrid.columnIsUse( '10%' )            ],            promiseDataInSearchView: deferredForSearch.promise(),            searchViewItems: [                 { id: 'Name' } ,                { id: 'Qualification' } ],            handleViewShowing: function() {            },            handleViewShown: function() {            },            handleDataGridRowClick: function( id, dataGrid, clickRow, popupVisible ) {                dataGrid.clearSelection();                selectedSeniorItemId = clickRow.data.SeniorItemId();                popupVisible( true );            },            handlePopupShown: function() {                var targetLicenseDataGrid = $( '#gridTargetLicenseContainer' ).dxDataGrid( 'instance' );                targetLicenseDataGrid.filter( [                     [ 'SiteId', '=', BWA.UserInfo.SiteId() ],                     'and',                    [ 'SeniorItemId', '=', selectedSeniorItemId ]                ] );            },            handleSaveButtonInPopup: function( isInsert ) {                return BemsWebApplication.api.postWithDataGrid( 'FmsBusinessSeniorItemToLicense', 'gridLicenseContainer', {                    SiteId: BWA.UserInfo.SiteId(),                    SeniorItemId: selectedSeniorItemId,                    LicenseId: null                } );            },    } );    var targetLicenseDataSource = $DataSource( {        dataSourceOptions: {            store: BemsWebApplication.db.FmsBusinessSeniorItemToLicense,            select: [ 'SiteId' , 'LicenseId' , 'FmsBusinessLicense/Name' , 'FmsBusinessLicense/IssuingOffice', 'FmsBusinessLicense/EducationalInstitute' ],            expand: [ "FmsBusinessLicense" ]                        }    } );    var licenseDataSource = $DataSource( {        dataSourceOptions: {            store: BemsWebApplication.db.FmsBusinessLicense,            select: [ 'SiteId' , 'LicenseId' , 'CmBusinessField/Name' , 'Name' , 'IssuingOffice', 'EducationalInstitute' ],            expand: [ "CmBusinessField" ]                        }    } );    var licenseFactory = {        dataSourceOptions: targetLicenseDataSource,        columns: [            { dataField: 'CmBusinessField_Name', caption: $G( 'businessFieldName' ), width: '15%', alignment: 'center' },            { dataField: 'Name', caption: $G( 'licenseName' ), width: '25%', alignment: 'center' },            { dataField: 'IssuingOffice', caption: $G( 'issuingOffice' ), width: '25%', alignment: 'center' },            { dataField: 'EducationalInstitute', caption: $G( 'educationalInstitute' ), width: '15%', alignment: 'center' }        ],        height:320    };    var targetLicenseFactory = {        dataSourceOptions: targetLicenseDataSource,        columns: [            { dataField: 'FmsBusinessLicense_Name', caption: $G( 'licenseName' ), width: '40%', alignment: 'center' },            { dataField: 'FmsBusinessLicense_IssuingOffice', caption: $G( 'issuingOffice' ), width: '30%', alignment: 'center' },            { dataField: 'FmsBusinessLicense_EducationalInstitute', caption: $G( 'educationalInstitute' ), width: '30%', alignment: 'center' }        ],        height:320    };    viewModel.tabsItems = [        { text: '기본 정보' },        { text: '필요 자격' }    ];    viewModel.isNewInPopup.subscribe( function( value ) {        if( value ) {            var licenseDataGrid = $( '#gridLicenseContainer' ).dxDataGrid( 'instance' );            if( licenseDataGrid !== undefined ) licenseDataGrid.clearSelection();                    }    } );    viewModel.isEditModeInPopup.subscribe( function( value ) {        var licenseDataGrid = $( '#gridLicenseContainer' ).dxDataGrid( 'instance' );        var targetLicenseDataGrid = $( '#gridTargetLicenseContainer' ).dxDataGrid( 'instance' );        if( licenseDataGrid !== undefined && value ) {            licenseDataGrid.clearSelection();            var items = targetLicenseDataGrid._controllers.data._dataSource._items;            var keys = [];            $.each( items, function( i, item ) {                keys.push( {                    LicenseId: item.LicenseId(),                    SiteId: item.SiteId()                });            } );            licenseDataGrid.selectRows( keys );        }        else {        }    } );    viewModel.currentTabIndex = ko.observable( 0 );    var dataModel = viewModel.dataModel;    viewModel.multiViewItems = [        {            dataModel: dataModel,            viewModel: viewModel,            template: 'generalInfo'        },        {            dataModel: dataModel,            viewModel: viewModel,            licenseFactory: utils.datagrid.defaultOptions( $.extend( licenseFactory, {                visible: viewModel.isEditModeInPopup,                dxDataSource: licenseDataSource,                 selection: { mode: 'multiple', allowSelectAll: true }            }  ) ),            targetLicenseFactory: utils.datagrid.defaultOptions( $.extend( targetLicenseFactory, {                visible: viewModel.isViewModeInPopup,                dxDataSource: targetLicenseDataSource,                contentReadyAction: function( e ) {                    console.log( e.model );                }            } ) ),            template: 'targetLicense'        }    ];    return viewModel;};
 |