7c0844ee055e02be36f367369f4a686aa71c9ccc.svn-base 3.6 KB

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