Index: arms/css/override.css =================================================================== diff -u -r8e53a6e56e59bdf4d22298e974684d593d5f1e25 -rb0f4b73f704bd5b7f88a1f4e49c515d17665ff65 --- arms/css/override.css (.../override.css) (revision 8e53a6e56e59bdf4d22298e974684d593d5f1e25) +++ arms/css/override.css (.../override.css) (revision b0f4b73f704bd5b7f88a1f4e49c515d17665ff65) @@ -523,7 +523,7 @@ } .widget-content { - margin: 0px 0px 15px 0px !important; + margin: 0px 0px 10px 0px !important; } .widget-content > div { Index: arms/html/pdService/content-container.html =================================================================== diff -u -reead45872fe525454523bcddad7008f7fe895f21 -rb0f4b73f704bd5b7f88a1f4e49c515d17665ff65 --- arms/html/pdService/content-container.html (.../content-container.html) (revision eead45872fe525454523bcddad7008f7fe895f21) +++ arms/html/pdService/content-container.html (.../content-container.html) (revision b0f4b73f704bd5b7f88a1f4e49c515d17665ff65) @@ -1,23 +1,19 @@
-
+

- - + + 제품(서비스) 조회 및 선택

-
+
Index: backoffice/html/scheduleConfig/content-container.html =================================================================== diff -u -r9a71c3f28dfdb0c3e633ab079daa82f5a2734276 -rb0f4b73f704bd5b7f88a1f4e49c515d17665ff65 --- backoffice/html/scheduleConfig/content-container.html (.../content-container.html) (revision 9a71c3f28dfdb0c3e633ab079daa82f5a2734276) +++ backoffice/html/scheduleConfig/content-container.html (.../content-container.html) (revision b0f4b73f704bd5b7f88a1f4e49c515d17665ff65) @@ -49,8 +49,7 @@ id="pdServiceFirstSection">
-
+
1. 제품(서비스) 선택
@@ -181,8 +182,7 @@ id="pdServiceFirstSection">
-
+
1. 제품(서비스) 선택
-
+
Index: backoffice/js/scheduleConfig.js =================================================================== diff -u -rb2af5eef60b0cc50cc3982a901a3a393b2889fe8 -rb0f4b73f704bd5b7f88a1f4e49c515d17665ff65 --- backoffice/js/scheduleConfig.js (.../scheduleConfig.js) (revision b2af5eef60b0cc50cc3982a901a3a393b2889fe8) +++ backoffice/js/scheduleConfig.js (.../scheduleConfig.js) (revision b0f4b73f704bd5b7f88a1f4e49c515d17665ff65) @@ -55,26 +55,145 @@ "../reference/jquery-plugins/dataTables-1.10.16/extensions/Buttons/js/dataTables.buttons.min.js", "../reference/jquery-plugins/dataTables-1.10.16/extensions/Buttons/js/buttons.html5.js", "../reference/jquery-plugins/dataTables-1.10.16/extensions/Buttons/js/buttons.print.js", - "../reference/jquery-plugins/dataTables-1.10.16/extensions/Buttons/js/jszip.min.js", - "../reference/jquery-plugins/dataTables-1.10.16/extensions/Buttons/js/pdfmake.min.js", - "../reference/jquery-plugins/dataTables-1.10.16/extensions/Buttons/js/vfs_fonts.js", - // timezone-picker - "../reference/jquery-plugins/kevalbhatt-timezone-picker-2.0.0/dist/timezone-picker.min.js", - "../reference/jquery-plugins/kevalbhatt-timezone-picker-2.0.0/dist/styles/timezone-picker.css" + "../reference/jquery-plugins/dataTables-1.10.16/extensions/Buttons/js/jszip.min.js" ] // 추가적인 플러그인 그룹들을 이곳에 추가하면 됩니다. ]; loadPluginGroupsParallelAndSequential(pluginGroups) .then(function () { - console.log("모든 플러그인 로드 완료"); + console.log('모든 플러그인 로드 완료'); + //vfs_fonts 파일이 커서 defer 처리 함. + setTimeout(function () { + var script = document.createElement("script"); + script.src = "../reference/jquery-plugins/dataTables-1.10.16/extensions/Buttons/js/vfs_fonts.js"; + script.defer = true; // defer 속성 설정 + document.head.appendChild(script); + }, 5000); // 5초 후에 실행됩니다. + + //pdfmake 파일이 커서 defer 처리 함. + setTimeout(function () { + var script = document.createElement("script"); + script.src = "../reference/jquery-plugins/dataTables-1.10.16/extensions/Buttons/js/pdfmake.min.js"; + script.defer = true; // defer 속성 설정 + document.head.appendChild(script); + }, 5000); // 5초 후에 실행됩니다. + // 사이드 메뉴 색상 설정 $(".widget").widgster(); setSideMenu("sidebar_menu_config", "sidebar_menu_config_schedule"); + + // 데이터 테이블 로드 함수 + var waitDataTable = setInterval(function () { + try { + if (!$.fn.DataTable.isDataTable("#schedule_list_table")) { + dataTableLoad(); + clearInterval(waitDataTable); + } + } catch (err) { + console.log("서비스 데이터 테이블 로드가 완료되지 않아서 초기화 재시도 중..."); + } + }, 313 /*milli*/); }) .catch(function (error) { console.error("플러그인 로드 중 오류 발생"); console.log(error); }); } + + +//////////////////////////////////////////////////////////////////////////////////////// +// --- 데이터 테이블 설정 --- // +//////////////////////////////////////////////////////////////////////////////////////// +function dataTableLoad() { + // 데이터 테이블 컬럼 및 열그룹 구성 + var columnList = [ + { name: "c_id", title: "제품(서비스) 아이디", data: "c_id", visible: false }, + { + name: "c_title", + title: "제품(서비스) 이름", + data: "c_title", + render: function (data, type, row, meta) { + if (type === "display") { + return '"; + } + return data; + }, + className: "dt-body-left", + visible: true + } + ]; + var rowsGroupList = []; + var columnDefList = []; + var selectList = {}; + var orderList = [[0, "asc"]]; + var buttonList = [ + "copy", + "excel", + "print", + { + extend: "csv", + text: "Export csv", + charset: "utf-8", + extension: ".csv", + fieldSeparator: ",", + fieldBoundary: "", + bom: true + }, + { + extend: "pdfHtml5", + orientation: "landscape", + pageSize: "LEGAL" + } + ]; + + var jquerySelector = "#schedule_list_table"; + var ajaxUrl = "./mock/scheduleConfig_datatable.json"; + var jsonRoot = "response"; + var isServerSide = false; + + dataTableRef = dataTable_build( + jquerySelector, + ajaxUrl, + jsonRoot, + columnList, + rowsGroupList, + columnDefList, + selectList, + orderList, + buttonList, + isServerSide + ); + + $("#copychecker").on("click", function () { + dataTableRef.button(".buttons-copy").trigger(); + }); + $("#printchecker").on("click", function () { + dataTableRef.button(".buttons-print").trigger(); + }); + $("#csvchecker").on("click", function () { + dataTableRef.button(".buttons-csv").trigger(); + }); + $("#excelchecker").on("click", function () { + dataTableRef.button(".buttons-excel").trigger(); + }); + $("#pdfchecker").on("click", function () { + dataTableRef.button(".buttons-pdf").trigger(); + }); +} + +// 데이터 테이블 구성 이후 꼭 구현해야 할 메소드 : 열 클릭시 이벤트 +function dataTableClick(tempDataTable, selectedData) { + console.log(selectedData); +} + +// 데이터 테이블 데이터 렌더링 이후 콜백 함수. +function dataTableCallBack(settings, json) { + console.log("check"); +} + +function dataTableDrawCallback(tableInfo) { +// resourceDataTable.columns.adjust(); + console.log(tableInfo); +} Index: backoffice/mock/scheduleConfig_datatable.json =================================================================== diff -u --- backoffice/mock/scheduleConfig_datatable.json (revision 0) +++ backoffice/mock/scheduleConfig_datatable.json (revision b0f4b73f704bd5b7f88a1f4e49c515d17665ff65) @@ -0,0 +1,69 @@ +{ + "success" : true, + "response" : [ { + "c_id" : 26, + "c_parentid" : 2, + "c_position" : 1, + "c_left" : 5, + "c_right" : 6, + "c_level" : 2, + "c_title" : "TEST 및 QA 목적의 제품(서비스)", + "c_type" : "default", + "ref" : 0, + "copy" : 0, + "multiCounter" : 0, + "status" : 0, + "searchStr" : null, + "id" : 0, + "attr" : { + "rel" : "default", + "id" : "node_26" + }, + "c_pdservice_owner" : "[admin] - 9af24080-050d-4943-b40e-d789c0f976ee", + "c_pdservice_reviewer01" : "[admin] - 9af24080-050d-4943-b40e-d789c0f976ee", + "c_pdservice_reviewer02" : "none", + "c_pdservice_reviewer03" : "none", + "c_pdservice_reviewer04" : "none", + "c_pdservice_reviewer05" : "none", + "c_pdservice_writer" : null, + "c_pdservice_contents" : "

제품(서비스)의 기획서 및 Project Charter 의 내용을 기록합니다.

\n", + "c_pdservice_desc" : null, + "c_pdservice_etc" : "T_ARMS_REQADD_26", + "state" : "opened", + "data" : "TEST 및 QA 목적의 제품(서비스)", + "copied" : false + }, { + "c_id" : 25, + "c_parentid" : 2, + "c_position" : 0, + "c_left" : 3, + "c_right" : 4, + "c_level" : 2, + "c_title" : "(주)313DEVGRP-ARMS", + "c_type" : "default", + "ref" : 0, + "copy" : 0, + "multiCounter" : 0, + "status" : 0, + "searchStr" : null, + "id" : 0, + "attr" : { + "rel" : "default", + "id" : "node_25" + }, + "c_pdservice_owner" : "[admin] - 9af24080-050d-4943-b40e-d789c0f976ee", + "c_pdservice_reviewer01" : "[dmlee] - f4cf36a0-c680-44e8-8366-846803ced6d4", + "c_pdservice_reviewer02" : "none", + "c_pdservice_reviewer03" : "none", + "c_pdservice_reviewer04" : "none", + "c_pdservice_reviewer05" : "none", + "c_pdservice_writer" : null, + "c_pdservice_contents" : "

제품(서비스)의 기획서 및 Project Charter 의 내용을 기록합니다.

\n", + "c_pdservice_desc" : null, + "c_pdservice_etc" : "T_ARMS_REQADD_25", + "state" : "opened", + "data" : "(주)313DEVGRP-ARMS", + "copied" : false + } ], + "error" : null +} \ No newline at end of file Index: backoffice/mock/scheduleConfig_excel.json =================================================================== diff -u --- backoffice/mock/scheduleConfig_excel.json (revision 0) +++ backoffice/mock/scheduleConfig_excel.json (revision b0f4b73f704bd5b7f88a1f4e49c515d17665ff65) @@ -0,0 +1,23 @@ +[ + [ "Dashboard", + "Dashboard.Header", + "대시 보드", + "Dashboard", + "ダッシュボード", + "1" + ], + [ "Dashboard", + "Dashboard.Header.detail", + "통계 및 개요", + "Statistics and more", + "統計と概要", + "2" + ], + [ "Dashboard", + "Dashboard.Section.Header", + "통합 현황", + "Integration status", + "統合状況", + "3" + ] +] \ No newline at end of file