OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2022-03-17 916a3cbabe4e50062fce61ff6f2f5d46c05dfbd1
src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js
@@ -37,12 +37,12 @@
                                if (tableConfig.dType === "checkbox") {
                                    //  체크 박스일때
                                    if (scope.data.defaultYn) {
                                    /*if (scope.data.defaultYn) {
                                        makeTag += '<input type="checkbox" ng-checked="data.checked == true ? true : false" disabled ng-click="$root.$tableProvider.rowChecked(tableConfigs, data, fn.getResponseData())">';
                                    }
                                    else {
                                    else {*/
                                        makeTag += '<input type="checkbox" ng-checked="data.checked == true ? true : false" ng-click="$root.$tableProvider.rowChecked(tableConfigs, data, fn.getResponseData())">';
                                    }
                                    //}
                                    tableConfig.hChecked = false;
                                }
@@ -74,10 +74,14 @@
                                        //  프로젝트 이름(프로젝트 리스트에서 사용)
                                        case "PROJECT_NAME" :
                                            if ($rootScope.workProject != null && $rootScope.workProject.id == scope.data.id) {
                                                makeTag += "<span class='titlenameSelect cursor table-word-break-all sub-line' ng-click='event.changeLastProject(data.id)'>" + myToken + scope.data.name.replace(/</gi, '&lt;') + "</span>";
                                            } else {
                                                makeTag += "<span class='titlename cursor table-word-break-all sub-line' ng-click='event.changeLastProject(data.id)'>" + myToken + scope.data.name.replace(/</gi, '&lt;') + "</span>";
                                            if (!scope.data.parentYn) {
                                                if ($rootScope.workProject != null && $rootScope.workProject.id == scope.data.id) {
                                                    makeTag += "<span class='titlenameSelect cursor table-word-break-all sub-line' ng-click='event.changeLastProject(data.id)'>" + myToken + scope.data.name.replace(/</gi, '&lt;') + "</span>";
                                                } else {
                                                    makeTag += "<span class='titlename cursor table-word-break-all sub-line' ng-click='event.changeLastProject(data.id)'>" + myToken + scope.data.name.replace(/</gi, '&lt;') + "</span>";
                                                }
                                            }else {
                                                makeTag += "<span class='titlename cursor table-word-break-all sub-line'>" + myToken + scope.data.name.replace(/</gi, '&lt;') + "</span>";
                                            }
                                            break;
@@ -86,6 +90,17 @@
                                                if (scope.data.projectVo != null) {
                                                    makeTag += "<span class='titlenameSelect'>" + myToken + scope.data.projectVo.name.replace(/</gi, '&lt;') + "</span>";
                                                }
                                            break;
                                        //  사용 파트너 이름(이슈 유형 리스트에서 사용)
                                        case "USE_PARTNERS" :
                                            if (scope.data.usePartnerVos != null) {
                                                var usePartners = [];
                                                for (var i=0; i<scope.data.usePartnerVos.length; i++) {
                                                    usePartners.push(scope.data.usePartnerVos[i].byName);
                                                }
                                                makeTag += "<span>" + usePartners + "</span>";
                                            }
                                            break;
                                        //  프로젝트 목록에서 사용자 정의 필드 설정 표시
@@ -151,17 +166,18 @@
                                        case "USE_DEPARTMENT_LIST" :
                                            makeTag += "<ul class='ul-not-comma'>";
                                            if(scope.data.departmentVos != null && scope.data.departmentVos.length == 0){ //속해있는 부서가 없을 경우
                                                makeTag += "<div style='cursor: pointer; color: #0066ff'' ng-click='event.modifyUserDepartments(data.id, data.userId)'>부서를 선택해 주세요.</div>";
                                            }else{
                                                makeTag += "<div style='cursor: pointer; color: #0066ff'' ng-click='event.modifyUserDepartments(data.id, data.userId)'>";
                                                angular.forEach(scope.data.departmentVos, function (departments) {
                                                    makeTag += "<li>" + departments.departmentName + "</li>";
                                                });
                                                makeTag += "</div>";
                                            if (scope.data.managerYn !== 'Y'){
                                                if(scope.data.departmentVos != null && scope.data.departmentVos.length == 0){ //속해있는 부서가 없을 경우
                                                    makeTag += "<div style='cursor: pointer; color: #0066ff' ng-click='event.modifyUserDepartments(data.id, data.userId)'>부서를 선택해 주세요.</div>";
                                                }else{
                                                    makeTag += "<div style='cursor: pointer; color: #0066ff' ng-click='event.modifyUserDepartments(data.id, data.userId)'>";
                                                    angular.forEach(scope.data.departmentVos, function (departments) {
                                                        makeTag += "<li>" + departments.departmentName + "</li>";
                                                    });
                                                    makeTag += "</div>";
                                                }
                                                makeTag += "</ul>";
                                            }
                                            makeTag += "</ul>";
                                            break;
                                        case "WORKFLOW_DEPARTMENT_LIST" :
@@ -195,7 +211,7 @@
                                        //  하위이슈 카운트
                                        case "DOWN_ISSUE_COUNT" :
                                            makeTag += '<span>'  + scope.data.downIssueCount + ' / ' + scope.data.downIssueAllCount + '</span>';
                                            makeTag += '<span ng-click="event.changeDetailView(data.id)"  class="ul-not-comma cursor">'  + scope.data.downIssueCount + ' / ' + scope.data.downIssueAllCount + '</span>';
                                            break;
                                        //  프로젝트 기간 표시
@@ -230,144 +246,148 @@
                                            break;*/
                                        // 연관 이슈 이동(제목)
                                        case "ISSUE_RELATION_MOVE" :
                                            makeTag += "<span class=\"titlename cursor text-center\" ng-click=\"event.changeDetailView(data.issueRelation)\">" + scope.data.title + "</span></a>";
                                            break;
                                        // case "ISSUE_RELATION_MOVE" :
                                        //     makeTag += "<span class=\"titlename cursor text-center\" ng-click=\"event.changeDetailView(data.issueRelation)\">" + scope.data.title + "</span></a>";
                                        //     break;
                                        // 연관이슈 구분
                                        case "ISSUE_RELATION_TYPE":
                                            makeTag += "<span>" + scope.data.relationIssueTypeName + "</span>";
                                            break;
                                        // case "ISSUE_RELATION_TYPE":
                                        //     makeTag += "<span>" + scope.data.relationIssueTypeName + "</span>";
                                        //     break;
                                        // 연관이슈 삭제
                                        case "ISSUE_RELATION_DELETE":
                                            makeTag += '<img class="cursor" src="/assets/images/delete-icon.png" ng-click="event.removeRelationIssue(data.id)">';
                                            break;
                                        // case "ISSUE_RELATION_DELETE":
                                        //     if (scope.data.modifyPermissionCheck) {
                                        //         makeTag += '<img class="cursor" src="/assets/images/delete-icon.png" ng-click="event.removeRelationIssue(data.id)">';
                                        //     }
                                        //     break;
                                        // 연관 이슈 우선순위
                                        case "REL_COMMON_PRIORITY" :
                                            makeTag += "<span class='badge' ng-style='{ \"background-color\" : \"" + scope.data.priorityVo.color + "\"," + "\"border-color\"" + " : \"" + scope.data.priorityVo.color + "\", \"color\": \"#FFFFFF\" }' translate='" + scope.data.priorityVo.name + "'></span>";
                                            break;
                                        // case "REL_COMMON_PRIORITY" :
                                        //     makeTag += "<span class='badge' ng-style='{ \"background-color\" : \"" + scope.data.priorityVo.color + "\"," + "\"border-color\"" + " : \"" + scope.data.priorityVo.color + "\", \"color\": \"#FFFFFF\" }' translate='" + scope.data.priorityVo.name + "'></span>";
                                        //     break;
                                        // 연관 이슈 중요도
                                        case "REL_COMMON_SEVERITY" :
                                            makeTag += "<span class='badge' ng-style='{ \"background-color\" : \"" + scope.data.severityVo.color + "\"," + "\"border-color\"" + " : \"" + scope.data.severityVo.color + "\", \"color\": \"#FFFFFF\" }' translate='" + scope.data.severityVo.name + "'></span>";
                                            break;
                                        // case "REL_COMMON_SEVERITY" :
                                        //     makeTag += "<span class='badge' ng-style='{ \"background-color\" : \"" + scope.data.severityVo.color + "\"," + "\"border-color\"" + " : \"" + scope.data.severityVo.color + "\", \"color\": \"#FFFFFF\" }' translate='" + scope.data.severityVo.name + "'></span>";
                                        //     break;
                                        // 연관 이슈 등록자
                                        case "REL_REGISTER":
                                            scope.data.registerVos = [scope.data.issueRelation.registerVo];
                                            makeTag += '<div owl-profile-over class="" table-user-image="data" target="registerVos"></div>';
                                            break;
                                            break;
                                        // case "REL_REGISTER":
                                        //     scope.data.registerVos = [scope.data.issueRelation.registerVo];
                                        //     makeTag += '<div owl-profile-over class="" table-user-image="data" target="registerVos"></div>';
                                        //     break;
                                        //
                                        //     break;
                                        // 연관 이슈 담당부서
                                        case "REL_ISSUE_DEPARTMENT" :
                                            makeTag += "<ul class='ul-not-comma'>";
                                            makeTag += "<div style='color: #000000'>";
                                            angular.forEach(scope.data.issueRelation.departmentVos, function (departments) {
                                                makeTag += "<li>" + departments.departmentName + "</li>";
                                            });
                                            makeTag += "</div>";
                                            makeTag += "</ul>";
                                            break;
                                        // case "REL_ISSUE_DEPARTMENT" :
                                        //     makeTag += "<ul class='ul-not-comma'>";
                                        //     makeTag += "<div style='color: #000000'>";
                                        //     angular.forEach(scope.data.issueRelation.departmentVos, function (departments) {
                                        //         makeTag += "<li>" + departments.departmentName + "</li>";
                                        //     });
                                        //     makeTag += "</div>";
                                        //     makeTag += "</ul>";
                                        //     break;
                                        // 연관 이슈 목록에서 기간 표시
                                        case "REL_ISSUE_DUE_DATE" :
                                            if (!$rootScope.isDefined(scope.data.issueRelation.startDate) && !$rootScope.isDefined(scope.data.issueRelation.completeDate)) {
                                                makeTag += "<span translate='common.noDate'>기간 없음</span>";
                                            }
                                            else {
                                                makeTag += "<span>" + scope.data.issueRelation.startDate + " ~ " + scope.data.issueRelation.completeDate + "</span>";
                                            }
                                            break;
                                        // case "REL_ISSUE_DUE_DATE" :
                                        //     if (!$rootScope.isDefined(scope.data.issueRelation.startDate) && !$rootScope.isDefined(scope.data.issueRelation.completeDate)) {
                                        //         makeTag += "<span translate='common.noDate'>기간 없음</span>";
                                        //     }
                                        //     else {
                                        //         makeTag += "<span>" + scope.data.issueRelation.startDate + " ~ " + scope.data.issueRelation.completeDate + "</span>";
                                        //     }
                                        //     break;
                                        // 연관 이슈 사용자 정의 필드
                                        case "REL_ISSUE_CUSTOM_FIELD_VALUE_VIEW" :
                                            var values = [];
                                            for (var count in scope.data.issueRelation.issueCustomFieldValueVos) {
                                                var issueCustomFieldValueVo = scope.data.issueRelation.issueCustomFieldValueVos[count];
                                                //  테이블 설정에서 dName 부분에 사용자 정의 필드 id 를 넣고 해당 값을 추출한다.
                                                if (tableConfig.columnHint.id == issueCustomFieldValueVo.customFieldVo.id) {
                                                    values.push(issueCustomFieldValueVo.useValue);
                                                }
                                            }
                                            angular.forEach(values, function (value) {
                                                makeTag += '<span class="table-word-break-all cursor">' + value + '<span><br>';
                                            });
                                            break;
                                        // case "REL_ISSUE_CUSTOM_FIELD_VALUE_VIEW" :
                                        //     var values = [];
                                        //
                                        //     for (var count in scope.data.issueRelation.issueCustomFieldValueVos) {
                                        //         var issueCustomFieldValueVo = scope.data.issueRelation.issueCustomFieldValueVos[count];
                                        //         //  테이블 설정에서 dName 부분에 사용자 정의 필드 id 를 넣고 해당 값을 추출한다.
                                        //         if (tableConfig.columnHint.id == issueCustomFieldValueVo.customFieldVo.id) {
                                        //             values.push(issueCustomFieldValueVo.useValue);
                                        //         }
                                        //     }
                                        //     angular.forEach(values, function (value) {
                                        //         makeTag += '<span class="table-word-break-all cursor">' + value + '<span><br>';
                                        //     });
                                        //
                                        //     break;
                                        // 하위 이슈 이동(제목)
                                        case "ISSUE_DOWN_MOVE" :
                                            makeTag += "<span class=\"titlename cursor\" ng-click=\"event.changeDetailView(data)\">" + scope.data.title + "</span></a>";
                                            break;
                                        // 하위 이슈 타입
                                        case "ISSUE_DOWN_STATUS_TYPE" :
                                            makeTag += "<span class='badge' ng-style='{ \"background-color\" : \"" + scope.data.issueStatusVo.color + "\"," + "\"border-color\"" + " : \"" + scope.data.issueStatusVo.color + "\", \"color\": \"#FFFFFF\" }'>" + scope.data.issueStatusVo.name + "</span>";
                                            break;
                                        // case "ISSUE_DOWN_MOVE" :
                                        //     makeTag += "<span class=\"titlename cursor\" ng-click=\"event.changeDetailView(data)\">" + scope.data.title + "</span></a>";
                                        //     break;
                                        //
                                        // // 하위 이슈 타입
                                        // case "ISSUE_DOWN_STATUS_TYPE" :
                                        //     makeTag += "<span class='badge' ng-style='{ \"background-color\" : \"" + scope.data.issueStatusVo.color + "\"," + "\"border-color\"" + " : \"" + scope.data.issueStatusVo.color + "\", \"color\": \"#FFFFFF\" }'>" + scope.data.issueStatusVo.name + "</span>";
                                        //     break;
                                        //
                                        // 하위 이슈 삭제
                                        case "ISSUE_DOWN_DELETE":
                                            makeTag += '<img class="cursor" src="/assets/images/delete-icon.png" ng-click="event.removeDownIssue(data.id)">';
                                            break;
                                        // case "ISSUE_DOWN_DELETE":
                                        //     if (scope.data.modifyPermissionCheck) {
                                        //         makeTag += '<img class="cursor" src="/assets/images/delete-icon.png" ng-click="event.removeDownIssue(data.id)">';
                                        //     }
                                        //     break;
                                        //
                                        // 하위 이슈 우선 순위
                                        case "DOWN_COMMON_PRIORITY" :
                                            makeTag += "<span class='badge' ng-style='{ \"background-color\" : \"" + scope.data.priorityVo.color + "\"," + "\"border-color\"" + " : \"" + scope.data.priorityVo.color + "\", \"color\": \"#FFFFFF\" }' translate='" + scope.data.priorityVo.name + "'></span>";
                                            break;
                                        // case "DOWN_COMMON_PRIORITY" :
                                        //     makeTag += "<span class='badge' ng-style='{ \"background-color\" : \"" + scope.data.priorityVo.color + "\"," + "\"border-color\"" + " : \"" + scope.data.priorityVo.color + "\", \"color\": \"#FFFFFF\" }' translate='" + scope.data.priorityVo.name + "'></span>";
                                        //     break;
                                        //
                                        // 하위 이슈 중요도
                                        case "DOWN_COMMON_SEVERITY" :
                                            makeTag += "<span class='badge' ng-style='{ \"background-color\" : \"" + scope.data.severityVo.color + "\"," + "\"border-color\"" + " : \"" + scope.data.severityVo.color + "\", \"color\": \"#FFFFFF\" }' translate='" + scope.data.severityVo.name + "'></span>";
                                            break;
                                        // case "DOWN_COMMON_SEVERITY" :
                                        //     makeTag += "<span class='badge' ng-style='{ \"background-color\" : \"" + scope.data.severityVo.color + "\"," + "\"border-color\"" + " : \"" + scope.data.severityVo.color + "\", \"color\": \"#FFFFFF\" }' translate='" + scope.data.severityVo.name + "'></span>";
                                        //     break;
                                        //
                                        // 하위 이슈 담당부서
                                        case "DOWN_ISSUE_DEPARTMENT" :
                                            makeTag += "<ul class='ul-not-comma'>";
                                            makeTag += "<div style='color: #000000'>";
                                            angular.forEach(scope.data.departmentVos, function (departments) {
                                                makeTag += "<li>" + departments.departmentName + "</li>";
                                            });
                                            makeTag += "</div>";
                                            makeTag += "</ul>";
                                            break;
                                        // case "DOWN_ISSUE_DEPARTMENT" :
                                        //     makeTag += "<ul class='ul-not-comma'>";
                                        //     makeTag += "<div style='color: #000000'>";
                                        //     angular.forEach(scope.data.departmentVos, function (departments) {
                                        //         makeTag += "<li>" + departments.departmentName + "</li>";
                                        //     });
                                        //     makeTag += "</div>";
                                        //     makeTag += "</ul>";
                                        //     break;
                                        //
                                        // 하위 이슈 등록자
                                        case "DOWN_REGISTER":
                                            scope.data.registerVos = [scope.data.registerVo];
                                            makeTag += '<div owl-profile-over class="" table-user-image="data" target="registerVos"></div>';
                                            break;
                                        // case "DOWN_REGISTER":
                                        //     scope.data.registerVos = [scope.data.registerVo];
                                        //     makeTag += '<div owl-profile-over class="" table-user-image="data" target="registerVos"></div>';
                                        //     break;
                                        //
                                        // 하위 이슈 기간
                                        case "DOWN_ISSUE_DUE_DATE" :
                                            if (!$rootScope.isDefined(scope.data.startDate) && !$rootScope.isDefined(scope.data.completeDate)) {
                                                makeTag += "<span translate='common.noDate'>기간 없음</span>";
                                            }
                                            else {
                                                makeTag += "<span>" + scope.data.startDate + " ~ " + scope.data.completeDate + "</span>";
                                            }
                                            break;
                                        // case "DOWN_ISSUE_DUE_DATE" :
                                        //     if (!$rootScope.isDefined(scope.data.startDate) && !$rootScope.isDefined(scope.data.completeDate)) {
                                        //         makeTag += "<span translate='common.noDate'>기간 없음</span>";
                                        //     }
                                        //     else {
                                        //         makeTag += "<span>" + scope.data.startDate + " ~ " + scope.data.completeDate + "</span>";
                                        //     }
                                        //     break;
                                        //
                                        // 하위 이슈 사용자 정의 필드
                                        case "DOWN_ISSUE_CUSTOM_FIELD_VALUE_VIEW" :
                                            var values = [];
                                            for (var count in scope.data.issueCustomFieldValueVos) {
                                                var issueCustomFieldValueVo = scope.data.issueCustomFieldValueVos[count];
                                                //  테이블 설정에서 dName 부분에 사용자 정의 필드 id 를 넣고 해당 값을 추출한다.
                                                if (tableConfig.columnHint.id == issueCustomFieldValueVo.customFieldVo.id) {
                                                    values.push(issueCustomFieldValueVo.useValue);
                                                }
                                            }
                                            angular.forEach(values, function (value) {
                                                makeTag += '<span class="table-word-break-all">' + value + '<span><br>';
                                            });
                                            break;
                                        // case "DOWN_ISSUE_CUSTOM_FIELD_VALUE_VIEW" :
                                        //     var values = [];
                                        //
                                        //     for (var count in scope.data.issueCustomFieldValueVos) {
                                        //         var issueCustomFieldValueVo = scope.data.issueCustomFieldValueVos[count];
                                        //         //  테이블 설정에서 dName 부분에 사용자 정의 필드 id 를 넣고 해당 값을 추출한다.
                                        //         if (tableConfig.columnHint.id == issueCustomFieldValueVo.customFieldVo.id) {
                                        //             values.push(issueCustomFieldValueVo.useValue);
                                        //         }
                                        //     }
                                        //     angular.forEach(values, function (value) {
                                        //         makeTag += '<span class="table-word-break-all">' + value + '<span><br>';
                                        //     });
                                        //
                                        //     break;
                                        //  이름을 클릭하면 수정 팝업 표시
                                        case "COMMON_MODIFY" :
@@ -419,6 +439,7 @@
                                            break;
                                        // 이슈 제목
                                        case "ISSUE_TITLE" :
                                            scope.data.title = scope.data.title.replace(/</gi, '&lt;');
                                            makeTag += '<div class="tags text-left">';
                                            makeTag += '<i class="fa fa-star move-star" ng-show="$root.currentDetailIssueId == data.id">&nbsp;</i>';
                                            makeTag += '<span class="number-tag">' + scope.data.projectKey + ' - ' + scope.data.issueNumber + '</span>';
@@ -429,7 +450,7 @@
                                                makeTag += "<span class='badge' ng-style='{ \"background-color\" : \"#EF8D9A" + "\"," + "\"border-color\"" + " : \"#EF8D9A" + "\", \"color\": \"#FFFFFF\" }'>" + "<span>API</span>" + "</span>";
                                            }
                                            makeTag += '</div>';
                                            makeTag += '<div class="titlename cursor text-left" ng-click="event.changeDetailView(data.id)">' + scope.data.title.replace(/</gi, '&lt;') + '</div>';
                                            makeTag += '<div class="titlename cursor text-left" ng-click="event.changeDetailView(data.id)" translate="' + scope.data.title + '">' + '</div>';
                                            makeTag += '<div class="extra-infodiv text-left">';
                                            makeTag += '<span class="extra-info">';
                                            makeTag += '<i class="os-icon os-icon-mail-12"></i>';
@@ -452,12 +473,18 @@
                                            makeTag += "<span ng-click=\"event.changeDetailView(data.id)\" class='badge cursor' ng-style='{ \"background-color\" : \"" + scope.data.severityColor + "\"," + "\"border-color\"" + " : \"" + scope.data.severityColor + "\", \"color\": \"#FFFFFF\" }' translate='" + scope.data.severityName + "'></span>";
                                            break;
                                        // 이슈 유형
                                        case "COMMON_ISSUE_TYPE" :
                                            makeTag += "<span ng-click=\"event.changeDetailView(data.id)\" class='cursor' translate='" + scope.data.issueTypeName + "'></span>";
                                            break;
                                        // 담당 부서
                                        case "ISSUE_DEPARTMENT" :
                                            makeTag += "<ul ng-click=\"event.changeDetailView(data.id)\"  class='ul-not-comma cursor'>";
                                                makeTag += "<div style='color: #000000'>";
                                                angular.forEach(scope.data.departmentVos, function (departments) {
                                                    makeTag += "<li>" + departments.departmentName + "</li>";
                                                    scope.data.departmentName = departments.departmentName;
                                                    makeTag += "<li translate='" + scope.data.departmentName + "'>" + "</li>";
                                                });
                                                makeTag += "</div>";
                                            makeTag += "</ul>";
@@ -484,6 +511,30 @@
                                            });
                                            makeTag += "</div>";
                                            makeTag += "</ul>";
                                            break;
                                        // 업체
                                        case "USE_COMPANY" :
                                            if (scope.data.companyName == null) {
                                                scope.data.companyName = "";
                                            }
                                            makeTag += "<span ng-click=\"event.changeDetailView(data.id)\" class='cursor' translate='" + scope.data.companyName + "'></span>";
                                            break;
                                        // ISP
                                        case "USE_ISP" :
                                            if (scope.data.ispName == null) {
                                                scope.data.ispName = "";
                                            }
                                            makeTag += "<span ng-click=\"event.changeDetailView(data.id)\" class='cursor' translate='" + scope.data.ispName + "'></span>";
                                            break;
                                        // 호스팅
                                        case "USE_HOSTING" :
                                            if (scope.data.hostingName == null) {
                                                scope.data.hostingName = "";
                                            }
                                            makeTag += "<span ng-click=\"event.changeDetailView(data.id)\" class='cursor' translate='" + scope.data.hostingName + "'></span>";
                                            break;
                                        case "WORKFLOW_NAME":
@@ -618,11 +669,17 @@
                                        case "LEVEL_OPTION" :
                                            //makeTag += "<select class='form-control input-sm'  ng-model='data.levels[0].id' ng-options='levelName.id as levelName.levelName for levelName in data.levels' ></select>";
                                            makeTag +="<select class='form-control input-sm' ng-model='data.levelId' ng-change='event.modifyUserWorkspace(data)'><option ng-repeat='level in data.levels' ng-value='level.fieldKey'>{{::level.fieldValue}}</option></select>";
                                            if (scope.data.managerYn === 'Y'){
                                                makeTag +="<span>최고관리자</span>";
                                            } else {
                                                makeTag +="<select class='form-control input-sm' ng-model='data.levelId' ng-change='event.modifyUserWorkspace(data)'><option ng-repeat='level in data.levels' ng-value='level.fieldKey'>{{::level.fieldValue}}</option></select>";
                                            }
                                            break;
                                        case "WORKSPACE_USE_YN" :
                                            makeTag += "<label class='switch'><input type='checkbox' ng-model='data.useYn' ng-click='event.modifyUserWorkspace(data)'><span class='slider round'></span></label>";
                                            if (scope.data.managerYn !== 'Y'){
                                                makeTag += "<label class='switch'><input type='checkbox' ng-model='data.useYn' ng-click='event.modifyUserWorkspace(data)'><span class='slider round'></span></label>";
                                            }
                                            break;
                                        case "COMPANYFIELD_MODIFY" :
@@ -631,6 +688,30 @@
                                            }
                                            else {
                                                makeTag += "<span class='titlename not-modify table-word-break-all'>" + scope.data.name + "</span>";
                                            }
                                            break;
                                        case "COMPANYFIELD_IP" :
                                            if ($rootScope.isDefined(scope.data.ipStart) && $rootScope.isDefined(scope.data.ipEnd)) {
                                                let ipStartArr = [];
                                                let ipEndArr = [];
                                                if (scope.data.ipStart.indexOf(",") !== -1) {
                                                    scope.data.ipStart = scope.data.ipStart.split(",");
                                                    ipStartArr = angular.copy(scope.data.ipStart);
                                                }
                                                if (scope.data.ipEnd.indexOf(",") !== -1) {
                                                    scope.data.ipEnd = scope.data.ipEnd.split(",");
                                                    ipEndArr = angular.copy(scope.data.ipEnd);
                                                }
                                                if ($rootScope.isDefined(ipStartArr) && ipStartArr.toString() ===  scope.data.ipStart.toString()
                                                        && $rootScope.isDefined(ipEndArr) && ipEndArr.toString() ===  scope.data.ipEnd.toString()) {
                                                    scope.data.ipStart = scope.data.ipStart[0];
                                                    scope.data.ipEnd = scope.data.ipEnd[0];
                                                }
                                                makeTag += "<span>" + scope.data.ipStart + "<br>~</br>" + scope.data.ipEnd + "</span>";
                                            }
                                            break;
@@ -657,14 +738,16 @@
                                            for (var count in scope.data.issueCustomFieldValueVos) {
                                                var issueCustomFieldValueVo = scope.data.issueCustomFieldValueVos[count];
                                                //  테이블 설정에서 dName 부분에 사용자 정의 필드 id 를 넣고 해당 값을 추출한다.
                                                if (tableConfig.columnHint.id == issueCustomFieldValueVo.customFieldVo.id) {
                                                if (tableConfig.columnHint.id === issueCustomFieldValueVo.customFieldVo.id) {
                                                    values.push(issueCustomFieldValueVo.useValue);
                                                }
                                            }
                                            angular.forEach(values, function (value) {
                                                makeTag += '<span ng-click="event.changeDetailView(data.id)" class="table-word-break-all cursor">' + value + '<span><br>';
                                            angular.forEach(values, function (useValue) {
                                                scope.data[tableConfig.dName] = useValue;
                                                makeTag += '<span ng-click="event.changeDetailView(data.id)" class="table-word-break-all cursor">' + scope.data[tableConfig.dName] + '<span>';
                                            });
                                            break;
@@ -680,7 +763,8 @@
                                            break;
                                        case "NOTICE_REGISTER":
                                            makeTag += '<img src="/assets/images/logineyes.png" style="width:30px;"> <span class="fc-blue bold">OWL ITS TEAM</span>';
                                            //makeTag += '<img src="/assets/images/logineyes.png" style="width:30px;"> <span class="fc-blue bold">OWL ITS TEAM</span>';
                                            makeTag += '<img src="/assets/images/logo-kisa.png" style="width:30px;"> <span class="fc-blue bold">' + scope.data.writer+ '</span>';
                                            break;
                                        case "GUIDE_MODIFY":
                                            if ($rootScope.checkMngPermission('USER_PERMISSION_MNG_GUIDE')) {
@@ -693,7 +777,7 @@
                                            break;
                                        case "GUIDE_REGISTER":
                                            makeTag += '<img src="/assets/images/logineyes.png" style="width:30px;"> <span class="fc-blue bold">' + scope.data.writer + '</span>';
                                            makeTag += '<img src="/assets/images/logo-kisa.png" style="width:30px;"> <span class="fc-blue bold">' + scope.data.writer + '</span>';
                                            break;
                                        case "GUIDE_ACTIVE" :
@@ -733,14 +817,16 @@
                                            break;
                                        case "FAQ_REGISTER":
                                            makeTag += '<img src="/assets/images/logineyes.png" style="width:30px;"> <span class="fc-blue bold">' + scope.data.writer + '</span>';
                                            makeTag += '<img src="/assets/images/logo-kisa.png" style="width:30px;"> <span class="fc-blue bold">' + scope.data.writer + '</span>';
                                            break;
                                        case "FAQ_ACTIVE" :
                                            makeTag += "<label class='switch'><input type='checkbox' ng-model='data.activation' ng-click='event.activation(data)'><span class='slider round'></span></label>";
                                            if ($rootScope.checkMngPermission('USER_PERMISSION_MNG_FAQ')) {
                                                makeTag += "<label class='switch'><input type='checkbox' ng-model='data.activation' ng-click='event.activation(data)'><span class='slider round'></span></label>";
                                            }
                                            break;
                                        case "QNA_MODIFY":
                                            if ($rootScope.checkMngPermission('USER_PERMISSION_MNG_QNA')) {
                                            if ($rootScope.checkMngPermission('USER_PERMISSION_MNG_QNA') || $rootScope.user.id === scope.data.registerId) {
                                                makeTag += "<span class='titlename cursor table-word-break-all' ng-click='event.modify(data.id)'>" + scope.data.title.replace(/</gi, '&lt;') + "</span>";
                                            }
                                            else {
@@ -749,7 +835,7 @@
                                            break;
                                        case "QNA_REGISTER":
                                            makeTag += '<img src="/assets/images/logineyes.png" style="width:30px;"> <span class="fc-blue bold">' + scope.data.writer + '</span>';
                                            makeTag += '<img src="/assets/images/logo-kisa.png" style="width:30px;"> <span class="fc-blue bold">' + scope.data.writer + '</span>';
                                            break;
                                    }
                                }