From bb2b0e1189680110bc9c418c26d9bb1aef6dfc37 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 월, 08 11월 2021 16:08:42 +0900
Subject: [PATCH] 업체 관리 프론트

---
 src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js    |  110 ++++++++
 src/main/webapp/scripts/app/companyField/companyFieldList.controller.js      |  152 +++++++++++
 src/main/webapp/scripts/app/companyField/companyField.js                     |    1 
 src/main/webapp/scripts/app/companyField/companyFieldAdd.controller.js       |   83 ++++++
 src/main/webapp/i18n/ko/global.json                                          |    6 
 src/main/webapp/views/companyField/companyFieldModify.html                   |  176 +++++++++++++
 src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js |   15 
 src/main/webapp/views/companyField/companyFieldAdd.html                      |  176 +++++++++++++
 src/main/webapp/scripts/main.js                                              |    2 
 src/main/webapp/scripts/components/companyField/companyField.service.js      |   24 +
 10 files changed, 737 insertions(+), 8 deletions(-)

diff --git a/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js b/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js
index 4b63fd6..e475259 100644
--- a/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js
+++ b/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js
@@ -346,14 +346,15 @@
                                             }
                                             break;
 
-                                        case "DEPARTMENT_OPTION" :
-                                            //if (scope.data.departmentId != null){
+                                        case "DEPARTMENT_OPTION":
+                                            makeTag +="<select class='form-control input-sm' ng-model='data.departmentId' ng-change='event.modifyUserWorkspace(data)'><option ng-repeat='department in data.departments' ng-value='department.fieldKey'>{{::department.fieldValue}}</option></select>";
+                                            /*if (scope.data.departmentId != null){
                                                 makeTag +="<select class='form-control input-sm' ng-model='data.departmentId' ng-change='event.modifyUserWorkspace(data)'><option ng-repeat='department in data.departments' ng-value='department.fieldKey'>{{::department.fieldValue}}</option></select>";
-                                            //}
-                                            //else{
-                                            //    makeTag +="<select class='form-control input-sm' ng-model='data.departmentId' ng-change='event.modifyUserWorkspace(data)'><option>遺��꽌瑜� �꽑�깮 �븯�꽭�슂.</option>"
-                                            //    makeTag +="<option ng-repeat='department in data.departments' ng-value='department.fieldKey'>{{::department.fieldValue}}</option></select>";
-                                            //}
+                                            }
+                                            else{
+                                                makeTag +="<select class='form-control input-sm' ng-model='data.departmentId' ng-change='event.modifyUserWorkspace(data)'><option>遺��꽌瑜� �꽑�깮 �븯�꽭�슂.</option>"
+                                                makeTag +="<option ng-repeat='department in data.departments' ng-value='department.fieldKey'>{{::department.fieldValue}}</option></select>";
+                                            }*/
                                             break;
 
                                         case "LEVEL_OPTION" :
diff --git a/src/main/webapp/i18n/ko/global.json b/src/main/webapp/i18n/ko/global.json
index 9963c86..8040546 100644
--- a/src/main/webapp/i18n/ko/global.json
+++ b/src/main/webapp/i18n/ko/global.json
@@ -789,7 +789,11 @@
     },
     "companyField" : {
         "add" : "�뾽泥� �깮�꽦",
-        "name" : "�뾽泥� �씠由�",
+        "name" : "�뾽泥대챸",
+        "company" : "�뾽泥� 遺꾨쪟",
+        "profitYN" : "�쁺由�/鍮꾩쁺由�",
+        "industry" : "�궛�뾽 遺꾨쪟",
+        "domain" : "�룄硫붿씤",
         "manager" : "�떞�떦�옄",
         "tel" : "�쟾�솕踰덊샇",
         "email" : "�씠硫붿씪",
diff --git a/src/main/webapp/scripts/app/companyField/companyField.js b/src/main/webapp/scripts/app/companyField/companyField.js
index 569875e..3e4628c 100644
--- a/src/main/webapp/scripts/app/companyField/companyField.js
+++ b/src/main/webapp/scripts/app/companyField/companyField.js
@@ -33,6 +33,7 @@
                         loadController : ["$q", function ($q) {
                             var deferred = $q.defer();
                             require(["companyFieldListController", 'jsTable', 'tableColumnGenerator', 'companyFieldService', 'modalFormAutoScroll'
+                                , 'companyFieldAddController', 'companyFieldModifyController'
                                 , 'formSubmit', 'jsShortCut', 'inputRegex'], function () {
                                 deferred.resolve();
                             });
diff --git a/src/main/webapp/scripts/app/companyField/companyFieldAdd.controller.js b/src/main/webapp/scripts/app/companyField/companyFieldAdd.controller.js
new file mode 100644
index 0000000..58d1229
--- /dev/null
+++ b/src/main/webapp/scripts/app/companyField/companyFieldAdd.controller.js
@@ -0,0 +1,83 @@
+/**
+ * Created by wisestone on 2018-02-19.
+ */
+'use strict';
+
+define([
+        'app'
+    ],
+    function (app) {
+        app.controller('companyFieldAddController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'SweetAlert', '$uibModal', '$uibModalInstance', '$state', 'CompanyField', '$filter',
+            function ($scope, $rootScope, $log, $resourceProvider, SweetAlert, $uibModal, $uibModalInstance, $state, CompanyField, $filter) {
+
+                $scope.fn = {
+                    cancel : cancel,    //  �뙘�뾽 李� �떕湲�
+                    formSubmit : formSubmit,    //  �뤌 �쟾�넚
+                    formCheck : formCheck,   //  �뤌 泥댄겕
+                };
+
+                $scope.vm = {
+                    form : {
+                        name : "",  //�뾽泥대챸
+                        companyType : "", //�뾽泥대텇瑜�
+                        profitYN : "",  //�쁺由�/鍮꾩쁺由�
+                        industry : "",  //�궛�뾽遺꾨쪟
+                        domain : "",  //�룄硫붿씤
+                        email : "",  //�씠硫붿씪
+                        tel : "",  //�쟾�솕踰덊샇
+                        desc : ""  //硫붾え(鍮꾧퀬)
+                    }
+                };
+
+                //  �뤌 泥댄겕
+                function formCheck(formInvalid) {
+                    if (formInvalid) {
+                        return true;
+                    }
+                    return false;
+                }
+
+                //  �뤌 �쟾�넚
+                function formSubmit(condition) {
+                    $rootScope.spinner = true;
+
+                    var content = {
+                        name : $rootScope.preventXss($scope.vm.form.name),    //  �뾽泥대챸
+                        companyType : $scope.vm.form.companyType, //�뾽泥대텇瑜�
+                        profitYN : $scope.vm.form.profitYN,  //�쁺由�/鍮꾩쁺由�
+                        industry : $scope.vm.form.industry,  //�궛�뾽遺꾨쪟
+                        domain : $scope.vm.form.domain,  //�룄硫붿씤
+                        email : $scope.vm.form.email,  //�씠硫붿씪
+                        tel : $scope.vm.form.tel,  //�쟾�솕踰덊샇
+                        desc : $scope.vm.form.desc  //硫붾え(鍮꾧퀬)
+                    };
+
+                    CompanyField.add($resourceProvider.getContent(content,
+                        $resourceProvider.getPageContent(0, 10))).then(function (result) {
+
+                        if (result.data.message.status === "success") {
+                            $scope.fn.cancel();
+                            //  紐⑸줉 �솕硫� 媛깆떊
+                            $rootScope.$broadcast("getDepartmentList", {});
+                        }
+                        else {
+                            SweetAlert.error($filter("translate")("managementWorkspace.failedLevelRegistration"), result.data.message.message);
+                        }
+
+                        $rootScope.spinner = false;
+                    });
+
+                }
+
+                //  �뙘�뾽 李� �떕湲�
+                function cancel() {
+                    $rootScope.$broadcast("closeLayer");    //  �뙘�뾽�씠 �뿴由ш퀬 �굹�꽌 js-multi, js-single �벑�뿉�꽌 body �씠踰ㅽ듃媛� �궇�븘媛��뒗 �쁽�긽 �닔�젙
+                    $uibModalInstance.dismiss('cancel');
+                    $(document).unbind("keydown");  //  �떒異뺥궎 �씠踰ㅽ듃 �젣嫄�
+                }
+
+            }
+
+        ]);
+    }
+);
\ No newline at end of file
diff --git a/src/main/webapp/scripts/app/companyField/companyFieldList.controller.js b/src/main/webapp/scripts/app/companyField/companyFieldList.controller.js
index 46179b8..fef5e19 100644
--- a/src/main/webapp/scripts/app/companyField/companyFieldList.controller.js
+++ b/src/main/webapp/scripts/app/companyField/companyFieldList.controller.js
@@ -13,7 +13,11 @@
 
                 //  �븿�닔
                 $scope.fn = {
+                    getPageList : getPageList, // �뾽泥� 愿�由� 由ъ뒪�듃
                     makeTableConfigs : makeTableConfigs, //  �뀒�씠釉� �꽕�젙
+                    initSearch : initSearch, //寃��깋 議곌굔 珥덇린�솕
+                    add : add, //�뾽泥� �깮�꽦
+                    removes : removes //�뾽泥� �궘�젣
                 };
 
                 //  蹂��닔
@@ -21,9 +25,28 @@
                     tableConfigs : [],
                 };
 
+                $scope.tableEvent = {
+                    modify : modify //�뾽泥� �젙蹂� 蹂�寃�
+                };
+
+                $scope.vm.search = {
+                    name : "",  //  �뾽泥대챸
+                };
+
                 $scope.vm.responseData = {
                     data : []
                 };
+
+                //  �뾽泥� 愿�由� 由ъ뒪�듃 遺덈윭�삤湲�
+                $scope.$on("getPageList", function () {
+                    $scope.fn.getPageList(0);
+                });
+
+                //  寃��깋 議곌굔 珥덇린�솕
+                function initSearch() {
+                    $scope.vm.search.name = "";
+                    $scope.fn.getPageList(0);
+                }
 
                 //  �궗�슜�옄 �젙�쓽 �븘�뱶 紐⑸줉 �뀒�씠釉� �꽕�젙
                 function makeTableConfigs() {
@@ -70,7 +93,136 @@
                         .setDRenderer("COMMON_MODIFY"));
                 }
 
+                //  �뾽泥� 愿�由� 紐⑸줉 議고쉶
+                function getPageList(selectedPage) {
+                    if (selectedPage < 0) {
+                        selectedPage = 0;
+                    }
+                    //  �쁽�옱 �럹�씠吏� �젙蹂�
+                    var currentPage = 0;
+
+                    //  荑좏궎�뿉 �꽑�깮�븳 �럹�씠吏� �젙蹂닿� �뾾�쑝硫� 湲곕낯 �럹�씠吏� �젙蹂� 0 �쓣 ���옣
+                    if (angular.isUndefined(selectedPage) || selectedPage === "") {
+                        currentPage = $scope.vm.page.selectedPage;
+                    }
+                    else {
+                        currentPage = selectedPage;
+                    }
+
+                    var conditions = {
+                        name : $scope.vm.search.name //�뾽泥대챸
+                    };
+
+                    //�뀒�씠釉� 由ъ뒪�듃 �뜲�씠�꽣 而⑦듃濡ㅻ윭 �슂泥�
+                    CompanyField.find($resourceProvider.getContent(conditions,
+                        $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) {
+
+                        if (result.data.message.status === "success") {
+                            $scope.vm.page.selectedPage = currentPage + 1;
+                            $scope.vm.responseData = result.data;
+
+                        }
+                        else {
+                            SweetAlert.error($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullDepartmentList"), result.data.message.message); // 遺��꽌 紐⑸줉 議고쉶 �떎�뙣
+                        }
+                    });
+                }
+
+                //  �뾽泥� �깮�꽦
+                function add() {
+                    $uibModal.open({
+                        templateUrl : 'views/companyField/companyFieldAdd.html',
+                        size : "md",
+                        controller : 'companyFieldModifyController',
+                        backdrop : 'static',
+                        resolve : {
+                            parameter : function () {
+                                return {
+                                };
+                            }
+                        }
+                    });
+                }
+
+                //  �뾽泥� �닔�젙
+                function modify(id) {
+                    $uibModal.open({
+                        templateUrl : 'views/companyField/companyFieldModify.html',
+                        size : "md",
+                        controller : 'companyFieldModifyController',
+                        backdrop : 'static',
+                        resolve : {
+                            parameter : function () {
+                                return {
+                                    id : id
+                                };
+                            }
+                        }
+                    });
+                }
+
+                //  �뾽泥� �궘�젣
+                function removes() {
+                    var removeIds = [];
+
+                    angular.forEach($scope.vm.responseData.data, function (data) {
+                        if (data.checked) {
+                            removeIds.push(data.id);
+                        }
+                    });
+
+                    if (removeIds.length < 1) {
+                        SweetAlert.swal({
+                            title : $filter("translate")("common.checkPurgingTargets"), // �궘�젣 ���긽 �솗�씤
+                            text : $filter("translate")("common.selectDestinationDeletion"), // �궘�젣 ���긽�쓣 �꽑�깮�븯�꽭�슂.
+                            type : "warning"
+                        });
+                        return;
+                    }
+
+                    //  �궘�젣 �븣由�
+                    SweetAlert.swal({
+                            title : $filter("translate")("managementWorkspace.deleteDepartment"), // "�뾽泥� �궘�젣"
+                            text : $filter("translate")("customField.wantToDeleteSelectDepartment"), // "�꽑�깮�븳 遺��꽌瑜� �궘�젣�븯寃좎뒿�땲源�? �궘�젣�맂 遺��꽌�뒗 蹂듦뎄�븷 �닔 �뾾�뒿�땲�떎."
+                            type : "warning",
+                            showCancelButton : true,
+                            confirmButtonColor : "#DD6B55",
+                            confirmButtonText : $filter("translate")("common.delete"), // �궘�젣
+                            cancelButtonText : $filter("translate")("common.cancel"), // 痍⑥냼
+                            closeOnConfirm : false,
+                            closeOnCancel : true
+                        },
+                        function (isConfirm) {
+                            SweetAlert.close();
+
+                            if (isConfirm) {
+                                $rootScope.spinner = true;
+
+                                CompanyField.removes($resourceProvider.getContent(
+                                    { removeIds : removeIds },
+                                    $resourceProvider.getPageContent(0, 0))).then(function (result) {
+
+                                    if (result.data.message.status === "success") {
+                                        $timeout(function () {
+                                            SweetAlert.success($filter("translate")("common.deleteSucceeded"), result.data.message.message); // �궘�젣 �꽦怨�
+                                        }, 100);
+
+                                        $scope.fn.getPageList(0);
+                                    }
+                                    else {
+                                        $timeout(function () {
+                                            SweetAlert.error($filter("translate")("common.deleteFailed"), result.data.message.message); // �궘�젣 �떎�뙣
+                                        }, 100);
+                                    }
+
+                                    $rootScope.spinner = false;
+                                });
+                            }
+                        });
+                }
+
                 $scope.fn.makeTableConfigs();
+                //$scope.fn.getPageList();
             }
         ]);
     }
diff --git a/src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js b/src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js
new file mode 100644
index 0000000..6c35b54
--- /dev/null
+++ b/src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js
@@ -0,0 +1,110 @@
+/**
+ * Created by wisestone on 2018-05-08.
+ */
+'use strict';
+
+define([
+        'app',
+        'angular'
+    ],
+    function (app, angular) {
+        app.controller('companyFieldModifyController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'CompanyField', 'parameter', 'SweetAlert', '$filter',
+            function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, CompanyField, parameter, SweetAlert, $filter) {
+
+                $scope.fn = {
+                    detail : detail,  //  �긽�꽭 議고쉶
+                    cancel : cancel,    //  �뙘�뾽 李� �떕湲�
+                    formSubmit : formSubmit,    //  �뤌 �쟾�넚
+                    formCheck : formCheck,  //  �뤌 泥댄겕
+                };
+
+                $scope.vm = {
+                    id : parameter.id,
+                    form : {
+                        name : "",  //�뾽泥대챸
+                        companyType : "", //�뾽泥대텇瑜�
+                        profitYN : "",  //�쁺由�/鍮꾩쁺由�
+                        industry : "",  //�궛�뾽遺꾨쪟
+                        domain : "",  //�룄硫붿씤
+                        email : "",  //�씠硫붿씪
+                        tel : "",  //�쟾�솕踰덊샇
+                        desc : ""  //硫붾え(鍮꾧퀬)
+                    }
+                };
+
+                //  �긽�꽭 �젙蹂�
+                function detail() {
+                    var conditions = {
+                        id : parameter.id
+                    }
+
+                    CompanyField.detail($resourceProvider.getContent(
+                        conditions,
+                        $resourceProvider.getPageContent(0, 1))).then(function (result) {
+
+                        if (result.data.message.status === "success") {
+                            if (angular.isDefined(result.data.data)) {
+                                $scope.vm.form.name = result.data.data.name;
+                                $scope.vm.form.companyType = result.data.data.companyType;
+                                $scope.vm.form.profitYN = result.data.data.profitYN;
+                                $scope.vm.form.industry = result.data.data.industry;
+                                $scope.vm.form.domain = result.data.data.domain;
+                                $scope.vm.form.email = result.data.data.email;
+                                $scope.vm.form.tel = result.data.data.tel;
+                                $scope.vm.form.desc = result.data.data.desc;
+                            }
+                        }
+                        else {
+                            SweetAlert.swal($filter("translate")("customField.failedToDetailUserDefinedFields"), result.data.message.message, "error"); // "�궗�슜�옄 �젙�쓽 �븘�뱶 �긽�꽭 �젙蹂� 議고쉶 �떎�뙣"
+                        }
+                    });
+                }
+
+                function formCheck(formInvalid) {
+                    if (formInvalid) {
+                        return true;
+                    }
+
+                    return false;
+                }
+
+                //  �뤌 �쟾�넚
+                function formSubmit() {
+                    $rootScope.spinner = true;
+
+                    var content = {
+                        id : parameter.id,
+                        departmentName : $rootScope.preventXss($scope.vm.form.departmentName),
+                        departmentDescription : $rootScope.preventXss($scope.vm.form.departmentDescription)
+                    };
+
+                    UserWorkspace.departmentModify($resourceProvider.getContent(
+                        content,
+                        $resourceProvider.getPageContent(0, 0))).then(function (result) {
+
+                        if (result.data.message.status === "success") {
+                            $scope.fn.cancel();
+
+                            //  紐⑸줉 �솕硫� 媛깆떊
+                            $rootScope.$broadcast("getDepartmentList", {});
+                        }
+                        else {
+                            SweetAlert.error($filter("translate")("managementWorkspace.failedDepartmentRegistration"), result.data.message.message);
+                        }
+
+                        $rootScope.spinner = false;
+                    });
+
+                }
+
+                //  �뙘�뾽 李� �떕湲�
+                function cancel() {
+                    $rootScope.$broadcast("closeLayer");    //  �뙘�뾽�씠 �뿴由ш퀬 �굹�꽌 js-multi, js-single �벑�뿉�꽌 body �씠踰ㅽ듃媛� �궇�븘媛��뒗 �쁽�긽 �닔�젙
+                    $uibModalInstance.dismiss('cancel');
+                    $(document).unbind("keydown");  //  �떒異뺥궎 �씠踰ㅽ듃 �젣嫄�
+                }
+
+                $scope.fn.detail();
+
+            }]);
+    });
diff --git a/src/main/webapp/scripts/components/companyField/companyField.service.js b/src/main/webapp/scripts/components/companyField/companyField.service.js
index 606e160..2783235 100644
--- a/src/main/webapp/scripts/components/companyField/companyField.service.js
+++ b/src/main/webapp/scripts/components/companyField/companyField.service.js
@@ -13,6 +13,30 @@
                     $log.debug("�뾽泥� �븘�뱶 紐⑸줉 �뜲�씠�꽣 : ", response);
                     return response;
                 });
+            },
+            add : function (conditions) {
+                return $http.post("companyField/add", conditions).then(function (response) {
+                    $log.debug("�뾽泥� �깮�꽦 寃곌낵 : ", response);
+                    return response;
+                });
+            },
+            modify : function (conditions) {
+                return $http.post("companyField/modify", conditions).then(function (response) {
+                    $log.debug("�뾽泥� �닔�젙 寃곌낵 : ", response);
+                    return response;
+                });
+            },
+            detail : function (conditions) {
+                return $http.post("companyField/detail", conditions).then(function (response) {
+                    $log.debug("�뾽泥� �긽�꽭 : ", response);
+                    return response;
+                });
+            },
+            remove : function (conditions) {
+                return $http.post("companyField/remove", conditions).then(function (response) {
+                    $log.debug("�뾽泥� �궘�젣 寃곌낵 : ", response);
+                    return response;
+                });
             }
         }
     }
diff --git a/src/main/webapp/scripts/main.js b/src/main/webapp/scripts/main.js
index f14513b..42c0fa0 100644
--- a/src/main/webapp/scripts/main.js
+++ b/src/main/webapp/scripts/main.js
@@ -332,6 +332,8 @@
         'companyFieldRoute' : 'app/companyField/companyField',   // �뾽泥� route �젙蹂�
         'companyFieldService' : 'components/companyField/companyField.service',  // �뾽泥� 愿��젴�맂 �넻�떊 �떞�떦
         'companyFieldListController' : 'app/companyField/companyFieldList.controller', // �뾽泥� 紐⑸줉 而⑦듃濡ㅻ윭
+        'companyFieldAddController' : 'app/companyField/companyFieldAdd.controller', // �뾽泥� �깮�꽦 而⑦듃濡ㅻ윭
+        'companyFieldModifyController' : 'app/companyField/companyFieldModify.controller', // �뾽泥� �닔�젙 而⑦듃濡ㅻ윭
 
         /* ISP */
         'ispFieldRoute' : 'app/ispField/ispField',   // ISP route �젙蹂�
diff --git a/src/main/webapp/views/companyField/companyFieldAdd.html b/src/main/webapp/views/companyField/companyFieldAdd.html
new file mode 100644
index 0000000..e4df3ef
--- /dev/null
+++ b/src/main/webapp/views/companyField/companyFieldAdd.html
@@ -0,0 +1,176 @@
+<div class="formModal">
+    <div class="modal-header faded smaller">
+        <div class="modal-title">
+            <strong>�뾽泥� �벑濡�</strong>
+        </div>
+        <button aria-label="Close" class="close" type="button" ng-click="fn.cancel()">
+            <span aria-hidden="true"> &times;</span>
+        </button>
+    </div>
+
+    <div class="modal-body">
+        <form role="form" name="companyFieldAddForm">
+            <div class="form-group">
+                <label for="companyFieldAddForm1">
+                    <span translate="companyField.name">�뾽泥대챸</span>
+                    <code class="highlighter-rouge">*</code>
+                </label>
+                <input id="companyFieldAddForm1"
+                       name="name"
+                       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.form.name"
+                       ng-maxlength="200"
+                       maxlength="200"
+                       required>
+                <!--<small translate="notice.enterSpecialCharacters">�젣紐⑹뿉�뒗 �듅�닔 臾몄옄瑜� �엯�젰�븷 �닔 �뾾�뒿�땲�떎.</small>-->
+            </div>
+            <div class="row">
+                <div class="col-md-3">
+                    <div class="form-group mb10">
+                        <label for="companyFieldAddForm2" class="issue-label"> <span
+                                translate="companyField.company">�뾽泥� 遺꾨쪟</span>
+                        </label>
+                        <select id="companyFieldAddForm2"
+                                name="companyType"
+                                class="form-control input-sm issue-select-label"
+                                ng-model="vm.form.companyType"
+                                >
+                            <option value="" translate="common.selectTarget" ng-style="{ 'color' : '#353535' }"><span
+                                    translate="common.selectTarget">���긽 �꽑�깮</span>
+                            </option>
+                            <option value="personal">媛쒖씤</option>
+                            <option value="business">湲곗뾽</option>
+                        </select>
+                    </div>
+                </div>
+                <div class="col-md-3">
+                    <div class="form-group mb10">
+                        <label for="companyFieldAddForm3" class="issue-label">
+                            <span translate="companyField.profitYN">�쁺由�/鍮꾩쁺由�</span>
+                        </label>
+                        <select id="companyFieldAddForm3"
+                                name="profitYN"
+                                class="form-control input-sm issue-select-label"
+                                ng-model="vm.form.profitYN"
+                                >
+                            <option value="" translate="common.selectTarget" ng-style="{ 'color' : '#353535' }">
+                                <span translate="common.selectTarget">���긽 �꽑�깮</span>
+                            </option>
+                            <option value="profit">�쁺由�</option>
+                            <option value="nonProfit">鍮꾩쁺由�</option>
+                        </select>
+                    </div>
+                </div>
+                <div class="col-md-6">
+                    <div class="form-group mb10">
+                        <label for="companyFieldAddForm4" class="issue-label"> <span
+                                translate="companyField.industry">�궛�뾽 遺꾨쪟</span>
+                        </label>
+                        <input id="companyFieldAddForm4"
+                               name="industry"
+                               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.form.industry"
+                               ng-maxlength="200"
+                               maxlength="200"
+                               >
+                    </div>
+                </div>
+            </div>
+
+            <div class="form-group">
+                <label for="companyFieldAddForm5" class="issue-label">
+                    <span translate="companyField.domain">�룄硫붿씤</span>
+                </label>
+                <input id="companyFieldAddForm5"
+                       name="domain"
+                       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.form.domain"
+                       ng-maxlength="200"
+                       maxlength="200"
+                       >
+                <!--<small translate="notice.enterSpecialCharacters">�젣紐⑹뿉�뒗 �듅�닔 臾몄옄瑜� �엯�젰�븷 �닔 �뾾�뒿�땲�떎.</small>-->
+            </div>
+            <div class="form-group">
+                <label for="companyFieldAddForm6" class="issue-label">
+                    <span translate="companyField.email">硫붿씪二쇱냼</span>
+                </label>
+                <input id="companyFieldAddForm6"
+                       name="email"
+                       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.form.email"
+                       ng-maxlength="200"
+                       maxlength="200"
+                       >
+                <!--<small translate="notice.enterSpecialCharacters">�젣紐⑹뿉�뒗 �듅�닔 臾몄옄瑜� �엯�젰�븷 �닔 �뾾�뒿�땲�떎.</small>-->
+            </div>
+            <div class="row">
+                <div class="col-md-5">
+                    <div class="form-group">
+                        <label for="companyFieldAddForm7" class="issue-label">
+                            <span translate="companyField.tel">�뿰�씫泥�</span>
+                        </label>
+                        <input id="companyFieldAddForm7"
+                               name="tel"
+                               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.form.tel"
+                               ng-maxlength="200"
+                               maxlength="200"
+                        >
+                        <!--<small translate="notice.enterSpecialCharacters">�젣紐⑹뿉�뒗 �듅�닔 臾몄옄瑜� �엯�젰�븷 �닔 �뾾�뒿�땲�떎.</small>-->
+                    </div>
+                </div>
+                <div class="col-md-7">
+                    <div class="form-group">
+                        <label for="companyFieldAddForm8" class="issue-label">
+                            <span translate="companyField.desc">硫붾え</span>
+                        </label>
+                        <input id="companyFieldAddForm8"
+                               name="desc"
+                               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.form.desc"
+                               ng-maxlength="200"
+                               maxlength="200"
+                        >
+                    </div>
+                </div>
+            </div>
+        </form>
+    </div>
+
+    <div class="modal-footer buttons-on-right">
+        <button type="button" class="btn btn-md btn-grey" ng-click="fn.cancel()"><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(companyFieldAddForm.$invalid) || $root.spinner) ? null : fn.formSubmit()"
+                ng-disabled="fn.formCheck(companyFieldAddForm.$invalid)"
+                ng-click="fn.formSubmit()"><span translate="common.save">���옣</span>
+        </button>
+    </div>
+</div>
\ No newline at end of file
diff --git a/src/main/webapp/views/companyField/companyFieldModify.html b/src/main/webapp/views/companyField/companyFieldModify.html
new file mode 100644
index 0000000..5789270
--- /dev/null
+++ b/src/main/webapp/views/companyField/companyFieldModify.html
@@ -0,0 +1,176 @@
+<div class="formModal">
+    <div class="modal-header faded smaller">
+        <div class="modal-title">
+            <strong>�뾽泥� �닔�젙</strong>
+        </div>
+        <button aria-label="Close" class="close" type="button" ng-click="fn.cancel()">
+            <span aria-hidden="true"> &times;</span>
+        </button>
+    </div>
+
+    <div class="modal-body">
+        <form role="form" name="companyFieldAddForm">
+            <div class="form-group">
+                <label for="companyFieldAddForm1">
+                    <span translate="companyField.name">�뾽泥대챸</span>
+                    <code class="highlighter-rouge">*</code>
+                </label>
+                <input id="companyFieldAddForm1"
+                       name="name"
+                       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.form.name"
+                       ng-maxlength="200"
+                       maxlength="200"
+                       required>
+                <!--<small translate="notice.enterSpecialCharacters">�젣紐⑹뿉�뒗 �듅�닔 臾몄옄瑜� �엯�젰�븷 �닔 �뾾�뒿�땲�떎.</small>-->
+            </div>
+            <div class="row">
+                <div class="col-md-3">
+                    <div class="form-group mb10">
+                        <label for="companyFieldAddForm2" class="issue-label"> <span
+                                translate="companyField.company">�뾽泥� 遺꾨쪟</span>
+                        </label>
+                        <select id="companyFieldAddForm2"
+                                name="companyType"
+                                class="form-control input-sm issue-select-label"
+                                ng-model="vm.form.companyType"
+                                >
+                            <option value="" translate="common.selectTarget" ng-style="{ 'color' : '#353535' }"><span
+                                    translate="common.selectTarget">���긽 �꽑�깮</span>
+                            </option>
+                            <option value="personal">媛쒖씤</option>
+                            <option value="business">湲곗뾽</option>
+                        </select>
+                    </div>
+                </div>
+                <div class="col-md-3">
+                    <div class="form-group mb10">
+                        <label for="companyFieldAddForm3" class="issue-label">
+                            <span translate="companyField.profitYN">�쁺由�/鍮꾩쁺由�</span>
+                        </label>
+                        <select id="companyFieldAddForm3"
+                                name="profitYN"
+                                class="form-control input-sm issue-select-label"
+                                ng-model="vm.form.profitYN"
+                                >
+                            <option value="" translate="common.selectTarget" ng-style="{ 'color' : '#353535' }">
+                                <span translate="common.selectTarget">���긽 �꽑�깮</span>
+                            </option>
+                            <option value="profit">�쁺由�</option>
+                            <option value="nonProfit">鍮꾩쁺由�</option>
+                        </select>
+                    </div>
+                </div>
+                <div class="col-md-6">
+                    <div class="form-group mb10">
+                        <label for="companyFieldAddForm4" class="issue-label"> <span
+                                translate="companyField.industry">�궛�뾽 遺꾨쪟</span>
+                        </label>
+                        <input id="companyFieldAddForm4"
+                               name="industry"
+                               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.form.industry"
+                               ng-maxlength="200"
+                               maxlength="200"
+                               >
+                    </div>
+                </div>
+            </div>
+
+            <div class="form-group">
+                <label for="companyFieldAddForm5" class="issue-label">
+                    <span translate="companyField.domain">�룄硫붿씤</span>
+                </label>
+                <input id="companyFieldAddForm5"
+                       name="domain"
+                       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.form.domain"
+                       ng-maxlength="200"
+                       maxlength="200"
+                       >
+                <!--<small translate="notice.enterSpecialCharacters">�젣紐⑹뿉�뒗 �듅�닔 臾몄옄瑜� �엯�젰�븷 �닔 �뾾�뒿�땲�떎.</small>-->
+            </div>
+            <div class="form-group">
+                <label for="companyFieldAddForm6" class="issue-label">
+                    <span translate="companyField.email">硫붿씪二쇱냼</span>
+                </label>
+                <input id="companyFieldAddForm6"
+                       name="email"
+                       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.form.email"
+                       ng-maxlength="200"
+                       maxlength="200"
+                       >
+                <!--<small translate="notice.enterSpecialCharacters">�젣紐⑹뿉�뒗 �듅�닔 臾몄옄瑜� �엯�젰�븷 �닔 �뾾�뒿�땲�떎.</small>-->
+            </div>
+            <div class="row">
+                <div class="col-md-5">
+                    <div class="form-group">
+                        <label for="companyFieldAddForm7" class="issue-label">
+                            <span translate="companyField.tel">�뿰�씫泥�</span>
+                        </label>
+                        <input id="companyFieldAddForm7"
+                               name="tel"
+                               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.form.tel"
+                               ng-maxlength="200"
+                               maxlength="200"
+                        >
+                        <!--<small translate="notice.enterSpecialCharacters">�젣紐⑹뿉�뒗 �듅�닔 臾몄옄瑜� �엯�젰�븷 �닔 �뾾�뒿�땲�떎.</small>-->
+                    </div>
+                </div>
+                <div class="col-md-7">
+                    <div class="form-group">
+                        <label for="companyFieldAddForm8" class="issue-label">
+                            <span translate="companyField.desc">硫붾え</span>
+                        </label>
+                        <input id="companyFieldAddForm8"
+                               name="desc"
+                               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.form.desc"
+                               ng-maxlength="200"
+                               maxlength="200"
+                        >
+                    </div>
+                </div>
+            </div>
+        </form>
+    </div>
+
+    <div class="modal-footer buttons-on-right">
+        <button type="button" class="btn btn-md btn-grey" ng-click="fn.cancel()"><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(companyFieldAddForm.$invalid) || $root.spinner) ? null : fn.formSubmit()"
+                ng-disabled="fn.formCheck(companyFieldAddForm.$invalid)"
+                ng-click="fn.formSubmit()"><span translate="common.save">���옣</span>
+        </button>
+    </div>
+</div>
\ No newline at end of file

--
Gitblit v1.8.0