From 3b019e5599dfb5d368f4e8fd50fb557f4679a645 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 수, 12 1월 2022 15:19:58 +0900
Subject: [PATCH] 업체/isp/호스팅 기능 개편

---
 src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js |  271 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 260 insertions(+), 11 deletions(-)

diff --git a/src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js b/src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js
index 6b99e3c..6042b36 100644
--- a/src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js
+++ b/src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js
@@ -17,7 +17,16 @@
                     formSubmit : formSubmit,    //  �뤌 �쟾�넚
                     formCheck : formCheck,  //  �뤌 泥댄겕
                     getIssueIspFieldListCallBack : getIssueIspFieldListCallBack,
-                    getIssueHostingFieldListCallBack : getIssueHostingFieldListCallBack
+                    getIssueHostingFieldListCallBack : getIssueHostingFieldListCallBack,
+                    getCompanyTypeListCallBack : getCompanyTypeListCallBack,
+                    getParentSectorListCallBack : getParentSectorListCallBack,
+                    getChildSectorListCallBack : getChildSectorListCallBack,
+                    getRegionListCallBack : getRegionListCallBack,
+                    getStatusListCallBack : getStatusListCallBack,
+                    addTel : addTel,
+                    addMail : addMail,
+                    removeTelInput : removeTelInput,
+                    removeMailInput : removeMailInput
                 };
 
                 $scope.vm = {
@@ -32,7 +41,28 @@
                         tel : "",  //�쟾�솕踰덊샇
                         email : "",  //�씠硫붿씪
                         url : "", // url
-                        memo : ""  //硫붾え(鍮꾧퀬)
+                        memo : "",  //硫붾え(鍮꾧퀬)
+                        companyTypeId : "",
+                        companyType : "", //湲곗뾽援щ텇
+                        parentSectorId : "",
+                        parentSector : "", //�뾽醫�(��遺꾨쪟)
+                        childSectorId : "",
+                        childSector : "", //�뾽醫�(以묐텇瑜�)
+                        regionId : "",
+                        region : "", //吏��뿭
+                        statusId : "",
+                        status : "", //�긽�깭
+                        inputTels : [0],
+                        tels : {},
+                        inputMails : [0],
+                        emails : {}
+                    },
+                    typeCategory : {
+                        companyType : "COMPANYTYPE",
+                        parentSector : "PARENTSECTOR",
+                        childSector : "CHILDSECTOR",
+                        region : "REGION",
+                        status : "STATUS"
                     },
                     autoCompletePage : {
                         ispField : {
@@ -40,6 +70,26 @@
                             totalPage : 0
                         },
                         hostingField : {
+                            page : 0,
+                            totalPage : 0
+                        },
+                        companyType : {
+                            page : 0,
+                            totalPage : 0
+                        },
+                        parentSector : {
+                            page : 0,
+                            totalPage : 0
+                        },
+                        childSector : {
+                            page : 0,
+                            totalPage : 0
+                        },
+                        region : {
+                            page : 0,
+                            totalPage : 0
+                        },
+                        status : {
                             page : 0,
                             totalPage : 0
                         }
@@ -57,6 +107,31 @@
                 // �샇�뒪�똿�젙蹂� autocomplete page �뾽�뜲�씠�듃
                 function getIssueHostingFieldListCallBack(result) {
                     $scope.vm.autoCompletePage.hostingField.totalPage = result.data.page.totalPage;
+                }
+
+                // �뾽泥� 移댄뀒怨좊━ autocomplete page �뾽�뜲�씠�듃
+                function getCompanyTypeListCallBack(result) {
+                    $scope.vm.autoCompletePage.companyType.totalPage = result.data.page.totalPage;
+                }
+
+                // �뾽泥� 移댄뀒怨좊━ autocomplete page �뾽�뜲�씠�듃
+                function getParentSectorListCallBack(result) {
+                    $scope.vm.autoCompletePage.parentSector.totalPage = result.data.page.totalPage;
+                }
+
+                // �뾽泥� 移댄뀒怨좊━ autocomplete page �뾽�뜲�씠�듃
+                function getChildSectorListCallBack(result) {
+                    $scope.vm.autoCompletePage.childSector.totalPage = result.data.page.totalPage;
+                }
+
+                // �뾽泥� 移댄뀒怨좊━ autocomplete page �뾽�뜲�씠�듃
+                function getRegionListCallBack(result) {
+                    $scope.vm.autoCompletePage.region.totalPage = result.data.page.totalPage;
+                }
+
+                // �뾽泥� 移댄뀒怨좊━ autocomplete page �뾽�뜲�씠�듃
+                function getStatusListCallBack(result) {
+                    $scope.vm.autoCompletePage.status.totalPage = result.data.page.totalPage;
                 }
 
                 // �뤌 泥댄겕
@@ -86,23 +161,105 @@
                         name : $rootScope.preventXss($scope.vm.form.name),
                         ispId : (function () {  // ISP �븘�씠�뵒
                             var ispId = -1;
-                            if ($scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0) {
+                            if ($scope.vm.form.ispName !== "" && $scope.vm.form.ispId !== null && $scope.vm.form.ispId !== -1) {
                                 ispId = $scope.vm.form.ispId;
+                            }else if ($scope.vm.form.issueIspFields != null) {
+                                ispId = $scope.vm.form.issueIspFields[0].id;
                             }
                             return ispId;
                         })(),
                         hostingId : (function () {  // Hosting �븘�씠�뵒
                             var hostingId = -1;
-                            if ($scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0) {
+                            if ($scope.vm.form.hostingName !== "" && $scope.vm.form.hostingId !== null && $scope.vm.form.hostingId !== -1) {
                                 hostingId = $scope.vm.form.hostingId;
+                            }else if ($scope.vm.form.issueHostingFields != null) {
+                                hostingId = $scope.vm.form.issueHostingFields[0].id;
                             }
                             return hostingId;
                         })(),
                         manager : $rootScope.preventXss($scope.vm.form.manager),
-                        tel : $rootScope.preventXss($scope.vm.form.tel),
-                        email : $rootScope.preventXss($scope.vm.form.email),
+                        tels : (function () {
+                            var telList = [];
+                            if ($scope.vm.form.tels != null) {
+                                angular.forEach($scope.vm.form.tels, function (tel) {
+                                    telList.push(tel);
+                                });
+                                telList  = telList.filter(function(item) { //�벐�젅湲� �뜲�씠�꽣 �븘�꽣留�
+                                    return item !== null && item !== undefined && item !== '';
+                                });
+                                telList  = telList.filter(function(item, idx){
+                                    return telList.findIndex(function(item2, idx2){
+                                        return item === item2
+                                    }) == idx;
+                                });
+                            }
+                            return telList;
+                        })(),
+                        emails : (function () {
+                            var emailList = [];
+                            if ($scope.vm.form.emails != null) {
+                                angular.forEach($scope.vm.form.emails, function (email) {
+                                    emailList.push(email);
+                                });
+                                emailList  = emailList.filter(function(item) { //�벐�젅湲� �뜲�씠�꽣 �븘�꽣留�
+                                    return item !== null && item !== undefined && item !== '';
+                                });
+                                emailList  = emailList.filter(function(item, idx){
+                                    return emailList.findIndex(function(item2, idx2){
+                                        return item === item2
+                                    }) == idx;
+                                });
+                            }
+                            return emailList;
+                        })(),
                         url : $rootScope.preventXss($scope.vm.form.url), // url
-                        memo : $rootScope.preventXss($scope.vm.form.memo)
+                        memo : $rootScope.preventXss($scope.vm.form.memo),
+                        companyTypeId : (function () {
+                            var companyTypeId = -1;
+                            if ($scope.vm.form.companyType !== "" && $scope.vm.form.companyTypeId !== "" && $scope.vm.form.companyTypeId !== -1) {
+                                companyTypeId = $scope.vm.form.companyTypeId;
+                            }else if ($scope.vm.form.companyTypes != null) {
+                                companyTypeId = $scope.vm.form.companyTypes[0].id;
+                            }
+                            return companyTypeId;
+                        })(),
+                        parentSectorId : (function () {
+                            var parentSectorId = -1;
+                            if ($scope.vm.form.parentSector !== "" && $scope.vm.form.parentSectorId !== "" && $scope.vm.form.parentSectorId !== -1) {
+                                parentSectorId = $scope.vm.form.parentSectorId;
+                            }else if ($scope.vm.form.parentSectors != null) {
+                                parentSectorId = $scope.vm.form.parentSectors[0].id;
+                            }
+                            return parentSectorId;
+                        })(),
+                        childSectorId : (function () {
+                            var childSectorId = -1;
+                            if ($scope.vm.form.childSector !== "" && $scope.vm.form.childSectorId !== "" && $scope.vm.form.childSectorId !== -1) {
+                                childSectorId = $scope.vm.form.childSectorId;
+                            }else if ($scope.vm.form.childSectors != null) {
+                                childSectorId = $scope.vm.form.childSectors[0].id;
+                            }
+                            return childSectorId;
+                        })(),
+                        regionId : (function () {
+                            var regionId = -1;
+                            if ($scope.vm.form.region !== "" && $scope.vm.form.regionId !== "" && $scope.vm.form.regionId !== -1) {
+                                regionId = $scope.vm.form.regionId;
+                            }else if ($scope.vm.form.regions != null) {
+                                regionId = $scope.vm.form.regions[0].id;
+                            }
+                            return regionId;
+                        })(),
+                        statusId : (function () {
+                            var statusId = -1;
+                            if ($scope.vm.form.status !== "" && $scope.vm.form.statusId !== "" && $scope.vm.form.statusId !== -1) {
+                                statusId = $scope.vm.form.statusId;
+                            }else if ($scope.vm.form.statuses != null) {
+                                statusId = $scope.vm.form.statuses[0].id;
+                            }
+                            return statusId;
+                        })(),
+                        statusName : $scope.vm.form.status
                     };
 
                     CompanyField.modify($resourceProvider.getContent(
@@ -111,7 +268,6 @@
 
                         if (result.data.message.status === "success") {
                             $scope.fn.cancel();
-
                             //  紐⑸줉 �솕硫� 媛깆떊
                             $rootScope.$broadcast("getPageList", {});
                         }
@@ -122,6 +278,54 @@
                         $rootScope.spinner = false;
                     });
 
+                }
+
+                // 硫붿씪 二쇱냼 input 李� 異붽� 踰꾪듉
+                function addTel() {
+                    var arrayFull = true;      // 諛곗뿴�씠 媛��뱷 李� �엳�뒗吏� �뿬遺�
+                    var index = 0;
+                    $scope.vm.form.inputTels.forEach(function (tel) {
+                        if (!$rootScope.isDefined($scope.vm.form.tels[index])) {
+                            arrayFull = false;
+                        }
+                        index++;
+                    });
+
+                    if (arrayFull) {
+                        $scope.vm.form.inputTels.push(index);
+                        $scope.vm.form.tels[index] = "";
+                    } else {
+                        SweetAlert.warning($filter("translate")("companyField.writeCompanyTel"), $filter("translate")("companyField.writeTel")); // 異붽�踰꾪듉 寃쎄퀬
+                    }
+                }
+
+                // 硫붿씪 二쇱냼 input 李� 異붽� 踰꾪듉
+                function addMail() {
+                    var arrayFull = true;      // 諛곗뿴�씠 媛��뱷 李� �엳�뒗吏� �뿬遺�
+                    var index = 0;
+                    $scope.vm.form.inputMails.forEach(function (email) {
+                        if (!$rootScope.isDefined($scope.vm.form.emails[index])) {
+                            arrayFull = false;
+                        }
+                        index++;
+                    });
+
+                    if (arrayFull) {
+                        $scope.vm.form.inputMails.push(index);
+                        $scope.vm.form.emails[index] = ""
+                    } else {
+                        SweetAlert.warning($filter("translate")("issue.writeIssueMail"), $filter("translate")("issue.writeMail")); // 異붽�踰꾪듉 寃쎄퀬
+                    }
+                }
+
+                // �뿰�씫泥� input �궘�젣
+                function removeTelInput(index) {
+                    $scope.vm.form.inputTels.splice(index, 1);
+                }
+
+                // �씠硫붿씪 二쇱냼 input �궘�젣
+                function removeMailInput(index) {
+                    $scope.vm.form.inputMails.splice(index, 1);
                 }
 
                 //  �뙘�뾽 李� �떕湲�
@@ -144,18 +348,63 @@
                         $resourceProvider.getPageContent(0, 1))).then(function (result) {
 
                         if (result.data.message.status === "success") {
-                            if (angular.isDefined(result.data.content)) {
+                            if (result.data.content != null) {
                                 $scope.vm.form.name = result.data.content.name;
                                 $scope.vm.form.manager = result.data.content.manager;
-                                $scope.vm.form.email = result.data.content.email;
-                                $scope.vm.form.tel = result.data.content.tel;
+
+                                if (result.data.content.tel != null) {
+                                    var inputTels = $scope.vm.form.inputTels;
+                                    var tels = result.data.content.tel.substr(1, result.data.content.tel.indexOf("]")-1);
+                                    var telArr = tels.split(", ");
+                                    angular.forEach(telArr, function (tel) {
+                                        inputTels.push(tel);
+                                    });
+                                    inputTels  = inputTels.filter(function(item) {
+                                        return item !== null && item !== undefined && item !== '';
+                                    });
+                                    if (inputTels[0] === 0 || inputTels[0] === "") {
+                                        inputTels.shift();
+                                    }
+                                    inputTels.push("");
+                                    $scope.vm.form.tels = angular.copy(inputTels);
+                                }
+
+                                if (result.data.content.email != null) {
+                                    var inputMails = $scope.vm.form.inputMails;
+                                    var emails = result.data.content.email.substr(1, result.data.content.email.indexOf("]")-1);
+                                    var emailArr = emails.split(", ");
+                                    angular.forEach(emailArr, function (email) {
+                                        inputMails.push(email);
+                                    });
+                                    inputMails  = inputMails.filter(function(item) {
+                                        return item !== null && item !== undefined && item !== '';
+                                    });
+                                    if(inputMails[0] === 0 || inputMails[0] === "") { // 泥ル쾲吏� 諛곗뿴�� 怨듬갚�쑝濡�
+                                        inputMails.shift();
+                                    }
+                                    inputMails.push("");
+                                    $scope.vm.form.emails = angular.copy(inputMails);
+                                }
+
                                 $scope.vm.form.url = result.data.content.url;
                                 $scope.vm.form.memo = result.data.content.memo;
+                                $scope.vm.form.companyTypeId = result.data.content.companyTypeId;
+                                $scope.vm.form.companyType = result.data.content.companyTypeName;
+                                $scope.vm.form.parentSectorId = result.data.content.parentSectorId;
+                                $scope.vm.form.parentSector = result.data.content.parentSectorName;
+                                $scope.vm.form.childSectorId = result.data.content.childSectorId;
+                                $scope.vm.form.childSector = result.data.content.childSectorName;
+                                $scope.vm.form.regionId = result.data.content.regionId;
+                                $scope.vm.form.region = result.data.content.regionName;
+                                $scope.vm.form.statusId = result.data.content.statusId;
+                                $scope.vm.form.status = result.data.content.statusName;
 
                                 if (result.data.content.ispFieldVo != null) {
+                                    $scope.vm.form.ispId = result.data.content.ispFieldVo.id;
                                     $scope.vm.form.ispName = result.data.content.ispFieldVo.name;
                                 }
                                 if (result.data.content.hostingFieldVo != null) {
+                                    $scope.vm.form.hostingId = result.data.content.hostingFieldVo.id;
                                     $scope.vm.form.hostingName = result.data.content.hostingFieldVo.name;
                                 }
                             }

--
Gitblit v1.8.0