| | |
| | | } |
| | | break; |
| | | |
| | | case "ISPFIELD_MODIFY" : |
| | | if ($rootScope.checkMngPermission('USER_PERMISSION_MNG_CUSTOME_FIELD')) { |
| | | makeTag += "<span class='titlename cursor table-word-break-all' ng-click='event.modify(data.id)'>" + scope.data.name.replace(/</gi, '<') + "</span>"; |
| | | } |
| | | else { |
| | | makeTag += "<span class='titlename not-modify table-word-break-all'>" + scope.data.name + "</span>"; |
| | | } |
| | | break; |
| | | |
| | | case "HOSTINGFIELD_MODIFY" : |
| | | if ($rootScope.checkMngPermission('USER_PERMISSION_MNG_CUSTOME_FIELD')) { |
| | | makeTag += "<span class='titlename cursor table-word-break-all' ng-click='event.modify(data.id)'>" + scope.data.name.replace(/</gi, '<') + "</span>"; |
| | | } |
| | | else { |
| | | makeTag += "<span class='titlename not-modify table-word-break-all'>" + scope.data.name + "</span>"; |
| | | } |
| | | break; |
| | | |
| | | case "ISSUE_CUSTOM_FIELD_VALUE_VIEW" : |
| | | var values = []; |
| | | |
| | |
| | | }, |
| | | "companyField" : { |
| | | "add" : "업체 생성", |
| | | "name" : "업체명", |
| | | "name" : "업체 이름", |
| | | "company" : "업체 분류", |
| | | "profitYN" : "영리/비영리", |
| | | "industry" : "산업 분류", |
| | | "domain" : "도메인", |
| | | "manager" : "담당자", |
| | | "tel" : "전화번호", |
| | | "code" : "코드", |
| | | "email" : "이메일", |
| | | "desc" : "비고", |
| | | "failedToSelectCompanyFieldFullList" : "업체 관리 목록 조회 실패", |
| | |
| | | "wantToDeleteSelectCompanyField" : "선택한 업체를 삭제하겠습니까? 삭제된 업체는 복구할 수 없습니다.", |
| | | "failedCompanyFieldRegistration" : "업체 등록 실패", |
| | | "failedToDetailCompanyFieldModify" : "업체 상세 정보 조회 실패", |
| | | "pleaseEnterCompanyFieldName": "업체명을 입력하세요." |
| | | "pleaseEnterCompanyFieldName": "업체 이름을 입력하세요.", |
| | | "enterSpecialCharacters": "업체 이름에는 특수 문자를 입력 할 수 없습니다.", |
| | | "invalidTelFormat": "전화번호 형식이 맞지 않습니다. xxx-xxx-xxxx 형식으로 입력하세요." |
| | | }, |
| | | "ispField" : { |
| | | "add" : "ISP 생성", |
| | | "name" : "ISP 이름", |
| | | "manager" : "담당자", |
| | | "tel" : "전화번호", |
| | | "code" : "코드", |
| | | "email" : "이메일", |
| | | "desc" : "비고" |
| | | "desc" : "비고", |
| | | "failedToSelectIspFieldFullList" : "ISP 관리 목록 조회 실패", |
| | | "delete" : "ISP 삭제", |
| | | "wantToDeleteSelectIspField" : "선택한 ISP를 삭제하겠습니까? 삭제된 ISP는 복구할 수 없습니다.", |
| | | "failedIspFieldRegistration" : "ISP 등록 실패", |
| | | "failedToDetailIspFieldModify" : "ISP 상세 정보 조회 실패", |
| | | "pleaseEnterIspFieldName": "ISP 이름을 입력하세요.", |
| | | "enterSpecialCharacters": "ISP 이름에는 특수 문자를 입력 할 수 없습니다.", |
| | | "invalidCodeFormat": "코드명에는 특수 문자를 입력 할 수 없습니다." |
| | | }, |
| | | "hostingField" : { |
| | | "add" : "호스팅 생성", |
| | | "name" : "호스팅 이름", |
| | | "manager" : "담당자", |
| | | "tel" : "전화번호", |
| | | "code" : "코드", |
| | | "email" : "이메일", |
| | | "desc" : "비고" |
| | | "desc" : "비고", |
| | | "failedToSelectHostingFieldFullList" : "호스팅 관리 목록 조회 실패", |
| | | "delete" : "호스팅 삭제", |
| | | "wantToDeleteSelectHostingField" : "선택한 호스팅을 삭제하겠습니까? 삭제된 호스팅은 복구할 수 없습니다.", |
| | | "failedHostingFieldRegistration" : "호스팅 등록 실패", |
| | | "failedToDetailHostingFieldModify" : "호스팅 상세 정보 조회 실패", |
| | | "pleaseEnterHostingFieldName": "호스팅 이름을 입력하세요.", |
| | | "enterSpecialCharacters": "호스팅 이름에는 특수 문자를 입력 할 수 없습니다.", |
| | | "invalidCodeFormat": "코드명에는 특수 문자를 입력 할 수 없습니다." |
| | | } |
| | | } |
| | |
| | | loadController : ["$q", function ($q) { |
| | | var deferred = $q.defer(); |
| | | require(["hostingFieldListController", 'jsTable', 'tableColumnGenerator', 'hostingFieldService', 'modalFormAutoScroll' |
| | | , 'hostingFieldAddController', 'hostingFieldModifyController' |
| | | , 'formSubmit', 'jsShortCut', 'inputRegex'], function () { |
| | | deferred.resolve(); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-02-19. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app' |
| | | ], |
| | | function (app) { |
| | | app.controller('hostingFieldAddController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'SweetAlert', '$uibModal', '$uibModalInstance', '$state', 'HostingField', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, SweetAlert, $uibModal, $uibModalInstance, $state, HostingField, $filter) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck, // 폼 체크 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | form : { |
| | | code : "", //코드 |
| | | name : "", //호스팅명 |
| | | manager : "", //담당자 |
| | | tel : "", //전화번호 |
| | | email : "", //이메일 |
| | | memo : "" //비고 |
| | | } |
| | | }; |
| | | |
| | | // 폼 체크 |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | // 폼 전송 |
| | | function formSubmit(condition) { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | code : $rootScope.preventXss($scope.vm.form.code), //코드 |
| | | name : $rootScope.preventXss($scope.vm.form.name), // 호스팅명 |
| | | manager : $scope.vm.form.manager, //담당자 |
| | | tel : $scope.vm.form.tel, //전화번호 |
| | | email : $scope.vm.form.email, //이메일 |
| | | memo : $scope.vm.form.memo //비고 |
| | | }; |
| | | |
| | | HostingField.add($resourceProvider.getContent(content, |
| | | $resourceProvider.getPageContent(0, 10))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.cancel(); |
| | | // 목록 화면 갱신 |
| | | $rootScope.$broadcast("getPageList", {}); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("hostingField.failedHostingFieldRegistration"), 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 = { |
| | | getPageList : getPageList, // 호스팅 관리 리스트 |
| | | makeTableConfigs : makeTableConfigs, // 테이블 설정 |
| | | initSearch : initSearch, //검색 조건 초기화 |
| | | add : add, //호스팅 생성 |
| | | removes : removes, //호스팅 삭제 |
| | | makeSearchConditions : makeSearchConditions //엑셀 다운로드 |
| | | }; |
| | | |
| | | // 변수 |
| | | $scope.vm = { |
| | | tableConfigs : [], |
| | | }; |
| | | |
| | | $scope.tableEvent = { |
| | | modify : modify //호스팅 정보 변경 |
| | | }; |
| | | |
| | | $scope.vm.search = { |
| | | name : "", // 호스팅 이름 |
| | | }; |
| | | |
| | | $scope.vm.page = { |
| | | selectedPage : 0, |
| | | selectedPageRowCount : String(10) |
| | | }; |
| | | |
| | | $scope.vm.responseData = { |
| | | data : [] |
| | | }; |
| | | |
| | | // 호스팅 관리 리스트 불러오기 |
| | | $scope.$on("getPageList", function () { |
| | | $scope.fn.getPageList(0); |
| | | }); |
| | | |
| | | // 검색 조건 초기화 |
| | | function initSearch() { |
| | | $scope.vm.search.name = ""; |
| | | $scope.fn.getPageList(0); |
| | | } |
| | | |
| | | // 사용자 정의 필드 목록 테이블 설정 |
| | | function makeTableConfigs() { |
| | |
| | | .setDName("name") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("COMMON_MODIFY")); |
| | | .setDRenderer("HOSTINGFIELD_MODIFY")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("hostingField.code") |
| | | .setHWidth("bold") |
| | | .setDName("code") |
| | | .setDAlign("text-center")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("hostingField.manager") |
| | | .setHWidth("bold") |
| | | .setDName("name") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("COMMON_MODIFY")); |
| | | .setDAlign("text-center")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("hostingField.tel") |
| | | .setHWidth("bold") |
| | | .setDName("name") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("COMMON_MODIFY")); |
| | | .setDAlign("text-center")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("hostingField.email") |
| | | .setHWidth("bold") |
| | | .setDName("name") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("COMMON_MODIFY")); |
| | | .setDAlign("text-center")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("hostingField.desc") |
| | | .setHWidth("bold") |
| | | .setDName("name") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("COMMON_MODIFY")); |
| | | .setDAlign("text-center")); |
| | | } |
| | | |
| | | // 호스팅 관리 목록 조회 |
| | | 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 //호스팅 명 |
| | | }; |
| | | |
| | | //테이블 리스트 데이터 컨트롤러 요청 |
| | | HostingField.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")("hostingField.failedToSelectHostingFieldFullList"), result.data.message.message); // 호스팅 관리 목록 조회 실패 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 호스팅 생성 |
| | | function add() { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/hostingField/hostingFieldAdd.html', |
| | | size : "md", |
| | | controller : 'hostingFieldAddController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 호스팅 수정 |
| | | function modify(id) { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/hostingField/hostingFieldModify.html', |
| | | size : "md", |
| | | controller : 'hostingFieldModifyController', |
| | | 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")("hostingField.delete"), // "삭제" |
| | | text : $filter("translate")("hostingField.wantToDeleteSelectHostingField"), // 선택한 호스팅을 삭제하겠습니까? 삭제된 호스팅은 복구할 수 없습니다. |
| | | 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; |
| | | |
| | | HostingField.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; |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function makeSearchConditions() { |
| | | var conditions = { |
| | | name: $scope.vm.search.name |
| | | } |
| | | return conditions; |
| | | } |
| | | |
| | | $scope.fn.makeTableConfigs(); |
| | | $scope.fn.getPageList(); |
| | | } |
| | | ]); |
| | | } |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('hostingFieldModifyController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'HostingField', 'parameter', 'SweetAlert', '$filter', '$q', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, HostingField, parameter, SweetAlert, $filter, $q) { |
| | | |
| | | $scope.fn = { |
| | | detail : detail, // 상세 조회 |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck, // 폼 체크 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | id : parameter.id, |
| | | form : { |
| | | code : "", //코드 |
| | | name : "", //호스팅명 |
| | | manager : "", //담당자 |
| | | tel : "", //전화번호 |
| | | email : "", //이메일 |
| | | memo : "" //메모(비고) |
| | | } |
| | | }; |
| | | |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | // 폼 전송 |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | id : parameter.id, |
| | | code : $rootScope.preventXss($scope.vm.form.name), |
| | | name : $rootScope.preventXss($scope.vm.form.name), |
| | | manager : $rootScope.preventXss($scope.vm.form.manager), |
| | | tel : $rootScope.preventXss($scope.vm.form.tel), |
| | | email : $rootScope.preventXss($scope.vm.form.email), |
| | | memo : $rootScope.preventXss($scope.vm.form.memo) |
| | | }; |
| | | |
| | | HostingField.modify($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.cancel(); |
| | | |
| | | // 목록 화면 갱신 |
| | | $rootScope.$broadcast("getPageList", {}); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("hostingField.failedHostingFieldRegistration"), result.data.message.message); //등록 실패 |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | |
| | | } |
| | | |
| | | // 팝업 창 닫기 |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | |
| | | // 상세 정보 |
| | | function detail() { |
| | | var deferred = $q.defer(); |
| | | |
| | | var conditions = { |
| | | id : parameter.id |
| | | } |
| | | |
| | | HostingField.detail($resourceProvider.getContent( |
| | | conditions, |
| | | $resourceProvider.getPageContent(0, 1))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | if (angular.isDefined(result.data.content)) { |
| | | $scope.vm.form.code = result.data.content.code; |
| | | $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; |
| | | $scope.vm.form.memo = result.data.content.memo; |
| | | } |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("hostingField.failedToDetailHostingFieldModify"), result.data.message.message, "error"); // "상세 정보 조회 실패" |
| | | } |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | return deferred.promise; |
| | | } |
| | | |
| | | $scope.fn.detail(); |
| | | |
| | | }]); |
| | | }); |
| | |
| | | loadController : ["$q", function ($q) { |
| | | var deferred = $q.defer(); |
| | | require(["ispFieldListController", 'jsTable', 'tableColumnGenerator', 'ispFieldService', 'modalFormAutoScroll' |
| | | , 'ispFieldAddController', 'ispFieldModifyController' |
| | | , 'formSubmit', 'jsShortCut', 'inputRegex'], function () { |
| | | deferred.resolve(); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-02-19. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app' |
| | | ], |
| | | function (app) { |
| | | app.controller('ispFieldAddController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'SweetAlert', '$uibModal', '$uibModalInstance', '$state', 'IspField', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, SweetAlert, $uibModal, $uibModalInstance, $state, IspField, $filter) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck, // 폼 체크 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | form : { |
| | | code : "", //코드 |
| | | name : "", //ISP명 |
| | | manager : "", //담당자 |
| | | tel : "", //전화번호 |
| | | email : "", //이메일 |
| | | memo : "" //비고 |
| | | } |
| | | }; |
| | | |
| | | // 폼 체크 |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | // 폼 전송 |
| | | function formSubmit(condition) { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | code : $rootScope.preventXss($scope.vm.form.code), //코드 |
| | | name : $rootScope.preventXss($scope.vm.form.name), // ISP명 |
| | | manager : $scope.vm.form.manager, //담당자 |
| | | tel : $scope.vm.form.tel, //전화번호 |
| | | email : $scope.vm.form.email, //이메일 |
| | | memo : $scope.vm.form.memo //비고 |
| | | }; |
| | | |
| | | IspField.add($resourceProvider.getContent(content, |
| | | $resourceProvider.getPageContent(0, 10))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.cancel(); |
| | | // 목록 화면 갱신 |
| | | $rootScope.$broadcast("getPageList", {}); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("ispField.failedToSelectIspFieldFullList"), 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 = { |
| | | getPageList : getPageList, // ISP 관리 리스트 |
| | | makeTableConfigs : makeTableConfigs, // 테이블 설정 |
| | | initSearch : initSearch, //검색 조건 초기화 |
| | | add : add, //ISP 생성 |
| | | removes : removes, //ISP 삭제 |
| | | makeSearchConditions : makeSearchConditions //엑셀 다운로드 |
| | | }; |
| | | |
| | | // 변수 |
| | | $scope.vm = { |
| | | tableConfigs : [], |
| | | }; |
| | | |
| | | $scope.tableEvent = { |
| | | modify : modify //ISP 정보 변경 |
| | | }; |
| | | |
| | | $scope.vm.search = { |
| | | name : "", // ISP 이름 |
| | | }; |
| | | |
| | | $scope.vm.page = { |
| | | selectedPage : 0, |
| | | selectedPageRowCount : String(10) |
| | | }; |
| | | |
| | | $scope.vm.responseData = { |
| | | data : [] |
| | | }; |
| | | |
| | | // iSP 관리 리스트 불러오기 |
| | | $scope.$on("getPageList", function () { |
| | | $scope.fn.getPageList(0); |
| | | }); |
| | | |
| | | // 검색 조건 초기화 |
| | | function initSearch() { |
| | | $scope.vm.search.name = ""; |
| | | $scope.fn.getPageList(0); |
| | | } |
| | | |
| | | // 사용자 정의 필드 목록 테이블 설정 |
| | | function makeTableConfigs() { |
| | |
| | | .setDName("name") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("COMMON_MODIFY")); |
| | | .setDRenderer("ISPFIELD_MODIFY")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("ispField.code") |
| | | .setHWidth("bold") |
| | | .setDName("code") |
| | | .setDAlign("text-center")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("ispField.manager") |
| | | .setHWidth("bold") |
| | | .setDName("name") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("COMMON_MODIFY")); |
| | | .setDName("manager") |
| | | .setDAlign("text-center")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("ispField.tel") |
| | | .setHWidth("bold") |
| | | .setDName("name") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("COMMON_MODIFY")); |
| | | .setDName("tel") |
| | | .setDAlign("text-center")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("ispField.email") |
| | | .setHWidth("bold") |
| | | .setDName("name") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("COMMON_MODIFY")); |
| | | .setDName("email") |
| | | .setDAlign("text-center")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("ispField.desc") |
| | | .setHWidth("bold") |
| | | .setDName("name") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("COMMON_MODIFY")); |
| | | .setDName("memo") |
| | | .setDAlign("text-center")); |
| | | } |
| | | |
| | | // ISP 관리 목록 조회 |
| | | 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 //ISP 명 |
| | | }; |
| | | |
| | | //테이블 리스트 데이터 컨트롤러 요청 |
| | | IspField.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")("ispField.failedToSelectIspFieldFullList"), result.data.message.message); // 목록 조회 실패 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // ISP 생성 |
| | | function add() { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/ispField/ispFieldAdd.html', |
| | | size : "md", |
| | | controller : 'ispFieldAddController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // ISP 수정 |
| | | function modify(id) { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/ispField/ispFieldModify.html', |
| | | size : "md", |
| | | controller : 'ispFieldModifyController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | id : id |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // ISP 삭제 |
| | | 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")("ispField.delete"), // "삭제" |
| | | text : $filter("translate")("ispField.wantToDeleteSelectIspField"), |
| | | 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; |
| | | |
| | | IspField.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; |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function makeSearchConditions() { |
| | | var conditions = { |
| | | name: $scope.vm.search.name |
| | | } |
| | | return conditions; |
| | | } |
| | | |
| | | $scope.fn.makeTableConfigs(); |
| | | $scope.fn.getPageList(); |
| | | } |
| | | ]); |
| | | } |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('ispFieldModifyController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'IspField', 'parameter', 'SweetAlert', '$filter', '$q', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, IspField, parameter, SweetAlert, $filter, $q) { |
| | | |
| | | $scope.fn = { |
| | | detail : detail, // 상세 조회 |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck, // 폼 체크 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | id : parameter.id, |
| | | form : { |
| | | name : "", //ISP명 |
| | | manager : "", //담당자 |
| | | tel : "", //전화번호 |
| | | email : "", //이메일 |
| | | memo : "" //메모(비고) |
| | | } |
| | | }; |
| | | |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | // 폼 전송 |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | id : parameter.id, |
| | | code : $rootScope.preventXss($scope.vm.form.name), |
| | | name : $rootScope.preventXss($scope.vm.form.name), |
| | | manager : $rootScope.preventXss($scope.vm.form.manager), |
| | | tel : $rootScope.preventXss($scope.vm.form.tel), |
| | | email : $rootScope.preventXss($scope.vm.form.email), |
| | | memo : $rootScope.preventXss($scope.vm.form.memo) |
| | | }; |
| | | |
| | | IspField.modify($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.cancel(); |
| | | |
| | | // 목록 화면 갱신 |
| | | $rootScope.$broadcast("getPageList", {}); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("ispField.failedIspFieldRegistration"), result.data.message.message); //등록 실패 |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | |
| | | } |
| | | |
| | | // 팝업 창 닫기 |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | |
| | | // 상세 정보 |
| | | function detail() { |
| | | var deferred = $q.defer(); |
| | | |
| | | var conditions = { |
| | | id : parameter.id |
| | | } |
| | | |
| | | IspField.detail($resourceProvider.getContent( |
| | | conditions, |
| | | $resourceProvider.getPageContent(0, 1))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | if (angular.isDefined(result.data.content)) { |
| | | $scope.vm.form.code = result.data.content.code; |
| | | $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; |
| | | $scope.vm.form.memo = result.data.content.memo; |
| | | } |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("ispField.failedToDetailIspFieldModify"), result.data.message.message, "error"); // "상세 정보 조회 실패" |
| | | } |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | return deferred.promise; |
| | | } |
| | | |
| | | $scope.fn.detail(); |
| | | |
| | | }]); |
| | | }); |
| | |
| | | app.factory("HostingField", ['$http', '$log', function ($http, $log) { |
| | | return { |
| | | find : function (conditions) { |
| | | return $http.post("HostingField/find", conditions).then(function (response) { |
| | | return $http.post("hostingField/find", conditions).then(function (response) { |
| | | $log.debug("Hosting 필드 목록 데이터 : ", response); |
| | | return response; |
| | | }); |
| | | }, |
| | | add : function (conditions) { |
| | | return $http.post("hostingField/add", conditions).then(function (response) { |
| | | $log.debug("HostingField 생성 결과 : ", response); |
| | | return response; |
| | | }); |
| | | }, |
| | | modify : function (conditions) { |
| | | return $http.post("hostingField/modify", conditions).then(function (response) { |
| | | $log.debug("HostingField 수정 결과 : ", response); |
| | | return response; |
| | | }); |
| | | }, |
| | | detail : function (conditions) { |
| | | return $http.post("hostingField/detail", conditions).then(function (response) { |
| | | $log.debug("HostingField 상세 : ", response); |
| | | return response; |
| | | }); |
| | | }, |
| | | removes : function (conditions) { |
| | | return $http.post("hostingField/remove", conditions).then(function (response) { |
| | | $log.debug("HostingField 삭제 결과 : ", response); |
| | | return response; |
| | | }); |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | ]); |
| | |
| | | app.factory("IspField", ['$http', '$log', function ($http, $log) { |
| | | return { |
| | | find : function (conditions) { |
| | | return $http.post("IspField/find", conditions).then(function (response) { |
| | | return $http.post("ispField/find", conditions).then(function (response) { |
| | | $log.debug("ISP 필드 목록 데이터 : ", response); |
| | | return response; |
| | | }); |
| | | }, |
| | | add : function (conditions) { |
| | | return $http.post("ispField/add", conditions).then(function (response) { |
| | | $log.debug("IspField 생성 결과 : ", response); |
| | | return response; |
| | | }); |
| | | }, |
| | | modify : function (conditions) { |
| | | return $http.post("ispField/modify", conditions).then(function (response) { |
| | | $log.debug("IspField 수정 결과 : ", response); |
| | | return response; |
| | | }); |
| | | }, |
| | | detail : function (conditions) { |
| | | return $http.post("ispField/detail", conditions).then(function (response) { |
| | | $log.debug("IspField 상세 : ", response); |
| | | return response; |
| | | }); |
| | | }, |
| | | removes : function (conditions) { |
| | | return $http.post("ispField/remove", conditions).then(function (response) { |
| | | $log.debug("IspField 삭제 결과 : ", response); |
| | | return response; |
| | | }); |
| | | } |
| | | } |
| | | } |
| | |
| | | 'ispFieldRoute' : 'app/ispField/ispField', // ISP route 정보 |
| | | 'ispFieldService' : 'components/ispField/ispField.service', // ISP 관련된 통신 담당 |
| | | 'ispFieldListController' : 'app/ispField/ispFieldList.controller', // ISP 목록 컨트롤러 |
| | | 'ispFieldAddController' : 'app/ispField/ispFieldAdd.controller', // ISP 생성 컨트롤러 |
| | | 'ispFieldModifyController' : 'app/ispField/ispFieldModify.controller', // ISP 수정 컨트롤러 |
| | | |
| | | /* 호스팅 */ |
| | | 'hostingFieldRoute' : 'app/hostingField/hostingField', // 호스팅 route 정보 |
| | | 'hostingFieldService' : 'components/HostingField/hostingField.service', // 호스팅 관련된 통신 담당 |
| | | 'hostingFieldListController' : 'app/hostingField/hostingFieldList.controller', // 호스팅 목록 컨트롤러 |
| | | 'hostingFieldAddController' : 'app/hostingField/hostingFieldAdd.controller', // 호스팅 생성 컨트롤러 |
| | | 'hostingFieldModifyController' : 'app/hostingField/hostingFieldModify.controller', // 호스팅 수정 컨트롤러 |
| | | }, |
| | | shim : { |
| | | 'jquery-ui' : { |
| | |
| | | ng-maxlength="100" |
| | | maxlength="100" |
| | | required> |
| | | <!--<small translate="notice.enterSpecialCharacters">제목에는 특수 문자를 입력할 수 없습니다.</small>--> |
| | | <small translate="companyField.enterSpecialCharacters">업체 이름에는 특수 문자를 입력 할수 없습니다.</small> |
| | | </div> |
| | | <!--<div class="row"> |
| | | <div class="col-md-3"> |
| | |
| | | type="text" |
| | | class="form-control" |
| | | kr-input |
| | | input-regex="[^0-9]" |
| | | ng-pattern="/^\d{2,3}-\d{3,4}-\d{4}$/" |
| | | autocomplete="off" |
| | | ng-model="vm.form.tel" |
| | | maxlength="20" |
| | | > |
| | | <!--<small translate="notice.enterSpecialCharacters">제목에는 특수 문자를 입력할 수 없습니다.</small>--> |
| | | <div ng-show="companyFieldAddForm.tel.$error.pattern" class="help-block form-text text-danger" |
| | | translate="companyField.invalidTelFormat">전화번호 형식이 맞지 않습니다. xxx-xxx-xxxx 형식으로 입력하세요. |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div> |
| | |
| | | kr-input |
| | | ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/" |
| | | > |
| | | <!--<small translate="notice.enterSpecialCharacters">제목에는 특수 문자를 입력할 수 없습니다.</small>--> |
| | | <div ng-show="companyFieldAddForm.email.$error.pattern" class="help-block form-text text-danger" |
| | | translate="users.invalidEmailFormat">이메일 형식이 맞지 않습니다. |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div> |
New file |
| | |
| | | <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"> ×</span> |
| | | </button> |
| | | </div> |
| | | |
| | | <div class="modal-body"> |
| | | <form role="form" name="hostingFieldAddForm"> |
| | | <div class="form-group"> |
| | | <label for="hostingFieldAddForm1"> |
| | | <span translate="hostingField.name">호스팅명</span> |
| | | <code class="highlighter-rouge">*</code> |
| | | </label> |
| | | <input id="hostingFieldAddForm1" |
| | | 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="100" |
| | | maxlength="100" |
| | | required> |
| | | <small translate="hostingField.enterSpecialCharacters">호스팅 이름에는 특수 문자를 입력 할수 없습니다.</small> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label for="hostingFieldAddForm10"> |
| | | <span translate="hostingField.code">코드</span> |
| | | <code class="highlighter-rouge">*</code> |
| | | </label> |
| | | <input id="hostingFieldAddForm10" |
| | | name="code" |
| | | 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.code" |
| | | ng-maxlength="100" |
| | | maxlength="100" |
| | | required> |
| | | <small translate="hostingField.invalidCodeFormat">코드명에는 특수 문자를 입력 할수 없습니다.</small> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="hostingFieldAddForm9" class="issue-label"> |
| | | <span translate="hostingField.manager">담당자</span> |
| | | </label> |
| | | <input id="hostingFieldAddForm9" |
| | | name="manager" |
| | | 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.manager" |
| | | ng-maxlength="100" |
| | | maxlength="100" |
| | | > |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="hostingFieldAddForm7" class="issue-label"> |
| | | <span translate="hostingField.tel">전화번호</span> |
| | | </label> |
| | | <input id="hostingFieldAddForm7" |
| | | name="tel" |
| | | type="text" |
| | | class="form-control" |
| | | kr-input |
| | | ng-pattern="/^\d{2,3}-\d{3,4}-\d{4}$/" |
| | | autocomplete="off" |
| | | ng-model="vm.form.tel" |
| | | maxlength="20" |
| | | > |
| | | <div ng-show="hostingFieldAddForm.tel.$error.pattern" class="help-block form-text text-danger" |
| | | translate="companyField.invalidTelFormat">전화번호 형식이 맞지 않습니다. xxx-xxx-xxxx 형식으로 입력하세요. |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="hostingFieldAddForm6" class="issue-label"> |
| | | <span translate="hostingField.email">이메일</span> |
| | | </label> |
| | | <input id="hostingFieldAddForm6" |
| | | name="email" |
| | | type="email" |
| | | class="form-control" |
| | | autocomplete="off" |
| | | maxLength="50" |
| | | ng-model="vm.form.email" |
| | | kr-input |
| | | ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/" |
| | | > |
| | | <div ng-show="hostingFieldAddForm.email.$error.pattern" class="help-block form-text text-danger" |
| | | translate="users.invalidEmailFormat">이메일 형식이 맞지 않습니다. |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="hostingFieldAddForm8" class="issue-label"> |
| | | <span translate="hostingField.desc">비고</span> |
| | | </label> |
| | | <input id="hostingFieldAddForm8" |
| | | name="memo" |
| | | type="text" |
| | | class="form-control" |
| | | kr-input |
| | | autocomplete="off" |
| | | ng-model="vm.form.memo" |
| | | ng-maxlength="200" |
| | | maxlength="200" |
| | | > |
| | | </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(hostingFieldAddForm.$invalid) || $root.spinner) ? null : fn.formSubmit()" |
| | | ng-disabled="fn.formCheck(hostingFieldAddForm.$invalid)" |
| | | ng-click="fn.formSubmit()"><span translate="common.save">저장</span> |
| | | </button> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="searchdiv"> |
| | | <form name="customFieldListForm" role="form" ng-enter="fn.getPageList(0)"> |
| | | <form name="hostingFieldListForm" role="form" ng-enter="fn.getPageList(0)"> |
| | | <div class="row"> |
| | | <div class="col-lg-3"> |
| | | <div class="form-group"> |
| | | <label for="customFieldListForm1"><span translate="hostingField.name">사용자 정의 필드 명</span></label> |
| | | <label for="hostingFieldListForm1"><span translate="hostingField.name">ISP 이름</span></label> |
| | | <input type="text" |
| | | name="name" |
| | | id="customFieldListForm1" |
| | | id="hostingFieldListForm1" |
| | | autocomplete="off" |
| | | maxlength="15" |
| | | kr-input |
| | | owl-auto-focus |
| | | class="form-control" |
| | | ng-model="vm.search.name" placeholder="{{'customField.pleaseEnterUserDefinedFieldName' | translate}}"> |
| | | ng-model="vm.search.name" placeholder="{{'hostingField.pleaseEnterHostingFieldName' | translate}}"> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | </div> |
| | | <div class="col-5 text-right" ng-if="$root.checkMngPermission('USER_PERMISSION_MNG_CUSTOME_FIELD')"> |
| | | <form class="form-inline justify-content-sm-end pull-right" method="post" |
| | | action="/customField/downloadExcel" |
| | | name="customFieldListForm"> |
| | | action="/hostingField/downloadExcel" |
| | | name="hostingFieldListForm"> |
| | | <input type="hidden" name="conditions"> |
| | | <div class="btn-group"> |
| | | <button aria-expanded="false" aria-haspopup="true" |
| | |
| | | </button> |
| | | <div aria-labelledby="dropdownMenuButton2" class="dropdown-menu left-menu" |
| | | x-placement="bottom-start"> |
| | | <a class="dropdown-item cursor" form-submit="customFieldListForm" make-search-conditions="fn.makeSearchConditions()"><span translate="common.downloadExcel">엑셀 다운로드</span></a> |
| | | <a class="dropdown-item cursor" form-submit="hostingFieldListForm" make-search-conditions="fn.makeSearchConditions()"><span translate="common.downloadExcel">엑셀 다운로드</span></a> |
| | | <a class="dropdown-item cursor" ng-click="fn.removes()"> <span translate="common.delete">삭제</span></a> |
| | | </div> |
| | | </div> |
New file |
| | |
| | | <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"> ×</span> |
| | | </button> |
| | | </div> |
| | | |
| | | <div class="modal-body"> |
| | | <form role="form" name="hostingFieldModifyForm"> |
| | | <div class="form-group"> |
| | | <label for="hostingFieldModifyForm1"> |
| | | <span translate="hostingField.name">호스팅명</span> |
| | | <code class="highlighter-rouge">*</code> |
| | | </label> |
| | | <input id="hostingFieldModifyForm1" |
| | | 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="100" |
| | | maxlength="100" |
| | | required> |
| | | <!--<small translate="notice.enterSpecialCharacters">제목에는 특수 문자를 입력할 수 없습니다.</small>--> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label for="hostingFieldModifyForm10"> |
| | | <span translate="hostingField.code">코드</span> |
| | | <code class="highlighter-rouge">*</code> |
| | | </label> |
| | | <input id="hostingFieldModifyForm10" |
| | | name="code" |
| | | type="text" |
| | | class="form-control" |
| | | disabled |
| | | kr-input |
| | | input-regex="[^a-zA-Z0-9 가-힣ㄱ-ㅎㅏ-ㅣ\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]" |
| | | autocomplete="off" |
| | | ng-model="vm.form.code" |
| | | ng-maxlength="100" |
| | | maxlength="100" |
| | | required> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="hostingFieldModifyForm9" class="issue-label"> |
| | | <span translate="hostingField.manager">담당자</span> |
| | | </label> |
| | | <input id="hostingFieldModifyForm9" |
| | | name="manager" |
| | | 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.manager" |
| | | ng-maxlength="100" |
| | | maxlength="100" |
| | | > |
| | | <!--<small translate="notice.enterSpecialCharacters">제목에는 특수 문자를 입력할 수 없습니다.</small>--> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="hostingFieldModifyForm7" class="issue-label"> |
| | | <span translate="hostingField.tel">전화번호</span> |
| | | </label> |
| | | <input id="hostingFieldModifyForm7" |
| | | name="tel" |
| | | type="text" |
| | | class="form-control" |
| | | kr-input |
| | | input-regex="[^0-9]" |
| | | autocomplete="off" |
| | | ng-model="vm.form.tel" |
| | | maxlength="20" |
| | | > |
| | | <!--<small translate="notice.enterSpecialCharacters">제목에는 특수 문자를 입력할 수 없습니다.</small>--> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="hostingFieldModifyForm6" class="issue-label"> |
| | | <span translate="hostingField.email">이메일</span> |
| | | </label> |
| | | <input id="hostingFieldModifyForm6" |
| | | name="email" |
| | | type="email" |
| | | class="form-control" |
| | | autocomplete="off" |
| | | maxLength="50" |
| | | ng-model="vm.form.email" |
| | | kr-input |
| | | ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/" |
| | | > |
| | | <!--<small translate="notice.enterSpecialCharacters">제목에는 특수 문자를 입력할 수 없습니다.</small>--> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="hostingFieldModifyForm8" class="issue-label"> |
| | | <span translate="hostingField.desc">비고</span> |
| | | </label> |
| | | <input id="hostingFieldModifyForm8" |
| | | name="memo" |
| | | type="text" |
| | | class="form-control" |
| | | kr-input |
| | | autocomplete="off" |
| | | ng-model="vm.form.memo" |
| | | ng-maxlength="200" |
| | | maxlength="200" |
| | | > |
| | | </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(hostingFieldModifyForm.$invalid) || $root.spinner) ? null : fn.formSubmit()" |
| | | ng-disabled="fn.formCheck(hostingFieldModifyForm.$invalid)" |
| | | ng-click="fn.formSubmit()"><span translate="common.save">저장</span> |
| | | </button> |
| | | </div> |
| | | </div> |
New file |
| | |
| | | <div class="formModal"> |
| | | <div class="modal-header faded smaller"> |
| | | <div class="modal-title"> |
| | | <strong>ISP 등록</strong> |
| | | </div> |
| | | <button aria-label="Close" class="close" type="button" ng-click="fn.cancel()"> |
| | | <span aria-hidden="true"> ×</span> |
| | | </button> |
| | | </div> |
| | | |
| | | <div class="modal-body"> |
| | | <form role="form" name="ispFieldAddForm"> |
| | | <div class="form-group"> |
| | | <label for="ispFieldAddForm1"> |
| | | <span translate="ispField.name">ISP명</span> |
| | | <code class="highlighter-rouge">*</code> |
| | | </label> |
| | | <input id="ispFieldAddForm1" |
| | | 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="100" |
| | | maxlength="100" |
| | | required> |
| | | <small translate="ispField.enterSpecialCharacters">ISP 이름에는 특수 문자를 입력 할수 없습니다.</small> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label for="ispFieldAddForm10"> |
| | | <span translate="ispField.code">코드</span> |
| | | <code class="highlighter-rouge">*</code> |
| | | </label> |
| | | <input id="ispFieldAddForm10" |
| | | name="code" |
| | | 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.code" |
| | | ng-maxlength="100" |
| | | maxlength="100" |
| | | required> |
| | | <small translate="hostingField.invalidCodeFormat">코드명에는 특수 문자를 입력 할수 없습니다.</small> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="ispFieldAddForm9" class="issue-label"> |
| | | <span translate="ispField.manager">담당자</span> |
| | | </label> |
| | | <input id="ispFieldAddForm9" |
| | | name="manager" |
| | | 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.manager" |
| | | ng-maxlength="100" |
| | | maxlength="100" |
| | | > |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="ispFieldAddForm7" class="issue-label"> |
| | | <span translate="ispField.tel">전화번호</span> |
| | | </label> |
| | | <input id="ispFieldAddForm7" |
| | | name="tel" |
| | | type="text" |
| | | class="form-control" |
| | | kr-input |
| | | ng-pattern="/^\d{2,3}-\d{3,4}-\d{4}$/" |
| | | autocomplete="off" |
| | | ng-model="vm.form.tel" |
| | | maxlength="20" |
| | | > |
| | | <div ng-show="ispFieldAddForm.tel.$error.pattern" class="help-block form-text text-danger" |
| | | translate="companyField.invalidTelFormat">전화번호 형식이 맞지 않습니다. xxx-xxx-xxxx 형식으로 입력하세요. |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="ispFieldAddForm6" class="issue-label"> |
| | | <span translate="ispField.email">이메일</span> |
| | | </label> |
| | | <input id="ispFieldAddForm6" |
| | | name="email" |
| | | type="email" |
| | | class="form-control" |
| | | autocomplete="off" |
| | | maxLength="50" |
| | | ng-model="vm.form.email" |
| | | kr-input |
| | | ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/" |
| | | > |
| | | <div ng-show="ispFieldAddForm.email.$error.pattern" class="help-block form-text text-danger" |
| | | translate="users.invalidEmailFormat">이메일 형식이 맞지 않습니다. |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="ispFieldAddForm8" class="issue-label"> |
| | | <span translate="ispField.desc">비고</span> |
| | | </label> |
| | | <input id="ispFieldAddForm8" |
| | | name="memo" |
| | | type="text" |
| | | class="form-control" |
| | | kr-input |
| | | autocomplete="off" |
| | | ng-model="vm.form.memo" |
| | | ng-maxlength="200" |
| | | maxlength="200" |
| | | > |
| | | </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(ispFieldAddForm.$invalid) || $root.spinner) ? null : fn.formSubmit()" |
| | | ng-disabled="fn.formCheck(ispFieldAddForm.$invalid)" |
| | | ng-click="fn.formSubmit()"><span translate="common.save">저장</span> |
| | | </button> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="searchdiv"> |
| | | <form name="customFieldListForm" role="form" ng-enter="fn.getPageList(0)"> |
| | | <form name="ispFieldListForm" role="form" ng-enter="fn.getPageList(0)"> |
| | | <div class="row"> |
| | | <div class="col-lg-3"> |
| | | <div class="form-group"> |
| | | <label for="customFieldListForm1"><span translate="ispField.name">사용자 정의 필드 명</span></label> |
| | | <label for="ispFieldListForm1"><span translate="ispField.name">사용자 정의 필드 명</span></label> |
| | | <input type="text" |
| | | name="name" |
| | | id="customFieldListForm1" |
| | | id="ispFieldListForm1" |
| | | autocomplete="off" |
| | | maxlength="15" |
| | | kr-input |
| | | owl-auto-focus |
| | | class="form-control" |
| | | ng-model="vm.search.name" placeholder="{{'customField.pleaseEnterUserDefinedFieldName' | translate}}"> |
| | | ng-model="vm.search.name" placeholder="{{'ispField.pleaseEnterIspFieldName' | translate}}"> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | </div> |
| | | <div class="col-5 text-right" ng-if="$root.checkMngPermission('USER_PERMISSION_MNG_CUSTOME_FIELD')"> |
| | | <form class="form-inline justify-content-sm-end pull-right" method="post" |
| | | action="/customField/downloadExcel" |
| | | name="customFieldListForm"> |
| | | action="/ispField/downloadExcel" |
| | | name="ispFieldListForm"> |
| | | <input type="hidden" name="conditions"> |
| | | <div class="btn-group"> |
| | | <button aria-expanded="false" aria-haspopup="true" |
| | |
| | | </button> |
| | | <div aria-labelledby="dropdownMenuButton2" class="dropdown-menu left-menu" |
| | | x-placement="bottom-start"> |
| | | <a class="dropdown-item cursor" form-submit="customFieldListForm" make-search-conditions="fn.makeSearchConditions()"><span translate="common.downloadExcel">엑셀 다운로드</span></a> |
| | | <a class="dropdown-item cursor" form-submit="ispFieldListForm" make-search-conditions="fn.makeSearchConditions()"><span translate="common.downloadExcel">엑셀 다운로드</span></a> |
| | | <a class="dropdown-item cursor" ng-click="fn.removes()"> <span translate="common.delete">삭제</span></a> |
| | | </div> |
| | | </div> |
New file |
| | |
| | | <div class="formModal"> |
| | | <div class="modal-header faded smaller"> |
| | | <div class="modal-title"> |
| | | <strong>ISP 수정</strong> |
| | | </div> |
| | | <button aria-label="Close" class="close" type="button" ng-click="fn.cancel()"> |
| | | <span aria-hidden="true"> ×</span> |
| | | </button> |
| | | </div> |
| | | |
| | | <div class="modal-body"> |
| | | <form role="form" name="hostingFieldModifyForm"> |
| | | <div class="form-group"> |
| | | <label for="hostingFieldModifyForm1"> |
| | | <span translate="hostingField.name">ISP명</span> |
| | | <code class="highlighter-rouge">*</code> |
| | | </label> |
| | | <input id="hostingFieldModifyForm1" |
| | | 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="100" |
| | | maxlength="100" |
| | | required> |
| | | <!--<small translate="notice.enterSpecialCharacters">제목에는 특수 문자를 입력할 수 없습니다.</small>--> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label for="hostingFieldModifyForm10"> |
| | | <span translate="ispField.code">코드</span> |
| | | <code class="highlighter-rouge">*</code> |
| | | </label> |
| | | <input id="hostingFieldModifyForm10" |
| | | name="code" |
| | | type="text" |
| | | class="form-control" |
| | | disabled |
| | | kr-input |
| | | input-regex="[^a-zA-Z0-9 가-힣ㄱ-ㅎㅏ-ㅣ\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]" |
| | | autocomplete="off" |
| | | ng-model="vm.form.code" |
| | | ng-maxlength="100" |
| | | maxlength="100" |
| | | required> |
| | | <small translate="hostingField.invalidCodeFormat">코드명에는 특수 문자를 입력 할수 없습니다.</small> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="hostingFieldModifyForm9" class="issue-label"> |
| | | <span translate="hostingField.manager">담당자</span> |
| | | </label> |
| | | <input id="hostingFieldModifyForm9" |
| | | name="manager" |
| | | 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.manager" |
| | | ng-maxlength="100" |
| | | maxlength="100" |
| | | > |
| | | <!--<small translate="notice.enterSpecialCharacters">제목에는 특수 문자를 입력할 수 없습니다.</small>--> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="hostingFieldModifyForm7" class="issue-label"> |
| | | <span translate="hostingField.tel">전화번호</span> |
| | | </label> |
| | | <input id="hostingFieldModifyForm7" |
| | | name="tel" |
| | | type="text" |
| | | class="form-control" |
| | | kr-input |
| | | input-regex="[^0-9]" |
| | | autocomplete="off" |
| | | ng-model="vm.form.tel" |
| | | maxlength="20" |
| | | > |
| | | <!--<small translate="notice.enterSpecialCharacters">제목에는 특수 문자를 입력할 수 없습니다.</small>--> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="hostingFieldModifyForm6" class="issue-label"> |
| | | <span translate="hostingField.email">이메일</span> |
| | | </label> |
| | | <input id="hostingFieldModifyForm6" |
| | | name="email" |
| | | type="email" |
| | | class="form-control" |
| | | autocomplete="off" |
| | | maxLength="50" |
| | | ng-model="vm.form.email" |
| | | kr-input |
| | | ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/" |
| | | > |
| | | <!--<small translate="notice.enterSpecialCharacters">제목에는 특수 문자를 입력할 수 없습니다.</small>--> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="form-group"> |
| | | <label for="hostingFieldModifyForm8" class="issue-label"> |
| | | <span translate="hostingField.desc">비고</span> |
| | | </label> |
| | | <input id="hostingFieldModifyForm8" |
| | | name="memo" |
| | | type="text" |
| | | class="form-control" |
| | | kr-input |
| | | autocomplete="off" |
| | | ng-model="vm.form.memo" |
| | | ng-maxlength="200" |
| | | maxlength="200" |
| | | > |
| | | </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(hostingFieldModifyForm.$invalid) || $root.spinner) ? null : fn.formSubmit()" |
| | | ng-disabled="fn.formCheck(hostingFieldModifyForm.$invalid)" |
| | | ng-click="fn.formSubmit()"><span translate="common.save">저장</span> |
| | | </button> |
| | | </div> |
| | | </div> |