| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203 | 
							- 
 
- $(function() {
 
-     BemsWebApplication.FacilityCheckItem = {
 
-         setupMultiViewInPopup: function(workTypeId, templateId, datagridId, viewModel, selectedFacility, multiViewDataSource) {
 
-             "use strict";
 
-             var refreshList = function() {
 
-                 var datagrid = $(['#', datagridId].join('')).dxDataGrid('instance');
 
-                 datagrid.refresh();
 
-             }
 
-             var dataSource = BWA.DataUtil.createDataSource({
 
-                 dataSourceOptions: {
 
-                     select: [ 
 
-                         'SiteId', 'CheckItemId', 'FacilityCode', 'WorkTypeId', 
 
-                         'CycleUnitId', 'Name', 'IsYesNoResult', 'IsUse', 
 
-                         'FmsWorkCodeCycleUnit/Name', 'FmsWorkCodeType/Name' 
 
-                     ],
 
-                     expand: ['FmsWorkCodeCycleUnit', 'FmsWorkCodeType']                
 
-                 },                
 
-             }, 'FmsFacilityCheckItem');
 
-             
 
-             var cycleUnitDataSource = null;
 
-                 
 
-             var dataGridOptions = utils.datagrid.defaultOptions({
 
-                 dxDataSource: dataSource,
 
-                 datagridId: datagridId,
 
-                 dbId: 'FmsFacilityCheckItem',
 
-                 height: 480,
 
-                 columns: [
 
-                     { dataField: 'FmsWorkCodeCycleUnit_Name', caption: $G( 'checkCycleUnit' ), width: '25%', alignment: 'center' },
 
-                     { dataField: 'Name', caption: $G( 'itemName' ), width: '55%', alignment: 'center' },
 
-                     { dataField: 'IsYesNoResult', caption: $G('resultType'), width: '20%', alignment: 'center',
 
-                         customizeText: function(cellInfo) {
 
-                             return cellInfo.value ? $G('yesOrNo') : $G('directInput');
 
-                         }
 
-                     }
 
-                 ],
 
-                 wordWrapEnabled: true,
 
-                 handleDataGridRowClick: function(id, dataGrid, clickRow, popupVisible) {
 
-                     //dataGrid.clearSelection();
 
-                     var data = clickRow.data;
 
-                     
 
-                     var v = viewModel.checkItemMultiView.dataModel;
 
-                     BWA.DataUtil.copyViewModel(data, v);
 
-                     var code = $Code.FacilityCheckItemResultType;
 
-                     v.ResultTypeId(v.IsYesNoResult() ? code.YES_OR_NO : code.DIRECT_INPUT);
 
-                     var mv = viewModel.checkItemMultiView;
 
-                     mv.handleRefreshList(refreshList);
 
-                     var p = mv.popupOptions;
 
-                     p.isNewData(false);
 
-                     p.visible(true);
 
-                 }
 
-             });
 
-             selectedFacility.subscribe(function(item) {
 
-                 if (_.has(item, 'SiteId') === false ||
 
-                     _.has(item, 'FacilityCode') === false) {
 
-                     return;
 
-                 }
 
-                 var eq = BWA.DataUtil.constructEqualFilter;
 
-                 $(['#', datagridId].join('')).dxDataGrid('instance').filter([
 
-                     eq('SiteId', item.SiteId()),
 
-                     'and',
 
-                     eq('FacilityCode', item.FacilityCode()),
 
-                     'and',
 
-                     eq('WorkTypeId', workTypeId)
 
-                 ]);
 
-             });
 
-             multiViewDataSource.push({
 
-                 viewModel: viewModel,
 
-                 dataGridOptions: dataGridOptions,
 
-                 template: templateId,
 
-                 
 
-                 handleButtonInsert: function() {
 
-                     var p = viewModel.checkItemMultiView.popupOptions;
 
-                     var v = viewModel.checkItemMultiView.dataModel;
 
-                     BWA.DataUtil.resetViewModel(v);
 
-                     v.WorkTypeId(workTypeId);
 
-                     v.FacilityCode(selectedFacility().FacilityCode());
 
-                     v.CycleUnitId(1);
 
-                     v.ResultTypeId(0);
 
-                     p.isNewData(true);
 
-                     p.visible(true);
 
-                     viewModel.checkItemMultiView.handleRefreshList(refreshList);
 
-                 },
 
-                 handleButtonDelete: function() {
 
-                     var p = viewModel.checkItemMultiView.popupOptions;
 
-                     p.workTypeId(workType);
 
-                     
 
-                 },
 
-             });
 
-             if (_.has(viewModel,'checkItemMultiView') === false)
 
-             {
 
-                 var dataModel = new BWA.FmsFacilityCheckItemViewModel();
 
-                 cycleUnitDataSource = BemsWebApplication.db.createDataSource('FmsWorkCodeCycleUnit');
 
-                 cycleUnitDataSource.load().done(function (result) {
 
-                     viewModel.checkItemMultiView.cycleUnitDataSource(result);
 
-                 });
 
-                 dataModel.ResultTypeId = ko.observable();
 
-                 dataModel.ResultTypeId.subscribe(function(value) {
 
-                     if (value === $Code.FacilityCheckItemResultType.YES_OR_NO) {
 
-                         dataModel.IsYesNoResult(true);
 
-                     }
 
-                     else {
 
-                         dataModel.IsYesNoResult(false);
 
-                     }
 
-                 });
 
-                 viewModel.checkItemMultiView = {
 
-                     dataModel: dataModel,
 
-                     handleRefreshList: ko.observable(),
 
-                     cycleUnitDataSource: ko.observableArray(),
 
-                     resultTypeDataSource: $G.FacilityCheckItemResultType,
 
-                     toolbarItems: [
 
-                         { location: 'before', text: $G('detailInfo') },
 
-                         { location: 'after',widget: 'button', options: { 
 
-                                 text: $G('save'), icon: 'save',
 
-                                 clickAction: function () {
 
-                                     viewModel.checkItemMultiView.handleSave();
 
-                                 }
 
-                             }
 
-                         },
 
-                         { location: 'after', widget: 'button', options: {
 
-                                 text: $G('delete'), icon: 'remove', type: 'danger',
 
-                                 clickAction: function() {
 
-                                     viewModel.checkItemMultiView.handleDelete();
 
-                                 }
 
-                             }
 
-                         },
 
-                         {
 
-                             location: 'after', widget: 'button', options: {
 
-                                 text: $G('close'), icon: 'close',
 
-                                 clickAction: function () {
 
-                                     viewModel.checkItemMultiView.popupOptions.visible(false);
 
-                                 }
 
-                             }
 
-                         }
 
-                     ],
 
-                     popupOptions: {
 
-                         width: '520px',
 
-                         height: 'auto',
 
-                         animation: utils.popup.createAnimation(),
 
-                         closeOnOutsideClick: false,
 
-                         visible: ko.observable(false),
 
-                         //showingAction: handlePopupShowing,
 
-                         isNewData: ko.observable(false),
 
-                         workTypeId: ko.observable(),
 
-                     },
 
-                     handleSave: function () {
 
-                         var mv = viewModel.checkItemMultiView;
 
-                         var p = mv.popupOptions;
 
-                         var v = mv.dataModel;
 
-                         var handleDone = function(successMsg) {
 
-                             return function() {
 
-                                 mv.handleRefreshList()();
 
-                                 p.visible(false);
 
-                                 utils.toast.show($G(successMsg));
 
-                             };
 
-                         };
 
-                         if (p.isNewData()) {
 
-                             BemsWebApplication.db.FmsFacilityCheckItem.insert(v.toJS()).done(handleDone('successDatabaseInsertionMsg'));
 
-                         }
 
-                         else {
 
-                             var keys = BWA.db.extractKeysObject('FmsFacilityCheckItem', v);
 
-                             BemsWebApplication.db.FmsFacilityCheckItem.update(keys, v.toJS()).done(handleDone('successDatabaseEditMsg'));
 
-                         }
 
-                     },
 
-                     handleDelete: function () {
 
-                         var mv = viewModel.checkItemMultiView;
 
-                         var p = mv.popupOptions;
 
-                         var v = mv.dataModel;
 
-                         var keys = BWA.db.extractKeysObject('FmsFacilityCheckItem', v);
 
-                         BemsWebApplication.db.FmsFacilityCheckItem.remove(keys).done(function() {
 
-                             mv.handleRefreshList()();
 
-                             p.visible(false);
 
-                             utils.toast.show($G('successDatabaseDeleteMsg'));
 
-                         });
 
-                     }
 
-                 };
 
-             }
 
-         }
 
-     };
 
-  
 
- });
 
 
  |