e3166eed5e28b8aa470a3a7c597cbbc2d23d24d5.svn-base 3.0 KB

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