From 7068088ec7e3b79e4259fc881e170205f210855e Mon Sep 17 00:00:00 2001
From: wyu <kknd09321@nate.com>
Date: 월, 06 12월 2021 17:10:16 +0900
Subject: [PATCH] 이슈 상세 화면 하위 이슈 테이블 설정 사용자 정의 필드 타입 변경시 이름 초기화 수정

---
 src/main/webapp/scripts/components/utils/autoComplete.controller.js          |   43 ++++++++
 src/main/webapp/scripts/app/issue/issueAddTableConfig.controller.js          |   26 +++--
 src/main/webapp/views/issue/issueAddTableConfig.html                         |   16 +-
 src/main/webapp/scripts/app/project/projectCustomFieldConfig.controller.js   |   16 ++
 src/main/webapp/scripts/app/issue/issueList.controller.js                    |   64 ++++++++----
 src/main/webapp/views/issue/issueAddRelation.html                            |   53 ++++++----
 src/main/webapp/scripts/app/issue/issueAddDownTableConfig.controller.js      |   10 +
 src/main/webapp/views/issue/issueDetail.html                                 |    2 
 src/main/webapp/scripts/app/issue/issueDetail.controller.js                  |   23 ++++
 src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js |   42 +++++++-
 10 files changed, 219 insertions(+), 76 deletions(-)

diff --git a/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js b/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js
index c773066..ab0272d 100644
--- a/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js
+++ b/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js
@@ -189,7 +189,7 @@
                                                 makeTag += "<span translate='common.noDate'>湲곌컙 �뾾�쓬</span>";
                                             }
                                             else {
-                                                makeTag += "<span>" + scope.data.startDate + " ~ " + scope.data.completeDate + "</span>";
+                                                makeTag += '<span class="cursor" ng-click="event.changeDetailView(data.id)">'  + scope.data.startDate + ' ~ ' + scope.data.completeDate + '</span>';
                                             }
                                             break;
 
@@ -290,7 +290,7 @@
                                                 }
                                             }
                                             angular.forEach(values, function (value) {
-                                                makeTag += '<span class="table-word-break-all">' + value + '<span><br>';
+                                                makeTag += '<span class="table-word-break-all cursor">' + value + '<span><br>';
                                             });
 
                                             break;
@@ -299,6 +299,11 @@
                                         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;
 
                                         // �븯�쐞 �씠�뒋 �궘�젣
@@ -408,19 +413,42 @@
                                             }
 
                                             break;
+                                        // �씠�뒋 �젣紐�
+                                        case "ISSUE_TITLE" :
+                                            makeTag += '<div class="tags">';
+                                            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>';
+                                            makeTag += ' <span class="tag"> / </span> ';
+                                            makeTag += "<span class='badge' ng-style='{ \"background-color\" : \"" + scope.data.issueStatusColor + "\"," + "\"border-color\"" + " : \"" + scope.data.issueStatusColor + "\", \"color\": \"#FFFFFF\" }'>" + scope.data.issueStatusName + "</span>";
+                                            makeTag += ' <span class="tag"> / </span> ';
+                                            makeTag += '<span class="tag">' + scope.data.projectName + '</span>';
+                                            makeTag += '</div>';
+                                            makeTag += '<div class="titlename cursor" ng-click="event.changeDetailView(data.id)">' + scope.data.title.replace(/</gi, '&lt;') + '</div>';
+                                            makeTag += '<div class="extra-infodiv">';
+                                            makeTag += '<span class="extra-info">';
+                                            makeTag += '<i class="os-icon os-icon-mail-12"></i>';
+                                            makeTag += '<span>' + scope.data.issueCommentCount + '</span>';
+                                            makeTag += '</span>';
+                                            makeTag += '<span class="extra-info">';
+                                            makeTag += '<i class="os-icon os-icon-ui-51"></i>';
+                                            makeTag += '<span>' + scope.data.attachedFileCount + '</span>';
+                                            makeTag += '</span>';
+                                            makeTag += '</div>';
+                                            break;
+
                                         // �슦�꽑 �닚�쐞
                                         case "COMMON_PRIORITY" :
-                                            makeTag += "<span class='badge' ng-style='{ \"background-color\" : \"" + scope.data.priorityColor + "\"," + "\"border-color\"" + " : \"" + scope.data.priorityColor + "\", \"color\": \"#FFFFFF\" }' translate='" + scope.data.priorityName + "'></span>";
+                                            makeTag += "<span ng-click=\"event.changeDetailView(data.id)\" class='badge cursor' ng-style='{ \"background-color\" : \"" + scope.data.priorityColor + "\"," + "\"border-color\"" + " : \"" + scope.data.priorityColor + "\", \"color\": \"#FFFFFF\" }' translate='" + scope.data.priorityName + "'></span>";
                                             break;
 
                                         // 以묒슂�룄
                                         case "COMMON_SEVERITY" :
-                                            makeTag += "<span class='badge' ng-style='{ \"background-color\" : \"" + scope.data.severityColor + "\"," + "\"border-color\"" + " : \"" + scope.data.severityColor + "\", \"color\": \"#FFFFFF\" }' translate='" + scope.data.severityName + "'></span>";
+                                            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 "ISSUE_DEPARTMENT" :
-                                            makeTag += "<ul class='ul-not-comma'>";
+                                            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>";
@@ -437,7 +465,7 @@
                                         // �벑濡앹옄
                                         case "REGISTER" :
                                             scope.data.registerVos = [scope.data.registerVo];
-                                            makeTag += '<div owl-profile-over class="" table-user-image="data" target="registerVos"></div>';
+                                            makeTag += '<div ng-click=\"event.changeDetailView(data.id)\" owl-profile-over class="cursor" table-user-image="data" target="registerVos"></div>';
                                             break;
 
                                         case "WORKFLOW_NAME":
@@ -614,7 +642,7 @@
                                             }
 
                                             angular.forEach(values, function (value) {
-                                                makeTag += '<span class="table-word-break-all">' + value + '<span><br>';
+                                                makeTag += '<span ng-click="event.changeDetailView(data.id)" class="table-word-break-all cursor">' + value + '<span><br>';
                                             });
 
                                             break;
diff --git a/src/main/webapp/scripts/app/issue/issueAddDownTableConfig.controller.js b/src/main/webapp/scripts/app/issue/issueAddDownTableConfig.controller.js
index 3b7e862..8d58039 100644
--- a/src/main/webapp/scripts/app/issue/issueAddDownTableConfig.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueAddDownTableConfig.controller.js
@@ -60,6 +60,12 @@
                         position : 6,
                         display : false
                     }, {
+                        name : $filter("translate")("issue.issueStatus"), // �씠�뒋 �긽�깭
+                        key : "ISSUE_DOWN_STATUS_TYPE",
+                        width : "width-100-p",
+                        position : 7,
+                        display : false
+                    },{
                     }]
                 };
 
@@ -131,7 +137,7 @@
 
                     var content = {
                         issueId : $rootScope.currentDetailIssueId,
-                        delValue : $scope.vm.issueDownTableConfigs.splice(6,1),
+                        delValue : $scope.vm.issueDownTableConfigs.splice(7,1),
                         issueTypeId : $rootScope.getCurrentIssueTypeId(),
                         issueTableConfigs : JSON.stringify($scope.vm.issueDownTableConfigs)
                     };
@@ -150,7 +156,7 @@
 
                 //  �궗�슜�옄 �젙�쓽 �븘�뱶瑜� 議고쉶�븳 �썑 �몴�떆�븷 �씠�뒋 �뀒�씠釉� 而щ읆�쓣 以�鍮꾪븳�떎.
                 $scope.fn.getCustomFields().then(function (result) {
-                    var count = 6;
+                    var count = 7;
                     angular.forEach(result, function (customField) {
                         $scope.vm.issueDownTableConfigs.push({
                             name : customField.name,
diff --git a/src/main/webapp/scripts/app/issue/issueAddTableConfig.controller.js b/src/main/webapp/scripts/app/issue/issueAddTableConfig.controller.js
index 5fc480c..a14c502 100644
--- a/src/main/webapp/scripts/app/issue/issueAddTableConfig.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueAddTableConfig.controller.js
@@ -23,52 +23,58 @@
                 //  蹂��닔 紐⑥쓬
                 $scope.vm = {
                     issueTableConfigs : [{
+                        name : $filter("translate")("issue.issueTitle"), // �씠�뒋 �젣紐�
+                        key : "ISSUE_TITLE",
+                        width : "width-140-p",
+                        position : 1,
+                        display : true
+                    }, {
                         name : $filter("translate")("common.priority"), // �슦�꽑�닚�쐞
                         key : "PRIORITY",
                         width : "width-80-p",
-                        position : 1,
+                        position : 2,
                         display : true
                     }, {
                         name : $filter("translate")("common.importance"), // 以묒슂�룄
                         key : "SEVERITY",
                         width : "width-80-p",
-                        position : 2,
+                        position : 3,
                         display : true
                     }, {
                         name : $filter("translate")("issue.issueType"), // �씠�뒋 ���엯
                         key : "ISSUE_TYPE",
                         width : "width-140-p",
-                        position : 3,
+                        position : 4,
                         display : true
                     }, {
                         name : $filter("translate")("common.assigneeTeam"), // �떞�떦遺��꽌
                         key : "ASSIGNEE_TEAM",
                         width : "width-100-p",
-                        position : 4,
+                        position : 5,
                         display : true
                     }, {
                         name : $filter("translate")("common.countDownIssue"), // �븯�쐞�씠�뒋 移댁슫�듃
                         key : "COUNT_DOWN_ISSUE",
                         width : "width-100-p",
-                        position : 5,
+                        position : 6,
                         display : false
                     }, {
                         name : $filter("translate")("common.register"), // �벑濡앹옄
                         key : "REGISTER",
                         width : "width-100-p",
-                        position : 6,
+                        position : 7,
                         display : false
                     }, {
                         name : $filter("translate")("common.period"), // 湲곌컙
                         key : "PERIOD",
                         width : "width-140-p",
-                        position : 7,
+                        position : 8,
                         display : false
                     }, {
                         name : $filter("translate")("common.lastChangeDate"), // 理쒓렐 蹂�寃쎌씪
                         key : "MODIFY_DATE",
                         width : "width-100-p",
-                        position : 8,
+                        position : 9,
                         display : false
                     }, {
                     }]
@@ -137,7 +143,7 @@
                 }
 
                 var content = {
-                    delValue : $scope.vm.issueTableConfigs.splice(8,1),
+                    delValue : $scope.vm.issueTableConfigs.splice(9,1),
                     issueTableConfigs : JSON.stringify($scope.vm.issueTableConfigs),
                     issueTypeId : $rootScope.getCurrentIssueTypeId()
                 };
@@ -166,7 +172,7 @@
 
                 //  �궗�슜�옄 �젙�쓽 �븘�뱶瑜� 議고쉶�븳 �썑 �몴�떆�븷 �씠�뒋 �뀒�씠釉� 而щ읆�쓣 以�鍮꾪븳�떎.
                 $scope.fn.getCustomFields().then(function (result) {
-                    var count = 7;
+                    var count = 8;
                     angular.forEach(result, function (customField) {
                         $scope.vm.issueTableConfigs.push({
                             name : customField.name,
diff --git a/src/main/webapp/scripts/app/issue/issueDetail.controller.js b/src/main/webapp/scripts/app/issue/issueDetail.controller.js
index d3dda22..7a41cc1 100644
--- a/src/main/webapp/scripts/app/issue/issueDetail.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueDetail.controller.js
@@ -40,6 +40,7 @@
                 $scope.fn.versionView = versionView;    //  踰꾩쟾 �젙蹂대�� �몴�떆�븳�떎.
                 $scope.fn.reservation = reservation;    //  �삁�빟 �젙蹂대�� �솗�씤 諛� 蹂�寃� �븳�떎.
                 $scope.fn.getIssueListCallBack = getIssueListCallBack;
+                $scope.fn.getDownIssueListCallBack = getDownIssueListCallBack;
                 $scope.fn.addRelationIssue = addRelationIssue;      // �뿰愿� �씠�뒋 異붽�
                 $scope.fn.addDownIssue = addDownIssue;      // �븯�쐞 �씠�뒋 異붽�
                 $scope.fn.addRelationIssueTableConfig = addRelationIssueTableConfig;      // �뿰愿� �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙
@@ -227,6 +228,10 @@
                     $scope.vm.autoCompletePage.issue.totalPage = result.data.page.totalPage;
                 }
 
+                function getDownIssueListCallBack(result) {
+                    $scope.vm.autoCompletePage.issue.totalPage = result.data.page.totalPage;
+                }
+
                 //  �뀒�씠釉붿쓽 �뿰愿� �씠�뒋 而щ읆�쓣 留뚮뱾�뼱以��떎.
                 function setRelTableColumn(Rel_issueTableConfig) {
 
@@ -339,6 +344,16 @@
                                 .setDAlign("text-center")
                                 .setDRenderer("ISSUE_DOWN_MOVE"));
                             break;
+
+                        case "ISSUE_DOWN_STATUS_TYPE" : //  �씠�뒋 �긽�깭
+                            $scope.vm.downTableConfigs.push($tableProvider.config()
+                                .setHName("issue.issueStatus")
+                                .setDType("renderer")
+                                .setHWidth("bold " + Down_issueTableConfig.width)
+                                .setDAlign("text-center")
+                                .setDRenderer("ISSUE_DOWN_STATUS_TYPE"));
+                            break;
+
                         case "PRIORITY" :   // �븯�쐞 �씠�뒋 �슦�꽑�닚�쐞
                             $scope.vm.downTableConfigs.push($tableProvider.config()
                                 .setHName("common.priority")
@@ -873,10 +888,16 @@
                                     angular.forEach(result.data.data.issueDownVos, function (issueDownVo){
                                         //$scope.vm.form.issuesDown.push(issueDownVo.issueDown);
                                         $scope.vm.form.issuesDown.push(issueDownVo);
+                                        // 媛꾪뿉�쟻�씤 �븯�쐞 �씠�뒋 媛깆떊 �삤瑜� 諛⑹�
+                                        $rootScope.$on("getIssueDetail", function (event, args) {
+                                            $scope.fn.getIssueDetail();
+                                        });
+                                        
                                     });
                                 }
                                 $scope.vm.viewer.issueRelationVos = result.data.data.issueRelationVos;
                                 $scope.vm.viewer.issueDownVos = result.data.data.issueDownVos;
+
 
                                 if ($rootScope.workProject.id > -1 && result.data.data.projectVo !== null) {
                                     $rootScope.changeLastProject(result.data.data.projectVo.id);
@@ -888,8 +909,6 @@
                         }
                     });
                 }
-
-                // ===================================================================================
 
                 //  �씠�뒋 �씠誘몄� 誘몃━ 蹂닿린 留뚮뱾湲�
                 function makePreviewImages(attachedFileVos) {
diff --git a/src/main/webapp/scripts/app/issue/issueList.controller.js b/src/main/webapp/scripts/app/issue/issueList.controller.js
index daf60ba..b520cad 100644
--- a/src/main/webapp/scripts/app/issue/issueList.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueList.controller.js
@@ -202,30 +202,37 @@
                         .setDAlign("text-center"));
 
                     //  �긽�꽭�삎 �씪�븣�븣
-                   if ($scope.vm.detailView) {
-                        $scope.vm.tableConfigs.push($tableProvider.config()
-                            .setHName("issue.issueTitle")
-                            .setDName("title")
-                            .setDType("renderer")
-                            .setHWidth("width-100 bold")
-                            .setDRenderer("ISSUE_DETAIL_FLOATING"));
-                    }
-                    else {
-                       $scope.vm.tableConfigs.push($tableProvider.config()
-                           .setHName("issue.issueTitle")
-                           .setDName("title")
-                           .setDType("renderer")
-                           .setHWidth("bold")
-                           .setDRenderer("ISSUE_DETAIL_FLOATING"));
-
-                        angular.forEach($scope.vm.issueTableConfigs, function (issueTableConfig) {
-                            //  �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎.
-                            if (issueTableConfig.display) {
-                                //  �뀒�씠釉붿쓽 而щ읆�쓣 留뚮뱾�뼱以��떎.
-                                $scope.fn.setTableColumn(issueTableConfig);
-                            }
-                        });
-                    }
+                   // if ($scope.vm.detailView) {
+                   //      $scope.vm.tableConfigs.push($tableProvider.config()
+                   //          .setHName("issue.issueTitle")
+                   //          .setDName("title")
+                   //          .setDType("renderer")
+                   //          .setHWidth("bold")
+                   //          .setDRenderer("ISSUE_DETAIL_FLOATING"));
+                   //  }
+                   //  else {
+                   //     $scope.vm.tableConfigs.push($tableProvider.config()
+                   //         .setHName("issue.issueTitle")
+                   //         .setDName("title")
+                   //         .setDType("renderer")
+                   //         .setHWidth("bold")
+                   //         .setDRenderer("ISSUE_DETAIL_FLOATING"));
+                   //
+                   //      angular.forEach($scope.vm.issueTableConfigs, function (issueTableConfig) {
+                   //          //  �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎.
+                   //          if (issueTableConfig.display) {
+                   //              //  �뀒�씠釉붿쓽 而щ읆�쓣 留뚮뱾�뼱以��떎.
+                   //              $scope.fn.setTableColumn(issueTableConfig);
+                   //          }
+                   //      });
+                   //  }
+                    angular.forEach($scope.vm.issueTableConfigs, function (issueTableConfig) {
+                        //  �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎.
+                        if (issueTableConfig.display) {
+                            //  �뀒�씠釉붿쓽 而щ읆�쓣 留뚮뱾�뼱以��떎.
+                            $scope.fn.setTableColumn(issueTableConfig);
+                        }
+                    });
                 }
 
                 //  �뀒�씠釉붿쓽 而щ읆�쓣 留뚮뱾�뼱以��떎.
@@ -233,6 +240,15 @@
 
                     //  �씪諛� 而щ읆
                     switch(issueTableConfig.key) {
+                        case "ISSUE_TITLE" :   //  �씠�뒋 �젣紐�
+                            $scope.vm.tableConfigs.push($tableProvider.config()
+                                .setHName("issue.issueTitle")
+                                .setDType("renderer")
+                                .setHWidth("bold " + issueTableConfig.width)
+                                .setDAlign("text-center")
+                                .setDRenderer("ISSUE_TITLE"));
+                            break;
+
                         case "PRIORITY" :   //  �슦�꽑�닚�쐞
                             $scope.vm.tableConfigs.push($tableProvider.config()
                                 .setHName("common.priority")
diff --git a/src/main/webapp/scripts/app/project/projectCustomFieldConfig.controller.js b/src/main/webapp/scripts/app/project/projectCustomFieldConfig.controller.js
index 58f20f5..9106d78 100644
--- a/src/main/webapp/scripts/app/project/projectCustomFieldConfig.controller.js
+++ b/src/main/webapp/scripts/app/project/projectCustomFieldConfig.controller.js
@@ -24,12 +24,14 @@
 
                 $scope.vm = {
                     form : {
-                        issueTypeId : ""
+                        issueTypeId : "",
+                        useValue : ""
                     },
                     issueTypes : [],
                     originCustomFields : [],
                     customFields : [],
-                    relationCustomFields : []
+                    relationCustomFields : [],
+                    useValues : []
                 };
 
                 //  �씠�뒋 �쑀�삎 紐⑸줉�쓣 媛��졇�삩�떎.
@@ -92,12 +94,18 @@
                         $resourceProvider.getPageContent(0, 0))).then(function (result) {
 
                         if (result.data.message.status === "success") {
+
                             //  �솕硫댁뿉�꽌 �씠由꾩쓣 �몴�떆�븯湲� �쐞�빐 �궗�슜�옄 �젙�쓽 �븘�뱶 紐낆쓣 name �뿉 �뀑�똿�븳�떎.
                             angular.forEach(result.data.data, function (issueTypeCustomField) {
                                 var relationCustomField = angular.copy(issueTypeCustomField.customFieldVo);
                                 relationCustomField.checked = issueTypeCustomField.fieldOption == '01';    //  �븘�닔 媛� �뿬遺�
                                 $scope.vm.relationCustomFields.push(relationCustomField);
+
+                                for (var i=0; i < result.data.data.length; i++){
+                                    $scope.vm.useValues.push(result.data.data[i].useValue)
+                                }
                             });
+
 
                             angular.forEach($scope.vm.originCustomFields, function (originCustomField) {
                                 var search = false;
@@ -144,6 +152,7 @@
                     $rootScope.spinner = true;
 
                     var content = {
+                        useValues : $scope.vm.useValues,
                         projectId : parameter.id,
                         issueTypeId : $scope.vm.form.issueTypeId,
                         relationCustomFields : $scope.vm.relationCustomFields
@@ -152,6 +161,9 @@
                     IssueTypeCustomField.modify($resourceProvider.getContent(
                         content,
                         $resourceProvider.getPageContent(0, 10))).then(function (result) {
+                            if ($scope.vm.useValues === false) {
+                                alert("�씠誘� �궗�슜以묒씤 �븘�뱶 �엯�땲�떎.")
+                            }
 
                         if (result.data.message.status === "success") {
                             SweetAlert.success($filter("translate")("project.saveCompleteFieldManagement"), $filter("translate")("project.saveUserDefinedFieldAndIssueTypeConnection")); // "�븘�뱶 愿�由� ���옣 �셿猷�", "�궗�슜�옄 �젙�쓽 �븘�뱶�� �씠�뒋 ���엯 �뿰寃� �젙蹂닿� ���옣�릺�뿀�뒿�땲�떎."
diff --git a/src/main/webapp/scripts/components/utils/autoComplete.controller.js b/src/main/webapp/scripts/components/utils/autoComplete.controller.js
index 004e327..8be4e38 100644
--- a/src/main/webapp/scripts/components/utils/autoComplete.controller.js
+++ b/src/main/webapp/scripts/components/utils/autoComplete.controller.js
@@ -31,6 +31,7 @@
                 $scope.fn.getUserList = getUserList;    //  �궗�슜�옄 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
                 $scope.fn.getProjectList = getProjectList;  //  �봽濡쒖젥�듃 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
                 $scope.fn.getIssueList = getIssueList;  //  �씪媛� 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
+                $scope.fn.getDownIssueList = getDownIssueList;  //  �븯�쐞 �씠�뒋 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
                 $scope.fn.getWorkflowList = getWorkflowList;    //  �썙�겕�뵆濡쒖슦 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
                 $scope.fn.getUserDepartmentList = getUserDepartmentList;    //  遺��꽌 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
                 $scope.fn.getIssueCompanyFieldList = getIssueCompanyFieldList;    //  �뾽泥� 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
@@ -168,6 +169,48 @@
                     return deferred.promise;
                 }
 
+
+                function getDownIssueList(query, issueTypeId, excludeList, page, callBack) {
+                    var conditions = {
+                        name : query,
+                        // issueTypeIds : (function () {
+                        //     var ids = [];
+                        //
+                        //     ids.push(issueTypeId);
+                        //
+                        //     return ids;
+                        // })(),
+                        excludeIds : (function () {
+                            var excludeIds = [];
+
+                            angular.forEach(excludeList, function (exclude) {
+                                excludeIds.push(exclude.id);
+                            });
+
+                            return excludeIds;
+                        })()
+                    };
+
+                    var deferred = $q.defer();
+
+                    Issue.find($resourceProvider.getContent(         //  �럹�씠吏� �뾽�뜲�씠�듃媛� �븘�슂�븳 而댄룷�꼳�듃 �씪寃쎌슦, page �뾽�뜲�씠�듃媛� �엳�쓣 寃쎌슦 湲곕낯 10媛쒖뵫 媛��졇�삤怨� �븘�땺寃쎌슦 25媛쒖뵫 媛��졇�삩�떎.
+                        conditions, $resourceProvider.getPageContent($rootScope.isDefined(page) ? page : 0, $rootScope.isDefined(page) ? 10 : 25))).then(function (result) {
+                        if (result.data.message.status === "success") {
+
+                            if ($rootScope.isDefined(callBack)) {
+                                callBack(result);
+                            }
+
+                            deferred.resolve(result.data.data);
+                        }
+                        else {
+                            SweetAlert.swal($filter("translate")("common.failedToIssueListLookUp"), result.data.message.message, "error"); // "�썙�겕�뵆濡쒖슦 紐⑸줉 議고쉶 �떎�뙣"
+                        }
+                    });
+
+                    return deferred.promise;
+                }
+
                 function getWorkflowList(query, excludeList, page, callBack) {
                     var conditions = {
                         name : query,
diff --git a/src/main/webapp/views/issue/issueAddRelation.html b/src/main/webapp/views/issue/issueAddRelation.html
index 6b0e512..066a49e 100644
--- a/src/main/webapp/views/issue/issueAddRelation.html
+++ b/src/main/webapp/views/issue/issueAddRelation.html
@@ -9,11 +9,11 @@
     </div>
 
     <div class="modal-body">
-        <form role="form" name="issueAddForm">
+        <form role="form" name="issueAddRelationForm">
             <div class="form-group mb10">
-                <label for="issueAddForm1" class="issue-label"><span translate="issue.issueTitle">�씠�뒋 �젣紐�</span> <code
+                <label for="issueAddRelationForm1" class="issue-label"><span translate="issue.issueTitle">�씠�뒋 �젣紐�</span> <code
                         class="highlighter-rouge">*</code></label>
-                <input id="issueAddForm1"
+                <input id="issueAddRelationForm1"
                        class="form-control input-sm"
                        ng-model="vm.form.title"
                        name="title"
@@ -24,10 +24,23 @@
                        autofocus
                        owl-auto-focus>
                 <small class="help-block form-text text-danger"
-                       ng-if="issueAddForm.title.$touched && issueAddForm.title.$error.required"
+                       ng-if="issueAddRelationForm.title.$touched && issueAddRelationForm.title.$error.required"
                        translate="issue.requireIssueTitle">�씠�뒋 �젣紐⑹쓣 �엯�젰�븯�꽭�슂.
                 </small>
             </div>
+
+<!--            <div class="form-group mb10 col-sm-4">-->
+<!--                <label class="issue-label"><span class="highlighter-rouge">�뿰愿� �씠�뒋 援щ텇</span></label>-->
+<!--                <select id="relationIssueType"-->
+<!--                        name="relationIssueType"-->
+<!--                        class="form-control input-sm"-->
+<!--                        ng-options="option.name for option in vm.relationIssueTypes track by option.id"-->
+<!--                        ng-model="vm.relationIssueType"-->
+<!--                        required>-->
+<!--                </select>-->
+
+<!--            </div>-->
+
             <div class="row">
                 <div class="col-lg-4">
                     <div class="form-group mb10">
@@ -49,10 +62,10 @@
                     <div class="row">
                         <div class="col-md-4">
                             <div class="form-group mb10">
-                                <label for="issueAddForm4" class="issue-label"> <span
+                                <label for="issueAddRelationForm4" class="issue-label"> <span
                                         translate="issue.issueType">�씠�뒋 ���엯</span>
                                     <code class="highlighter-rouge">*</code></label>
-                                <select id="issueAddForm4"
+                                <select id="issueAddRelationForm4"
                                         name="issueType"
                                         class="form-control input-sm issue-select-label"
                                         ng-model="vm.form.issueTypeId"
@@ -71,11 +84,11 @@
                         </div>
                         <div class="col-md-4">
                             <div class="form-group mb10">
-                                <label for="issueAddForm2" class="issue-label">
+                                <label for="issueAddRelationForm2" class="issue-label">
                                     <span translate="common.priority">�슦�꽑 �닚�쐞</span>
                                     <code class="highlighter-rouge">*</code>
                                 </label>
-                                <select id="issueAddForm2"
+                                <select id="issueAddRelationForm2"
                                         name="priority"
                                         class="form-control input-sm issue-select-label"
                                         ng-model="vm.form.priorityId"
@@ -94,10 +107,10 @@
                         </div>
                         <div class="col-md-4">
                             <div class="form-group mb10">
-                                <label for="issueAddForm3" class="issue-label"> <span
+                                <label for="issueAddRelationForm3" class="issue-label"> <span
                                         translate="common.importance">以묒슂�룄</span> <code
                                         class="highlighter-rouge">*</code></label>
-                                <select id="issueAddForm3"
+                                <select id="issueAddRelationForm3"
                                         name="severity"
                                         class="form-control input-sm issue-select-label"
                                         ng-model="vm.form.severityId"
@@ -141,8 +154,8 @@
 
                 <div class="col-lg-4">
                     <div class="form-group mb10">
-                        <label for="issueAddForm5" class="issue-label"> <span translate="common.period">湲곌컙</span></label>
-                        <input id="issueAddForm5"
+                        <label for="issueAddRelationForm5" class="issue-label"> <span translate="common.period">湲곌컙</span></label>
+                        <input id="issueAddRelationForm5"
                                tabindex="-1"
                                type="text"
                                readonly
@@ -368,7 +381,7 @@
                                autocomplete="off"
                                ng-model="vm.companyTel"
                                maxlength="20">
-                        <div ng-show="issueAddForm.companyTel.$error.pattern" class="help-block form-text text-danger"
+                        <div ng-show="issueAddRelationForm.companyTel.$error.pattern" class="help-block form-text text-danger"
                              translate="companyField.invalidTelFormat">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎. xxx-xxx-xxxx �삎�떇�쑝濡� �엯�젰�븯�꽭�슂.
                         </div>
                     </div>
@@ -385,7 +398,7 @@
                                ng-model="vm.companyEmail"
                                kr-input
                                ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/">
-                        <div ng-show="issueAddForm.companyEmail.$error.pattern" class="help-block form-text text-danger"
+                        <div ng-show="issueAddRelationForm.companyEmail.$error.pattern" class="help-block form-text text-danger"
                              translate="users.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
                         </div>
                     </div>
@@ -474,7 +487,7 @@
                                autocomplete="off"
                                ng-model="vm.ispTel"
                                maxlength="20">
-                        <div ng-show="issueAddForm.ispTel.$error.pattern" class="help-block form-text text-danger"
+                        <div ng-show="issueAddRelationForm.ispTel.$error.pattern" class="help-block form-text text-danger"
                              translate="companyField.invalidTelFormat">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎. xxx-xxx-xxxx �삎�떇�쑝濡� �엯�젰�븯�꽭�슂.
                         </div>
                     </div>
@@ -491,7 +504,7 @@
                                ng-model="vm.ispEmail"
                                kr-input
                                ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/">
-                        <div ng-show="issueAddForm.ispEmail.$error.pattern" class="help-block form-text text-danger"
+                        <div ng-show="issueAddRelationForm.ispEmail.$error.pattern" class="help-block form-text text-danger"
                              translate="users.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
                         </div>
                     </div>
@@ -580,7 +593,7 @@
                                autocomplete="off"
                                ng-model="vm.hostingTel"
                                maxlength="20">
-                        <div ng-show="issueAddForm.hostingTel.$error.pattern" class="help-block form-text text-danger"
+                        <div ng-show="issueAddRelationForm.hostingTel.$error.pattern" class="help-block form-text text-danger"
                              translate="companyField.invalidTelFormat">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎. xxx-xxx-xxxx �삎�떇�쑝濡� �엯�젰�븯�꽭�슂.
                         </div>
                     </div>
@@ -597,7 +610,7 @@
                                ng-model="vm.hostingEmail"
                                kr-input
                                ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/">
-                        <div ng-show="issueAddForm.hostingEmail.$error.pattern" class="help-block form-text text-danger"
+                        <div ng-show="issueAddRelationForm.hostingEmail.$error.pattern" class="help-block form-text text-danger"
                              translate="users.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
                         </div>
                     </div>
@@ -647,8 +660,8 @@
             translate="common.cancel">痍⑥냼</span></button>
     <button type="button" class="btn btn-md btn-primary bold"
             js-short-cut
-            js-short-cut-action="(fn.formCheck(issueAddForm.$invalid) || $root.spinner) ? null : fn.formSubmit()"
-            ng-disabled="fn.formCheck(issueAddForm.$invalid)"
+            js-short-cut-action="(fn.formCheck(issueAddRelationForm.$invalid) || $root.spinner) ? null : fn.formSubmit()"
+            ng-disabled="fn.formCheck(issueAddRelationForm.$invalid)"
             ng-click="fn.formSubmit()"><span translate="common.save">���옣</span>
     </button>
 </div>
diff --git a/src/main/webapp/views/issue/issueAddTableConfig.html b/src/main/webapp/views/issue/issueAddTableConfig.html
index 81506ba..9a2065f 100644
--- a/src/main/webapp/views/issue/issueAddTableConfig.html
+++ b/src/main/webapp/views/issue/issueAddTableConfig.html
@@ -28,14 +28,14 @@
                 </tr>
                 </thead>
                 <tbody>
-                <tr>
-                    <td class="text-center">
-                        <span class="bold" translate="issue.issueTitle">�씠�뒋 �젣紐�</span>
-                    </td>
-                    <td class="text-center" colspan="3">
-                        <span class="text-danger bold" translate="issue.cannotChangedIssueTitle">�씠�뒋 �젣紐⑹� 蹂�寃쏀븷 �닔 �뾾�뒿�땲�떎.</span>
-                    </td>
-                </tr>
+<!--                <tr>-->
+<!--                    <td class="text-center">-->
+<!--                        <span class="bold" translate="issue.issueTitle">�씠�뒋 �젣紐�</span>-->
+<!--                    </td>-->
+<!--                    <td class="text-center" colspan="3">-->
+<!--                        <span class="text-danger bold" translate="issue.cannotChangedIssueTitle">�씠�뒋 �젣紐⑹� 蹂�寃쏀븷 �닔 �뾾�뒿�땲�떎.</span>-->
+<!--                    </td>-->
+<!--                </tr>-->
                 <tr ng-repeat="issueTableConfig in vm.issueTableConfigs">
                     <td class="text-center">
                         <span class="bold">{{issueTableConfig.name}}</span>
diff --git a/src/main/webapp/views/issue/issueDetail.html b/src/main/webapp/views/issue/issueDetail.html
index 32bddc0..4be49d0 100644
--- a/src/main/webapp/views/issue/issueDetail.html
+++ b/src/main/webapp/views/issue/issueDetail.html
@@ -524,7 +524,7 @@
                             <js-autocomplete-single data-input-name="issue"
                                                     selected-model="vm.form.issuesDown"
                                                     search="vm.issueNameDown"
-                                                    source="fn.getIssueList(vm.issueNameDown, vm.issueTypeId, vm.form.issuesDown, vm.autoCompletePageDown.issue.page, fn.getIssueListCallBack)"
+                                                    source="fn.getDownIssueList(vm.issueNameDown, vm.issueTypeId, vm.form.issuesDown, vm.autoCompletePageDown.issue.page, fn.getDownIssueListCallBack)"
                                                     page="vm.autoCompletePageDown.issue.page"
                                                     total-page="vm.autoCompletePageDown.issue.totalPage"
                                                     input-disabled="false"

--
Gitblit v1.8.0