123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- $(function() {
- BemsWebApplication.Factory.WorkOrderPopup = {
- create: function(viewModel, targetFacilities, workOrderDataModel, popupVisible, editObservable, dataGridOptions) {
- var tabIndex = ko.observable(0);
- viewModel.tabsOptionsInWorkOrderPopup = {
- dataSource: [
- { text: '작업지시' },
- { text: '대상시설' }
- ],
- selectedIndex: tabIndex
- };
- var id = 'gridFacilityContainerInWorkOrder';
- targetFacilities.subscribe(function(value) {
- //$( '#gridFacilityContainerInWorkRequest' ).dxDataGrid( 'instance' ).refresh();
- });
- viewModel.multiViewOptionsInWorkOrderPopup = {
- dataSource: [
- {
- viewModel: viewModel,
- dataModel: workOrderDataModel,
- template: 'workOrder'
- },
- {
- viewModel: viewModel,
- dataGridOptions: $.extend({
- selection: { mode: 'multiple', allowSelectAll: true }
- }, dataGridOptions),
- template: 'targetFacility'
- }
- ],
- swipeEnabled: true,
- selectedIndex: tabIndex,
- height: '600px'
- };
- viewModel.handleButtonAddFacility = function() {
- viewModel.facilitySearchPopup.show();
- }
- viewModel.handleButtonRemoveFacility = function() {
- var selectedRows = utils.datagrid.getSelectedRowsData(id);
- selectedRows.forEach(function(row) {
- targetFacilities.remove(row);
- //var index = targetFacilities.indexOf( row );
- //if( index >= 0 ) {
- // targetFacilities.remove( index );
- //}
- });
- }
- viewModel.toolbarItemsInWorkOrderPopup = [
- { location: 'before', text: $G('workOrder') },
- { location: 'after', widget: 'button', options: { text: $G('setup'), icon: 'save', clickAction: handleWorkOrderPopupButtonSave } },
- { location: 'after', widget: 'button', options: { text: $G('close'), icon: 'close', clickAction: function() { popupVisible(false); } } }
- ];
- viewModel.popupOptionsInWorkOrder = {
- width: '680px',
- height: 'auto',
- visible: popupVisible,
- closeOnOutsideClick: false,
- animation: utils.popup.createAnimation()
- };
- var selectedFacilityData = ko.observableArray();
- selectedFacilityData.subscribe(function(facilities) {
- facilities.forEach(function(f) {
- if (targetFacilities().some(function(x) {
- return f.FacilityCode() === x.FacilityCode();
- }) === false) {
- targetFacilities.push(f);
- }
- });
- });
- viewModel.facilitySearchPopup = BWA.Popup.Facility.create(viewModel, selectedFacilityData, {
- isMultipleSelect: true,
- });
- function handleWorkOrderPopupButtonSave() {
- var $$ = BemsWebApplication;
- var deferred = new $.Deferred();
- if (editObservable()) {
- var keys = $$.db.extractKeysObject('FmsWorkOrder', workOrderDataModel);
- $$.db.FmsWorkOrder.update(keys, workOrderDataModel.toJS()).done(function() {
- popupVisible(false);
- deferred.resolve(keys);
- });
- }
- else {
- workOrderDataModel.SiteId(BWA.UserInfo.SiteId());
- workOrderDataModel.RequestId(viewModel.dataModel.RequestId());
- workOrderDataModel.OrderedDate(moment().toDate());
- workOrderDataModel.OrderUserId(BWA.UserInfo.UserId());
- $$.db.FmsWorkOrder.insert(workOrderDataModel.toJS()).done(function(values, keys) {
- viewModel.dataModel.ProgressId($Code.WorkProgress.WorkOrder);
- viewModel.update(false);
- deferred.resolve(keys);
- popupVisible(false);
- viewModel.popupVisible(false);
- });
- }
- deferred.promise().done(function(keys) {
- console.log(keys);
- BemsWebApplication.api.postWithArray(
- 'FmsWorkOrderToFacility',
- targetFacilities,
- $.extend(keys, {
- FacilityCode: null,
- ProgressId: $Code.WorkProgress.WorkStandby
- }), ['ProgressId'])
- .done(function() {
- utils.toast.show($G('successDatabaseProcessMsg'));
- });
- });
- }
- }
- }
- });
|