From 56c40ebd05a576e6f7c40ac10c78ac0463cf4074 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 수, 19 1월 2022 11:41:13 +0900
Subject: [PATCH] 이슈 업체메일보내기 클릭 시 업체/isp/hosting 이메일 다 안가져오는 문제 해결("업체 선택" 항목은 제거 처리)

---
 src/main/webapp/scripts/components/utils/autoComplete.controller.js   |    2 
 src/main/webapp/views/issue/issueDetail.html                          |    2 
 src/main/webapp/views/issue/issueSendMailPartners.html                |    4 +-
 src/main/webapp/scripts/app/issue/issueDetail.controller.js           |   47 ++++++++++++++++++-----
 src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js |   18 ++++++--
 5 files changed, 54 insertions(+), 19 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueDetail.controller.js b/src/main/webapp/scripts/app/issue/issueDetail.controller.js
index b4c7884..d23a897 100644
--- a/src/main/webapp/scripts/app/issue/issueDetail.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueDetail.controller.js
@@ -50,7 +50,7 @@
                 $scope.fn.setDownTableConfigs = setDownTableConfigs;
                 $scope.fn.containsPartner = containsPartner;
                 $scope.fn.onActivate = onActivate;
-                $scope.fn.issueBack = issueBack;
+                $scope.fn.goParentIssue = goParentIssue;
                 $scope.fn.removeRelationIssue = removeRelationIssue;
                 $scope.fn.removeDownIssue = removeDownIssue;
                 $scope.fn.changeDetailPageRowCount = changeDetailPageRowCount;    //  �럹�씠吏� 蹂�寃�
@@ -146,7 +146,7 @@
                 }
 
                 // �긽�쐞 �씠�뒋 �겢由��떆 �긽�쐞 �씠�뒋濡� �씠�룞
-                function issueBack() {
+                function goParentIssue() {
                     var index = $scope.$parent.vm.issueIds.length -2;
                     if (index > -1) {
                         var preIssueId = $scope.$parent.vm.issueIds[index];
@@ -1449,16 +1449,43 @@
                 }
 
                 function getParametersAll() {
-                    var params = $scope.fn.getParameters(null, $scope.vm.viewer.issueCompanyVos);
-                    params = $scope.fn.getParameters(params, $scope.vm.viewer.issueIspVos);
-                    params = $scope.fn.getParameters(params, $scope.vm.viewer.issueHostingVos);
-
-                    if (params != null && params.length > 0) {
-                        for (let i = 0; i < params.length; i++) {
-                            params[i].id = i;
+                    var params = [];
+                    if ($scope.vm.viewer.issueCompanyVos != null && $scope.vm.viewer.issueCompanyVos.length > 0) {
+                        var issueCompany = $scope.fn.getParameters(params, $scope.vm.viewer.issueCompanyVos);
+                        if (issueCompany != null && issueCompany.length > 0) {
+                            angular.forEach(issueCompany, function (data) {
+                                params.push(data);
+                            });
                         }
                     }
-                    return params;
+                    if ($scope.vm.viewer.issueIspVos != null && $scope.vm.viewer.issueIspVos.length > 0) {
+                        var issueIsp = $scope.fn.getParameters(params, $scope.vm.viewer.issueIspVos)
+                        if (issueIsp != null && issueIsp.length > 0) {
+                            angular.forEach(issueIsp, function (data) {
+                                params.push(data);
+                            });
+                        }
+                    }
+                    if ($scope.vm.viewer.issueHostingVos != null && $scope.vm.viewer.issueHostingVos.length > 0) {
+                        var issueHosting = $scope.fn.getParameters(params, $scope.vm.viewer.issueHostingVos);
+                        if (issueHosting != null && issueHosting.length > 0) {
+                            angular.forEach(issueHosting, function (data) {
+                                params.push(data);
+                            });
+                        }
+                    }
+
+                    if (params != null && params.length > 0) {
+                        var filterData = params.filter(function(item, idx){
+                            return params.findIndex(function(item2, idx2){
+                                return item.email === item2.email
+                            }) == idx;
+                        });
+                        for (let i = 0; i < filterData.length; i++) {
+                            filterData[i].id = i;
+                        }
+                    }
+                    return filterData;
                 }
 
                 function getParameters(sourceArr, partnerVos) {
diff --git a/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js b/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js
index 3722e1e..b8a9902 100644
--- a/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js
@@ -101,6 +101,8 @@
                 //  �궗�슜�옄 �궘�젣
                 function removeMailTarget(index) {
                     $scope.vm.form.account[0].account.splice(index, 1);
+                    $scope.vm.form.account[0].name.splice(index, 1);
+                    $scope.vm.form.account[0].id.splice(index, 1);
                 }
 
                 function formCheck(formInvalid) {
@@ -209,25 +211,31 @@
                             var name = "";
                             var id = "";
                             var accountArr = [];
+                            var nameArr = [];
+                            var idArr =[];
                             angular.forEach(parameter.partners, function (partner) {
                                 id = partner.id;
                                 account = partner.account;
+                                name = partner.name;
                                 if(account != null && account.indexOf(",") !== -1) {
                                     //硫붿씪二쇱냼媛� �뿬�윭媛쒖씪寃쎌슦 遺꾨━ 諛� 怨듬갚 �젣嫄�
                                     account = partner.account.split(",");
                                     for (var i = 0; i < account.length; i++) {
-                                        accountArr[i] = account[i].trim();
+                                        accountArr.push(account[i].trim());
+                                        nameArr.push(name);
+                                        idArr.push(id);
                                     }
                                 } else {
-                                    accountArr[0] = account;
+                                    accountArr.push(account);
+                                    nameArr.push(name);
+                                    idArr.push(id);
                                 }
-                                name = partner.name;
                             });
                             if(accountArr != null && accountArr.length > 0) {
                                 for (var i = 0; i < accountArr.length; i++) {
                                     $scope.vm.form.account[0].account[i] = accountArr[i];
-                                    $scope.vm.form.account[0].name[i] = name;
-                                    $scope.vm.form.account[0].id[i] = id;
+                                    $scope.vm.form.account[0].name[i] = nameArr[i];
+                                    $scope.vm.form.account[0].id[i] = idArr[i];
                                 }
                             }
                         }
diff --git a/src/main/webapp/scripts/components/utils/autoComplete.controller.js b/src/main/webapp/scripts/components/utils/autoComplete.controller.js
index b1d0fcb..9e39aa1 100644
--- a/src/main/webapp/scripts/components/utils/autoComplete.controller.js
+++ b/src/main/webapp/scripts/components/utils/autoComplete.controller.js
@@ -721,7 +721,7 @@
                         });
                         for (let i = partners.length - 1 ; i >= 0 ; i--) {
                             filterData.forEach(function (exclude) {
-                                if (partners[i] !== null && partners[i].id === exclude) {
+                                if (partners[i] != null && partners[i].id === exclude) {
                                     partners.splice(i, 1);
                                     if (partners[i] == null) {
                                         return false;
diff --git a/src/main/webapp/views/issue/issueDetail.html b/src/main/webapp/views/issue/issueDetail.html
index aa6501a..404e999 100644
--- a/src/main/webapp/views/issue/issueDetail.html
+++ b/src/main/webapp/views/issue/issueDetail.html
@@ -87,7 +87,7 @@
 <div class="support-ticket-content-w" ng-controller="issueDetailController">
     <div class="support-ticket-content">
         <span ng-if="vm.viewer.parentIssueVo != null" class="badge" ng-style="{'background-color' : '#353535', 'border-color' : vm.viewer.issueStatusVo.color, 'color' : '#FFFFFF' }">
-            <span class="cursor" ng-click="fn.issueBack()">�긽�쐞 �씠�뒋:{{vm.viewer.parentIssueVo.title}}</span>
+            <span class="cursor" ng-click="fn.goParentIssue()">�긽�쐞 �씠�뒋:{{vm.viewer.parentIssueVo.title}}</span>
         </span>
 
         <div class="">
diff --git a/src/main/webapp/views/issue/issueSendMailPartners.html b/src/main/webapp/views/issue/issueSendMailPartners.html
index 0020adf..011f479 100644
--- a/src/main/webapp/views/issue/issueSendMailPartners.html
+++ b/src/main/webapp/views/issue/issueSendMailPartners.html
@@ -20,7 +20,7 @@
                     </span>
                 </div>
 
-                <label class="issue-label mt-10">
+                <!--<label class="issue-label mt-10">
                     <span translate="issue.selectPartners">�뾽泥� �꽑�깮</span>&nbsp;<code class="highlighter-rouge">*</code>
                 </label>
                 <js-input-autocomplete data-input-name="mailUsers"
@@ -36,7 +36,7 @@
                                        input-disabled="vm.form.account[0].account == null"
                                        broad-cast="getMailTarget"
                                        extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : 'profile',
-                                       type : 'partner', maxlength : 100, autoResize : true, stopRemoveBodyEvent : true }"></js-input-autocomplete>
+                                       type : 'partner', maxlength : 100, autoResize : true, stopRemoveBodyEvent : true }"></js-input-autocomplete>-->
 
                 <div class="form-group mb10 mt-20">
                     <label for="emailTemplateForm" class="issue-label">

--
Gitblit v1.8.0