From ab73e2dc6bba993736a900d870069b60f9539b7a Mon Sep 17 00:00:00 2001 From: Jeon Date: Thu, 13 Jul 2023 08:20:37 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9A=B4=EC=98=81=EA=B4=80=EB=A6=AC=20>=20?= =?UTF-8?q?=EA=B6=8C=ED=95=9C=EA=B4=80=EB=A6=AC=20=ED=95=98=EB=93=9C?= =?UTF-8?q?=EC=BD=94=EB=94=A9=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/assets/css/style.css | 13 + .../src/modules/sysMgt/service/sysMgtApi.js | 5 + frontend/src/modules/sysMgt/views/AuthAdd.vue | 225 +++++------------ .../src/modules/sysMgt/views/AuthModify.vue | 234 +++++------------- .../uplus/ez/api/sysMgt/SysMgtController.java | 13 + .../co/uplus/ez/api/sysMgt/SysMgtMapper.java | 4 + .../co/uplus/ez/api/sysMgt/SysMgtService.java | 33 +++ .../uplus/ez/api/sysMgt/dto/AuthMenuData.java | 17 ++ .../ez/api/sysMgt/dto/AuthMenuResDto.java | 31 +++ .../ez/api/sysMgt/dto/AuthMenuUpper.java | 28 +++ .../mapper/mysql/sysMgt/sysMgt-mapper.xml | 27 ++ 11 files changed, 290 insertions(+), 340 deletions(-) create mode 100644 src/main/java/kr/co/uplus/ez/api/sysMgt/dto/AuthMenuData.java create mode 100644 src/main/java/kr/co/uplus/ez/api/sysMgt/dto/AuthMenuResDto.java create mode 100644 src/main/java/kr/co/uplus/ez/api/sysMgt/dto/AuthMenuUpper.java diff --git a/frontend/src/assets/css/style.css b/frontend/src/assets/css/style.css index fedfc2e..da34ded 100644 --- a/frontend/src/assets/css/style.css +++ b/frontend/src/assets/css/style.css @@ -1893,6 +1893,19 @@ textarea:focus{ animation: spScaleAlphaAfter 2s infinite linear; } +.div_authcheck { + position: relative; + box-sizing: border-box; + float: left; + width: 20%; + height: 165px; + padding-top: 10px; +} + +.div_authcheck .label_group.radio { + padding-top: 8px; +} + @keyframes spScaleAlpha { 0% { opacity: 1; diff --git a/frontend/src/modules/sysMgt/service/sysMgtApi.js b/frontend/src/modules/sysMgt/service/sysMgtApi.js index d22b4c5..e4d4d4c 100644 --- a/frontend/src/modules/sysMgt/service/sysMgtApi.js +++ b/frontend/src/modules/sysMgt/service/sysMgtApi.js @@ -93,6 +93,10 @@ const svcCheckList = (params) => { return httpClient.post('/api/v1/bo/sysMgt/svcCheckList', params, { withCredentials: false }) } +const athMenuList = (params) => { + return httpClient.post('/api/v1/bo/sysMgt/selectAuthMemuListForAddAuth', params, { withCredentials: false }) +} + export default { insertAdmin, @@ -115,4 +119,5 @@ export default { notiList, setWorkState, svcCheckList, + athMenuList } diff --git a/frontend/src/modules/sysMgt/views/AuthAdd.vue b/frontend/src/modules/sysMgt/views/AuthAdd.vue index 8b51e03..ac08d7b 100644 --- a/frontend/src/modules/sysMgt/views/AuthAdd.vue +++ b/frontend/src/modules/sysMgt/views/AuthAdd.vue @@ -31,7 +31,7 @@ - +

메뉴 권한 체크

- -

고객관리

- -
- - -
- -
- - -
- -
- - + + +
+

{{ upper.name }}

+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ - -

유치현황관리

-
- - - - - - -
-
- - - - - - -
- - -

서비스관리

- -
- - -
- - -

정산

- -
- - -
- - -

카카오 채널관리

- -
- - -
- -
- - -
- - - - -

발신번호관리

- -
- - -
- -
- - -
- - -

모니터링

- -
- - -
- -
- - -
- - -

리스크관리

- -
- - -
- -
- - -
- - - - -

발송통계

- -
- - -
- -
- - -
- - -

시스템 관리

- -
- - -
- -
- - -
- -
- - -
- -
- - -
- - -

홈페이지 관리

- -
- - -
- -
- - -
- - +
@@ -238,6 +95,7 @@ export default { defaultAuthMenu: ["2001", "2004", "2005", "2006", "2007", "2008", "2009", "2010", "2011", "2012", "2013", "2015", "2016", "2017", "2018", "2019", "2020", "2021", "2022", "2023", "2024", "2025"], checkedAuthMenu: [], channelAuth: "", + list: [] }; }, components: { @@ -250,9 +108,27 @@ export default { }, mounted() { - + this.athMenuList(); }, methods: { + async athMenuList() { + this.params = {} + try { + const response = await sysMgtApi.athMenuList(this.params); + + const result = response.data; + + if (result != null && result.retCode == '0000') { + this.list = result.data.list; + } + + } catch(err){ + this.row.title = '권한 목록 조회 실패'; + this.row.msg1 = err; + this.$parent.$refs.commmonModal.alertModalOpen(this.row); + return false; + } + }, doValidate() { // 필수 등록정보 체크 @@ -381,6 +257,21 @@ export default { if (props.result) { this.authInsert(); } + }, + channelCheck(e, len, isEventCall){ + if(e.target.checked){ + for(const target of document.getElementsByName(e.target.name)){ + if(target != e.target){ + target.checked = false; + this.checkedAuthMenu = this.checkedAuthMenu.filter((data) => { + if(data != target.value){ + return data; + } + }); + + } + } + } } }, computed: { diff --git a/frontend/src/modules/sysMgt/views/AuthModify.vue b/frontend/src/modules/sysMgt/views/AuthModify.vue index 318f98c..0c3b8c4 100644 --- a/frontend/src/modules/sysMgt/views/AuthModify.vue +++ b/frontend/src/modules/sysMgt/views/AuthModify.vue @@ -38,174 +38,32 @@ --> - - -

고객관리

- -
- - + + + + +
+

{{ upper.name }}

+
+
+ +
+ + +
+
+
+ +
+ + +
+
- -
- - -
- -
- - -
- - -

유치현황관리

-
- - - - - - -
-
- - - - - - -
- - -

서비스관리

- -
- - -
- - -

정산

- -
- - -
- - -

카카오 채널관리

- -
- - -
- -
- - -
- - - - -

발신번호관리

- -
- - -
- -
- - -
- - -

모니터링

- -
- - -
- -
- - -
- - -

리스크관리

- -
- - -
- -
- - -
- - - - -

발송통계

- -
- - -
- -
- - -
- - -

시스템 관리

- -
- - -
- -
- - -
- -
- - -
- -
- - -
- - -

홈페이지 관리

- -
- - -
- -
- - -
- - +
+ + +
@@ -238,6 +96,7 @@ export default { defaultAuthMenu: ["2001", "2004", "2005", "2006", "2007", "2008", "2009", "2010", "2011", "2012", "2013", "2015", "2016", "2017", "2018", "2019", "2020", "2021", "2022", "2023", "2024", "2025"], checkedAuthMenu: [], channelAuth: "", + list: [] }; }, props: { @@ -257,9 +116,27 @@ export default { }, mounted() { - + this.athMenuList(); }, methods: { + async athMenuList() { + this.params = {} + try { + const response = await sysMgtApi.athMenuList(this.params); + + const result = response.data; + + if (result != null && result.retCode == '0000') { + this.list = result.data.list; + } + + } catch(err){ + this.row.title = '권한 목록 조회 실패'; + this.row.msg1 = err; + this.$parent.$refs.commmonModal.alertModalOpen(this.row); + return false; + } + }, doValidate() { // 필수 등록정보 체크 @@ -327,11 +204,7 @@ export default { var rsArr = []; for (var i = 0; i < dataList.length; i++) { if (dataList[i].upperMenuNo != null || dataList[i].upperMenuNo != "") { - if (dataList[i].menuNo === '2002' || dataList[i].menuNo === '2003') { - this.channelAuth = dataList[i].menuNo; - } else { - this.checkedAuthMenu.push(dataList[i].menuNo); - } + this.checkedAuthMenu.push(dataList[i].menuNo); } } @@ -419,6 +292,21 @@ export default { if (props.result) { this.authUpdate(); } + }, + channelCheck(e, len, isEventCall){ + if(e.target.checked){ + for(const target of document.getElementsByName(e.target.name)){ + if(target != e.target){ + target.checked = false; + this.checkedAuthMenu = this.checkedAuthMenu.filter((data) => { + if(data != target.value){ + return data; + } + }); + + } + } + } } }, computed: { diff --git a/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtController.java b/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtController.java index 62613bb..9e00c8e 100644 --- a/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtController.java +++ b/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtController.java @@ -451,4 +451,17 @@ public class SysMgtController { } + /** + * date : 2023. 7. 13. + * auth : Jeon + * desc : 권한 관리 메뉴 권한 목록 조회 + * @return + */ + @ApiOperation(value = "selectAuthMemuListForAddAuth", notes = "메뉴 권한 목록") + @RequestMapping(value = "/selectAuthMemuListForAddAuth", method = {RequestMethod.POST}) + @ResponseBody + public AuthMenuResDto selectAuthMemuListForAddAuth() { + return sysService.selectAuthMemuListForAddAuth(); + } + } diff --git a/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtMapper.java b/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtMapper.java index 50b9cc9..5ee3a36 100644 --- a/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtMapper.java +++ b/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtMapper.java @@ -60,5 +60,9 @@ public interface SysMgtMapper { public List notiListSelect(NotiListReqDto notiListReqDto); int notiListSelectCnt(NotiListReqDto notiListReqDto); + + List selectAuthMemuUpperList(); //권한 추가를 위한 메뉴 조회 + + List selectAuthMemuChdList(AuthMenuUpper authMenuUpper); //권한 추가를 위한 메뉴 조회 } \ No newline at end of file diff --git a/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtService.java b/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtService.java index 362d0b5..3b35137 100644 --- a/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtService.java +++ b/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtService.java @@ -744,4 +744,37 @@ public class SysMgtService { return new SvcCheckListResDto(ApiResponseCode.SUCCESS,svcCheckListRes); } + /** + * date : 2023. 7. 13. + * auth : Jeon + * desc : 권한 관리 메뉴 권한 목록 조회 + * @return + */ + public AuthMenuResDto selectAuthMemuListForAddAuth() { + SysMgtMapper sysMgtMapper = sqlSessionSlave.getMapper(SysMgtMapper.class); + + AuthMenuData authMenuData = new AuthMenuData(); + List authMenuUpperList = new ArrayList(); + + try { + + authMenuUpperList = sysMgtMapper.selectAuthMemuUpperList(); + + if(authMenuUpperList.size() < 1) { + return new AuthMenuResDto(ApiResponseCode.CM_NOT_FOUND); + } + + for(AuthMenuUpper authMenuUpper : authMenuUpperList) { + authMenuUpper.setList(sysMgtMapper.selectAuthMemuChdList(authMenuUpper)); + } + + authMenuData.setList(authMenuUpperList); + + } catch (Exception e) { + e.printStackTrace(); + return new AuthMenuResDto(ApiResponseCode.CM_DB_QUERY_ERR); + } + + return new AuthMenuResDto(ApiResponseCode.SUCCESS, authMenuData); + } } diff --git a/src/main/java/kr/co/uplus/ez/api/sysMgt/dto/AuthMenuData.java b/src/main/java/kr/co/uplus/ez/api/sysMgt/dto/AuthMenuData.java new file mode 100644 index 0000000..e398f55 --- /dev/null +++ b/src/main/java/kr/co/uplus/ez/api/sysMgt/dto/AuthMenuData.java @@ -0,0 +1,17 @@ +package kr.co.uplus.ez.api.sysMgt.dto; + +import java.io.Serializable; +import java.util.List; + +import io.swagger.annotations.ApiModelProperty; +import kr.co.uplus.ez.api.sysMgt.SysMgtMapper; +import kr.co.uplus.ez.common.data.ApiResponseCode; +import kr.co.uplus.ez.common.utils.EncryptionUtil; +import lombok.Data; + +@SuppressWarnings("serial") +@Data +public class AuthMenuData implements Serializable { + + private List list; +} diff --git a/src/main/java/kr/co/uplus/ez/api/sysMgt/dto/AuthMenuResDto.java b/src/main/java/kr/co/uplus/ez/api/sysMgt/dto/AuthMenuResDto.java new file mode 100644 index 0000000..75800ce --- /dev/null +++ b/src/main/java/kr/co/uplus/ez/api/sysMgt/dto/AuthMenuResDto.java @@ -0,0 +1,31 @@ +package kr.co.uplus.ez.api.sysMgt.dto; + +import java.io.Serializable; + +import kr.co.uplus.ez.common.data.ApiResponseCode; +import kr.co.uplus.ez.common.data.ResponseMessage; +import lombok.Data; + +@SuppressWarnings("serial") +@Data +public class AuthMenuResDto extends ResponseMessage implements Serializable { + + //데이터 + private AuthMenuData data; + + public AuthMenuResDto() { + this.retCode = ApiResponseCode.SUCCESS.getResultCode(); + this.retMsg = ApiResponseCode.SUCCESS.getResultMsg(); + } + + public AuthMenuResDto(ApiResponseCode returnStr) { + this.retCode = returnStr.getResultCode(); + this.retMsg = returnStr.getResultMsg(); + } + + public AuthMenuResDto(ApiResponseCode returnStr, AuthMenuData data) { + this.retCode = returnStr.getResultCode(); + this.retMsg = returnStr.getResultMsg(); + this.data = data; + } +} diff --git a/src/main/java/kr/co/uplus/ez/api/sysMgt/dto/AuthMenuUpper.java b/src/main/java/kr/co/uplus/ez/api/sysMgt/dto/AuthMenuUpper.java new file mode 100644 index 0000000..0ff2c11 --- /dev/null +++ b/src/main/java/kr/co/uplus/ez/api/sysMgt/dto/AuthMenuUpper.java @@ -0,0 +1,28 @@ +package kr.co.uplus.ez.api.sysMgt.dto; + +import java.io.Serializable; +import java.util.List; + +import io.swagger.annotations.ApiModelProperty; +import kr.co.uplus.ez.api.sysMgt.SysMgtMapper; +import kr.co.uplus.ez.common.data.ApiResponseCode; +import kr.co.uplus.ez.common.utils.EncryptionUtil; +import lombok.Data; + +@SuppressWarnings("serial") +@Data +public class AuthMenuUpper implements Serializable { + + @ApiModelProperty(example = "메뉴번호", name = "메뉴번호", dataType = "String") + private String menuNo; + @ApiModelProperty(example = "메뉴명", name = "메뉴명", dataType = "String") + private String name; + @ApiModelProperty(example = "메뉴순서", name = "메뉴순서", dataType = "String") + private String menuOrder; + @ApiModelProperty(example = "사용여부", name = "사용여부", dataType = "String") + private String useYn; + @ApiModelProperty(example = "메뉴레벨", name = "메뉴레벨", dataType = "String") + private String menuLv; + + private List list; +} diff --git a/src/main/resources/mapper/mysql/sysMgt/sysMgt-mapper.xml b/src/main/resources/mapper/mysql/sysMgt/sysMgt-mapper.xml index f216360..4d1411b 100644 --- a/src/main/resources/mapper/mysql/sysMgt/sysMgt-mapper.xml +++ b/src/main/resources/mapper/mysql/sysMgt/sysMgt-mapper.xml @@ -523,4 +523,31 @@ + + + + \ No newline at end of file