From 61037a004e28c5e508a62f42022d20d6872dc672 Mon Sep 17 00:00:00 2001
From: jhjang <jhjang@maprex.co.kr>
Date: 수, 17 11월 2021 11:50:22 +0900
Subject: [PATCH] - 이슈 상세 페이지에 하위 일감 기능 추가

---
 src/main/webapp/scripts/app/issue/issueDetail.controller.js |  119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 116 insertions(+), 3 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueDetail.controller.js b/src/main/webapp/scripts/app/issue/issueDetail.controller.js
index f8c07f3..1eee581 100644
--- a/src/main/webapp/scripts/app/issue/issueDetail.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueDetail.controller.js
@@ -32,6 +32,7 @@
                 $scope.fn.reservation = reservation;    //  �삁�빟 �젙蹂대�� �솗�씤 諛� 蹂�寃� �븳�떎.
                 $scope.fn.getIssueListCallBack = getIssueListCallBack;
                 $scope.fn.addRelationIssue = addRelationIssue;      // �뿰愿� �씠�뒋 異붽�
+                $scope.fn.addDownIssue = addDownIssue;      // �븯�쐞 �씠�뒋 異붽�
 
 
                 //  �씠�뒋 紐⑸줉 而⑦듃濡ㅻ윭 vm, fn �긽�냽 以�
@@ -61,10 +62,20 @@
                 $scope.vm.relationIssueType = $scope.vm.relationIssueTypes[0];
 
                 $scope.vm.form = {
-                    issues : []
+                    issues : [], //�뿰愿� �씪媛�
+                    issuesDown : []  // �븯�쐞 �씪媛�
                 };
 
-                $scope.vm.issueName = "";
+
+                $scope.vm.issueNameDown = "";       // �꽑�깮�맂 �븯�쐞 �씪媛� �씠由�
+                $scope.vm.autoCompletePageDown = {
+                    issue : {
+                        page : 0,
+                        totalPage : 0
+                    },
+                };
+
+                $scope.vm.issueName = "";       // �꽑�깮�맂 �뿰愿� �씪媛� �씠由�
                 $scope.vm.autoCompletePage = {
                     issue : {
                         page : 0,
@@ -80,10 +91,60 @@
                     changeDetailView : changeDetailView
                 };
 
+                $scope.vm.downResponseData = [];
+                $scope.vm.downTableConfigs = [];
+                //  �뀒�씠釉� �씠踰ㅽ듃
+                $scope.downTableEvent = {
+                    removeDownIssue : removeDownIssue,   // �뿰愿� �씪媛� �궘�젣
+                    changeDetailView : changeDetailView
+                };
+
                 function changeDetailView(issue) {
                     //  �씠�뒋 踰덊샇瑜� ���옣�븳 �썑 �씠�뒋 紐⑸줉�쑝濡� �씠�룞�븳�떎.
                     // $rootScope.$broadcast("makeIssueSearch", issue);
                     $scope.$parent.tableEvent.changeDetailView(issue.id);
+                }
+
+                // �븯�쐞 �씪媛� �궘�젣
+                function removeDownIssue(id) {
+                    //  �궘�젣 �븣由�
+                    SweetAlert.swal({
+                            title : $filter("translate")("issue.downIssueRemove"), // �뿰愿� �씪媛� �궘�젣
+                            text : $filter("translate")("issue.wantToDeleteSelectIssue"),
+                            type : "warning",
+                            showCancelButton : true,
+                            confirmButtonColor : "#DD6B55",
+                            confirmButtonText : $filter("translate")("common.delete"), // �궘�젣
+                            cancelButtonText : $filter("translate")("common.cancel"), // 痍⑥냼
+                            closeOnConfirm : false,
+                            closeOnCancel : true
+                        },
+                        function (isConfirm) {
+                            SweetAlert.close();
+
+                            if (isConfirm) {
+                                $rootScope.spinner = true;
+
+                                var contents = {
+                                    id : id
+                                };
+
+                                Issue.modifyParentIssue($resourceProvider.getContent(
+                                    contents,
+                                    $resourceProvider.getPageContent(0, 10))).then(function (result) {
+
+                                    if (result.data.message.status === "success") {
+                                        $scope.fn.getIssueDetail();
+                                    }
+                                    else {
+                                        SweetAlert.error($filter("translate")("issue.failedToIssueDeleteIssueDown"), result.data.message.message); // "�뿰愿��씪媛� �궘�젣 �떎�뙣"
+                                    }
+                                    $rootScope.spinner = false;
+                                });
+                            }
+                        });
+
+
                 }
 
                 // �뿰愿� �씪媛� �궘�젣
@@ -133,7 +194,25 @@
                     $scope.vm.autoCompletePage.issue.totalPage = result.data.page.totalPage;
                 }
 
-                //  �씠�뒋 �뀒�씠釉� �꽕�젙
+                //  �븯�쐞 �씠�뒋 �뀒�씠釉� �꽕�젙
+                function makeTableConfigsDown() {
+                    $scope.vm.downTableConfigs = [];
+                    $scope.vm.downTableConfigs.push($tableProvider.config()
+                        .setHName("issue.downIssueTitle")
+                        .setDType("renderer")
+                        .setHWidth("width-60 bold")
+                        .setHSort(false)
+                        .setDRenderer("ISSUE_DOWN_MOVE"))
+                    $scope.vm.downTableConfigs.push($tableProvider.config()
+                        .setHName("issue.relationIssueDelete")
+                        .setDType("renderer")
+                        .setHWidth("width-10 bold")
+                        .setDRenderer("ISSUE_DOWN_DELETE")
+                        .setHSort(false)
+                        .setDAlign("text-center"))
+                }
+
+                //  �뿰愿� �씠�뒋 �뀒�씠釉� �꽕�젙
                 function makeTableConfigs() {
                     $scope.vm.relTableConfigs = [];
                     $scope.vm.relTableConfigs.push($tableProvider.config()
@@ -175,6 +254,32 @@
                 //         }
                 //     });
                 // }
+
+                // �븯�쐞 �씠�뒋 異붽�
+                function addDownIssue() {
+                    if ($scope.vm.issueNameDown.length == 0 || $scope.vm.form.issuesDown.length == 0
+                        || $scope.vm.issueNameDown != $scope.vm.form.issuesDown[0].title) {
+                        SweetAlert.error($filter("translate")("issue.errorSelectDownIssue"), "");
+                        return;
+                    }
+
+                    var contents = {
+                        id : $scope.vm.form.issuesDown[0].id,
+                        parentIssueId : $rootScope.currentDetailIssueId
+                    };
+
+                    Issue.modifyParentIssue($resourceProvider.getContent(
+                        contents,
+                        $resourceProvider.getPageContent(0, 10))).then(function (result) {
+
+                        if (result.data.message.status === "success") {
+                            $scope.fn.getIssueDetail();
+                        }
+                        else {
+                            SweetAlert.error($filter("translate")("issue.failedToIssueAddIssueDown"), result.data.message.message); // "�뿰愿��씪媛� �깮�꽦 �떎�뙣"
+                        }
+                    });
+                }
 
 
                 // �뿰愿� �씠�뒋 異붽�
@@ -316,6 +421,8 @@
                                 $scope.vm.issueName = "";
                                 $scope.vm.form.issues = [];
                                 $scope.vm.form.issues.push(result.data.data);
+                                $scope.vm.form.issuesDown = [];
+                                $scope.vm.form.issuesDown.push(result.data.data);
 
                                 makeTableConfigs();
                                 angular.forEach(result.data.data.issueRelationVos, function (issueRelationVo){
@@ -323,7 +430,13 @@
                                     $scope.vm.form.issues.push(issueRelationVo.issueRelation);
                                 });
 
+                                makeTableConfigsDown();
+                                angular.forEach(result.data.data.issueDownVos, function (issueDownVo){
+                                    $scope.vm.form.issuesDown.push(issueDownVo.issue);
+                                });
+
                                 $scope.vm.viewer.issueRelationVos = result.data.data.issueRelationVos;
+                                $scope.vm.viewer.issueDownVos = result.data.data.issueDownVos;
                             }
                         }
                         else {

--
Gitblit v1.8.0