fe5f85dd6c048ac5b8e8b4fda6ce3a86316887f4.svn-base 3.6 KB

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