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