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> <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