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