main.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. const MAIN_NOTICE_GRID_ID = '#ITP_MAIN_NOTICE_jqGrid';
  2. const MAIN_NOTICE_GRID_LIST = '#ITP_MAIN_NOTICE_jqGrid_list';
  3. const MAIN_NOTICE_GRID_PAGER = '#ITP_MAIN_NOTICE_jqGridPager';
  4. const MAIN_NOTICE_GRID_EMPTY = '#ITP_MAIN_NOTICE_jqGridEmpty';
  5. let NTICE_DETAIL_GRID_LIST = '/api/ntice/main-detail-grid-list';
  6. let MAIN_CHART_PCH_REQ_CHART = '/api/main/chart/pch-req-chart';
  7. require(['config'], function() {
  8. require([
  9. 'jquery',
  10. 'jquery.bootstrap.fileUpload' //파일 업로드가 있는 페이지에서 로딩
  11. ], function($) {
  12. setTimeout(function() {
  13. // 시간지정
  14. // $('#ITP_FORM_MAIN_NOTICE_SEARCH_SCH_DT').val(itp_fn_date_format(new Date(), 2));
  15. // $('#ITP_FORM_MAIN_NOTICE_SEARCH_USER_ID').val(fn_make_user_info.get('userId'));
  16. // 그리드
  17. // itp_fn_MAIN_NOTICE_grid.init();
  18. // itp_fn_fire_window_resize();
  19. // 조회
  20. itp_fn_MAIN_NOTICE_search();
  21. }, 300);
  22. $('#ITP_FORM_MAIN_SEARCH_PR_TYPE').on('change', function() {
  23. drawChartReq();
  24. });
  25. });
  26. });
  27. //그래프
  28. google.charts.load('current', {'packages':['corechart']});
  29. google.charts.load('current', {'packages':['bar']});
  30. google.charts.setOnLoadCallback(drawChartReq);
  31. google.charts.setOnLoadCallback(drawChartPodr);
  32. google.charts.setOnLoadCallback(drawChartReqUp);
  33. google.charts.setOnLoadCallback(drawChartcore);
  34. google.charts.setOnLoadCallback(drawLine);
  35. //구매요청 그래프
  36. function drawChartReq() {
  37. const key = { brandId:fn_make_user_info.get('brandId'), storeId:fn_make_user_info.get('storeId'), prType: $('#ITP_FORM_MAIN_SEARCH_PR_TYPE').val() };
  38. var param = $.param(key);
  39. fn_ajax_call(MAIN_CHART_PCH_REQ_CHART, param, function(result) {
  40. var data = google.visualization.arrayToDataTable( eval(result.chartData) );
  41. var options = {
  42. legend: { position: 'left' }
  43. };
  44. var chart = new google.charts.Bar(document.getElementById('ITP_PCH_REQ_GRAPH'));
  45. chart.draw(data, options);
  46. }, 'GET');
  47. }
  48. //구매발주 그래프
  49. function drawChartPodr() {
  50. var data = google.visualization.arrayToDataTable([
  51. ['구매발주', '요청', '진행', '취소'],
  52. ['2014', 3.5, 1.7, 1.2]
  53. ]);
  54. var options = {
  55. legend: { position: 'left' }
  56. };
  57. var chart = new google.charts.Bar(document.getElementById('ITP_PCH_PODR_GRAPH'));
  58. chart.draw(data, options);
  59. }
  60. //구매요청 상위 품목 그리드
  61. function drawChartReqUp() {
  62. var data = google.visualization.arrayToDataTable([
  63. ['Year', '품목5', '품목4', '품목3','품목2','품목1'],
  64. ['항목 1', 17, 15, 12, 10, 8],
  65. ]);
  66. var options = {
  67. title: '구매요청 상위 품목(일주일)',
  68. legend: { position: 'left' },
  69. bars: 'horizontal'
  70. };
  71. var chart = new google.charts.Bar(document.getElementById('ITP_PCH_REQ_UP_ITEM_GRAPH'));
  72. chart.draw(data, options);
  73. }
  74. //정산 그래프
  75. function drawChartcore() {
  76. var data = google.visualization.arrayToDataTable([
  77. ['Task', 'Hours per Day'],
  78. ['요청', 25],
  79. ['확인', 65],
  80. ['반려', 10],
  81. ]);
  82. var options = {
  83. title: '정산',
  84. legend: { position: 'left' }
  85. };
  86. var chart = new google.visualization.PieChart(document.getElementById('ITP_STTL_GRAPH'));
  87. chart.draw(data, options);
  88. }
  89. function drawLine() {
  90. var data = google.visualization.arrayToDataTable([
  91. ['Year', '안전재고수량', '현재재고수량'],
  92. ['품목1', 1000, 400],
  93. ['품목2', 1170, 460],
  94. ['품목3', 660, 1120],
  95. ['품목4', 1660, 120],
  96. ['품목5', 660, 520],
  97. ]);
  98. var options = {
  99. title: '',
  100. width: 900,
  101. legend: { position: 'top' }
  102. };
  103. var chart = new google.visualization.LineChart(document.getElementById('ITP_SAFE_STCK_GRAPH'));
  104. chart.draw(data, options);
  105. }
  106. var itp_fn_MAIN_NOTICE_search = function() {
  107. // itp_fn_MAIN_NOTICE_grid.unload();
  108. // itp_fn_MAIN_NOTICE_grid.callBack();
  109. // 공지사항 조회
  110. const formId = '#ITP_FORM_MAIN_SEARCH';
  111. let param = $(formId).serializeObject();
  112. var searhFn = function(result) {
  113. $.each(result.gridRows, function(idx, value) {
  114. $('#ITP_NOTE_BAR').append($('#ITP_NOTE_ROWCOPY').val());
  115. $('#ITP_NOTE_BAR .itp_side_bar_note:last').find('.fnTitle').html(value.nticeTitl);
  116. $('#ITP_NOTE_BAR .itp_side_bar_note:last').find('.fnDate').html(value.addDt);
  117. $('#ITP_NOTE_BAR .itp_side_bar_note:last').find('.fnContents').html(value.nticeDesc);
  118. });
  119. };
  120. fn_ajax_call(NTICE_DETAIL_GRID_LIST, JSON.stringify(param), searhFn, 'POST');
  121. };