OWL ITS + 탐지시스템(인터넷 진흥원)
jhjang
2022-01-03 9c283e735476f1106262de58b4042f30acf61a45
src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js
@@ -5,8 +5,8 @@
        'angular'
    ],
    function (app, angular) {
        app.controller('issueSendMailPartnersController', ['$scope', '$rootScope', '$q','$log', '$resourceProvider', '$uibModalInstance', '$controller', '$injector', 'SweetAlert', '$filter', 'parameter', 'Issue',
            function ($scope, $rootScope, $q, $log, $resourceProvider, $uibModalInstance, $controller, $injector, SweetAlert, $filter, parameter, Issue) {
        app.controller('issueSendMailPartnersController', ['$scope', '$rootScope', '$q','$log', '$resourceProvider', '$uibModalInstance', '$controller', '$injector', 'SweetAlert', '$filter', 'parameter', 'Issue', 'EmailTemplate',
            function ($scope, $rootScope, $q, $log, $resourceProvider, $uibModalInstance, $controller, $injector, SweetAlert, $filter, parameter, Issue, EmailTemplate) {
                $scope.fn = {
                    getUserListCallBack : getUserListCallBack,  //  사용자 auto complete callback function
@@ -15,7 +15,8 @@
                    removeMailTarget : removeMailTarget,
                    formSubmit : formSubmit,    //  폼 전송
                    formCheck : formCheck,   //  폼 체크
                    changeTemplate : changeTemplate,
                    onChangeEmailTemplate : onChangeEmailTemplate, // 이메일 템플릿 선택시 실행
                    getEmailTemplateList : getEmailTemplateList // 이메일 템플릿 목록 가져오기
                    // showEmailTemplate : showEmailTemplate,
                };
@@ -24,9 +25,9 @@
                    ispVos : parameter.ispVos,
                    hostingVos : parameter.hostingVos,
                    partners : parameter.partnersAll.slice(),
                    html : "",
                    form : {
                        id : parameter.issueId,  //  이슈 번호
                        template : "ISSUE_SEND_2",
                        projects : [{ id : parameter.projectId}],  //  프로젝트
                        mailUsers : parameter.partners.slice()   //  메일 전송받는 사용자
                    },
@@ -36,10 +37,64 @@
                            page : 0,
                            totalPage : 0
                        }
                    }
                    },
                    emailTitle : "",
                    emailTemplateId : -1,
                    emailTemplates : [],
                    emailTemplateType : "",
                };
                angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector}));
                function onChangeEmailTemplate() {
                    var content = {
                        templateType : $scope.vm.emailTemplateType,
                        issueId : parameter.issueId
                    }
                    EmailTemplate.find($resourceProvider.getContent(
                        content,
                        $resourceProvider.getPageContent(0, 10))).then(function (result) {
                        if (result.data.message.status === "success") {
                            $scope.vm.html = result.data.data.template;
                        }
                        else {
                            SweetAlert.error($filter("translate")("issue.failedIssueMail"), result.data.message.message); // "이슈 메일 발송 실패"
                        }
                        $rootScope.spinner = false;
                    });
                }
                function getEmailTemplateList() {
                    $scope.vm.emailTemplates.push({
                            templateType : "ISSUE_SEND_1",
                            title : "템플릿1"
                    });
                    $scope.vm.emailTemplates.push({
                            templateType : "ISSUE_SEND_2",
                            title : "템플릿2"
                    });
                    $scope.vm.emailTemplates.push({
                            templateType : "ISSUE_SEND_3",
                            title : "템플릿3"
                    });
                    $scope.vm.emailTemplateId = 1;
                    $scope.vm.emailTitle = "";
                    $scope.vm.emailTemplates.forEach(function (emailTemplate) {
                        /*if (emailTemplate.id === $scope.vm.emailTemplateId) {
                            $scope.vm.emailTitle = emailTemplate.title;
                        }*/
                        if (emailTemplate.templateType === $scope.vm.emailTemplateType) {
                            $scope.vm.emailTitle = emailTemplate.title;
                        }
                    })
                }
                //  사용자 삭제
                function removeMailTarget(index) {
@@ -62,8 +117,10 @@
                function formSubmit() {
                    $rootScope.spinner = true;
                    var content = {
                        id : $scope.vm.form.id,
                        template : $scope.vm.form.template,
                        id : $scope.vm.emailTemplateId,
                        template : $scope.vm.html,
                        title : $scope.vm.emailTitle,
                        issueId : $scope.vm.form.id,
                        sendEmails : (function () {
                            var sendEmails = [];
@@ -124,53 +181,7 @@
                    return deferred.promise;
                }
                function changeTemplate(templateId){
                    $scope.vm.form.template = templateId;
                    var elements = document.getElementsByClassName("TemplateIMG");
                    for (let i = elements.length - 1; i >= 0; i--) {
                        if (elements[i].id === templateId) {
                            elements[i].className += " TemplateIMG-selected";
                        } else {
                            elements[i].className = "TemplateIMG";
                        }
                    }
                    const div1 = document.getElementById('Email-Template1');
                    const div2 = document.getElementById('Email-Template2');
                    const div3 = document.getElementById('Email-Template3');
                    const div4 = document.getElementById('Email-Template4');
                    if(div1.style.display === 'none' && div4.style.display === 'none') {
                        div1.style.display = 'block';
                        div4.style.display = 'block';
                    } else if (div1.style.display === 'block' && div4.style.display === 'block')  {
                        div1.style.display = 'none';
                        div4.style.display = 'none';
                    }
                    if (div2.style.display === 'none' && div4.style.display === 'none') {
                        div2.style.display = 'block';
                        div4.style.display = 'block'
                    } else if (div2.style.display === 'block' && div4.style.display === 'block'){
                        div2.style.display = 'none';
                        div4.style.display = 'none'
                    }
                    if (div3.style.display == 'none' && div4.style.display === 'none') {
                        div3.style.display = 'block';
                        div4.style.display = 'block';
                    } else if (div3.style.display === 'block' && div4.style.display === 'block'){
                        div3.style.display = 'none';
                        div4.style.display = 'none';
                    }
                    if (div4.style.display == 'none' || div4.style.display === 'block') {
                        div4.style.display = 'block';
                    } else {
                        div4.style.display = 'none';
                    }
                }
                $scope.fn.getEmailTemplateList();
            }]);
    });