From b401c04a16e870af6789a7cc89e530873653037c Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 금, 05 11월 2021 13:03:39 +0900 Subject: [PATCH] "부서 관리" 프론트 --- src/main/webapp/scripts/app/manageUser/manageUser.controller.js | 2 src/main/webapp/views/workspace/workspaceUserLevelConfig.html | 2 src/main/webapp/scripts/app/workspace/departmentModify.controller.js | 97 +++++++++++++++++++ src/main/webapp/views/workspace/workspaceDepartmentModify.html | 58 +++++++++++ src/main/webapp/scripts/app/workspace/levelModify.controller.js | 4 src/main/webapp/views/workspace/workspaceLevelModify.html | 4 src/main/webapp/i18n/ko/global.json | 3 src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js | 9 + src/main/webapp/scripts/app/workspace/workspaceDepartmentConfig.controller.js | 54 +++++++--- src/main/webapp/scripts/components/userWorkspace/userWorkspace.service.js | 21 +++ src/main/webapp/views/workspace/workspaceDepartmentConfig.html | 29 ++--- 11 files changed, 241 insertions(+), 42 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 732c3b0..527d5ed 100644 --- a/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js +++ b/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js @@ -328,6 +328,15 @@ makeTag += "<label class='switch'><input type='checkbox' ng-model='data.permGuide' ng-click='event.modifyLevelPermission(data)'><span class='slider round'></span></label>"; break; + case "DEPARTMENT_MODIFY": + if ($rootScope.checkMngPermission('USER_PERMISSION_MNG_WORKSPACE')) { + makeTag += "<span class='titlename cursor table-word-break-all' ng-click='event.modifyDepartment(data.id)'>" + scope.data.departmentName + "</span>"; + } + else { + makeTag += "<span class='titlename cursor table-word-break-all'>" + scope.data.departmentName + "</span>"; + } + break; + case "DEPARTMENT_OPTION" : makeTag +="<select class='form-control input-sm' ng-model='data.departmentId' ng-change=''><option ng-repeat='department in data.departments' ng-value='department.fieldKey'>{{::department.fieldValue}}</option></select>"; break; diff --git a/src/main/webapp/i18n/ko/global.json b/src/main/webapp/i18n/ko/global.json index 2bdc5d8..1091b13 100644 --- a/src/main/webapp/i18n/ko/global.json +++ b/src/main/webapp/i18n/ko/global.json @@ -66,6 +66,7 @@ "addLevel" : "�벑湲� 異붽�", "levelName" : "�벑湲됰챸", "failedLevelRegistration" : "�궗�슜�옄 �벑湲� �벑濡� �떎�뙣", + "failedDepartmentRegistration" : "遺��꽌 �벑濡� �떎�뙣", "read" : "�씫湲�", "write" : "�벐湲�", "departmentManagement" : "遺��꽌 愿�由�", @@ -139,6 +140,8 @@ "failedToRegularPaymentChange": "�젙湲� 寃곗젣 蹂�寃� �떎�뙣", "failedToParticipationStatusChange": "李몄뿬 �긽�깭 蹂�寃� �떎�뙣", "failedToSelectWorkspaceFullUserList": "�뾽臾� 怨듦컙 �쟾泥� �궗�슜�옄 紐⑸줉 議고쉶 �떎�뙣", + "failedToSelectWorkspaceFullUserLevelList": "�궗�슜�옄 �벑湲� 紐⑸줉 議고쉶 �떎�뙣", + "failedToSelectWorkspaceFullDepartmentList": "遺��꽌 紐⑸줉 議고쉶 �떎�뙣", "failedToModifyUserLevel": "�궗�슜�옄 �벑湲� �긽�꽭 �젙蹂� 議고쉶 �떎�뙣" }, "issue": { diff --git a/src/main/webapp/scripts/app/manageUser/manageUser.controller.js b/src/main/webapp/scripts/app/manageUser/manageUser.controller.js index 640d693..2c18495 100644 --- a/src/main/webapp/scripts/app/manageUser/manageUser.controller.js +++ b/src/main/webapp/scripts/app/manageUser/manageUser.controller.js @@ -103,7 +103,7 @@ .setHWidth("width-40-p") .setDAlign("text-center") .setDName("account")); - $scope.vm.tableConfigs1.push($tableProvider.config() + $scope.vm.tableConfigs.push($tableProvider.config() .setHName("manageUser.manageWorkspacePerm") .setHWidth("width-120-p") .setDType("renderer") diff --git a/src/main/webapp/scripts/app/workspace/departmentModify.controller.js b/src/main/webapp/scripts/app/workspace/departmentModify.controller.js new file mode 100644 index 0000000..405e87e --- /dev/null +++ b/src/main/webapp/scripts/app/workspace/departmentModify.controller.js @@ -0,0 +1,97 @@ +/** + * Created by wisestone on 2018-05-08. + */ +'use strict'; + +define([ + 'app', + 'angular' + ], + function (app, angular) { + app.controller('departmentModifyController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'UserWorkspace', 'parameter', 'SweetAlert', '$filter', + function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, UserWorkspace, parameter, SweetAlert, $filter) { + + $scope.fn = { + getDepartmentList : getDepartmentList, // 遺��꽌 愿�由� 由ъ뒪�듃 + cancel : cancel, // �뙘�뾽 李� �떕湲� + formSubmit : formSubmit, // �뤌 �쟾�넚 + formCheck : formCheck, // �뤌 泥댄겕 + }; + + $scope.vm = { + id : parameter.id, + form : { + departmentName : "", + departmentEx : "" + } + }; + + // 遺��꽌 愿�由� 紐⑸줉 議고쉶 + function getDepartmentList() { + + var conditions = { + id : $scope.vm.id + }; + + //�뀒�씠釉� 由ъ뒪�듃 �뜲�씠�꽣 而⑦듃濡ㅻ윭 �슂泥� + UserWorkspace.departmentFind($resourceProvider.getContent(conditions, + $resourceProvider.getPageContent(0, 10))).then(function (result) { + + if (result.data.message.status === "success") { + $scope.vm.form.departmentName = result.data.data[0].departmentName; //departmentName 媛��졇�삤湲� + $scope.vm.form.departmentDescription = result.data.data[0].departmentDescription; //departmentEx 媛��졇�삤湲� + + } + else { + SweetAlert.error($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullDepartmentList"), result.data.message.message); // "遺��꽌 愿�由� 紐⑸줉 議고쉶 �떎�뙣" + } + }); + } + + function formCheck(formInvalid) { + if (formInvalid) { + return true; + } + + return false; + } + + // �뤌 �쟾�넚 + function formSubmit(condition) { + $rootScope.spinner = true; + + var content = { + id : parameter.id, + title : $rootScope.preventXss($scope.vm.form.departmentName), + description : $rootScope.preventXss($scope.vm.form.departmentDescription) + }; + + UserWorkspace.modifyDepartment($resourceProvider.getContent(condition, + content, + $resourceProvider.getPageContent(0, 0))).then(function (result) { + + if (result.data.message.status === "success") { + $scope.fn.cancel(); + // 紐⑸줉 �솕硫� 媛깆떊 + $rootScope.$broadcast("getDepartmentList", {}); + } + else { + SweetAlert.error($filter("translate")("managementWorkspace.failedDepartmentRegistration"), result.data.message.message); + } + + $rootScope.spinner = false; + }); + + } + + // �뙘�뾽 李� �떕湲� + function cancel() { + $rootScope.$broadcast("closeLayer"); // �뙘�뾽�씠 �뿴由ш퀬 �굹�꽌 js-multi, js-single �벑�뿉�꽌 body �씠踰ㅽ듃媛� �궇�븘媛��뒗 �쁽�긽 �닔�젙 + $uibModalInstance.dismiss('cancel'); + $(document).unbind("keydown"); // �떒異뺥궎 �씠踰ㅽ듃 �젣嫄� + } + + $scope.fn.getDepartmentList(); + + }]); + }); diff --git a/src/main/webapp/scripts/app/workspace/levelModify.controller.js b/src/main/webapp/scripts/app/workspace/levelModify.controller.js index 767b821..94815ed 100644 --- a/src/main/webapp/scripts/app/workspace/levelModify.controller.js +++ b/src/main/webapp/scripts/app/workspace/levelModify.controller.js @@ -16,8 +16,6 @@ cancel : cancel, // �뙘�뾽 李� �떕湲� formSubmit : formSubmit, // �뤌 �쟾�넚 formCheck : formCheck, // �뤌 泥댄겕 - //modifyUserPermission : modifyUserPermission, // 沅뚰븳 蹂�寃� - //detail : detail // �긽�꽭 �젙蹂� }; $scope.vm = { @@ -51,7 +49,7 @@ } else { - SweetAlert.error($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullUserList"), result.data.message.message); // "�궗�슜�옄 �벑湲� 紐⑸줉 議고쉶 �떎�뙣" + SweetAlert.error($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullUserLevelList"), result.data.message.message); // "�궗�슜�옄 �벑湲� 紐⑸줉 議고쉶 �떎�뙣" } }); } diff --git a/src/main/webapp/scripts/app/workspace/workspaceDepartmentConfig.controller.js b/src/main/webapp/scripts/app/workspace/workspaceDepartmentConfig.controller.js index 9e98603..b56f44d 100644 --- a/src/main/webapp/scripts/app/workspace/workspaceDepartmentConfig.controller.js +++ b/src/main/webapp/scripts/app/workspace/workspaceDepartmentConfig.controller.js @@ -35,8 +35,8 @@ }; // �뀒�씠釉� �씠踰ㅽ듃 - $scope.vm.tableEvent = { - // modifyUserWorkspace : modifyUserWorkspace // �뾽臾� 怨듦컙 李몄뿬�븯�뒗 �궗�슜�옄�쓽 李몄뿬 �긽�깭 蹂�寃� + $scope.vm.tableEvent2 = { + modifyDepartment : modifyDepartment //遺��꽌紐� 蹂�寃� }; // 遺��꽌 愿�由� 由ъ뒪�듃 遺덈윭�삤湲� @@ -61,17 +61,19 @@ .setHName("manageDepartment.departmentName") .setHWidth("width-120-p") .setDAlign("text-center") - .setDName("levelName")); + .setDName("departmentName") + .setDType("renderer") + .setDRenderer("DEPARTMENT_MODIFY")); $scope.vm.tableConfigs2.push($tableProvider.config() - .setHName("manageDepartment.departmentEx") + .setHName("manageDepartment.departmentDescription") .setHWidth("width-120-p") .setDAlign("text-center") - .setDName("manageProject")); + .setDName("departmentDescription")); $scope.vm.tableConfigs2.push($tableProvider.config() .setHName("manageDepartment.departmentCount") .setHWidth("width-120-p") .setDAlign("text-center") - .setDName("IssueSystem")); + .setDName("departmentCount")); } // 遺��꽌 愿�由� 紐⑸줉 議고쉶 @@ -95,17 +97,17 @@ }; //�뀒�씠釉� 由ъ뒪�듃 �뜲�씠�꽣 而⑦듃濡ㅻ윭 �슂泥� - // UserWorkspace.departmentFind($resourceProvider.getContent(conditions, - // $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) { - // - // if (result.data.message.status === "success") { - // $scope.vm.page.selectedPage = currentPage + 1; - // $scope.vm.responseData = result.data; - // } - // else { - // SweetAlert.error($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullUserList"), result.data.message.message); // "�뾽臾� 怨듦컙 �쟾泥� �궗�슜�옄 紐⑸줉 議고쉶 �떎�뙣" - // } - // }); + UserWorkspace.departmentFind($resourceProvider.getContent(conditions, + $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) { + + if (result.data.message.status === "success") { + $scope.vm.page.selectedPage = currentPage + 1; + $scope.vm.responseData = result.data; + } + else { + SweetAlert.error($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullUserList"), result.data.message.message); // "�뾽臾� 怨듦컙 �쟾泥� �궗�슜�옄 紐⑸줉 議고쉶 �떎�뙣" + } + }); } // 遺��꽌 異붽� function departmentAdd() { @@ -125,6 +127,24 @@ } }); } + + // 遺��꽌紐� �닔�젙 + function modifyDepartment(id) { + $uibModal.open({ + templateUrl : 'views/workspace/workspaceDepartmentModify.html', + size : "md", + controller : 'departmentModifyController', + backdrop : 'static', + resolve : { + parameter : function () { + return { + id : id + }; + } + } + }); + } + $scope.fn.makeTableConfigs(); $scope.fn.getDepartmentList(); diff --git a/src/main/webapp/scripts/components/userWorkspace/userWorkspace.service.js b/src/main/webapp/scripts/components/userWorkspace/userWorkspace.service.js index ad1614b..51b44f7 100644 --- a/src/main/webapp/scripts/components/userWorkspace/userWorkspace.service.js +++ b/src/main/webapp/scripts/components/userWorkspace/userWorkspace.service.js @@ -6,6 +6,7 @@ define(['app'], function (app) { app.factory("UserWorkspace", ['$http', '$log', function ($http, $log) { return { + //�궗�슜�옄 �벑湲� 愿�由� levelFind : function (conditions) { return $http.post("userLevel/find", conditions).then(function (response) { $log.debug("�궗�슜�옄 �벑湲� 紐⑸줉 : ", response); @@ -30,18 +31,34 @@ return response; }); }, + + //遺��꽌 愿�由� departmentFind : function (conditions) { - return $http.post("userWorkspace/departmentFind", conditions).then(function (response) { + return $http.post("departmentManage/find", conditions).then(function (response) { $log.debug("遺��꽌 紐⑸줉 : ", response); return response; }); }, departmentAdd : function (conditions) { - return $http.post("userWorkspace/departmentAdd", conditions).then(function (response) { + return $http.post("departmentManage/add", conditions).then(function (response) { $log.debug("遺��꽌 �깮�꽦 寃곌낵 : ", response); return response; }); }, + departmentModify : function (conditions) { + return $http.post("departmentManage/modify", conditions).then(function (response) { + $log.debug("遺��꽌 �닔�젙 寃곌낵 : ", response); + return response; + }); + }, + departmentRemove : function (conditions) { + return $http.post("departmentManage/remove", conditions).then(function (response) { + $log.debug("遺��꽌 �궘�젣 寃곌낵 : ", response); + return response; + }); + }, + + //�궗�슜�옄 愿�由� find : function (conditions) { return $http.post("userWorkspace/find", conditions).then(function (response) { $log.debug("�썙�겕�뒪�럹�씠�뒪�뿉 李몄뿬�븯�뒗 �쟾泥� �궗�슜�옄 紐⑸줉 : ", response); diff --git a/src/main/webapp/views/workspace/workspaceDepartmentConfig.html b/src/main/webapp/views/workspace/workspaceDepartmentConfig.html index 15f5661..15dd3d1 100644 --- a/src/main/webapp/views/workspace/workspaceDepartmentConfig.html +++ b/src/main/webapp/views/workspace/workspaceDepartmentConfig.html @@ -114,28 +114,25 @@ </label> </div> </div> - <!--<div class="col-sm-6 text-right"> - <div class="btn-group"> - <button aria-expanded="false" - aria-haspopup="true" - class="btn btn-secondary dropdown-toggle" - data-toggle="dropdown" - type="button">異붽�湲곕뒫 - </button> - <div aria-labelledby="dropdownMenuButton2" - class="dropdown-menu" - x-placement="bottom-start" - style="position: absolute; transform: translate3d(0px, 30px, 0px); top: 0px; left: 0px; will-change: transform;"> - <a class="dropdown-item" href="#"> �궘�젣</a> + <div class="col-sm-6 text-right" ng-if="$root.checkMngPermission('USER_PERMISSION_MNG_WORKSPACE')"> + <form class="form-inline justify-content-sm-end pull-right ng-pristine ng-valid" method="post" action="/departmentManage/downloadExcel" name="departmentManageListForm"> + <input type="hidden" name="conditions" autocomplete="off"> + <div class="btn-group"> + <button aria-expanded="false" aria-haspopup="true" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" type="button"><span translate="common.addFunction" class="ng-scope">異붽�湲곕뒫</span> + </button> + <div aria-labelledby="dropdownMenuButton2" class="dropdown-menu left-menu" x-placement="bottom-start"> + <a class="dropdown-item cursor ng-isolate-scope" form-submit="departmentManageListForm" make-search-conditions="fn.makeSearchConditions()"><span translate="common.downloadExcel" class="ng-scope">�뿊�� �떎�슫濡쒕뱶</span></a> + <a class="dropdown-item cursor" ng-click="fn.removes()"> <span translate="common.delete" class="ng-scope">�궘�젣</span></a> + </div> </div> - </div> - </div>--> + </form> + </div> </div> </div> <div class="table-responsive"> <js-table data="vm.responseData.data" table-configs="vm.tableConfigs2" - event="vm.tableEvent"></js-table> + event="vm.tableEvent2"></js-table> </div> <div class="controls-below-table text-center"> diff --git a/src/main/webapp/views/workspace/workspaceDepartmentModify.html b/src/main/webapp/views/workspace/workspaceDepartmentModify.html new file mode 100644 index 0000000..94b1e47 --- /dev/null +++ b/src/main/webapp/views/workspace/workspaceDepartmentModify.html @@ -0,0 +1,58 @@ +<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="departmentModifyForm"> + <div class="form-group"> + <label for="departmentModifyForm1"> + <span translate="common.departmentName">遺��꽌紐�</span> + <code class="highlighter-rouge">*</code> + </label> + <input id="departmentModifyForm1" + 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.departmentName" + ng-maxlength="200" + maxlength="200" + required> + <!--<small translate="notice.enterSpecialCharacters">�젣紐⑹뿉�뒗 �듅�닔 臾몄옄瑜� �엯�젰�븷 �닔 �뾾�뒿�땲�떎.</small>--> + </div> + + <div class="form-group"> + <label> + <span translate="manageDepartment.departmentEx">遺��꽌 �꽕紐�</span> + <code class="highlighter-rouge">*</code> + </label> + <summernote + class="summernote" + lang="ko-KR" + required + config="vm.options" + ng-model="vm.form.description" + target=".note-editable"></summernote> + </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(departmentModifyForm.$invalid) || $root.spinner) ? null : fn.formSubmit()" + ng-disabled="fn.formCheck(departmentModifyForm.$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/workspace/workspaceLevelModify.html b/src/main/webapp/views/workspace/workspaceLevelModify.html index 5dbb0f4..87e3f3c 100644 --- a/src/main/webapp/views/workspace/workspaceLevelModify.html +++ b/src/main/webapp/views/workspace/workspaceLevelModify.html @@ -13,11 +13,11 @@ <table class="table table-lightborder"> <tr> <td> - <label for="levelAddForm1"><span translate="managementWorkspace.levelName">�벑湲됰챸</span><code class="highlighter-rouge">*</code></label> + <label for="levelModifyForm1"><span translate="managementWorkspace.levelName">�벑湲됰챸</span><code class="highlighter-rouge">*</code></label> </td> <td> <div class="input-group mb-0 mr-sm-0 mb-sm-0"> - <input id="levelAddForm1" + <input id="levelModifyForm1" name="levelName" type="text" class="form-control" diff --git a/src/main/webapp/views/workspace/workspaceUserLevelConfig.html b/src/main/webapp/views/workspace/workspaceUserLevelConfig.html index 8df62d9..6454cb8 100644 --- a/src/main/webapp/views/workspace/workspaceUserLevelConfig.html +++ b/src/main/webapp/views/workspace/workspaceUserLevelConfig.html @@ -44,7 +44,7 @@ </label> </div> </div> - <div class="col-sm-6 text-right" ng-if="$root.checkMngPermission('USER_PERMISSION_MNG_API')"> + <div class="col-sm-6 text-right" ng-if="$root.checkMngPermission('USER_PERMISSION_MNG_WORKSPACE')"> <form class="form-inline justify-content-sm-end pull-right ng-pristine ng-valid" method="post" action="/userLevel/downloadExcel" name="userLevelListForm"> <input type="hidden" name="conditions" autocomplete="off"> <div class="btn-group"> -- Gitblit v1.8.0