123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 |
- BemsWebApplication.CheckGroupManagement = function(params, viewInfo) {
- "use strict";
- var businessFieldDataSource = BemsWebApplication.db.createDataSource('CmBusinessField', true, true, true);
- var businessFields = ko.observableArray(),
- searchBusinessFields = ko.observableArray();
- var factory = BemsWebApplication.Factory.CheckGroup;
- var deferredForSearch = new $.Deferred();
- var selectedCheckGroupId;
- var viewModel = BWA.DataGrid.createViewWithDataGrid(params, viewInfo, 'FmsFacilityScheduleCheckGroup', {
- dataSourceOptions: factory.getDataSourceOptions(),
- columns: factory.defaultColumns,
- promiseDataInSearchView: deferredForSearch.promise(),
- searchViewItems: [
- { id: 'BusinessFieldId', ignoreValue: 0, defaultValue: 0, dataSource: searchBusinessFields },
- { id: 'Name' }
- ],
- handleViewShowing: function() {
- businessFieldDataSource.load().done(function(result) {
- businessFields(result);
- searchBusinessFields($SearchView.createDefaultArray('BusinessFieldId').slice(0).concat(businessFields()));
- deferredForSearch.resolve();
- });
- },
- handlePopupShowing: function(that) {
- },
- handlePopupShown: function(that) {
- var targetFacilityDataGrid = $('#gridTargetFacilityContainer').dxDataGrid('instance');
- targetFacilityDataGrid.filter([
- ['SiteId', '=', BWA.UserInfo.SiteId()],
- 'and',
- ['CheckGroupId', '=', selectedCheckGroupId]
- ]);
- },
- handleDataGridRowClick: function(id, dataGrid, clickRow, popupVisible) {
- dataGrid.clearSelection();
- var data = clickRow.data;
- var dataModel = viewModel.dataModel;
- dataModel.BusinessFieldName = $KoSet(dataModel.BusinessFieldName, data.BusinessFieldName);
- selectedCheckGroupId = data.CheckGroupId();
- popupVisible(true);
- },
- handleSaveButtonInPopup: function() {
- return BemsWebApplication.api.postWithDataGrid('FmsFacilityScheduleCheckGroupToFacility', 'gridFacilityContainer', {
- SiteId: BWA.UserInfo.SiteId(),
- CheckGroupId: selectedCheckGroupId,
- FacilityCode: null
- });
- //var facilityDataGrid = $( '#gridFacilityContainer' ).dxDataGrid( 'instance' );
- //var items = facilityDataGrid.getSelectedRowsData();
- //var postData = [];
- //$.each( items, function( i, item ) {
- // postData.push( {
- // SiteId: $KoValue( item.SiteId ),
- // CheckGroupId: selectedCheckGroupId,
- // FacilityCode: $KoValue( item.FacilityCode )
- // } );
- //} );
- //BemsWebApplication.api.post( 'FmsFacilityScheduleCheckGroupToFacility', postData );
- },
- handleInitializeDataModelValue: function(v) {
- v.WorkTypeId($Code.WorkType.REGULAR_CHECK);
- }
- });
- var targetFacilityDataSource = BWA.DataUtil.createDataSource({
- dataSourceOptions: {
- store: BemsWebApplication.odata.CheckGroupTargetFacility,
- select: [
- 'SiteId', 'CheckGroupId', 'FacilityCode', 'ParentFacilityName', 'FirstClassName', 'SecondClassName', 'ThirdClassName', 'Name', 'Nickname',
- 'BuildingName', 'FloorName', 'ZoneName', 'ManufactureModel', 'MainContactorUserName', 'SubContactorUserName'
- ]
- }
- });
- var facilityDataSource = BWA.DataUtil.createDataSource({
- dataSourceOptions: {
- store: BemsWebApplication.odata.Facility,
- select: [
- 'SiteId', 'FacilityCode', 'ParentFacilityName', 'FirstClassName', 'SecondClassName', 'ThirdClassName', 'Name', 'Nickname',
- 'BuildingName', 'FloorName', 'ZoneName', 'ManufactureModel', 'MainContactorUserName', 'SubContactorUserName'
- ]
- }
- });
- var cellPrepared = function(cellElement, cellInfo) {
- switch (cellInfo.column.dataField) {
- case 'ClassName':
- {
- $(cellElement).text(cellInfo.data.FirstClassName() + '-' + cellInfo.data.SecondClassName() + '-' + cellInfo.data.ThirdClassName());
- break;
- }
- case 'Name':
- {
- $(cellElement).text(cellInfo.data.Name() + ' / ' + cellInfo.data.Nickname());
- break;
- }
- case 'Location':
- {
- $(cellElement).text(cellInfo.data.BuildingName() + ' ' + cellInfo.data.FloorName() + ' ' + cellInfo.data.ZoneName());
- break;
- }
- }
- }
- var dataGridOptions = {
- dxDataSource: targetFacilityDataSource,
- columns: [
- { dataField: 'ClassName', caption: $G('facilityClassName'), width: '25%', alignment: 'center', allowFiltering: false },
- { dataField: 'Name', caption: $G('facilityName'), width: '25%', alignment: 'center' },
- { dataField: 'MainContactorUserName', caption: $G('facilityMainContactorUserName'), width: '15%', alignment: 'center', allowFiltering: false },
- { dataField: 'SubContactorUserName', caption: $G('facilitySubContactorUserName'), width: '15%', alignment: 'center', allowFiltering: false },
- { dataField: 'Location', caption: $G('facilityLocation'), width: '20%', alignment: 'center' }
- ]
- };
- viewModel.isNewInPopup.subscribe(function(value) {
- if (value) {
- var facilityDataGrid = $('#gridFacilityContainer').dxDataGrid('instance');
- if (facilityDataGrid !== undefined) 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: BemsWebApplication.Factory.Facility.cellPrepared
- })),
- targetFacilityDataGridOptions: utils.datagrid.defaultOptions($.extend({}, dataGridOptions, {
- visible: viewModel.viewModeInPopup,
- dxDataSource: targetFacilityDataSource,
- cellPrepared: BemsWebApplication.Factory.Facility.cellPrepared,
- contentReadyAction: function(e) {
- console.log(e.model);
- }
- })),
- template: 'targetFacility'
- }
- ];
- viewModel.businessFields = businessFields;
- return viewModel;
- };
|