From f820bc3406e6fe88660124b28507f21df6b659ab Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 금, 24 12월 2021 16:47:39 +0900
Subject: [PATCH] 이슈타입 리스트 하위 프로젝트꺼까지 다 보이도록 수정

---
 src/main/webapp/scripts/app/issue/issueAdd.controller.js |  345 ++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 288 insertions(+), 57 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueAdd.controller.js b/src/main/webapp/scripts/app/issue/issueAdd.controller.js
index 36b56a7..5b4e9e7 100644
--- a/src/main/webapp/scripts/app/issue/issueAdd.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueAdd.controller.js
@@ -19,10 +19,10 @@
                     formCheck : formCheck,  //  �뤌 泥댄겕
                     getUserListCallBack : getUserListCallBack,  //  �떞�떦�옄 autocomplete �럹�씠吏�
                     getProjectListCallBack : getProjectListCallBack,    //  �봽濡쒖젥�듃 autocomplete �럹�씠吏�
-                    getCompanyFieldListCallBack : getCompanyFieldListCallBack,    // �뾽泥댁젙蹂� autocomplete �럹�씠吏�
+                    getIssueCompanyFieldListCallBack : getIssueCompanyFieldListCallBack,    // �뾽泥댁젙蹂� autocomplete �럹�씠吏�
                     getIssueDepartmentListCallBack : getIssueDepartmentListCallBack,    // �떞�떦�옄 -> �떞�떦遺��꽌 autocomplete �럹�씠吏�
-                    getIspFieldListCallBack : getIspFieldListCallBack,    // ISP�젙蹂� autocomplete �럹�씠吏�
-                    getHostingFieldListCallBack : getHostingFieldListCallBack,    // �샇�뒪�똿�젙蹂� autocomplete �럹�씠吏�
+                    getIssueIspFieldListCallBack : getIssueIspFieldListCallBack,    // ISP�젙蹂� autocomplete �럹�씠吏�
+                    getIssueHostingFieldListCallBack : getIssueHostingFieldListCallBack,    // �샇�뒪�똿�젙蹂� autocomplete �럹�씠吏�
                     getOptionColor : getOptionColor,    //  �슦�꽑�닚�쐞, 以묒슂�룄 �깋�긽�쑝濡� Select �깭洹� �쟻�슜
                     onFileSelect : onFileSelect,    //  �뙆�씪 泥⑤�
                     infiniteAddForm : infiniteAddForm,  //  怨꾩냽 �깮�꽦
@@ -33,18 +33,23 @@
                     getIssueTypeCustomFields : getIssueTypeCustomFields,    //  �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �궗�슜�옄 �젙�쓽 �븘�뱶 紐⑸줉 媛��졇�삤湲�
                     removeUploadFile : removeUploadFile,    //  �뾽濡쒕뱶�븯�젮�뒗 �듅�젙 �뙆�씪�쓣 �궘�젣
                     removeManager : removeManager,  //  �떞�떦�옄 �궘�젣
+                    removeDepartment : removeDepartment,  //  �떞�떦遺��꽌 �궘�젣
                     setIssueTypeTemplate : setIssueTypeTemplate,    //  �씠�뒋 �쑀�삎 �뀥�뵆由� �쟻�슜�븯湲�
-                    startExecute : startExecute //  而⑦듃濡� 濡쒕뵫�떆 泥섏쓬�쑝濡� �떆�옉�릺�뒗 �븿�닔
+                    startExecute : startExecute, //  而⑦듃濡� 濡쒕뵫�떆 泥섏쓬�쑝濡� �떆�옉�릺�뒗 �븿�닔
+                    containsPartner : containsPartner,
+                    getPartners : getPartners,
+                    getDepartments : getDepartments,
                 };
 
                 $scope.vm = {
+                    partnerVos : "",
                     form : {
                         title : "",    //  �젣紐�
                         description : "",   //  �궡�슜
                         projects : [],  //  �봽濡쒖젥�듃
-                        companyFields : [], // �뾽泥댁젙蹂�
-                        ispFields : [], // ISP �젙蹂�
-                        hostingFields : [], // �샇�뒪�똿�젙蹂�
+                        issueCompanyFields : [], // �뾽泥댁젙蹂�
+                        issueIspFields : [], // ISP �젙蹂�
+                        issueHostingFields : [], // �샇�뒪�똿�젙蹂�
                         issueTypeId : "",   //  �씠�뒋 �쑀�삎 �븘�씠�뵒
                         priorityId : "",    //  �슦�꽑�닚�쐞 �븘�씠�뵒
                         severityId : "",    //  以묒슂�룄 �븘�씠�뵒
@@ -54,29 +59,36 @@
                         attachedFiles : [], //  �꽟癒몃끂�듃濡� �뙆�씪 �뾽濡쒕뱶瑜� �븷 寃쎌슦 �꽌踰꾩뿉�꽌 pk瑜� �뵲怨� issue id�� �뿰�룞 �옉�뾽�씠 �븘�슂�븯�떎.
                         startCompleteDateRange : "", //  �떆�옉�씪 ~ 醫낅즺�씪
                         detectingDateRange : "", //  �깘吏��씪
-                        issueCustomFields : []  //  �씠�뒋�뿉�꽌 �궗�슜�릺�뒗 �궗�슜�옄 �젙�쓽 �븘�뱶
+                        issueCustomFields : [],  //  �씠�뒋�뿉�꽌 �궗�슜�릺�뒗 �궗�슜�옄 �젙�쓽 �븘�뱶
+                        issueStatusId: ""
                     },
                     infiniteAdd : false,    //  �뿰�냽 �깮�꽦
                     projectName : "",   //  �봽濡쒖젥�듃 紐� 寃��깋
                     userName : "",  //  �궗�슜�옄 寃��깋
                     departmentName : "",  // 遺��꽌紐� 寃��깋
+                    companyId : -1, // 遺��꽌 ID
                     companyName : "",   // �뾽泥대챸 寃��깋
-                    companyCode : "",   // �뾽泥� 肄붾뱶
                     companyManager : "",   // �뾽泥� �떞�떦�옄
                     companyTel : "",  // �뾽泥� �쟾�솕踰덊샇
                     companyEmail : "",  // �뾽泥� �씠硫붿씪
+                    companyUrl : "",  // �뾽泥� url
                     companyMemo : "",  // �뾽泥� 鍮꾧퀬
+                    ispId : -1, // ISP ID
                     ispName : "", // ISP 紐�
                     ispCode : "", // ISP 肄붾뱶
                     ispManager : "", // ISP �떞�떦�옄
                     ispTel : "", // ISP �쟾�솕踰덊샇
                     ispEmail : "", // ISP �씠硫붿씪
+                    ispUrl : "",  // url
                     ispMemo : "", // ISP 鍮꾧퀬
+                    hostingId : -1, // �샇�뒪�똿 ID
                     hostingName : "", // �샇�뒪�똿紐� 寃��깋
                     hostingManager : "", // �샇�뒪�똿 �떞�떦�옄
                     hostingTel : "", // �샇�뒪�똿 �쟾�솕踰덊샇
                     hostingEmail : "", // �샇�뒪�똿 �씠硫붿씪
-                    hostingMemo : "", // �샇�뒪�똿 鍮꾧퀬
+                    hostingUrl : "",  // url
+                    hostingMemo :"", // �샇�뒪�똿 鍮꾧퀬
+
                     autoCompletePage : {
                         user : {
                             page : 0,
@@ -113,6 +125,18 @@
                     fileTableConfigs : [],   //  �뙆�씪 �뾽濡쒕뱶 �젙蹂� �뀒�씠釉�
                 };
 
+                // �뿰愿� �씪媛� 愿��젴
+                $scope.vm.relationIssueTypes =
+                    [
+                        { id: 0, name: $filter("translate")("issue.relationIssueType1") },
+                        { id: 1, name: $filter("translate")("issue.relationIssueType2") },
+                        { id: 2, name: $filter("translate")("issue.relationIssueType3") },
+                        { id: 3, name: $filter("translate")("issue.relationIssueType4") },
+                        { id: 4, name: $filter("translate")("issue.relationIssueType5") },
+                        { id: 5, name: $filter("translate")("issue.relationIssueType6") }
+                    ];
+                $scope.vm.relationIssueType = $scope.vm.relationIssueTypes[0];
+
                 angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector}));
 
                 function getStartProjectListCallback(result){
@@ -125,14 +149,20 @@
 
                 //  �봽濡쒖젥�듃媛� 蹂�寃쎈릺硫� �떞�떦�옄 珥덇린�솕
                 $scope.$watch("vm.form.projects", function (newValue, oldValue) {
+
+
                     if (angular.isDefined(newValue)) {
                         if (newValue.length < 1) {
                             $scope.vm.form.users = [];
+                        } else {
+                            //  �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �궗�슜�옄 �젙�쓽 �븘�뱶 媛��졇�삤湲�
+                            $scope.fn.getIssueTypeCustomFields();
                         }
-
-                        //  �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �궗�슜�옄 �젙�쓽 �븘�뱶 媛��졇�삤湲�
-                        $scope.fn.getIssueTypeCustomFields();
                     }
+                });
+
+                $scope.$watch("vm.form.issueTypeId", function (newValue, oldValue) {
+                    $scope.vm.partnerVos = $scope.fn.getPartners();
                 });
 
                 //  �꽟癒몃끂�듃 �씠誘몄� �뾽濡쒕뱶
@@ -291,6 +321,11 @@
                     $scope.vm.form.departments.splice(index, 1);
                 }
 
+                // �떞�떦遺��꽌 �궘�젣
+                function removeDepartment(index) {
+                    $scope.vm.form.departments.splice(index, 1);
+                }
+
                 //  �뾽濡쒕뱶 �뙆�씪 �궘�젣
                 function removeUploadFile(index) {
                     $scope.vm.form.files.splice(index, 1);
@@ -298,6 +333,21 @@
                     angular.forEach($scope.vm.form.files, function (file, index) {
                         file.index = index;
                     });
+                }
+
+                // �뾽泥�/ISP/�샇�뒪�똿 �씠由꾩씠 �룷�븿 �뿬遺� �솗�씤
+                function containsPartner(name) {
+                    var result = false;
+
+                    if ($scope.vm.partnerVos != null) {
+                        $scope.vm.partnerVos.forEach(function (partnerVo) {
+                            if (name === partnerVo.name) {
+                                result = true;
+                            }
+                        });
+                    }
+                    return result;
+
                 }
 
                 //  �떞�떦�옄 autocomplete page �뾽�뜲�씠�듃�듃
@@ -311,7 +361,7 @@
                 }
 
                 //  �뾽泥댁젙蹂� autocomplete page �뾽�뜲�씠�듃
-                function getCompanyFieldListCallBack(result) {
+                function getIssueCompanyFieldListCallBack(result) {
                     $scope.vm.autoCompletePage.companyField.totalPage = result.data.page.totalPage;
                 }
 
@@ -321,12 +371,12 @@
                 }
 
                 // ISP�젙蹂� autocomplete page �뾽�뜲�씠�듃
-                function getIspFieldListCallBack(result) {
+                function getIssueIspFieldListCallBack(result) {
                     $scope.vm.autoCompletePage.ispField.totalPage = result.data.page.totalPage;
                 }
 
                 // �샇�뒪�똿�젙蹂� autocomplete page �뾽�뜲�씠�듃
-                function getHostingFieldListCallBack(result) {
+                function getIssueHostingFieldListCallBack(result) {
                     $scope.vm.autoCompletePage.hostingField.totalPage = result.data.page.totalPage;
                 }
 
@@ -340,28 +390,78 @@
 
                 // �뾽泥댁젙蹂� 寃곌낵 媛� Event 泥섎━(set)
                 $scope.$on("companyFieldEvent", function (event, result) {
+                    var ispFieldVo = result[0].ispFieldVo;
+                    var hostingFieldVo = result[0].hostingFieldVo;
+
+                    $scope.vm.companyId = result[0].id;
+                    $scope.vm.companyName = result[0].name;
                     $scope.vm.companyManager = result[0].manager;
                     $scope.vm.companyTel = result[0].tel;
                     $scope.vm.companyEmail = result[0].email;
+                    $scope.vm.companyUrl = result[0].url;
                     $scope.vm.companyMemo = result[0].memo;
 
+                    $scope.vm.ispId = "";
+                    $scope.vm.ispName = "";
+                    $scope.vm.ispCode = "";
+                    $scope.vm.ispManager = "";
+                    $scope.vm.ispTel = "";
+                    $scope.vm.ispEmail = "";
+                    $scope.vm.ispUrl = "";
+                    $scope.vm.ispMemo = "";
+
+                    $scope.vm.hostingId = "";
+                    $scope.vm.hostingName = "";
+                    $scope.vm.hostingCode = "";
+                    $scope.vm.hostingManager = "";
+                    $scope.vm.hostingTel = "";
+                    $scope.vm.hostingEmail = "";
+                    $scope.vm.hostingUrl = "";
+                    $scope.vm.hostingMemo = "";
+
+                    if (ispFieldVo != null){
+                        $scope.vm.ispId = ispFieldVo.id;
+                        $scope.vm.ispName = ispFieldVo.name;
+                        $scope.vm.ispCode = ispFieldVo.code;
+                        $scope.vm.ispManager = ispFieldVo.manager;
+                        $scope.vm.ispTel = ispFieldVo.tel;
+                        $scope.vm.ispEmail = ispFieldVo.email;
+                        $scope.vm.ispUrl = ispFieldVo.url;
+                        $scope.vm.ispMemo = ispFieldVo.memo;
+                    }
+                    if (hostingFieldVo != null){
+                        $scope.vm.hostingId = hostingFieldVo.id;
+                        $scope.vm.hostingName = hostingFieldVo.name;
+                        $scope.vm.hostingCode = hostingFieldVo.code;
+                        $scope.vm.hostingManager = hostingFieldVo.manager;
+                        $scope.vm.hostingTel = hostingFieldVo.tel;
+                        $scope.vm.hostingEmail = hostingFieldVo.email;
+                        $scope.vm.hostingUrl = hostingFieldVo.url;
+                        $scope.vm.hostingMemo = hostingFieldVo.memo;
+                    }
                 });
 
-                // ISP�젙蹂� 寃곌낵 媛� Event 泥섎━(set)
+                //ISP�젙蹂� 寃곌낵 媛� Event 泥섎━(set)
                 $scope.$on("ispFieldEvent", function (event, result) {
+                    $scope.vm.ispId = result[0].id;
+                    $scope.vm.ispName = result[0].name;
                     $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.ispUrl = result[0].url;
                     $scope.vm.ispMemo = result[0].memo;
                 });
 
                 // �샇�뒪�똿�젙蹂� 寃곌낵 媛� Event 泥섎━(set)
                 $scope.$on("hostingFieldEvent", function (event, result) {
+                    $scope.vm.hostingId = result[0].id;
+                    $scope.vm.hostingName = result[0].name;
                     $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.hostingUrl = result[0].url;
                     $scope.vm.hostingMemo = result[0].memo;
                 });
 
@@ -372,6 +472,7 @@
                     var content = {
                         title : $rootScope.preventXss($scope.vm.form.title),    //  �젣紐�
                         description : $rootScope.preventXss($scope.vm.form.description),   //  �궡�슜
+
                         projectId : (function () {   //  �봽濡쒖젥�듃 �븘�씠�뵒
                             var projectId = "";
 
@@ -381,35 +482,40 @@
 
                             return projectId;
                         })(),
+
                         issueTypeId : $scope.vm.form.issueTypeId,   //  �씠�뒋 �쑀�삎 �븘�씠�뵒
                         priorityId : $scope.vm.form.priorityId,    //  �슦�꽑�닚�쐞 �븘�씠�뵒
                         severityId : $scope.vm.form.severityId,    //  以묒슂�룄 �븘�씠�뵒
-                        companyId : (function () {   //  �봽濡쒖젥�듃 �븘�씠�뵒
-                            var companyId = "";
 
-                            if ($scope.vm.form.companyFields.length > 0) {
-                                companyId = $scope.vm.form.companyFields[0].id;
+                        companyId : (function () {   //  �뾽泥� �븘�씠�뵒
+                            var companyId = -1;
+                            if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0) {
+                                companyId = $scope.vm.form.issueCompanyFields[0].id;
                             }
-
                             return companyId;
                         })(),
 
-                        ispId : (function () {
-                            var ispId = "";
-
-                            if ($scope.vm.form.ispFields.length > 0) {
-                                ispId = $scope.vm.form.ispFields[0].id;
+                        ispId : (function () {  // ISP �븘�씠�뵒
+                            var ispId = -1;
+                            if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0) {
+                                if ($scope.vm.form.issueCompanyFields[0].ispId != null){
+                                    ispId = $scope.vm.form.issueCompanyFields[0].ispId;
+                                }
+                            }else if ($scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0) {
+                                ispId = $scope.vm.form.issueIspFields[0].id;
                             }
-
                             return ispId;
                         })(),
-                        hostingId : (function () {
-                            var hostingId = "";
 
-                            if ($scope.vm.form.hostingFields.length > 0) {
-                                hostingId = $scope.vm.form.hostingFields[0].id;
+                        hostingId : (function () {  // Hosting �븘�씠�뵒
+                            var hostingId = -1;
+                            if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0) {
+                                if ($scope.vm.form.issueCompanyFields[0].hostingId != null){
+                                    hostingId = $scope.vm.form.issueCompanyFields[0].hostingId;
+                                }
+                            }else if ($scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0) {
+                                hostingId = $scope.vm.form.issueHostingFields[0].id;
                             }
-
                             return hostingId;
                         })(),
 
@@ -432,6 +538,7 @@
 
                             return departmentIds;
                         })(),
+
                         attachedFileIds : (function () {
                             var attachedFileIds = [];
 
@@ -443,6 +550,83 @@
 
                             return attachedFileIds;
                         })(),
+                        issueCompanyFields : (function () {
+                            var issueCompanyFields = [];
+                            if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0 ){
+                                var companyField = $scope.vm.form.issueCompanyFields[0];
+                                issueCompanyFields.push({
+                                    companyId : $scope.vm.companyId,
+                                    name : $scope.vm.companyName,
+                                    manager : $scope.vm.companyManager,
+                                    tel : $scope.vm.companyTel,
+                                    email :$scope.vm.companyEmail,
+                                    url :$scope.vm.companyUrl,
+                                    memo : $scope.vm.companyMemo
+                                });
+                            }
+                            return issueCompanyFields;
+                        })(),
+                        companyName : $scope.vm.companyName,
+                        companyManager : $scope.vm.companyManager,
+                        companyTel : $scope.vm.companyTel,
+                        companyEmail :$scope.vm.companyEmail,
+                        companyUrl :$scope.vm.companyUrl,
+                        companyMemo : $scope.vm.companyMemo,
+
+                        issueIspFields : (function () {
+                            var issueIspFields = [];
+                            if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0
+                                && $scope.vm.form.issueCompanyFields[0].ispFieldVo != null
+                                || $scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0 ){
+                                var ispField = $scope.vm.form.issueIspFields[0];
+                                issueIspFields.push({
+                                    ispId : $scope.vm.ispId,
+                                    name : $scope.vm.ispName,
+                                    code : $scope.vm.ispCode,
+                                    manager : $scope.vm.ispManager,
+                                    tel : $scope.vm.ispTel,
+                                    email :$scope.vm.ispEmail,
+                                    url :$scope.vm.ispUrl,
+                                    memo : $scope.vm.ispMemo
+                                });
+                            }
+                            return issueIspFields;
+                        })(),
+                        ispName : $scope.vm.ispName,
+                        ispCode : $scope.vm.ispCode,
+                        ispManager : $scope.vm.ispManager,
+                        ispTel : $scope.vm.ispTel,
+                        ispEmail :$scope.vm.ispEmail,
+                        ispUrl :$scope.vm.ispUrl,
+                        ispMemo : $scope.vm.ispMemo,
+
+                        issueHostingFields : (function () {
+                            var issueHostingFields = [];
+                            if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0
+                                && $scope.vm.form.issueCompanyFields[0].hostingFieldVo != null
+                                || $scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0 ){
+                                var hostingField = $scope.vm.form.issueHostingFields[0];
+                                issueHostingFields[0] = {
+                                    hostingId : $scope.vm.hostingId,
+                                    name : $scope.vm.hostingName,
+                                    code : $scope.vm.hostingCode,
+                                    manager : $scope.vm.hostingManager,
+                                    tel : $scope.vm.hostingTel,
+                                    email :$scope.vm.hostingEmail,
+                                    url :$scope.vm.hostingUrl,
+                                    memo : $scope.vm.hostingMemo
+                                };
+                            }
+                            return issueHostingFields;
+                        })(),
+                        hostingName : $scope.vm.hostingName,
+                        hostingCode : $scope.vm.hostingCode,
+                        hostingManager : $scope.vm.hostingManager,
+                        hostingTel : $scope.vm.hostingTel,
+                        hostingEmail :$scope.vm.hostingEmail,
+                        hostingUrl :$scope.vm.hostingUrl,
+                        hostingMemo : $scope.vm.hostingMemo,
+
                         startCompleteDateRange : $scope.vm.form.startCompleteDateRange,
                         detectingDateRange : $scope.vm.form.detectingDateRange,
 
@@ -480,27 +664,27 @@
                         },
                         fileFormDataName : "file"
                     }).then(function (result) {
-                            if (result.data.message.status === "success") {
-                                //  �뿰�냽 �벑濡� 泥댄겕�떆 �씠�룞�븯吏� �븡�쓬.
-                                if ($scope.vm.infiniteAdd) {
-                                    $scope.fn.infiniteAddForm();
-                                }
-                                else {
-                                    $scope.fn.cancel();
-
-                                    if ($state.current.name !== "issues.list") {
-                                        $state.go("issues.list");
-                                    }
-                                }
-
-                                $rootScope.$broadcast("getIssueList", {});
+                        if (result.data.message.status === "success") {
+                            //  �뿰�냽 �벑濡� 泥댄겕�떆 �씠�룞�븯吏� �븡�쓬.
+                            if ($scope.vm.infiniteAdd) {
+                                $scope.fn.infiniteAddForm();
                             }
                             else {
-                                SweetAlert.error($filter("translate")("issue.failedIssueRegistration"), result.data.message.message); // �씠�뒋 �벑濡� �떎�뙣
+                                $scope.fn.cancel();
+
+                                if ($state.current.name !== "issues.list" || $state.current.name === "issues.list") {
+                                    $state.go("issues.list");
+                                }
                             }
 
-                            $rootScope.spinner = false;
-                        });
+                            $rootScope.$broadcast("getIssueList", {});
+                        }
+                        else {
+                            SweetAlert.error($filter("translate")("issue.failedIssueRegistration"), result.data.message.message); // �씠�뒋 �벑濡� �떎�뙣
+                        }
+
+                        $rootScope.spinner = false;
+                    });
                 }
 
                 //  �뙘�뾽 李� �떕湲�
@@ -588,9 +772,16 @@
 
                         if (result.data.message.status === "success") {
 
+                            $scope.vm.form.issueCustomFields = [];
                             angular.forEach(result.data.data, function (issueTypeCustomField) {
                                 switch (issueTypeCustomField.customFieldVo.customFieldType) {
                                     case "INPUT" :
+                                    case "NUMBER" :
+                                    case "DATETIME" :
+                                    case "IP_ADDRESS" :
+                                    case "EMAIL" :
+                                    case "SITE" :
+                                    case "TEL" :
                                         issueTypeCustomField.useValues = issueTypeCustomField.customFieldVo.defaultValue;
                                         break;
                                     case "SINGLE_SELECT" :
@@ -609,7 +800,6 @@
                                         });
                                         break;
                                 }
-
                                 $scope.vm.form.issueCustomFields.push(issueTypeCustomField);
                             });
                         }
@@ -663,27 +853,68 @@
                     }
                 }
 
+                function getPartners() {
+                    if($scope.vm.form.issueTypeId === ""){
+                        $scope.vm.form.issueTypeId = $rootScope.issueTypeMenu.id
+                    }
+                    var content = {
+                        issueTypeId : $scope.vm.form.issueTypeId,
+                    };
+                    Issue.findPartners($resourceProvider.getContent(
+                        content,
+                        $resourceProvider.getPageContent(0, 1))).then(function (result) {
+                        if (result.data.message.status === "success") {
+                            $scope.vm.partnerVos = result.data.data;
+                        }
+                    });
+                }
+
+                function getDepartments() {
+                    if($scope.vm.form.issueTypeId === ""){
+                        $scope.vm.form.issueTypeId = $rootScope.issueTypeMenu.id
+                    }
+                    var content = {
+                        issueTypeId : $scope.vm.form.issueTypeId,
+                    };
+                    Issue.findReadyDepartments($resourceProvider.getContent(
+                        content,
+                        $resourceProvider.getPageContent(0, 1))).then(function (result) {
+                        if (result.data.message.status === "success") {
+                            angular.forEach(result.data.data, function (department) {
+                                department.byName = department.departmentName;
+                                $scope.vm.form.departments.push(department);
+                            });
+                        }
+                    });
+
+                }
+
                 //  理쒖큹 �떎�뻾
                 function startExecute() {
 
                     var promises = {
                         getIssueTypes : $scope.fn.getIssueTypes(),
                         getPriorities : $scope.fn.getPriorities(),
-                        getSeverities : $scope.fn.getSeverities()
+                        getSeverities : $scope.fn.getSeverities(),
+                        getPartners : $scope.fn.getPartners(),
+                        getDepartments : $scope.fn.getDepartments()
                     };
                     $q.all(promises).then(function (results) {
                         // �쁽�옱 �봽濡쒖젥�듃 �꽕�젙
                         if ($rootScope.workProject != null && $rootScope.workProject.id > -1) {
                             $scope.vm.projectName = $rootScope.workProject.name;
-                            $scope.fn.projects = [];
-                            $scope.fn.projects.push($rootScope.workProject);
-                            $scope.fn.getProjectList($scope.vm.projectName, $scope.vm.form.projects, $scope.vm.autoCompletePage.project.page, getStartProjectListCallback);
+                            $scope.vm.form.projects = [];
+                            $scope.vm.form.projects.push($rootScope.workProject);
                         }
-
+                        // �쁽�옱 �씠�뒋���엯 �쑀�삎 �꽕�젙
+                        var id = $rootScope.getCurrentIssueTypeId();
+                        if (id != null) {
+                            $scope.vm.form.issueTypeId = id.toString();
+                        }
                         $log.debug("promises 寃곌낵 ", results);
                     });
                 }
 
                 $scope.fn.startExecute();
             }]);
-    });
+    });
\ No newline at end of file

--
Gitblit v1.8.0