b2635d65b3c3af2c1a1dd82d59f75da47b9bd80e.svn-base 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. BemsWebApplication.DrawingCodeGroup = function( params, viewInfo ) {
  2. "use strict";
  3. var FmsDrawingCodeGroupDataSource = BemsWebApplication.db.createDataSource('FmsDrawingCodeGroup');
  4. var DrawingCodeGroupInfo = ko.observableArray();
  5. var RowName;
  6. var viewModel = BWA.DataGrid.createViewWithDataGrid( params, viewInfo, 'FmsDrawingCodeGroup', {
  7. columns: [
  8. { dataField: 'DrawingGroupId', caption: '번호', width: '20%', alignment: 'center' , sortOrder:'desc'},
  9. { dataField: 'Name', caption: $G( 'name' ), width: '60%', alignment: 'center' },
  10. utils.datagrid.columnIsUse( '20%' )
  11. ],
  12. popupWidth: 480,
  13. NoSearchView: true, // 2019.07.25 kgpark 검색버튼 삭제
  14. // 이름 중복 방지
  15. handlePopupShowing: function (that) {
  16. FmsDrawingCodeGroupDataSource.filter([
  17. ["SiteId", "=", BWA.UserInfo.SiteId()]
  18. ]);
  19. FmsDrawingCodeGroupDataSource.load().done(function (result) {
  20. DrawingCodeGroupInfo(result);
  21. });
  22. },
  23. handleDataGridRowClick: function (id, dataGrid, clickRow, popupVisible) {
  24. dataGrid.clearSelection();
  25. var data = clickRow.data;
  26. RowName = data.Name;
  27. popupVisible(true);
  28. },
  29. beforeInsertingDataViewModel: function (dataModel, dbModelId) {
  30. var dfd = $.Deferred();
  31. var isDuplicated = false;
  32. for (var i = 0; i < DrawingCodeGroupInfo().length; i++) {
  33. if (dataModel.Name() == DrawingCodeGroupInfo()[i].Name()) {
  34. isDuplicated = true;
  35. }
  36. }
  37. if (!BWA.DataUtil.isValidInputValue(dataModel.Name()))
  38. return dfd.resolve(false, '저장 혹은 수정 반드시 필수 입력 정보를 모두 입력하셔야 합니다 (앞뒤공백 허용안함)');
  39. else {
  40. if (isDuplicated)
  41. return dfd.resolve(false, '이미 동일 정보가 존재합니다.');
  42. else
  43. return dfd.resolve(true);
  44. }
  45. },
  46. beforeUpdateDataViewModel: function () {
  47. var isDuplicated = false;
  48. for (var i = 0; i < DrawingCodeGroupInfo().length; i++) {
  49. if (viewModel.dataModel.Name() == DrawingCodeGroupInfo()[i].Name() && (RowName() != DrawingCodeGroupInfo()[i].Name())) {
  50. isDuplicated = true;
  51. }
  52. }
  53. if (!BWA.DataUtil.isValidInputValue(viewModel.dataModel.Name())) {
  54. utils.toast.show('저장 혹은 수정 반드시 필수 입력 정보를 모두 입력하셔야 합니다 (앞뒤공백 허용안함)', 'error');
  55. return 0;
  56. }
  57. else {
  58. if (isDuplicated) {
  59. utils.toast.show('이미 동일 이름이 존재합니다.', 'error');
  60. return 0;
  61. }
  62. else
  63. return 2;
  64. }
  65. }
  66. });
  67. return viewModel;
  68. };