| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207 | BemsWebApplication.LegalCheckGroupManagement = function(params, viewInfo) {    "use strict";    var businessFieldDataSource = BemsWebApplication.db.createDataSource('CmBusinessField', true, true, true);    var corporationDataSource = BemsWebApplication.db.createDataSource('FmsFacilityCodeCorporation', true, true);    var businessFields = ko.observableArray();    var corporations = ko.observableArray();    var searchBusinessFields = ko.observableArray();    var selectedSeniorData = ko.observable();    var deferredForSearch = new $.Deferred();    var factory = BemsWebApplication.Factory.LegalCheckGroup;    var selectedCheckGroupId;    function formatSenior(seniorItemName, seniorItemPeopleCount, seniorUserName) {        return '{0} / {1}({2})'.formati(seniorItemName, seniorUserName, seniorItemPeopleCount);    }    var viewModel = BWA.DataGrid.createViewWithDataGrid(params, viewInfo, 'FmsFacilityScheduleCheckGroup', {        dataSourceOptions: factory.getDataSourceOptions(),        columns: factory.defaultColumns,        cellPrepared: factory.cellPrepared,        promiseDataInSearchView: deferredForSearch.promise(),        searchViewItems: [            { id: 'BusinessFieldId', ignoreValue: 0, defaultValue: 0, dataSource: searchBusinessFields },            { id: 'Name' }        ],        handleViewShowing: function(dataViewModel) {            businessFieldDataSource.load().done(function(result) {                businessFields(result);                searchBusinessFields($SearchView.createDefaultArray('BusinessFieldId').slice(0).concat(businessFields()));                deferredForSearch.resolve();            });            dataViewModel.Senior = $KoSet(dataViewModel.Senior);        },        handlePopupShowing: function() {            corporationDataSource.load().done(function(result) {                corporations(result);            });            //targetFacilityDataSource.load().done( function( result ) {            //    var targetFacilityDataGrid = $( '#gridTargetFacilityContainer' ).dxDataGrid( 'instance' );            //    targetFacilityDataGrid.refresh();            //});        },        handlePopupShown: function() {            var targetFacilityDataGrid = $('#gridTargetFacilityContainer').dxDataGrid('instance');            targetFacilityDataGrid.filter([                ['SiteId', '=', BWA.UserInfo.SiteId()],                'and',                ['CheckGroupId', '=', selectedCheckGroupId]            ]);            //            targetFacilityDataGrid.refresh();        },        handleDataGridRowClick: function(id, dataGrid, clickRow, popupVisible) {                        dataGrid.clearSelection();            var data = clickRow.data;            var dm = viewModel.dataModel;            dm.BusinessFieldName = $KoSet(dm.BusinessFieldName, data.BusinessFieldName);            dm.CorporationName = $KoSet(dm.CorporationName, data.CorporationName);            dm.Senior = $KoSet(dm.Senior, formatSenior(data.SeniorItemName(),                                                       data.SeniorItemPeopleCount(),                                                       data.SeniorUserName())            );            //var targetFacilityDataGrid = $( '#gridTargetFacilityContainer' ).dxDataGrid( 'instance' );            //targetFacilityDataGrid.filter( [             //    [ 'SiteId', '=', BWA.UserInfo.SiteId() ],             //    'and',            //    [ 'CheckGroupId', '=', data.CheckGroupId() ]            //] );            selectedCheckGroupId = data.CheckGroupId();            popupVisible(true);        },        handleSaveButtonInPopup: function(isInsert) {            return BemsWebApplication.api.postWithDataGrid('FmsFacilityScheduleCheckGroupToFacility', 'gridFacilityContainer', {                SiteId: BWA.UserInfo.SiteId(),                CheckGroupId: selectedCheckGroupId,                FacilityCode: null            });        },        handleInitializeDataModelValue: function(v) {            v.WorkTypeId($Code.WorkCodeType.LegalCheckGroup);        }    });    var facilityFactory = BemsWebApplication.Factory.Facility;    var targetFacilityDataSource = BWA.DataUtil.createDataSource({        dataSourceOptions: {            store: BemsWebApplication.odata.CheckGroupTargetFacility,            select: facilityFactory.selectItemsInDataSource        }    });    var facilityDataSource = BWA.DataUtil.createDataSource({        dataSourceOptions: facilityFactory.getDataSourceForRefDataGrid()    }, 'CmFacility');    var cellPrepared = facilityFactory.cellPrepared;    var dataGridOptions = {        dxDataSource: targetFacilityDataSource,        columns: facilityFactory.getColumns([            /*            { dataField: 'ClassName', width: '35%' },            { dataField: 'Name', width: '30%' },            { dataField: 'Location', width: '30%' } *//*            { dataField: 'FirstClassName', caption: '대분류', width: '7%', alignment: 'center', allowFiltering: false },            { dataField: 'SecondClassName', caption: '중분류', width: '10%', alignment: 'center', allowFiltering: false },            { dataField: 'ThirdClassName', caption: '소분류', width: '10%', alignment: 'center', allowFiltering: false },            { dataField: 'Name', width: '30%' },            { dataField: 'FloorName', caption: $G('facilityLocation'), width: '20%', alignment: 'center' } */        ]),        height: 400,    };    viewModel.isNewInPopup.subscribe(function(value) {        if (value) {            var facilityDataGrid = $('#gridFacilityContainer').dxDataGrid('instance');            if (_.isUndefined(facilityDataGrid) === false) facilityDataGrid.clearSelection();        }    });    viewModel.isEditModeInPopup.subscribe(function(value) {        var facilityDataGrid = $('#gridFacilityContainer').dxDataGrid('instance');        var targetFacilityDataGrid = $('#gridTargetFacilityContainer').dxDataGrid('instance');        if (facilityDataGrid !== undefined && value) {            facilityDataGrid.clearSelection();            var items = targetFacilityDataGrid._controllers.data._dataSource._items;            var keys = [];            $.each(items, function(i, item) {                keys.push({                    FacilityCode: item.FacilityCode(),                    SiteId: item.SiteId()                });            });            facilityDataGrid.selectRows(keys);        }        else {        }    });    viewModel.tabsItems = [        { text: '기본 정보' },        { text: '대상 시설' }    ];    viewModel.currentTabIndex = ko.observable(0);    var dataModel = viewModel.dataModel;    viewModel.multiViewItems = [        {            dataModel: dataModel,            viewModel: viewModel,            template: 'generalInfo'        },        {            dataModel: dataModel,            viewModel: viewModel,            facilityDataGridOptions: utils.datagrid.defaultOptions($.extend({}, dataGridOptions, {                visible: viewModel.isEditModeInPopup,                dxDataSource: facilityDataSource,                selection: { mode: 'multiple', allowSelectAll: true },                cellPrepared: cellPrepared            })),            targetFacilityDataGridOptions: utils.datagrid.defaultOptions($.extend({}, dataGridOptions, {                visible: viewModel.isViewModeInPopup,                dxDataSource: targetFacilityDataSource,                cellPrepared: cellPrepared,                contentReadyAction: function(e) {                    //console.log(e.model);                }            })),            template: 'targetFacility'        }    ];    selectedSeniorData.subscribe(function(value) {        if (_.isEmpty(value)) return;        viewModel.dataModel.SeniorId(value.SeniorId);        viewModel.dataModel.Senior(formatSenior(value.SeniorItemName, value.SeniorItemPeopleCount, value.SeniorItemUserName));    });    viewModel.businessFields = businessFields;    viewModel.corporations = corporations;    viewModel.seniorSearchPopup = $SeniorSearchPopup(viewModel, selectedSeniorData);    viewModel.handleButtonSearchSenior = function() {        viewModel.seniorSearchPopup.show();    };    return viewModel;};
 |