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