123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- BemsWebApplication.EquipStatusInfo = function (params, viewInfo) {
- "use strict";
- var codeTypeDataSource = BemsWebApplication.db.createDataSource('FmsEquipmentCodeType', true, false, true),
- codeStateTypeDataSource = BemsWebApplication.db.createDataSource('FmsEquipmentCodeStateType', false, false, true),
- warehouseDataSource = BemsWebApplication.db.createDataSource('FmsMaterialWarehouse', true, false, true);
- var eq = BWA.DataUtil.constructEqualFilter, and = BWA.DataUtil.andFilter;
- var codeTypes = ko.observableArray(),
- codeStateTypes = ko.observableArray(),
- warehouses = ko.observableArray();
- var codeTypesForSearch = ko.observableArray(),
- codeStateTypesForSearch = ko.observableArray(),
- warehousesForSearch = ko.observableArray();
- var deferredForSearch = new $.Deferred();
- var viewModel = BWA.DataGrid.createViewWithDataGrid(params, viewInfo, 'FmsEquipmentEx', {
- dataSourceOptions: {
- store: BemsWebApplication.odata.FmsEquipmentEx,
- select: [
- 'SiteId',
- 'EquipmentId',
- 'Name',
- 'EquipmentTypeId',
- 'WarehouseId',
- 'Unit',
- 'Standard',
- 'AddDate',
- 'UpdateDate',
- 'RegisterUserId',
- 'SupplierName',
- 'SupplierPhoneNo',
- 'EquipmentCodeTypeName',
- 'TotalStockCount',
- 'CurrentStockCount',
- 'CurrentRentCount',
- 'RegisterUserName',
- 'WarehouseName',
- 'CurrentStoredCount',
- 'CurrentReturnCount',
- 'CurrentLossCount'
- ],
- },
- filter: ([
- eq('SiteId', BWA.UserInfo.SiteId())
- ]),
- // TODO : "입고수량","손실수량","반납수량"
- columns: [
- { dataField: 'EquipmentId', caption: $G('number'), width: '10%', alignment: 'center', sortOrder: 'desc' },
- { dataField: 'EquipmentCodeTypeName', caption: '분류', width: '10%', alignment: 'center' },
- { dataField: 'Name', caption: '공기구명', width: '30%', alignment: 'center' },
- { dataField: 'Standard', caption: '규격', width: '30%', alignment: 'center' },
- { dataField: 'Unit', caption: '단위', width: '15%', alignment: 'center' },
- { dataField: 'TotalStockCount', caption: '전체수량', width: '10%', alignment: 'center', format: 'fixedPoint' },
- { dataField: 'CurrentStoredCount', caption: '입고수량', width: '10%', alignment: 'center', format: 'fixedPoint' },
- { dataField: 'CurrentRentCount', caption: '대여수량', width: '10%', alignment: 'center', format: 'fixedPoint' },
- { dataField: 'CurrentLossCount', caption: '손실수량', width: '10%', alignment: 'center', format: 'fixedPoint' },
- { dataField: 'CurrentStockCount', caption: '보유수량', width: '10%', alignment: 'center', format: 'fixedPoint' },
- { dataField: 'WarehouseName', caption: '창고위치', width: '10%', alignment: 'center' },
- ],
- paging: {
- pageSize: 18,
- enabled: true
- },
- pager: {},
- "export": {
- enabled: true,
- fileName: '공기구 사용 목록',
- },
- onExporting: function (e) {
- e.component.columnOption("EquipmentId", "visible", false);
- },
- onExported: function (e) {
- e.component.columnOption("EquipmentId", "visible", true);
- },
- searchViewItems: [
- { id: 'Name' },
- { id: 'Standard' },
- { id: 'EquipmentTypeId', ignoreValue: 0, defaultValue: 0, dataSource: codeTypesForSearch }, // 분류
- ],
- popupWidth: 400,
- handleViewShowing: function (dataModel) {
- $.when(
- codeStateTypeDataSource.load(),
- codeTypeDataSource.load(),
- warehouseDataSource.load()
- ).done(function (codeStateTypeResult, codeTypeResult, warehouseResult) {
- codeStateTypes(codeStateTypeResult[0]);
- codeTypes(codeTypeResult[0]);
- warehouses(warehouseResult[0]);
- codeTypesForSearch($SearchView.createArrayOfSelectBox('EquipmentTypeId', codeTypes()));
- warehousesForSearch($SearchView.createArrayOfSelectBox('WarehouseId', warehouses()));
- deferredForSearch.resolve();
- });
- },
- handleDataGridRowClick: function (id, dataGrid, clickRow, popupVisible) {
- dataGrid.clearSelection();
- popupVisible(false); // Detail 모드를 수행하지 않음
- },
- handlePopupShowing: function (isNewInPopup, dataViewModel) {
- // 저장 버튼
- viewModel.toolbarItems[4].options.clickAction = this.handlePopupButtonSave;
- },
- handlePopupShown: function (isEditMode, isNew, dataViewModel) {
- $.when(
- equipmentExDataSource.load()
- ).done(function (equipmentExResult) {
- equipmentExs(equipmentExResult);
- });
- if (isNew) { // 신규등록인 경우
- dataViewModel.AddDate($G.date(new Date()));
- dataViewModel.UpdateDate($G.date(new Date()));
- dataViewModel.RegisterUserId(BWA.UserInfo.UserId());
- dataViewModel.StoredCount(1);
- }
- },
- handlePopupButtonSave: function () {
- var dataViewModel = viewModel.dataModel;
- if (IsAdditionalEquipment()) {
- if (dataViewModel.EquipmentId() == null) {
- utils.toast.show('추가입고할 공기구를 선택하세요.', 'error');
- return;
- }
- }
- else {
- if (dataViewModel.EquipmentTypeId() == null) {
- utils.toast.show('입고할 공기구 분류를 선택하세요.', 'error');
- return;
- }
- else if (dataViewModel.Name() == null) {
- utils.toast.show('입고할 공기구 이름을 입력하세요.', 'error');
- return;
- }
- }
- if (dataViewModel.WarehouseId() == null) {
- utils.toast.show('입고될 창고위치를 선택하세요.', 'error');
- return;
- }
- var parameters = {
- SiteId: dataViewModel.SiteId(),
- IsAdditionalEquipment: IsAdditionalEquipment()
- };
- var postData = dataViewModel.toJS();
- BWA.api.post('FmsEquipment', postData, parameters).done(
- function () {
- utils.toast.show($G('successDatabaseInsertionMsg'));
- viewModel.popupVisible(false);
- viewModel.gridView().refresh();
- });
- }
- });
- return viewModel;
- };
|