From 8d2672f1f1246261bda8bce45616864a8d344cd3 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 화, 22 2월 2022 15:38:15 +0900 Subject: [PATCH] - 연관이슈 추가에서 프로젝트 변경시 이슈 유형이 선택되지 않고 빈값이 선택되는 문제 해결 (이슈 추가시에도 적용) --- src/main/webapp/scripts/app/issue/issueAdd.controller.js | 228 +++++++++++++++++++++++++++++++++----------------------- 1 files changed, 134 insertions(+), 94 deletions(-) diff --git a/src/main/webapp/scripts/app/issue/issueAdd.controller.js b/src/main/webapp/scripts/app/issue/issueAdd.controller.js index d1cfc5b..826375d 100644 --- a/src/main/webapp/scripts/app/issue/issueAdd.controller.js +++ b/src/main/webapp/scripts/app/issue/issueAdd.controller.js @@ -194,8 +194,6 @@ // �봽濡쒖젥�듃媛� 蹂�寃쎈릺硫� �떞�떦�옄 珥덇린�솕 $scope.$watch("vm.form.projects", function (newValue, oldValue) { - - if (angular.isDefined(newValue)) { if (newValue.length < 1) { $scope.vm.form.users = []; @@ -433,7 +431,16 @@ } // �뾽醫�(��遺꾨쪟) autocomplete page �뾽�뜲�씠�듃 - function getParentSectorListCallBack(result) { + function getParentSectorListCallBack(result, value) { + if (value === "") { + $scope.vm.form.parentSectorId = ""; + if ($rootScope.isDefined($scope.vm.form.parentSectors) && $rootScope.isDefined($scope.vm.form.parentSectors[0])) { + $scope.vm.form.parentSectors[0].id = ""; + } + $scope.vm.form.childSectorId = ""; + $scope.vm.form.childSector = ""; + $scope.vm.form.childSectors = []; + } $scope.vm.autoCompletePage.parentSector.totalPage = result.data.page.totalPage; } @@ -462,110 +469,129 @@ // �뾽泥댁젙蹂� 寃곌낵 媛� Event 泥섎━(set) $scope.$on("companyFieldEvent", function (event, result) { - var ispFieldVo = result[0].ispFieldVo; - var hostingFieldVo = result[0].hostingFieldVo; + if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) { + 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.form.companyTypeId = result[0].companyTypeId; - $scope.vm.form.parentSectorId = result[0].parentSectorId; - $scope.vm.form.childSectorId = result[0].childSectorId; - $scope.vm.form.regionId = result[0].regionId; - $scope.vm.form.statusId = result[0].statusId; - $scope.vm.form.companyType = result[0].companyTypeName; - $scope.vm.form.parentSector = result[0].parentSectorName; - $scope.vm.form.childSector = result[0].childSectorName; - $scope.vm.form.region = result[0].regionName; - $scope.vm.form.status = result[0].statusName; + $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.form.companyTypeId = result[0].companyTypeId; + $scope.vm.form.parentSectorId = result[0].parentSectorId; + $scope.vm.form.childSectorId = result[0].childSectorId; + $scope.vm.form.regionId = result[0].regionId; + $scope.vm.form.statusId = result[0].statusId; + $scope.vm.form.companyType = result[0].companyTypeName; + $scope.vm.form.parentSector = result[0].parentSectorName; + $scope.vm.form.childSector = result[0].childSectorName; + $scope.vm.form.region = result[0].regionName; + $scope.vm.form.status = result[0].statusName; - $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.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 = ""; + $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; + 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) $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; + if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) { + $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; + if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) { + $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; + } }); $scope.$on("companyTypeEvent", function (event, result) { - $scope.vm.form.companyTypeId = result[0].id; + if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) { + $scope.vm.form.companyTypeId = result[0].id; + } }); $scope.$on("parentSectorEvent", function (event, result) { - if ($rootScope.isDefined(result[0])) { + if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) { $scope.vm.form.parentSectorId = result[0].id; + } else { + $scope.vm.form.parentSectorId = ""; + if ($rootScope.isDefined($scope.vm.form.parentSectors) && $rootScope.isDefined($scope.vm.form.parentSectors[0])) { + $scope.vm.form.parentSectors[0].id = ""; + } } - + $scope.vm.form.childSectorId = ""; $scope.vm.form.childSector = ""; $scope.vm.form.childSectors = []; }); $scope.$on("childSectorEvent", function (event, result) { - $scope.vm.form.childSectorId = result[0].id; + if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) { + $scope.vm.form.childSectorId = result[0].id; + } }); $scope.$on("regionEvent", function (event, result) { - $scope.vm.form.regionId = result[0].id; + if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) { + $scope.vm.form.regionId = result[0].id; + } }); $scope.$on("statusEvent", function (event, result) { - $scope.vm.form.statusId = result[0].id; + if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) { + $scope.vm.form.statusId = result[0].id; + } }); // �뤌 �쟾�넚 @@ -591,7 +617,7 @@ severityId : $scope.vm.form.severityId, // 以묒슂�룄 �븘�씠�뵒 companyId : (function () { // �뾽泥� �븘�씠�뵒 - var companyId = -1; + var companyId = null; if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0) { companyId = $scope.vm.form.issueCompanyFields[0].id; } @@ -599,7 +625,7 @@ })(), ispId : (function () { // ISP �븘�씠�뵒 - var ispId = -1; + var ispId = null; 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; @@ -611,7 +637,7 @@ })(), hostingId : (function () { // Hosting �븘�씠�뵒 - var hostingId = -1; + var hostingId = null; 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; @@ -668,7 +694,8 @@ parentSectorId : $scope.vm.form.parentSectorId, childSectorId : $scope.vm.form.childSectorId, regionId : $scope.vm.form.regionId, - statusId : $scope.vm.form.statusId + statusId : $scope.vm.form.statusId, + statusName : $scope.vm.form.status }); } return issueCompanyFields; @@ -680,36 +707,36 @@ companyUrl :$scope.vm.companyUrl, companyMemo : $scope.vm.companyMemo, companyTypeId : (function () { - var companyTypeId = -1; - if ($scope.vm.form.companyTypes != null) { + var companyTypeId = null; + if ($scope.vm.form.companyTypes != null && $scope.vm.form.companyTypes.length > 0) { companyTypeId = $scope.vm.form.companyTypes[0].id; } return companyTypeId; })(), parentSectorId : (function () { - var parentSectorId = -1; - if ($scope.vm.form.parentSectors != null) { + var parentSectorId = null; + if ($scope.vm.form.parentSectors != null && $scope.vm.form.parentSectors.length > 0) { parentSectorId = $scope.vm.form.parentSectors[0].id; } return parentSectorId; })(), childSectorId : (function () { - var childSectorId = -1; - if ($scope.vm.form.childSectors != null) { + var childSectorId = null; + if ($scope.vm.form.childSectors != null && $scope.vm.form.childSectors.length > 0) { childSectorId = $scope.vm.form.childSectors[0].id; } return childSectorId; })(), regionId : (function () { - var regionId = -1; - if ($scope.vm.form.regions != null) { + var regionId = null; + if ($scope.vm.form.regions != null && $scope.vm.form.regions.length > 0) { regionId = $scope.vm.form.regions[0].id; } return regionId; })(), statusId : (function () { - var statusId = -1; - if ($scope.vm.form.statuses != null) { + var statusId = null; + if ($scope.vm.form.statuses != null && $scope.vm.form.statuses.length > 0) { statusId = $scope.vm.form.statuses[0].id; } else if ($scope.vm.form.status !== ""){ statusId = 120; //吏곸젒�엯�젰 �씪 寃쎌슦 @@ -870,7 +897,7 @@ function getIssueTypes() { var deferred = $q.defer(); - if (!$rootScope.isDefined($scope.vm.form.projects[0])) { + if (!$rootScope.isDefined($scope.vm.form.projects) || !$rootScope.isDefined($scope.vm.form.projects[0])) { return; } @@ -899,6 +926,19 @@ if (result.data.message.status === "success") { $scope.vm.issueTypes = result.data.data; + + // option 鍮덇컪 諛⑹� + if ($rootScope.isDefined($scope.vm.issueTypes) && $scope.vm.issueTypes.length > 0) { + let chk = 0; + angular.forEach($scope.vm.issueTypes, function (issueType) { + if (issueType.id.toString() === $scope.vm.form.issueTypeId.toString()) { + chk ++; + } + }); + if (chk === 0) { + $scope.vm.form.issueTypeId = null; + } + } } else { SweetAlert.swal($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message, "error"); // �씠�뒋 ���엯 紐⑸줉 議고쉶 �떎�뙣 -- Gitblit v1.8.0