From a080a3a500df0f6524057239563504e15bb666f1 Mon Sep 17 00:00:00 2001
From: wyu <kknd09321@nate.com>
Date: 수, 17 11월 2021 10:45:32 +0900
Subject: [PATCH] 이슈 수정 진행[프론트]

---
 src/main/webapp/scripts/components/utils/autoComplete.controller.js            |    1 
 src/main/webapp/bower_components/bootstrap-daterangepicker/daterangepicker.js  |    2 
 src/main/webapp/views/issue/issueAdd.html                                      |   19 +
 src/main/webapp/views/issue/issueModify.html                                   |  553 +++++++++++++++++++++++++++++++++---------
 src/main/webapp/bower_components/bootstrap-daterangepicker/daterangepicker.css |   12 
 src/main/webapp/scripts/app/issue/issueAdd.controller.js                       |   12 
 src/main/webapp/scripts/app/issue/issueModify.controller.js                    |  136 ++++++++++
 src/main/webapp/views/common/sidebar.html                                      |    2 
 8 files changed, 589 insertions(+), 148 deletions(-)

diff --git a/src/main/webapp/bower_components/bootstrap-daterangepicker/daterangepicker.css b/src/main/webapp/bower_components/bootstrap-daterangepicker/daterangepicker.css
index 6bbb05c..0a6fe82 100644
--- a/src/main/webapp/bower_components/bootstrap-daterangepicker/daterangepicker.css
+++ b/src/main/webapp/bower_components/bootstrap-daterangepicker/daterangepicker.css
@@ -266,14 +266,4 @@
   .daterangepicker.rtl .ranges {
     float: right; }
   .daterangepicker .calendar.left {
-    clear: none !important; } }
-
-/*datepicker button*/
-.date_button {
-  position: relative;
-  left: 9.3rem;
-  bottom: 1.5px;
-  border-radius: 3px;
-  font-size: 10px;
-  font-weight: bold;
-}
\ No newline at end of file
+    clear: none !important; } }
\ No newline at end of file
diff --git a/src/main/webapp/bower_components/bootstrap-daterangepicker/daterangepicker.js b/src/main/webapp/bower_components/bootstrap-daterangepicker/daterangepicker.js
index 10cf31c..0d51c9c 100644
--- a/src/main/webapp/bower_components/bootstrap-daterangepicker/daterangepicker.js
+++ b/src/main/webapp/bower_components/bootstrap-daterangepicker/daterangepicker.js
@@ -99,7 +99,7 @@
                 '<div class="calendar left">' +
                     '<div class="daterangepicker_input">' +
                       '<input class="input-mini form-control" type="text" name="daterangepicker_start" value="" />' +
-                      '<i class="fa fa-calendar glyphicon glyphicon-calendar"><button class="date_button">湲곌컙�뾾�쓬</button></i>' +
+                      '<i class="fa fa-calendar glyphicon glyphicon-calendar">' +
                       '<div class="calendar-time">' +
                         '<div></div>' +
                         '<i class="fa fa-clock-o glyphicon glyphicon-time"></i>' +
diff --git a/src/main/webapp/scripts/app/issue/issueAdd.controller.js b/src/main/webapp/scripts/app/issue/issueAdd.controller.js
index 8f43e5f..36b56a7 100644
--- a/src/main/webapp/scripts/app/issue/issueAdd.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueAdd.controller.js
@@ -309,22 +309,25 @@
                 function getProjectListCallBack(result) {
                     $scope.vm.autoCompletePage.project.totalPage = result.data.page.totalPage;
                 }
+
                 //  �뾽泥댁젙蹂� autocomplete page �뾽�뜲�씠�듃
                 function getCompanyFieldListCallBack(result) {
                     $scope.vm.autoCompletePage.companyField.totalPage = result.data.page.totalPage;
                 }
 
+                // 遺��꽌�젙蹂� autocomplete page �뾽�뜲�씠�듃
                 function getIssueDepartmentListCallBack(result) {
                     $scope.vm.autoCompletePage.department.totalPage = result.data.page.totalPage;
                 }
 
+                // ISP�젙蹂� autocomplete page �뾽�뜲�씠�듃
                 function getIspFieldListCallBack(result) {
                     $scope.vm.autoCompletePage.ispField.totalPage = result.data.page.totalPage;
-
                 }
+
+                // �샇�뒪�똿�젙蹂� autocomplete page �뾽�뜲�씠�듃
                 function getHostingFieldListCallBack(result) {
                     $scope.vm.autoCompletePage.hostingField.totalPage = result.data.page.totalPage;
-
                 }
 
                 // �뤌 泥댄겕
@@ -352,6 +355,7 @@
                     $scope.vm.ispEmail = result[0].email;
                     $scope.vm.ispMemo = result[0].memo;
                 });
+
                 // �샇�뒪�똿�젙蹂� 寃곌낵 媛� Event 泥섎━(set)
                 $scope.$on("hostingFieldEvent", function (event, result) {
                     $scope.vm.hostingCode = result[0].code;
@@ -422,8 +426,8 @@
                         departmentIds : (function () {
                             var departmentIds = [];
 
-                            angular.forEach($scope.vm.form.departments, function (user) {
-                                departmentIds.push(user.id);
+                            angular.forEach($scope.vm.form.departments, function (department) {
+                                departmentIds.push(department.id);
                             });
 
                             return departmentIds;
diff --git a/src/main/webapp/scripts/app/issue/issueModify.controller.js b/src/main/webapp/scripts/app/issue/issueModify.controller.js
index 1795e34..010d31e 100644
--- a/src/main/webapp/scripts/app/issue/issueModify.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueModify.controller.js
@@ -19,6 +19,10 @@
                     formCheck : formCheck,  //  �뤌 泥댄겕
                     getUserListCallBack : getUserListCallBack,  //  �떞�떦�옄 autocomplete �럹�씠吏�
                     getProjectListCallBack : getProjectListCallBack,    //  �봽濡쒖젥�듃 autocomplete �럹�씠吏�
+                    getCompanyFieldListCallBack : getCompanyFieldListCallBack,    // �뾽泥댁젙蹂� autocomplete �럹�씠吏�
+                    getIssueDepartmentListCallBack : getIssueDepartmentListCallBack,    // �떞�떦�옄 -> �떞�떦遺��꽌 autocomplete �럹�씠吏�
+                    getIspFieldListCallBack : getIspFieldListCallBack,    // ISP�젙蹂� autocomplete �럹�씠吏�
+                    getHostingFieldListCallBack : getHostingFieldListCallBack,    // �샇�뒪�똿�젙蹂� autocomplete �럹�씠吏�
                     getOptionColor : getOptionColor,    //  �슦�꽑�닚�쐞, 以묒슂�룄 �깋�긽�쑝濡� Select �깭洹� �쟻�슜
                     onFileSelect : onFileSelect,    //  �뙆�씪 泥⑤�
                     imageUpload : imageUpload,  //  �꽟癒몃끂�듃 �씠誘몄� �뾽濡쒕뱶
@@ -30,6 +34,7 @@
                     setUseValueByIssueTypeCustomFields : setUseValueByIssueTypeCustomFields,    //  �씠�뒋�뿉�꽌 �궗�슜�옄媛� �꽑�깮�븳 �궗�슜�옄 �젙�쓽 �븘�뱶 媛믪쓣 �엯�젰 �뤌�뿉 �뀑�똿�븳�떎.
                     detail : detail,    //  �씠�뒋 �젙蹂� 議고쉶
                     removeManager : removeManager,  //  �떞�떦�옄 �궘�젣
+                    removeDepartment : removeDepartment,  //  �떞�떦遺��꽌 �궘�젣
                     removeUploadFile : removeUploadFile,    //  �듅�젙 �뙆�씪�쓣 �궘�젣
                     setIssueTypeTemplate : setIssueTypeTemplate,    //  �씠�뒋 �쑀�삎 �뀥�뵆由� �쟻�슜�븯湲�
                     startExecute : startExecute //  理쒖큹 �떎�뻾
@@ -44,11 +49,15 @@
                         title : "",    //  �젣紐�
                         description : "",   //  �궡�슜
                         projects : [],  //  �봽濡쒖젥�듃
+                        companyFields : [], // �뾽泥댁젙蹂�
+                        ispFields : [], // ISP �젙蹂�
+                        hostingFields : [], // �샇�뒪�똿�젙蹂�
                         issueTypeId : "",   //  �씠�뒋 �쑀�삎 �븘�씠�뵒
                         priorityId : "",    //  �슦�꽑�닚�쐞 �븘�씠�뵒
                         severityId : "",    //  以묒슂�룄 �븘�씠�뵒
                         issueStatusId : "", //  �씠�뒋 �긽�깭 �븘�씠�뵒
                         users : [],     //  �떞�떦�옄
+                        departments : [], // �뵥�떦遺��꽌
                         files : [], //  �뾽濡쒕뱶 �뙆�씪
                         attachedFiles : [], //  �꽟癒몃끂�듃濡� �뙆�씪 �뾽濡쒕뱶瑜� �븷 寃쎌슦 �꽌踰꾩뿉�꽌 pk瑜� �뵲怨� issue id�� �뿰�룞 �옉�뾽�씠 �븘�슂�븯�떎.
                         startCompleteDateRange : "", //  �떆�옉�씪 ~ 醫낅즺�씪
@@ -57,12 +66,46 @@
                     },
                     projectName : "",   //  �봽濡쒖젥�듃 紐� 寃��깋
                     userName : "",  //  �궗�슜�옄 寃��깋
+                    departmentName : "",  // 遺��꽌紐� 寃��깋
+                    companyName : "",   // �뾽泥대챸 寃��깋
+                    companyCode : "",   // �뾽泥� 肄붾뱶
+                    companyManager : "",   // �뾽泥� �떞�떦�옄
+                    companyTel : "",  // �뾽泥� �쟾�솕踰덊샇
+                    companyEmail : "",  // �뾽泥� �씠硫붿씪
+                    companyMemo : "",  // �뾽泥� 鍮꾧퀬
+                    ispName : "", // ISP 紐�
+                    ispCode : "", // ISP 肄붾뱶
+                    ispManager : "", // ISP �떞�떦�옄
+                    ispTel : "", // ISP �쟾�솕踰덊샇
+                    ispEmail : "", // ISP �씠硫붿씪
+                    ispMemo : "", // ISP 鍮꾧퀬
+                    hostingName : "", // �샇�뒪�똿紐� 寃��깋
+                    hostingManager : "", // �샇�뒪�똿 �떞�떦�옄
+                    hostingTel : "", // �샇�뒪�똿 �쟾�솕踰덊샇
+                    hostingEmail : "", // �샇�뒪�똿 �씠硫붿씪
+                    hostingMemo : "", // �샇�뒪�똿 鍮꾧퀬
                     autoCompletePage : {
                         user : {
                             page : 0,
                             totalPage : 0
                         },
                         project : {
+                            page : 0,
+                            totalPage : 0
+                        },
+                        companyField : {
+                            page : 0,
+                            totalPage : 0
+                        },
+                        department : {
+                            page : 0,
+                            totalPage : 0
+                        },
+                        ispField : {
+                            page : 0,
+                            totalPage : 0
+                        },
+                        hostingField : {
                             page : 0,
                             totalPage : 0
                         }
@@ -117,6 +160,11 @@
                 //  �떞�떦�옄 �궘�젣
                 function removeManager(index) {
                     $scope.vm.form.users.splice(index, 1);
+                }
+
+                // �떞�떦遺��꽌 �궘�젣
+                function removeDepartment(index) {
+                    $scope.vm.form.departments.splice(index, 1);
                 }
 
                 //  �꽟癒몃끂�듃 �씠誘몄� �뾽濡쒕뱶
@@ -262,6 +310,27 @@
                     $scope.vm.autoCompletePage.project.totalPage = result.data.page.totalPage;
                 }
 
+                //  �뾽泥댁젙蹂� autocomplete page �뾽�뜲�씠�듃
+                function getCompanyFieldListCallBack(result) {
+                    $scope.vm.autoCompletePage.companyField.totalPage = result.data.page.totalPage;
+                }
+
+                // 遺��꽌�젙蹂� autocomplete page �뾽�뜲�씠�듃
+                function getIssueDepartmentListCallBack(result) {
+                    $scope.vm.autoCompletePage.department.totalPage = result.data.page.totalPage;
+                }
+
+                // ISP�젙蹂� autocomplete page �뾽�뜲�씠�듃
+                function getIspFieldListCallBack(result) {
+                    $scope.vm.autoCompletePage.ispField.totalPage = result.data.page.totalPage;
+                }
+
+                // �샇�뒪�똿�젙蹂� autocomplete page �뾽�뜲�씠�듃
+                function getHostingFieldListCallBack(result) {
+                    $scope.vm.autoCompletePage.hostingField.totalPage = result.data.page.totalPage;
+                }
+
+
                 function formCheck(formInvalid) {
                     if (formInvalid) {
                         return true;
@@ -273,6 +342,33 @@
 
                     return false;
                 }
+
+                // �뾽泥댁젙蹂� 寃곌낵 媛� Event 泥섎━(set)
+                $scope.$on("companyFieldEvent", function (event, result) {
+                    $scope.vm.companyManager = result[0].manager;
+                    $scope.vm.companyTel = result[0].tel;
+                    $scope.vm.companyEmail = result[0].email;
+                    $scope.vm.companyMemo = result[0].memo;
+
+                });
+
+                // ISP�젙蹂� 寃곌낵 媛� Event 泥섎━(set)
+                $scope.$on("ispFieldEvent", function (event, result) {
+                    $scope.vm.ispCode = result[0].code;
+                    $scope.vm.ispManager = result[0].manager;
+                    $scope.vm.ispTel = result[0].tel;
+                    $scope.vm.ispEmail = result[0].email;
+                    $scope.vm.ispMemo = result[0].memo;
+                });
+
+                // �샇�뒪�똿�젙蹂� 寃곌낵 媛� Event 泥섎━(set)
+                $scope.$on("hostingFieldEvent", function (event, result) {
+                    $scope.vm.hostingCode = result[0].code;
+                    $scope.vm.hostingManager = result[0].manager;
+                    $scope.vm.hostingTel = result[0].tel;
+                    $scope.vm.hostingEmail = result[0].email;
+                    $scope.vm.hostingMemo = result[0].memo;
+                });
 
                 function formSubmit() {
                     $rootScope.spinner = true;
@@ -294,6 +390,35 @@
                         priorityId : $scope.vm.form.priorityId,    //  �슦�꽑�닚�쐞 �븘�씠�뵒
                         severityId : $scope.vm.form.severityId,    //  以묒슂�룄 �븘�씠�뵒
                         issueStatusId : $scope.vm.form.issueStatusId,   //  �씠�뒋 �긽�깭 �븘�씠�뵒
+                        companyId : (function () {   //  �봽濡쒖젥�듃 �븘�씠�뵒
+                            var companyId = "";
+
+                            if ($scope.vm.form.companyFields.length > 0) {
+                                companyId = $scope.vm.form.companyFields[0].id;
+                            }
+
+                            return companyId;
+                        })(),
+
+                        ispId : (function () {
+                            var ispId = "";
+
+                            if ($scope.vm.form.ispFields.length > 0) {
+                                ispId = $scope.vm.form.ispFields[0].id;
+                            }
+
+                            return ispId;
+                        })(),
+                        hostingId : (function () {
+                            var hostingId = "";
+
+                            if ($scope.vm.form.hostingFields.length > 0) {
+                                hostingId = $scope.vm.form.hostingFields[0].id;
+                            }
+
+                            return hostingId;
+                        })(),
+
                         userIds : (function () {
                             var userIds = [];
 
@@ -304,6 +429,15 @@
                             return userIds;
                         })(),
                         removeFiles : $scope.vm.form.removeFiles,
+                        departmentIds : (function () {
+                            var departmentIds = [];
+
+                            angular.forEach($scope.vm.form.departments, function (department) {
+                                departmentIds.push(department.id);
+                            });
+
+                            return departmentIds;
+                        })(),
                         attachedFileIds : (function () {
                             var attachedFileIds = [];
 
@@ -535,7 +669,9 @@
                                 $scope.vm.form.title = result.data.data.title;
                                 $scope.vm.form.description = result.data.data.description;
                                 $scope.vm.form.projects.push(result.data.data.projectVo);
+                                $scope.vm.form.departments.push(result.data.data.departmentVo);
                                 $scope.vm.projectName = result.data.data.projectVo.name;
+                                $scope.vm.departmentName = result.data.data.departmentVo.departmentName;
                                 $scope.vm.form.issueTypeId = String(result.data.data.issueTypeVo.id);
                                 $scope.vm.form.priorityId = String(result.data.data.priorityVo.id);
                                 $scope.vm.form.severityId = String(result.data.data.severityVo.id);
diff --git a/src/main/webapp/scripts/components/utils/autoComplete.controller.js b/src/main/webapp/scripts/components/utils/autoComplete.controller.js
index 3d9aed3..5a4c131 100644
--- a/src/main/webapp/scripts/components/utils/autoComplete.controller.js
+++ b/src/main/webapp/scripts/components/utils/autoComplete.controller.js
@@ -191,7 +191,6 @@
                 function getUserDepartmentList(query, excludeList, page, callBack) {
                     var conditions = {
                         departmentName : query,
-                        departmentId : $rootScope.department.id,
                         excludeIds : (function () { //excludeIds : �젣�쇅 �븷 由ъ뒪�듃
                             var excludeIds = [];
                             angular.forEach(excludeList, function (exclude) {
diff --git a/src/main/webapp/views/common/sidebar.html b/src/main/webapp/views/common/sidebar.html
index 74e00e0..5705c8a 100644
--- a/src/main/webapp/views/common/sidebar.html
+++ b/src/main/webapp/views/common/sidebar.html
@@ -326,7 +326,7 @@
         </li>
 
         <li class="sub-header" ng-if="$root.checkMngPermissionSettings()">
-            <span>Etc</span>
+            <span>紐⑸줉愿�由�</span>
         </li>
         <li class="" ng-if="$root.checkMngPermission('USER_PERMISSION_MNG_ISSUE_STATUS')">
             <a ui-sref="companyField.list" tabindex="-1">
diff --git a/src/main/webapp/views/issue/issueAdd.html b/src/main/webapp/views/issue/issueAdd.html
index db3d11e..03bcee4 100644
--- a/src/main/webapp/views/issue/issueAdd.html
+++ b/src/main/webapp/views/issue/issueAdd.html
@@ -134,7 +134,7 @@
                         <div class="select3-selection__choicediv mt-10">
                             <span class="select3-selection__choice" ng-repeat="department in vm.form.departments">
                                 <span>{{department.byName}}</span>
-                                <span class="select3-selection__choice__remove" ng-click="fn.removeManager($index)">횞</span>
+                                <span class="select3-selection__choice__remove" ng-click="fn.removeDepartment($index)">횞</span>
                             </span>
                         </div>
                     </div>
@@ -272,7 +272,8 @@
             <div class="row">
                 <div class="col-lg-8 fontcolor_green">
                     <label class="issue-label"><span class="fontcolor_green" translate="companyField.info">�뾽泥댁젙蹂�</span>
-                        &nbsp;&nbsp; <span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code>&nbsp;&nbsp;媛� �젙蹂댁쓽 �씠由� �겢由��떆 �빐�떦 �씠由꾩쓽 �젙蹂닿� 議고쉶�맗�땲�떎.</span></label>
+                        &nbsp;&nbsp;<span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code>&nbsp;&nbsp;�뾽泥� �씠由� �겢由��떆 �꽑�깮�맂 �씠由꾩쓽 �뾽泥� �젙蹂닿� 議고쉶�맗�땲�떎.</span>
+                    </label>
                 </div>
             </div>
 
@@ -359,9 +360,12 @@
                     </div>
                 </div>
             </div>
+            <p></p>
             <div class="row">
-                <div class="col-lg-4 fontcolor_green">
-                    <label class="issue-label"><span class="fontcolor_green" translate="ispField.info">ISP �젙蹂�</span></label>
+                <div class="col-lg-8 fontcolor_green">
+                    <label class="issue-label"><span class="fontcolor_green" translate="ispField.info">ISP �젙蹂�</span>
+                        &nbsp;&nbsp;<span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code>&nbsp;&nbsp;ISP �씠由� �겢由��떆 �꽑�깮�맂 �씠由꾩쓽 ISP �젙蹂닿� 議고쉶�맗�땲�떎.</span>
+                    </label>
                 </div>
             </div>
 
@@ -462,9 +466,12 @@
                     </div>
                 </div>
             </div>
+            <p></p>
             <div class="row">
-                <div class="col-lg-4 fontcolor_green">
-                    <label class="issue-label"><span class="fontcolor_green" translate="hostingField.info">�샇�뒪�똿 �젙蹂�</span></label>
+                <div class="col-lg-8 fontcolor_green">
+                    <label class="issue-label"><span class="fontcolor_green" translate="hostingField.info">�샇�뒪�똿 �젙蹂�</span>
+                        &nbsp;&nbsp;<span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code>&nbsp;&nbsp;�샇�뒪�똿 �씠由� �겢由��떆 �꽑�깮�맂 �씠由꾩쓽 �샇�뒪�똿 �젙蹂닿� 議고쉶�맗�땲�떎.</span>
+                    </label>
                 </div>
             </div>
 
diff --git a/src/main/webapp/views/issue/issueModify.html b/src/main/webapp/views/issue/issueModify.html
index adbb0b4..ee78357 100644
--- a/src/main/webapp/views/issue/issueModify.html
+++ b/src/main/webapp/views/issue/issueModify.html
@@ -9,11 +9,11 @@
     </div>
 
     <div class="modal-body">
-        <form role="form" name="issueModifyForm">
+        <form role="form" name="issueAddForm">
             <div class="form-group mb10">
-                <label for="issueModifyForm1" class="issue-label"><span translate="issue.issueTitle">�씠�뒋 �젣紐�</span> <code
+                <label for="issueAddForm1" class="issue-label"><span translate="issue.issueTitle">�씠�뒋 �젣紐�</span> <code
                         class="highlighter-rouge">*</code></label>
-                <input id="issueModifyForm1"
+                <input id="issueAddForm1"
                        class="form-control input-sm"
                        ng-model="vm.form.title"
                        name="title"
@@ -23,12 +23,14 @@
                        autocomplete="off"
                        autofocus
                        owl-auto-focus>
-                <small class="help-block form-text text-danger" ng-if="issueModifyForm.title.$touched && issueModifyForm.title.$error.required" translate="issue.requireIssueTitle">�씠�뒋 �젣紐⑹쓣 �엯�젰�븯�꽭�슂.</small>
+                <small class="help-block form-text text-danger"
+                       ng-if="issueAddForm.title.$touched && issueAddForm.title.$error.required"
+                       translate="issue.requireIssueTitle">�씠�뒋 �젣紐⑹쓣 �엯�젰�븯�꽭�슂.
+                </small>
             </div>
-
             <div class="row">
                 <div class="col-lg-4">
-                    <div class="form-group mgb5">
+                    <div class="form-group mb10">
                         <label class="issue-label"> <span translate="common.project">�봽濡쒖젥�듃</span> <code
                                 class="highlighter-rouge">*</code></label>
                         <js-autocomplete-single data-input-name="project"
@@ -41,51 +43,46 @@
                                                 translation-texts="{ empty : 'common.emptyProject' }"
                                                 extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
                                                 type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
-                        <small translate="issue.initializedAssigneeCustomField">�봽濡쒖젥�듃瑜� 蹂�寃쏀븯硫� �떞�떦�옄, �궗�슜�옄 �젙�쓽 �븘�뱶 媛믪씠 珥덇린�솕 �맗�땲�떎.</small>
                     </div>
                 </div>
 
                 <div class="col-lg-8 bdl1">
                     <div class="row">
                         <div class="col-md-4">
-                            <div class="form-group mgb5">
-                                <label for="issueModifyForm4" class="issue-label"> <span translate="issue.issueType">�씠�뒋 ���엯</span>
-                                    <code
-                                            class="highlighter-rouge">*</code></label>
-                                <select id="issueModifyForm4"
+                            <div class="form-group mb10">
+                                <label for="issueAddForm4" class="issue-label"> <span
+                                        translate="issue.issueType">�씠�뒋 ���엯</span>
+                                    <code class="highlighter-rouge">*</code></label>
+                                <select id="issueAddForm4"
                                         name="issueType"
-                                        class="form-control input-sm"
+                                        class="form-control input-sm issue-select-label"
                                         ng-model="vm.form.issueTypeId"
                                         ng-change="fn.getIssueTypeCustomFields()"
                                         ng-style="{ 'color' : fn.getOptionColor(vm.issueTypes, vm.form.issueTypeId) }"
                                         required>
-                                    <option value="" translate="common.selectTarget" ng-style="{ 'color' : '#353535' }">
-                                        <span translate="common.selectTarget">���긽 �꽑�깮</span>
+                                    <option value="" translate="common.selectTarget" ng-style="{ 'color' : '#353535' }"><span
+                                            translate="common.selectTarget">���긽 �꽑�깮</span>
                                     </option>
                                     <option ng-repeat="issueType in vm.issueTypes"
                                             ng-style="{ 'color' : issueType.color, 'font-weight': 600 }"
                                             value="{{issueType.id}}">�뿈&nbsp;{{issueType.name}}
                                     </option>
                                 </select>
-                                <small translate="issue.initializedIssueStatus">�씠�뒋 ���엯�쓣 蹂�寃쏀븷 寃쎌슦 �궗�슜�옄 �젙�쓽 �븘�뱶, �씠�뒋 �긽�깭媛� 珥덇린�솕
-                                    �맗�땲�떎.
-                                </small>
                             </div>
                         </div>
-
                         <div class="col-md-4">
                             <div class="form-group mb10">
-                                <label for="issueModifyForm2" class="issue-label">
+                                <label for="issueAddForm2" class="issue-label">
                                     <span translate="common.priority">�슦�꽑 �닚�쐞</span>
                                     <code class="highlighter-rouge">*</code>
                                 </label>
-                                <select id="issueModifyForm2"
+                                <select id="issueAddForm2"
                                         name="priority"
                                         class="form-control input-sm issue-select-label"
                                         ng-model="vm.form.priorityId"
                                         ng-style="{ 'color' : fn.getOptionColor(vm.priorities, vm.form.priorityId) }"
                                         required>
-                                    <option value="" translate="common.selectTarget" ng-style="{ color : '#353535' }">
+                                    <option value="" translate="common.selectTarget" ng-style="{ 'color' : '#353535' }">
                                         <span translate="common.selectTarget">���긽 �꽑�깮</span>
                                     </option>
                                     <option ng-repeat="priority in vm.priorities"
@@ -96,16 +93,16 @@
                                 </select>
                             </div>
                         </div>
-
                         <div class="col-md-4">
                             <div class="form-group mb10">
-                                <label for="issueModifyForm3" class="issue-label"> <span translate="common.importance">以묒슂�룄</span>
-                                    <code class="highlighter-rouge">*</code></label>
-                                <select id="issueModifyForm3"
+                                <label for="issueAddForm3" class="issue-label"> <span
+                                        translate="common.importance">以묒슂�룄</span> <code
+                                        class="highlighter-rouge">*</code></label>
+                                <select id="issueAddForm3"
                                         name="severity"
                                         class="form-control input-sm issue-select-label"
                                         ng-model="vm.form.severityId"
-                                        ng-style="{ 'color' : fn.getOptionColor(vm.severities, vm.form.severityId)}"
+                                        ng-style="{ 'color' : fn.getOptionColor(vm.severities, vm.form.severityId) }"
                                         required>
                                     <option value="" translate="common.selectTarget" ng-style="{ color : '#353535' }">
                                         <span translate="common.selectTarget">���긽 �꽑�깮</span>
@@ -121,50 +118,33 @@
                     </div>
                 </div>
             </div>
-
-            <div class="form-group mb10">
-                <label class="issue-label"><span translate="common.content">�궡�슜</span></label>
-                <summernote
-                        class="summernote"
-                        lang="ko-KR"
-                        summer-note-auto-focus
-                        ng-model="vm.form.description"
-                        data-editor="vm.summerNote.editor"
-                        data-editable="vm.summerNote.editable"
-                        on-image-upload="fn.imageUpload(files)"
-                        target=".note-editable"></summernote>
-            </div>
-
+            <hr>
             <div class="row">
                 <div class="col-lg-4">
-                    <div class="form-group mgb5">
+                    <div class="form-group mb10">
                         <label class="issue-label"> <span translate="common.assigneeTeam">�떞�떦遺��꽌</span> </label>
-                        <js-input-autocomplete data-input-name="departments"
+                        <js-autocomplete-multi data-input-name="department"
                                                selected-model="vm.form.departments"
                                                search="vm.departmentName"
-                                               page="vm.autoCompletePage.department.page"
-                                               total-page="vm.autoCompletePage.department.totalPage"
-                                               source="fn.getDepartmentList(vm.departmentName, vm.form.departments, vm.autoCompletePage.department.page, fn.getDepartmentListCallBack)"
-                                               input-disabled="vm.form.departments.length == 0"
-                                               translation-texts="{ empty : 'common.emptyDepartment'}"
-                                               extra-settings="{ displayProp : 'byName' , idProp : 'id', imageable : true, imagePathProp : 'profile',
-                                               type : 'department', maxlength : 100, autoResize : true, stopRemoveBodyEvent : true }"></js-input-autocomplete>
+                                               source="fn.getIssueDepartmentList(vm.departmentName, vm.form.departments)"
+                                               input-disabled="false"
+                                               translation-texts="{ count : 'common.userNum', empty : 'common.emptyDepartment'}"
+                                               extra-settings="{ displayProp : 'byName' , idProp : 'id', imageable : false, maxlength : 100, autoResize : true}"></js-autocomplete-multi>
 
-                        <div class="select3-selection__choicediv">
+                        <div class="select3-selection__choicediv mt-10">
                             <span class="select3-selection__choice" ng-repeat="department in vm.form.departments">
-                                <span class="avatar-w"></span>
-                                <!--                                <img ng-src="{{department.profile}}">-->
-                                <span>{{department.name}}({{department.id}})</span>
-                                <span class="select3-selection__choice__remove"
-                                      ng-click="fn.removeManager($index)">횞</span>
+                                <span>{{department.byName}}</span>
+                                <span class="select3-selection__choice__remove" ng-click="fn.removeDepartment($index)">횞</span>
                             </span>
                         </div>
                     </div>
+                </div>
 
-                    <div class="form-group mgb5">
-                        <label for="issueModifyForm5" class="issue-label"> <span translate="common.period">湲곌컙</span>
-                        </label>
-                        <input id="issueModifyForm5"
+                <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"
+                               tabindex="-1"
                                type="text"
                                readonly
                                class="form-control cursor"
@@ -180,7 +160,8 @@
                             </div>
                         </div>
                     </div>
-
+                </div>
+                <div class="col-lg-4">
                     <div class="form-group mgb5">
                         <label class="issue-label"><span translate="common.attachFiles">�뙆�씪 泥⑤�</span></label>
                         <div class="filebox input-group">
@@ -188,7 +169,8 @@
                                    placeholder="{{'users.pleaseSelectFile' | translate}}"
                                    tabindex="-1"
                                    disabled="disabled">
-                            <label for="uploadFileField"><span translate="common.selectFile">�뙆�씪�꽑�깮</span></label>
+                            <label for="uploadFileField"><span
+                                    translate="common.selectFile">�뙆�씪�꽑�깮</span></label>
                             <input id="uploadFileField"
                                    tabindex="-1"
                                    type="file"
@@ -196,14 +178,10 @@
                                    multiple
                                    ng-file-select="fn.onFileSelect($files)">
                         </div>
-                        <small translate="issue.attachOnlyFiles">hwp, jpg, png, txt, pptx, ppt, pdf, xlsx, xls,
-                            docx, zip, gif, jpeg, doc, tif, bmp, wmv, avi, mp4, mkv, mov �뙆�씪留� 泥⑤��븷 �닔 �엳�뒿�땲�떎.
-                        </small>
 
                         <div class="select2-selection__choicediv">
                             <div class="select2-selection__choice2" ng-repeat="file in vm.form.files">
-                                <div class="select2-selection__choice2__remove"
-                                     ng-click="fn.removeUploadFile($index)">
+                                <div class="select2-selection__choice2__remove" ng-click="fn.removeUploadFile($index)">
                                     횞
                                 </div>
                                 <div class="ssg-items ssg-items-blocks">
@@ -215,12 +193,7 @@
                                             <i class="os-icon os-icon-film" ng-if="file.fileType == 'MEDIA'"></i>
                                             <!--    �씠誘몄�(�뾽濡쒕뱶 �쟾)  -->
                                             <i class="os-icon os-icon-documents-07"
-                                               ng-if="file.fileType == 'IMAGE' && !$root.isDefined(file.path)"></i>
-                                            <!--    �씠誘몄�(�뾽濡쒕뱶 �썑)  -->
-                                            <span class="attached-media-w"
-                                                  ng-if="file.fileType == 'IMAGE' && $root.isDefined(file.path)">
-                                                <img ng-src="{{file.path}}">
-                                            </span>
+                                               ng-if="file.fileType == 'IMAGE'"></i>
                                             <!--    湲고�  -->
                                             <i class="os-icon os-icon-ui-51" ng-if="file.fileType == 'ETC'"></i>
                                         </div>
@@ -236,69 +209,401 @@
                         </div>
                     </div>
                 </div>
+            </div>
+            <div class="row">
+                <div class="col-lg-4 fontcolor_green">
+                    <label class="issue-label"><span class="fontcolor_green" translate="common.detectingInfo">�깘吏��젙蹂�</span></label>
+                </div>
+            </div>
 
-                <div class="col-lg-8 bdl1">
-                    <div class="row">
-                        <div class="col-md-12">
-                            <div class="form-group mgb5" ng-show="vm.form.issueCustomFields.length < 1">
-                                <label class="issue-label" translate="issue.notIssueTypeCustomFields">�씠�뒋 ���엯�뿉 �뿰寃곕맂 �궗�슜�옄 �젙�쓽 �븘�뱶媛� �뾾�뒿�땲�떎.</label>
-                            </div>
+            <div class="col-lg-8">
+                <div class="row">
+                    <div class="col-md-12">
+                        <div class="form-group mgb5" ng-show="vm.form.issueCustomFields.length < 1">
+                            <label class="issue-label" translate="issue.notIssueTypeCustomFields">�씠�뒋 ���엯�뿉 �뿰寃곕맂 �궗�슜�옄 �젙�쓽
+                                �븘�뱶媛� �뾾�뒿�땲�떎.</label>
                         </div>
+                    </div>
 
-                        <div class="col-md-6" ng-repeat="issueCustomField in vm.form.issueCustomFields">
-                            <div class="form-group mgb5">
-                                <label class="issue-label">{{issueCustomField.customFieldVo.name}}</label>
+                    <div class="col-md-6" ng-repeat="issueCustomField in vm.form.issueCustomFields">
+                        <div class="form-group mgb5">
+                            <label class="issue-label">{{issueCustomField.customFieldVo.name}}</label>
 
-                                <div ng-switch on="issueCustomField.customFieldVo.customFieldType">
-                                    <!-- 湲곕낯 �엯�젰 -->
-                                    <div ng-switch-when="INPUT">
-                                        <input type="text" class="form-control input-sm"
-                                               ng-model="issueCustomField.useValues"
-                                               maxlength="100"
-                                               autocomplete="off"
-                                               kr-input
-                                               ng-required="issueCustomField.fieldOption == '01'">
-                                    </div>
+                            <div ng-switch on="issueCustomField.customFieldVo.customFieldType">
+                                <!-- 湲곕낯 �엯�젰 -->
+                                <div ng-switch-when="INPUT">
+                                    <input type="text" class="form-control input-sm"
+                                           ng-model="issueCustomField.useValues"
+                                           maxlength="100"
+                                           autocomplete="off"
+                                           kr-input
+                                           ng-required="issueCustomField.fieldOption == '01'">
+                                </div>
 
-                                    <!-- �떒�씪 ���젆�듃 -->
-                                    <div ng-switch-when="SINGLE_SELECT">
-                                        <select class="form-control input-sm"
-                                                ng-required="issueCustomField.fieldOption == '01'"
-                                                ng-model="issueCustomField.useValues">
-                                            <option value="">�꽑�깮�븯�꽭�슂.</option>
-                                            <option ng-repeat="customFieldValueVo in issueCustomField.customFieldVo.customFieldValueVos"
-                                                    value="{{customFieldValueVo.value}}"
-                                                    ng-selected="$root.selectOption(issueCustomField.useValues, customFieldValueVo.value)">
-                                                {{customFieldValueVo.value}}
-                                            </option>
-                                        </select>
-                                    </div>
+                                <!-- �떒�씪 ���젆�듃 -->
+                                <div ng-switch-when="SINGLE_SELECT">
+                                    <select class="form-control input-sm issue-select-label"
+                                            ng-required="issueCustomField.fieldOption == '01'"
+                                            ng-model="issueCustomField.useValues">
+                                        <option value="" value="" translate="common.choose">�꽑�깮�븯�꽭�슂.</option>
+                                        <option ng-repeat="customFieldValueVo in issueCustomField.customFieldVo.customFieldValueVos"
+                                                value="{{customFieldValueVo.value}}"
+                                                ng-selected="$root.selectOption(issueCustomField.useValues, customFieldValueVo.value)">
+                                            {{customFieldValueVo.value}}
+                                        </option>
+                                    </select>
+                                </div>
 
-                                    <!-- 硫��떚 ���젆�듃 -->
-                                    <div ng-switch-when="MULTI_SELECT">
-                                        <ng-dropdown-multiselect class="multiSelect cursor"
-                                                                 data-input-name=""
-                                                                 selected-model="issueCustomField.useValues"
-                                                                 extra-settings="{ 'idProp' : 'value', 'externalIdProp' : 'value', 'displayProp' : 'value', 'stringTypeOption' : 'true', stopRemoveBodyEvent : true }"
-                                                                 options="issueCustomField.customFieldVo.customFieldValueVos"></ng-dropdown-multiselect>
-                                    </div>
+                                <!-- 硫��떚 ���젆�듃 -->
+                                <div ng-switch-when="MULTI_SELECT">
+                                    <ng-dropdown-multiselect class="multiSelect cursor"
+                                                             data-input-name=""
+                                                             modal-form-auto-scroll
+                                                             selected-model="issueCustomField.useValues"
+                                                             extra-settings="{ 'idProp' : 'value', 'externalIdProp' : 'value', 'displayProp' : 'value', 'stringTypeOption' : 'true', stopRemoveBodyEvent : true }"
+                                                             options="issueCustomField.customFieldVo.customFieldValueVos"></ng-dropdown-multiselect>
                                 </div>
                             </div>
                         </div>
                     </div>
                 </div>
             </div>
-        </form>
-    </div>
+            <hr>
+            <div class="row">
+                <div class="col-lg-8 fontcolor_green">
+                    <label class="issue-label"><span class="fontcolor_green" translate="companyField.info">�뾽泥댁젙蹂�</span>
+                        &nbsp;&nbsp;<span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code>&nbsp;&nbsp;�뾽泥� �씠由� �겢由��떆 �꽑�깮�맂 �씠由꾩쓽 �뾽泥� �젙蹂닿� 議고쉶�맗�땲�떎.</span>
+                    </label>
+                </div>
+            </div>
 
-    <div class="modal-footer buttons-on-right">
-        <button type="button" class="btn btn-md btn-grey" ng-click="fn.cancel()" tabindex="-1"><span
-                translate="common.cancel">痍⑥냼</span></button>
-        <button type="button" class="btn btn-md btn-primary bold"
-                js-short-cut
-                js-short-cut-action="(fn.formCheck(issueModifyForm.$invalid) || $root.spinner) ? null : fn.formSubmit()"
-                ng-disabled="fn.formCheck(issueModifyForm.$invalid)"
-                ng-click="fn.formSubmit()"><span translate="common.save">���옣</span>
-        </button>
+            <div class="row">
+                <div class="col-lg-4">
+                    <div class="form-group mb10">
+                        <label class="issue-label"> <span translate="companyField.name">�뾽泥댁씠由�</span> </label>
+                        <js-autocomplete-single data-input-name="companyField"
+                                                selected-model="vm.form.companyFields"
+                                                search="vm.companyName"
+                                                source="fn.getCompanyFieldList(vm.companyName, vm.form.companyFields, vm.autoCompletePage.companyField.page, fn.getCompanyFieldListCallBack)"
+                                                page="vm.autoCompletePage.companyField.page"
+                                                total-page="vm.autoCompletePage.companyField.totalPage"
+                                                input-disabled="false"
+                                                translation-texts="{ empty : 'common.emptyCompany' }"
+                                                broad-cast="companyFieldEvent"
+                                                extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
+                                                type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
+                    </div>
+                </div>
+                <div class="col-lg-4">
+                    <div class="form-group mb10">
+                        <label for="companyFieldManagerAddForm" class="issue-label"><span translate="companyField.manager">�떞�떦�옄</span></label>
+                        <input id="companyFieldManagerAddForm"
+                               name="companyManager"
+                               type="text"
+                               class="form-control"
+                               autofocus
+                               kr-input
+                               input-regex="[^a-zA-Z0-9 媛�-�옡�꽦-�뀕�뀖-�뀭\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]"
+                               autocomplete="off"
+                               ng-model="vm.companyManager"
+                               ng-maxlength="100"
+                               maxlength="100"
+                        >
+                    </div>
+                </div>
+                <div class="col-lg-4">
+                    <div class="form-group mgb5">
+                        <label for="companyFieldTelAddForm" class="issue-label"><span translate="companyField.tel">�쟾�솕踰덊샇</span></label>
+                        <input id="companyFieldTelAddForm"
+                               name="companyTel"
+                               type="text"
+                               class="form-control"
+                               kr-input
+                               ng-pattern="/^\d{2,3}-\d{3,4}-\d{4}$/"
+                               autocomplete="off"
+                               ng-model="vm.companyTel"
+                               maxlength="20">
+                        <div ng-show="issueAddForm.companyTel.$error.pattern" class="help-block form-text text-danger"
+                             translate="companyField.invalidTelFormat">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎. xxx-xxx-xxxx �삎�떇�쑝濡� �엯�젰�븯�꽭�슂.
+                        </div>
+                    </div>
+                </div>
+                <div class="col-lg-4">
+                    <div class="form-group mgb5">
+                        <label for="companyFieldEmailAddForm" class="issue-label"><span translate="companyField.email">�씠硫붿씪</span></label>
+                        <input id="companyFieldEmailAddForm"
+                               name="companyEmail"
+                               type="email"
+                               class="form-control"
+                               autocomplete="off"
+                               maxLength="50"
+                               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"
+                             translate="users.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                        </div>
+                    </div>
+                </div>
+                <div class="col-lg-4">
+                    <div class="form-group mgb5">
+                        <label for="companyFieldDescAddForm" class="issue-label"><span translate="companyField.memo">鍮꾧퀬</span></label>
+                        <input id="companyFieldDescAddForm"
+                               name="companyMemo"
+                               type="text"
+                               class="form-control"
+                               kr-input
+                               autocomplete="off"
+                               ng-maxlength="200"
+                               ng-model="vm.companyMemo"
+                               maxlength="200">
+                    </div>
+                </div>
+            </div>
+            <p></p>
+            <div class="row">
+                <div class="col-lg-8 fontcolor_green">
+                    <label class="issue-label"><span class="fontcolor_green" translate="ispField.info">ISP �젙蹂�</span>
+                        &nbsp;&nbsp;<span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code>&nbsp;&nbsp;ISP �씠由� �겢由��떆 �꽑�깮�맂 �씠由꾩쓽 ISP �젙蹂닿� 議고쉶�맗�땲�떎.</span>
+                    </label>
+                </div>
+            </div>
+
+            <div class="row">
+                <div class="col-lg-4">
+                    <div class="form-group mb10">
+                        <label class="issue-label"> <span translate="ispField.name">ISP �씠由�</span> </label>
+                        <js-autocomplete-single data-input-name="ispField"
+                                                selected-model="vm.form.ispFields"
+                                                search="vm.ispName"
+                                                source="fn.getIspFieldList(vm.ispName, vm.form.ispFields, vm.autoCompletePage.ispField.page, fn.getIspFieldListCallBack)"
+                                                page="vm.autoCompletePage.ispField.page"
+                                                total-page="vm.autoCompletePage.ispField.totalPage"
+                                                input-disabled="false"
+                                                translation-texts="{ empty : 'common.emptyIsp' }"
+                                                broad-cast="ispFieldEvent"
+                                                extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
+                                                type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
+                    </div>
+                </div>
+                <div class="col-lg-4">
+                    <div class="form-group mb10">
+                        <label for="ispFieldCodeAddForm" class="issue-label"><span translate="ispField.code">肄붾뱶</span></label>
+                        <input id="ispFieldCodeAddForm"
+                               name="ispCode"
+                               type="text"
+                               class="form-control"
+                               kr-input
+                               input-regex="[^a-zA-Z0-9 媛�-�옡�꽦-�뀕�뀖-�뀭\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]"
+                               autocomplete="off"
+                               ng-model="vm.ispCode"
+                               ng-maxlength="100"
+                               maxlength="100">
+                    </div>
+                </div>
+
+                <div class="col-lg-4">
+                    <div class="form-group mb10">
+                        <label for="ispFieldManagerAddForm" class="issue-label"><span translate="ispField.manager">�떞�떦�옄</span></label>
+                        <input id="ispFieldManagerAddForm"
+                               name="ispManager"
+                               type="text"
+                               class="form-control"
+                               kr-input
+                               input-regex="[^a-zA-Z0-9 媛�-�옡�꽦-�뀕�뀖-�뀭\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]"
+                               autocomplete="off"
+                               ng-model="vm.ispManager"
+                               ng-maxlength="100"
+                               maxlength="100">
+                    </div>
+                </div>
+                <div class="col-lg-4">
+                    <div class="form-group mgb5">
+                        <label for="ispFieldTelAddForm" class="issue-label"><span translate="ispField.tel">�쟾�솕踰덊샇</span></label>
+                        <input id="ispFieldTelAddForm"
+                               name="ispTel"
+                               type="text"
+                               class="form-control"
+                               kr-input
+                               ng-pattern="/^\d{2,3}-\d{3,4}-\d{4}$/"
+                               autocomplete="off"
+                               ng-model="vm.ispTel"
+                               maxlength="20">
+                        <div ng-show="issueAddForm.ispTel.$error.pattern" class="help-block form-text text-danger"
+                             translate="companyField.invalidTelFormat">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎. xxx-xxx-xxxx �삎�떇�쑝濡� �엯�젰�븯�꽭�슂.
+                        </div>
+                    </div>
+                </div>
+                <div class="col-lg-4">
+                    <div class="form-group mgb5">
+                        <label for="ispFieldEmailAddForm" class="issue-label"><span translate="ispField.email">�씠硫붿씪</span></label>
+                        <input id="ispFieldEmailAddForm"
+                               name="ispEmail"
+                               type="email"
+                               class="form-control"
+                               autocomplete="off"
+                               maxLength="50"
+                               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"
+                             translate="users.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                        </div>
+                    </div>
+                </div>
+                <div class="col-lg-4">
+                    <div class="form-group mgb5">
+                        <label for="ispFieldDescAddForm" class="issue-label"><span translate="ispField.memo">鍮꾧퀬</span></label>
+                        <input id="ispFieldDescAddForm"
+                               name="ispMemo"
+                               type="text"
+                               class="form-control"
+                               kr-input
+                               autocomplete="off"
+                               ng-model="vm.ispMemo"
+                               ng-maxlength="200"
+                               maxlength="200">
+                    </div>
+                </div>
+            </div>
+            <p></p>
+            <div class="row">
+                <div class="col-lg-8 fontcolor_green">
+                    <label class="issue-label"><span class="fontcolor_green" translate="hostingField.info">�샇�뒪�똿 �젙蹂�</span>
+                        &nbsp;&nbsp;<span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code>&nbsp;&nbsp;�샇�뒪�똿 �씠由� �겢由��떆 �꽑�깮�맂 �씠由꾩쓽 �샇�뒪�똿 �젙蹂닿� 議고쉶�맗�땲�떎.</span>
+                    </label>
+                </div>
+            </div>
+
+            <div class="row">
+                <div class="col-lg-4">
+                    <div class="form-group mb10">
+                        <label class="issue-label"> <span translate="hostingField.name">�샇�뒪�똿 �씠由�</span> </label>
+                        <js-autocomplete-single data-input-name="hostingField"
+                                                selected-model="vm.form.hostingFields"
+                                                search="vm.hostingName"
+                                                source="fn.getHostingFieldList(vm.hostingName, vm.form.hostingFields, vm.autoCompletePage.hostingField.page, fn.getHostingFieldListCallBack)"
+                                                page="vm.autoCompletePage.hostingField.page"
+                                                total-page="vm.autoCompletePage.hostingField.totalPage"
+                                                input-disabled="false"
+                                                translation-texts="{ empty : 'common.emptyHosting' }"
+                                                broad-cast="hostingFieldEvent"
+                                                extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
+                                                type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
+                    </div>
+                </div>
+                <div class="col-lg-4">
+                    <div class="form-group mb10">
+                        <label for="hostingCodeManagerAdd" class="issue-label"><span translate="hostingField.code">�떞�떦�옄</span></label>
+                        <input id="hostingCodeManagerAdd"
+                               name="hostingCode"
+                               type="text"
+                               class="form-control"
+                               kr-input
+                               input-regex="[^a-zA-Z0-9 媛�-�옡�꽦-�뀕�뀖-�뀭\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]"
+                               autocomplete="off"
+                               ng-model="vm.hostingCode"
+                               ng-maxlength="100"
+                               maxlength="100">
+                    </div>
+                </div>
+
+                <div class="col-lg-4">
+                    <div class="form-group mb10">
+                        <label for="hostingFieldManagerAdd" class="issue-label"><span translate="hostingField.manager">�떞�떦�옄</span></label>
+                        <input id="hostingFieldManagerAdd"
+                               name="hostingManager"
+                               type="text"
+                               class="form-control"
+                               kr-input
+                               input-regex="[^a-zA-Z0-9 媛�-�옡�꽦-�뀕�뀖-�뀭\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]"
+                               autocomplete="off"
+                               ng-model="vm.hostingManager"
+                               ng-maxlength="100"
+                               maxlength="100">
+                    </div>
+                </div>
+                <div class="col-lg-4">
+                    <div class="form-group mgb5">
+                        <label for="hostingFieldTelAdd" class="issue-label"><span translate="hostingField.tel">�쟾�솕踰덊샇</span></label>
+                        <input id="hostingFieldTelAdd"
+                               name="hostingTel"
+                               type="text"
+                               class="form-control"
+                               kr-input
+                               ng-pattern="/^\d{2,3}-\d{3,4}-\d{4}$/"
+                               autocomplete="off"
+                               ng-model="vm.hostingTel"
+                               maxlength="20">
+                        <div ng-show="issueAddForm.hostingTel.$error.pattern" class="help-block form-text text-danger"
+                             translate="companyField.invalidTelFormat">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎. xxx-xxx-xxxx �삎�떇�쑝濡� �엯�젰�븯�꽭�슂.
+                        </div>
+                    </div>
+                </div>
+                <div class="col-lg-4">
+                    <div class="form-group mgb5">
+                        <label for="hostingFieldEmailAdd" class="issue-label"><span translate="hostingField.email">�씠硫붿씪</span></label>
+                        <input id="hostingFieldEmailAdd"
+                               name="hostingEmail"
+                               type="email"
+                               class="form-control"
+                               autocomplete="off"
+                               maxLength="50"
+                               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"
+                             translate="users.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                        </div>
+                    </div>
+                </div>
+                <div class="col-lg-4">
+                    <div class="form-group mgb5">
+                        <label for="hostingFieldDescAdd" class="issue-label"><span translate="hostingField.memo">鍮꾧퀬</span></label>
+                        <input id="hostingFieldDescAdd"
+                               name="hostingMemo"
+                               type="text"
+                               class="form-control"
+                               kr-input
+                               autocomplete="off"
+                               ng-model="vm.hostingMemo"
+                               ng-maxlength="200"
+                               maxlength="200">
+                    </div>
+                </div>
+            </div>
+        </form>
+        <hr>
+        <div class="form-group mb10">
+            <label class="issue-label"><span translate="common.content">�궡�슜</span></label>
+            <summernote
+                    class="summernote"
+                    lang="ko-KR"
+                    summer-note-auto-focus
+                    ng-model="vm.form.description"
+                    data-editor="vm.summerNote.editor"
+                    data-editable="vm.summerNote.editable"
+                    on-image-upload="fn.imageUpload(files)"
+                    target=".note-editable"></summernote>
+        </div>
     </div>
 </div>
+
+
+<div class="modal-footer buttons-on-right">
+    <div class="pull-left">
+        <label>
+            <input class="form-control issue-continue-checkbox pull-left" type="checkbox" ng-model="vm.infiniteAdd"
+                   tabindex="-1">
+            <span translate="issue.continueCreateIssue">�씠 �솕硫댁뿉�꽌 �씠�뒋瑜� 怨꾩냽 �깮�꽦�빀�땲�떎.</span>
+        </label>
+    </div>
+    <button type="button" class="btn btn-md btn-grey" ng-click="fn.cancel()" tabindex="-1"><span
+            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)"
+            ng-click="fn.formSubmit()"><span translate="common.save">���옣</span>
+    </button>
+</div>
\ No newline at end of file

--
Gitblit v1.8.0