From 12aa85287c8a8f911de3fd6424b74811d33aff9a Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 수, 10 11월 2021 14:27:23 +0900 Subject: [PATCH] 사용자의 부서 수정 기능 프론트 작업 --- src/main/webapp/scripts/components/utils/autoComplete.controller.js | 45 +++++++ src/main/webapp/scripts/app/workspace/workspaceUserConfig.controller.js | 28 ++++ src/main/webapp/views/workspace/workspaceDepartmentModify.html | 55 +++----- src/main/webapp/views/workspace/departmentModify.html | 56 +++++++++ src/main/webapp/i18n/ko/global.json | 3 src/main/webapp/scripts/app/workspace/workspaceDepartmentModify.controller.js | 112 ++++++++++++++++++ src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js | 12 ++ src/main/webapp/scripts/app/workspace/workspace.js | 2 src/main/webapp/scripts/app/workspace/workspaceDepartmentConfig.controller.js | 6 src/main/webapp/scripts/main.js | 3 src/main/webapp/scripts/components/userWorkspace/userWorkspace.service.js | 12 ++ src/main/webapp/views/workspace/workspaceDepartmentConfig.html | 4 12 files changed, 293 insertions(+), 45 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 6385a66..0c53523 100644 --- a/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js +++ b/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js @@ -132,6 +132,18 @@ makeTag += "</ul>"; break; + case "USE_DEPARTMENT_LIST" : + makeTag += "<ul class='ul-not-comma'>"; + + makeTag += "<div style='cursor: pointer' ng-click='event.modifyUserDepartments(scope.data.id)'>"; + angular.forEach(scope.data.departments, function (department) { //departmentVO濡� �닔�젙 泥댄겕 �븘�슂 + makeTag += "<li>" + department.fieldValue + "</li>"; + }); + makeTag += "</div>"; + + makeTag += "</ul>"; + break; + case "CONFIG" : makeTag += '<a ng-click="event.modify(data.id)"><i class="fa fa-pencil fa-lg" uib-tooltip="�닔�젙"></i></a>'; break; diff --git a/src/main/webapp/i18n/ko/global.json b/src/main/webapp/i18n/ko/global.json index 700a52f..238522f 100644 --- a/src/main/webapp/i18n/ko/global.json +++ b/src/main/webapp/i18n/ko/global.json @@ -147,7 +147,8 @@ "failedToSelectWorkspaceFullUserList": "�뾽臾� 怨듦컙 �쟾泥� �궗�슜�옄 紐⑸줉 議고쉶 �떎�뙣", "failedToSelectWorkspaceFullLevelList": "�궗�슜�옄 �벑湲� 紐⑸줉 議고쉶 �떎�뙣", "failedToSelectWorkspaceFullDepartmentList": "遺��꽌 紐⑸줉 議고쉶 �떎�뙣", - "failedToModifyUserLevel": "�궗�슜�옄 �벑湲� �긽�꽭 �젙蹂� 議고쉶 �떎�뙣" + "failedToModifyUserLevel": "�궗�슜�옄 �벑湲� �긽�꽭 �젙蹂� 議고쉶 �떎�뙣", + "failedToDepartmentsOfUserDetails": "�궗�슜�옄�쓽 遺��꽌 �긽�꽭 �젙蹂� 議고쉶 �떎�뙣" }, "issue": { "issueType": "�씠�뒋 �쑀�삎", diff --git a/src/main/webapp/scripts/app/workspace/workspace.js b/src/main/webapp/scripts/app/workspace/workspace.js index c3049d3..34606d0 100644 --- a/src/main/webapp/scripts/app/workspace/workspace.js +++ b/src/main/webapp/scripts/app/workspace/workspace.js @@ -34,7 +34,7 @@ var deferred = $q.defer(); require(["modalFormAutoScroll", "workspaceController", "workspaceLevelAddController", "workspaceDepartmentAddController", "workspacePaymentExecuteController", "workspaceUserConfigController", "workspacePaymentModifyController", "workspacePaymentAgreeTermController", "paymentService", "userWorkspaceService", "workspaceService", "numberOnly", 'jsTable', 'tableColumnGenerator', 'summerNote', 'summerNote-ko-KR', 'formSubmit', - "crypto", "reservationDisableUserService", "workspacePaymentAddController", "workspaceUserLevelController", "workspaceDepartmentConfigController", "levelModifyController","departmentModifyController"], function () { + "crypto", "reservationDisableUserService", "workspacePaymentAddController", "workspaceUserLevelController", "workspaceDepartmentConfigController", "levelModifyController","departmentModifyController","workspaceDepartmentModifyController"], function () { deferred.resolve(); }); diff --git a/src/main/webapp/scripts/app/workspace/workspaceDepartmentConfig.controller.js b/src/main/webapp/scripts/app/workspace/workspaceDepartmentConfig.controller.js index 669b824..49adc78 100644 --- a/src/main/webapp/scripts/app/workspace/workspaceDepartmentConfig.controller.js +++ b/src/main/webapp/scripts/app/workspace/workspaceDepartmentConfig.controller.js @@ -107,8 +107,10 @@ if (result.data.message.status === "success") { $scope.vm.page.selectedPage = currentPage + 1; + /*if(result.data.data[0].id == 1){ + result.data.data.shift(); + }*/ $scope.vm.responseData = result.data; - } else { SweetAlert.error($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullDepartmentList"), result.data.message.message); // 遺��꽌 紐⑸줉 議고쉶 �떎�뙣 @@ -137,7 +139,7 @@ // 遺��꽌 �닔�젙 function departmentModify(id) { $uibModal.open({ - templateUrl : 'views/workspace/workspaceDepartmentModify.html', + templateUrl : 'views/workspace/departmentModify.html', size : "md", controller : 'departmentModifyController', backdrop : 'static', diff --git a/src/main/webapp/scripts/app/workspace/workspaceDepartmentModify.controller.js b/src/main/webapp/scripts/app/workspace/workspaceDepartmentModify.controller.js new file mode 100644 index 0000000..0185ac6 --- /dev/null +++ b/src/main/webapp/scripts/app/workspace/workspaceDepartmentModify.controller.js @@ -0,0 +1,112 @@ +/** + * Created by wisestone on 2018-05-08. + */ +'use strict'; + +define([ + 'app', + 'angular' + ], + function (app, angular) { + app.controller('workspaceDepartmentModifyController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'UserWorkspace', 'parameter', 'SweetAlert', '$filter', '$injector', '$controller', + function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, UserWorkspace, parameter, SweetAlert, $filter, $injector, $controller) { + + $scope.fn = { + cancel : cancel, // �뙘�뾽 李� �떕湲� + formSubmit : formSubmit, // �뤌 �쟾�넚 + formCheck : formCheck, // �뤌 泥댄겕 + detail : detail, // �긽�꽭 �젙蹂� 議고쉶 + removeDepartments : removeDepartments, // 異붽��븳 遺��꽌 �젣嫄� + }; + + $scope.vm = { + id : parameter.id, + form : { + id : parameter.id, + /*users : [],*/ + departments : [] // 遺��꽌 + }, + departmentName : "", //遺��꽌紐� 寃��깋 + /*autoCompletePage : { + project : { + page : 0, + totalPage : 0 + } + },*/ + }; + angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); + + // �꽑�깮 �븳 遺��꽌 �젣嫄� + function removeDepartments(index) { + $scope.vm.form.departments.splice(index, 1); + } + + function formCheck(formInvalid) { + if (formInvalid) { + return true; + } + + return false; + } + + // �뤌 �쟾�넚 + function formSubmit() { + $rootScope.spinner = true; + + var content = { + id : $scope.vm.form.id, + departmentName : (function () { + var departmentIds = []; + angular.forEach($scope.vm.form.departments, function (department) { + departmentIds.push(department.id); + }); + return departmentIds; + })() + }; + + //user_department INSERT �슂泥� + UserWorkspace.userDepartmentModify($resourceProvider.getContent( + content, + $resourceProvider.getPageContent(0, 0))).then(function (result) { + + if (result.data.message.status === "success") { + $scope.fn.cancel(); + // 紐⑸줉 �솕硫� 媛깆떊 + $rootScope.$broadcast("getUserWorkspaceList", {}); + } + 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"); // �떒異뺥궎 �씠踰ㅽ듃 �젣嫄� + } + + function detail() { + UserWorkspace.userDepartmentDetail($resourceProvider.getContent( + $scope.vm.search, + $resourceProvider.getPageContent(0, 1))).then(function (result) { + + if (result.data.message.status === "success") { + if (angular.isDefined(result.data.data)) { + $scope.vm.form.departments = result.data.data.userDepartmentVos; //泥댄겕 �븘�슂 + } + } + else { + SweetAlert.error($filter("translate")("managementWorkspace.failedToDepartmentsOfUserDetails"), result.data.message.message); //"�궗�슜�옄�쓽 遺��꽌 �긽�꽭 �젙蹂� 議고쉶 �떎�뙣" + } + }); + } + + $scope.fn.detail(); + + }]); + }); diff --git a/src/main/webapp/scripts/app/workspace/workspaceUserConfig.controller.js b/src/main/webapp/scripts/app/workspace/workspaceUserConfig.controller.js index 59353a3..6271c6a 100644 --- a/src/main/webapp/scripts/app/workspace/workspaceUserConfig.controller.js +++ b/src/main/webapp/scripts/app/workspace/workspaceUserConfig.controller.js @@ -9,8 +9,8 @@ ], function (app, angular) { app.controller('workspaceUserConfigController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'SweetAlert', '$uibModal', '$q', '$state', '$tableProvider', 'Payment', 'Workspace', - 'UserWorkspace', '$filter', - function ($scope, $rootScope, $log, $resourceProvider, SweetAlert, $uibModal, $q, $state, $tableProvider, Payment, Workspace, UserWorkspace, $filter) { + 'UserWorkspace', '$filter', '$injector', '$controller', + function ($scope, $rootScope, $log, $resourceProvider, SweetAlert, $uibModal, $q, $state, $tableProvider, Payment, Workspace, UserWorkspace, $filter, $injector, $controller) { /* $scope.fn �긽�냽 以� */ @@ -55,7 +55,10 @@ // �뀒�씠釉� �씠踰ㅽ듃 $scope.vm.tableEvent = { modifyUserWorkspace : modifyUserWorkspace, // �뾽臾� 怨듦컙 李몄뿬�븯�뒗 �궗�슜�옄�쓽 李몄뿬 �긽�깭 蹂�寃� + modifyUserDepartments : modifyUserDepartments //�궗�슜�옄 遺��꽌 蹂�寃� }; + + angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); // �긽�꽭 �젙蹂� $scope.$on("getUserWorkspaceList", function () { @@ -99,8 +102,7 @@ .setHWidth("width-120-p") .setDAlign("text-center") .setDType("renderer") - .setDName("department") - .setDRenderer("DEPARTMENT_OPTION")); + .setDRenderer("USE_DEPARTMENT_LIST")); $scope.vm.tableConfigs.push($tableProvider.config() .setHName("common.level") .setHWidth("width-120-p") @@ -267,6 +269,24 @@ } }); } + + // �궗�슜�옄媛� �냽�빐�엳�뒗 遺��꽌 �닔�젙 �뙘�뾽 + function modifyUserDepartments(id) { + $uibModal.open({ + templateUrl : 'views/workspace/workspaceDepartmentModify.html', + size : "xlg", + controller : 'workspaceDepartmentModifyController', + backdrop : 'static', + windowClass : 'workflow-window', + resolve : { + parameter : function () { + return { + id : id + }; + } + } + }); + } } ]); } diff --git a/src/main/webapp/scripts/components/userWorkspace/userWorkspace.service.js b/src/main/webapp/scripts/components/userWorkspace/userWorkspace.service.js index 4e876c0..d5e28c0 100644 --- a/src/main/webapp/scripts/components/userWorkspace/userWorkspace.service.js +++ b/src/main/webapp/scripts/components/userWorkspace/userWorkspace.service.js @@ -77,6 +77,18 @@ return response; }); }, + userDepartmentModify : function (conditions) { + return $http.post("userWorkspace/modifyDepartment", conditions).then(function (response) { + $log.debug("�궗�슜�옄�쓽 遺��꽌 �닔�젙 寃곌낵 : ", response); + return response; + }); + }, + userDepartmentDetail : function (conditions) { + return $http.post("userWorkspace/detailDepartment", conditions).then(function (response) { + $log.debug("�궗�슜�옄�쓽 遺��꽌 �긽�꽭蹂닿린 寃곌낵 : ", response); + return response; + }); + }, modify : function (conditions) { return $http.post("userWorkspace/modify", conditions).then(function (response) { $log.debug("李몄뿬 �긽�깭 �닔�젙 寃곌낵 : ", response); diff --git a/src/main/webapp/scripts/components/utils/autoComplete.controller.js b/src/main/webapp/scripts/components/utils/autoComplete.controller.js index 4e36089..4bfe49f 100644 --- a/src/main/webapp/scripts/components/utils/autoComplete.controller.js +++ b/src/main/webapp/scripts/components/utils/autoComplete.controller.js @@ -18,6 +18,7 @@ var Project = $injector.get("Project"); var Workflow = $injector.get("Workflow"); var Issue = $injector.get("Issue"); + var UserWorkspace = $injector.get("UserWorkspace"); var $log = $injector.get("$log"); var SweetAlert = $injector.get("SweetAlert"); @@ -26,6 +27,7 @@ $scope.fn.getProjectList = getProjectList; // �봽濡쒖젥�듃 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎. $scope.fn.getIssueList = getIssueList; // �씪媛� 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎. $scope.fn.getWorkflowList = getWorkflowList; // �썙�겕�뵆濡쒖슦 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎. + $scope.fn.getDepartmentList = getDepartmentList; // 遺��꽌 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎. function getUserList(query, excludeList, page, callBack) { var conditions = { @@ -109,6 +111,49 @@ return deferred.promise; } + function getDepartmentList(query, excludeList, page, callBack) { + var conditions = { + departmentName : query, + userId : (function () { + var userId = ""; + + if ($rootScope.isDefined($scope.vm.form)) { + angular.forEach($scope.vm.form.users, function (user) { + userId = user.id; + }); + } + return userId; + })(), + excludeIds : (function () { //�뼱�뼡 �뿭�븷? + var excludeIds = []; + + angular.forEach(excludeList, function (exclude) { + excludeIds.push(exclude.id); + }); + + return excludeIds; + })() + }; + var deferred = $q.defer(); + + UserWorkspace.find($resourceProvider.getContent( // �럹�씠吏� �뾽�뜲�씠�듃媛� �븘�슂�븳 而댄룷�꼳�듃 �씪寃쎌슦, page �뾽�뜲�씠�듃媛� �엳�쓣 寃쎌슦 湲곕낯 10媛쒖뵫 媛��졇�삤怨� �븘�땺寃쎌슦 25媛쒖뵫 媛��졇�삩�떎. + conditions, $resourceProvider.getPageContent($rootScope.isDefined(page) ? page : 0, $rootScope.isDefined(page) ? 10 : 25))).then(function (result) { + if (result.data.message.status === "success") { + + if ($rootScope.isDefined(callBack)) { + callBack(result); + } + + deferred.resolve(result.data.data); + } + else { + SweetAlert.swal($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullDepartmentList"), result.data.message.message, "error"); // "遺��꽌 紐⑸줉 議고쉶 �떎�뙣" + } + }); + + return deferred.promise; + } + function getWorkflowList(query, excludeList, page, callBack) { var conditions = { name : query, diff --git a/src/main/webapp/scripts/main.js b/src/main/webapp/scripts/main.js index 2a3fc14..9c4f188 100644 --- a/src/main/webapp/scripts/main.js +++ b/src/main/webapp/scripts/main.js @@ -227,11 +227,12 @@ 'workspaceUserLevelController' : 'app/workspace/workspaceUserLevelConfig.controller', // �궗�슜�옄 愿�由� 而⑦듃濡ㅻ윭 'workspaceLevelAddController' : 'app/workspace/workspaceLevelAdd.controller', // �궗�슜�옄 �벑湲� 異붽� 而⑦듃濡ㅻ윭 'levelModifyController' : 'app/workspace/levelModify.controller', // �궗�슜�옄 �벑湲� �닔�젙 而⑦듃濡ㅻ윭 - 'departmentModifyController' : 'app/workspace/departmentModify.controller', // �궗�슜�옄 �벑湲� �닔�젙 而⑦듃濡ㅻ윭 + 'departmentModifyController' : 'app/workspace/departmentModify.controller', // 遺��꽌 �닔�젙 而⑦듃濡ㅻ윭 'workspaceDepartmentAddController' : 'app/workspace/workspaceDepartmentAdd.controller', // 遺��꽌 異붽� 而⑦듃濡ㅻ윭 'workspaceDepartmentConfigController' : 'app/workspace/workspaceDepartmentConfig.controller', // �궗�슜�옄 遺��꽌 愿�由� 而⑦듃濡ㅻ윭 'workspaceService' : 'components/workspace/workspace.service', // �뾽臾� 怨듦컙�뿉 愿��젴�맂 �넻�떊�쓣 �떞�떦�븳�떎. 'paymentService' : 'components/payment/payment.service', // 寃곗옱�뿉 愿��젴�맂 �넻�떊�쓣 �떞�떦�븳�떎. + 'workspaceDepartmentModifyController' : 'app/workspace/workspaceDepartmentModify.controller', // �궗�슜�옄 遺��꽌 �닔�젙 而⑦듃濡ㅻ윭 /* �궗�슜�옄 */ 'userRoute' : 'app/user/user', // �궗�슜�옄�뿉 愿��젴�맂 route �젙蹂� diff --git a/src/main/webapp/views/workspace/departmentModify.html b/src/main/webapp/views/workspace/departmentModify.html new file mode 100644 index 0000000..8b28d33 --- /dev/null +++ b/src/main/webapp/views/workspace/departmentModify.html @@ -0,0 +1,56 @@ +<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> + </label> + <summernote + class="summernote" + lang="ko-KR" + config="vm.options" + ng-model="vm.form.departmentDescription" + 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/workspaceDepartmentConfig.html b/src/main/webapp/views/workspace/workspaceDepartmentConfig.html index 96037b7..b7cf4a6 100644 --- a/src/main/webapp/views/workspace/workspaceDepartmentConfig.html +++ b/src/main/webapp/views/workspace/workspaceDepartmentConfig.html @@ -45,13 +45,13 @@ </div> </div> <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"> + <form class="form-inline justify-content-sm-end pull-right ng-pristine ng-valid" method="post" action="/department/downloadExcel" name="departmentListForm"> <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-isolate-scope" form-submit="departmentListForm" 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> diff --git a/src/main/webapp/views/workspace/workspaceDepartmentModify.html b/src/main/webapp/views/workspace/workspaceDepartmentModify.html index 8b28d33..8312784 100644 --- a/src/main/webapp/views/workspace/workspaceDepartmentModify.html +++ b/src/main/webapp/views/workspace/workspaceDepartmentModify.html @@ -1,7 +1,7 @@ -<div class="formModal"> +<div class="formModal" xmlns:cursor="http://www.w3.org/1999/xhtml"> <div class="modal-header faded smaller"> <div class="modal-title"> - <strong>遺��꽌紐� �닔�젙</strong> + <strong>遺��꽌 �닔�젙</strong> </div> <button aria-label="Close" class="close" type="button" ng-click="fn.cancel()"> <span aria-hidden="true"> ×</span> @@ -9,37 +9,24 @@ </div> <div class="modal-body"> - <form role="form" name="departmentModifyForm"> + <form role="form" name="departmentsModifyForm"> <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> + <label><span translate="common.departmentName">遺��꽌紐�</span> </label> + <js-autocomplete-multi data-input-name="departments" + selected-model="vm.form.departments" + search="vm.departmentName" + source="fn.getDepartments(vm.departmentName, vm.form.departments)" + input-disabled="false"> <!--concat 泥댄겕 �븘�슂--> + <!--translation-texts="{ count : 'common.userNum', empty : 'common.emptyUser' }" + extra-settings="{ displayProp : 'byName' , idProp : 'id', imageable : true, imagePathProp : 'profile', type : 'user', maxlength : 100, autoResize : true }"--> + </js-autocomplete-multi> - <div class="form-group"> - <label> - <span translate="manageDepartment.departmentEx">遺��꽌 �꽕紐�</span> - </label> - <summernote - class="summernote" - lang="ko-KR" - config="vm.options" - ng-model="vm.form.departmentDescription" - target=".note-editable"></summernote> + <div class="select3-selection__choicediv mt-10"> + <span class="select3-selection__choice" ng-repeat="department in vm.form.departments"> + <span>{{department.name}}</span> <!--遺��꽌 �씠由� 異쒕젰--> + <span class="select3-selection__choice__remove" ng-click="fn.removeDepartments($index)">횞</span> + </span> + </div> </div> </form> </div> @@ -48,9 +35,9 @@ <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)" + js-short-cut-action="(fn.formCheck(departmentsModifyForm.$invalid) || $root.spinner) ? null : fn.formSubmit()" + ng-disabled="fn.formCheck(departmentsModifyForm.$invalid)" ng-click="fn.formSubmit()"><span translate="common.save">���옣</span> </button> </div> -</div> \ No newline at end of file +</div> -- Gitblit v1.8.0