12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- BemsWebApplication.PurchaseRequestApproval = function (params, viewInfo) {
- 'use strict';
- var viewModel,
- gridView,
- options;
- function postPurchaseRequestApproval(purchaseRequests) {
- var progressId = $Code.PurchaseProgress.PURCHASE_REQUEST;
- var list = _.reject(purchaseRequests, function (x) {
- return x.ProgressId() !== progressId;
- });
- if (_.isEmpty(list)) {
- utils.toast.show('승인 할 구매신청 항목이 없습니다. 이미 승인되었거나 선택된 항목이 없습니다.', 'error');
- return;
- }
- var postData = {
- UserId: BWA.UserInfo.UserId(),
- PurchaseRequests: _.map(list, function (x) {
- return {
- SiteId: x.SiteId(),
- BusinessFieldId: x.BusinessFieldId(),
- PurchaseRequestId: x.PurchaseRequestId()
- }
- })
- };
- return BWA.api.post('FmsMaterialPurchaseRequest/Approval', postData).then(function () {
- viewModel.refreshList();
- utils.toast.show('성공적으로 승인 처리되었습니다.');
- });
- };
- function handleApproveSelectedItem() {
- var rows = gridView().getSelectedRowsData();
- postPurchaseRequestApproval(rows);
- }
- options = {
- viewOptions: {
- isModifiable: false,
- selection: { mode: 'multiple', allowSelectAll: true },
- getAddedToolbarItemsInPopup: function (e) {
- var hasnotModificationPermission = e.hasnotModificationPermission,
- dataViewModel = e.dataViewModel,
- popupVisible = e.popupVisible;
- var visibleApprovalButton = ko.observable();
- dataViewModel.ProgressId.subscribe(function (progressId) {
- visibleApprovalButton(progressId === $Code.PurchaseProgress.PURCHASE_REQUEST);
- });
- return [{
- location: 'after',
- widget: 'button',
- options: {
- text: $G('approval'), icon: 'save', type: 'success',
- visible: visibleApprovalButton,
- disabled: hasnotModificationPermission,
- clickAction: function () {
- var promise = postPurchaseRequestApproval([dataViewModel]);
- promise.then(function () {
- popupVisible(false);
- });
- }
- }
- }];
- },
- },
- popupOptions: {
- }
- }
- viewModel = BWA.PurchaseRequest(params, viewInfo, options);
- gridView = viewModel.gridView;
- viewModel.approvalButtonOptions = {
- icon: 'add',
- id: 'create',
- title: $G('approval'),
- action: handleApproveSelectedItem,
- disabled: viewModel.hasnotModificationPermission
- };
- return viewModel;
- };
|