From 27659024a53ebf1c8b99f2848d6f58ae5bd17b3e Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 화, 09 11월 2021 11:50:05 +0900 Subject: [PATCH] ISP, 호스팅 관리 프론트 --- src/main/webapp/views/hostingField/hostingFieldAdd.html | 137 +++++ src/main/webapp/scripts/app/hostingField/hostingField.js | 1 src/main/webapp/scripts/components/ispField/ispField.service.js | 26 + src/main/webapp/views/ispField/ispFieldList.html | 14 src/main/webapp/views/hostingField/hostingFieldList.html | 14 src/main/webapp/scripts/components/HostingField/hostingField.service.js | 28 + src/main/webapp/views/ispField/ispFieldAdd.html | 137 +++++ src/main/webapp/scripts/app/ispField/ispFieldModify.controller.js | 113 ++++ src/main/webapp/views/ispField/ispFieldModify.html | 135 +++++ src/main/webapp/scripts/app/ispField/ispField.js | 1 src/main/webapp/scripts/app/hostingField/hostingFieldModify.controller.js | 114 ++++ src/main/webapp/scripts/app/hostingField/hostingFieldList.controller.js | 192 +++++++ src/main/webapp/i18n/ko/global.json | 29 + src/main/webapp/scripts/app/ispField/ispFieldAdd.controller.js | 79 +++ src/main/webapp/views/hostingField/hostingFieldModify.html | 134 +++++ src/main/webapp/scripts/app/ispField/ispFieldList.controller.js | 200 +++++++ src/main/webapp/scripts/app/hostingField/hostingFieldAdd.controller.js | 79 +++ src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js | 18 src/main/webapp/views/companyField/companyFieldAdd.html | 12 src/main/webapp/scripts/main.js | 4 20 files changed, 1,413 insertions(+), 54 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 a18aa93..6385a66 100644 --- a/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js +++ b/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js @@ -375,6 +375,24 @@ } 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 = []; diff --git a/src/main/webapp/i18n/ko/global.json b/src/main/webapp/i18n/ko/global.json index 6923aa0..700a52f 100644 --- a/src/main/webapp/i18n/ko/global.json +++ b/src/main/webapp/i18n/ko/global.json @@ -789,13 +789,14 @@ }, "companyField" : { "add" : "�뾽泥� �깮�꽦", - "name" : "�뾽泥대챸", + "name" : "�뾽泥� �씠由�", "company" : "�뾽泥� 遺꾨쪟", "profitYN" : "�쁺由�/鍮꾩쁺由�", "industry" : "�궛�뾽 遺꾨쪟", "domain" : "�룄硫붿씤", "manager" : "�떞�떦�옄", "tel" : "�쟾�솕踰덊샇", + "code" : "肄붾뱶", "email" : "�씠硫붿씪", "desc" : "鍮꾧퀬", "failedToSelectCompanyFieldFullList" : "�뾽泥� 愿�由� 紐⑸줉 議고쉶 �떎�뙣", @@ -803,22 +804,42 @@ "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": "肄붾뱶紐낆뿉�뒗 �듅�닔 臾몄옄瑜� �엯�젰 �븷 �닔 �뾾�뒿�땲�떎." } } \ No newline at end of file diff --git a/src/main/webapp/scripts/app/hostingField/hostingField.js b/src/main/webapp/scripts/app/hostingField/hostingField.js index 1a882b3..c6145d2 100644 --- a/src/main/webapp/scripts/app/hostingField/hostingField.js +++ b/src/main/webapp/scripts/app/hostingField/hostingField.js @@ -33,6 +33,7 @@ loadController : ["$q", function ($q) { var deferred = $q.defer(); require(["hostingFieldListController", 'jsTable', 'tableColumnGenerator', 'hostingFieldService', 'modalFormAutoScroll' + , 'hostingFieldAddController', 'hostingFieldModifyController' , 'formSubmit', 'jsShortCut', 'inputRegex'], function () { deferred.resolve(); }); diff --git a/src/main/webapp/scripts/app/hostingField/hostingFieldAdd.controller.js b/src/main/webapp/scripts/app/hostingField/hostingFieldAdd.controller.js new file mode 100644 index 0000000..20433a1 --- /dev/null +++ b/src/main/webapp/scripts/app/hostingField/hostingFieldAdd.controller.js @@ -0,0 +1,79 @@ +/** + * 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"); // �떒異뺥궎 �씠踰ㅽ듃 �젣嫄� + } + + } + + ]); + } +); \ No newline at end of file diff --git a/src/main/webapp/scripts/app/hostingField/hostingFieldList.controller.js b/src/main/webapp/scripts/app/hostingField/hostingFieldList.controller.js index e7c9bec..339d57c 100644 --- a/src/main/webapp/scripts/app/hostingField/hostingFieldList.controller.js +++ b/src/main/webapp/scripts/app/hostingField/hostingFieldList.controller.js @@ -13,13 +13,46 @@ // �븿�닔 $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() { @@ -35,38 +68,171 @@ .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(); } ]); } diff --git a/src/main/webapp/scripts/app/hostingField/hostingFieldModify.controller.js b/src/main/webapp/scripts/app/hostingField/hostingFieldModify.controller.js new file mode 100644 index 0000000..e7c73ef --- /dev/null +++ b/src/main/webapp/scripts/app/hostingField/hostingFieldModify.controller.js @@ -0,0 +1,114 @@ +/** + * 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(); + + }]); + }); diff --git a/src/main/webapp/scripts/app/ispField/ispField.js b/src/main/webapp/scripts/app/ispField/ispField.js index 7a2ce3b..563b10e 100644 --- a/src/main/webapp/scripts/app/ispField/ispField.js +++ b/src/main/webapp/scripts/app/ispField/ispField.js @@ -33,6 +33,7 @@ loadController : ["$q", function ($q) { var deferred = $q.defer(); require(["ispFieldListController", 'jsTable', 'tableColumnGenerator', 'ispFieldService', 'modalFormAutoScroll' + , 'ispFieldAddController', 'ispFieldModifyController' , 'formSubmit', 'jsShortCut', 'inputRegex'], function () { deferred.resolve(); }); diff --git a/src/main/webapp/scripts/app/ispField/ispFieldAdd.controller.js b/src/main/webapp/scripts/app/ispField/ispFieldAdd.controller.js new file mode 100644 index 0000000..2cb2fff --- /dev/null +++ b/src/main/webapp/scripts/app/ispField/ispFieldAdd.controller.js @@ -0,0 +1,79 @@ +/** + * 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"); // �떒異뺥궎 �씠踰ㅽ듃 �젣嫄� + } + + } + + ]); + } +); \ No newline at end of file diff --git a/src/main/webapp/scripts/app/ispField/ispFieldList.controller.js b/src/main/webapp/scripts/app/ispField/ispFieldList.controller.js index ce4ce11..682f68f 100644 --- a/src/main/webapp/scripts/app/ispField/ispFieldList.controller.js +++ b/src/main/webapp/scripts/app/ispField/ispFieldList.controller.js @@ -13,13 +13,46 @@ // �븿�닔 $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() { @@ -35,38 +68,171 @@ .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(); } ]); } diff --git a/src/main/webapp/scripts/app/ispField/ispFieldModify.controller.js b/src/main/webapp/scripts/app/ispField/ispFieldModify.controller.js new file mode 100644 index 0000000..84d41e0 --- /dev/null +++ b/src/main/webapp/scripts/app/ispField/ispFieldModify.controller.js @@ -0,0 +1,113 @@ +/** + * 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(); + + }]); + }); diff --git a/src/main/webapp/scripts/components/HostingField/hostingField.service.js b/src/main/webapp/scripts/components/HostingField/hostingField.service.js index ab89318..f06551f 100644 --- a/src/main/webapp/scripts/components/HostingField/hostingField.service.js +++ b/src/main/webapp/scripts/components/HostingField/hostingField.service.js @@ -9,11 +9,37 @@ 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; + }); } + + } } ]); diff --git a/src/main/webapp/scripts/components/ispField/ispField.service.js b/src/main/webapp/scripts/components/ispField/ispField.service.js index b3a2c09..242b06e 100644 --- a/src/main/webapp/scripts/components/ispField/ispField.service.js +++ b/src/main/webapp/scripts/components/ispField/ispField.service.js @@ -9,10 +9,34 @@ 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; + }); } } } diff --git a/src/main/webapp/scripts/main.js b/src/main/webapp/scripts/main.js index 42c0fa0..2a3fc14 100644 --- a/src/main/webapp/scripts/main.js +++ b/src/main/webapp/scripts/main.js @@ -339,11 +339,15 @@ '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' : { diff --git a/src/main/webapp/views/companyField/companyFieldAdd.html b/src/main/webapp/views/companyField/companyFieldAdd.html index 9578e86..91445c3 100644 --- a/src/main/webapp/views/companyField/companyFieldAdd.html +++ b/src/main/webapp/views/companyField/companyFieldAdd.html @@ -27,7 +27,7 @@ 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"> @@ -132,12 +132,14 @@ 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> @@ -155,7 +157,9 @@ 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> diff --git a/src/main/webapp/views/hostingField/hostingFieldAdd.html b/src/main/webapp/views/hostingField/hostingFieldAdd.html new file mode 100644 index 0000000..6919da2 --- /dev/null +++ b/src/main/webapp/views/hostingField/hostingFieldAdd.html @@ -0,0 +1,137 @@ +<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> \ No newline at end of file diff --git a/src/main/webapp/views/hostingField/hostingFieldList.html b/src/main/webapp/views/hostingField/hostingFieldList.html index 9439daa..8c9ac52 100644 --- a/src/main/webapp/views/hostingField/hostingFieldList.html +++ b/src/main/webapp/views/hostingField/hostingFieldList.html @@ -13,20 +13,20 @@ <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> @@ -66,8 +66,8 @@ </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" @@ -76,7 +76,7 @@ </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> diff --git a/src/main/webapp/views/hostingField/hostingFieldModify.html b/src/main/webapp/views/hostingField/hostingFieldModify.html new file mode 100644 index 0000000..764e8b5 --- /dev/null +++ b/src/main/webapp/views/hostingField/hostingFieldModify.html @@ -0,0 +1,134 @@ +<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> \ No newline at end of file diff --git a/src/main/webapp/views/ispField/ispFieldAdd.html b/src/main/webapp/views/ispField/ispFieldAdd.html new file mode 100644 index 0000000..7a28d5f --- /dev/null +++ b/src/main/webapp/views/ispField/ispFieldAdd.html @@ -0,0 +1,137 @@ +<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> \ No newline at end of file diff --git a/src/main/webapp/views/ispField/ispFieldList.html b/src/main/webapp/views/ispField/ispFieldList.html index 14ab0f9..847e7b5 100644 --- a/src/main/webapp/views/ispField/ispFieldList.html +++ b/src/main/webapp/views/ispField/ispFieldList.html @@ -13,20 +13,20 @@ <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> @@ -66,8 +66,8 @@ </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" @@ -76,7 +76,7 @@ </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> diff --git a/src/main/webapp/views/ispField/ispFieldModify.html b/src/main/webapp/views/ispField/ispFieldModify.html new file mode 100644 index 0000000..94aed34 --- /dev/null +++ b/src/main/webapp/views/ispField/ispFieldModify.html @@ -0,0 +1,135 @@ +<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> \ No newline at end of file -- Gitblit v1.8.0