mirror of
http://git.mhez-qa.uplus.co.kr/hubez/hubez-admin.git
synced 2025-12-06 18:26:53 +09:00
운영관리 > 권한관리 하드코딩 제거
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
<td colspan="5"><input type="text" v-model.trim="authDesc" maxlength="100"></td>
|
||||
</tr>
|
||||
<tr class="tr_checkbox">
|
||||
<td class="check" rowspan="2">
|
||||
<td class="check">
|
||||
<p>메뉴 권한 체크</p>
|
||||
<input type="checkbox" id="right_check0" ref="checkedAuthMenuAll_" v-model="checkedAuthMenuAll">
|
||||
<!--<div class="label_group">
|
||||
@@ -39,171 +39,28 @@
|
||||
<label for="right_check0">전체 체크</label>
|
||||
</div>-->
|
||||
</td>
|
||||
<td class="check">
|
||||
<p>고객관리</p>
|
||||
<input type="checkbox" id="right_check1" value="2001" v-model="checkedAuthMenu">
|
||||
<td colspan="6">
|
||||
|
||||
<div class="div_authcheck" v-for="(upper, i) in list" v-bind:key="i">
|
||||
<p>{{ upper.name }}</p>
|
||||
<div v-for="(auth, x) in upper.list" v-bind:key="x" >
|
||||
<div v-if="auth.menuNo !== '2002' && auth.menuNo !== '2003'">
|
||||
<input type="checkbox" :id="'right_check'+auth.menuNo" :value="auth.menuNo" v-model="checkedAuthMenu"/>
|
||||
<div class="label_group">
|
||||
<label for="right_check1"></label>
|
||||
<label for="right_check1">청약고객관리</label>
|
||||
<label :for="'right_check'+auth.menuNo"></label>
|
||||
<label :for="'right_check'+auth.menuNo">{{auth.name}}</label>
|
||||
</div>
|
||||
<input type="checkbox" id="right_check2" value="2024" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check2"></label>
|
||||
<label for="right_check2">회원관리</label>
|
||||
</div>
|
||||
<input type="checkbox" id="right_check3" value="2025" v-model="checkedAuthMenu">
|
||||
<div v-if="auth.menuNo == '2002' || auth.menuNo == '2003'">
|
||||
<input type="checkbox" name="oneCheck" :id="'right_check'+auth.menuNo" :value="auth.menuNo" @change="channelCheck" v-model="checkedAuthMenu"/>
|
||||
<div class="label_group">
|
||||
<label for="right_check3"></label>
|
||||
<label for="right_check3">충전관리</label>
|
||||
<label :for="'right_check'+auth.menuNo"></label>
|
||||
<label :for="'right_check'+auth.menuNo">{{auth.name}}</label>
|
||||
</div>
|
||||
</td>
|
||||
<td class="check system">
|
||||
<p>유치현황관리</p>
|
||||
<div class="label_group">
|
||||
<tr>
|
||||
<td class="td_radio">
|
||||
<input type="radio" name="userStat" value="2002" id="channel_radio1" v-model="channelAuth">
|
||||
<label for="channel_radio1">유치채널 현황</label>
|
||||
</td>
|
||||
</tr>
|
||||
</div>
|
||||
<div class="label_group">
|
||||
<tr>
|
||||
<td class="td_radio">
|
||||
<input type="radio" name="userStat" value="2003" id="channel_radio2" v-model="channelAuth">
|
||||
<label for="channel_radio2">유치현황 관리(유치채널)</label>
|
||||
</td>
|
||||
</tr>
|
||||
</div>
|
||||
</td>
|
||||
<td class="check">
|
||||
<p>서비스관리</p>
|
||||
<input type="checkbox" id="right_check4" value="2004" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check4"></label>
|
||||
<label for="right_check4">080수신거부 인증코드 조회</label>
|
||||
</div>
|
||||
</td>
|
||||
<td class="check">
|
||||
<p>정산</p>
|
||||
<input type="checkbox" id="right_check5" value="2005" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check5"></label>
|
||||
<label for="right_check5">정산이력</label>
|
||||
</div>
|
||||
</td>
|
||||
<td class="check">
|
||||
<p>카카오 채널관리</p>
|
||||
<input type="checkbox" id="right_check6" value="2007" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check6"></label>
|
||||
<label for="right_check6">채널관리</label>
|
||||
</div>
|
||||
<input type="checkbox" id="right_check7" value="2006" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check7"></label>
|
||||
<label for="right_check7">알림톡 템플릿 관리</label>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="check">
|
||||
<p>발신번호관리</p>
|
||||
<input type="checkbox" id="right_check8" value="2008" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check8"></label>
|
||||
<label for="right_check8">문자 발신번호 관리</label>
|
||||
</div>
|
||||
<input type="checkbox" id="right_check9" value="2009" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check9"></label>
|
||||
<label for="right_check9">발신번호 승인</label>
|
||||
</div>
|
||||
</td>
|
||||
<td class="check">
|
||||
<p>모니터링</p>
|
||||
<input type="checkbox" id="right_check10" value="2010" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check10"></label>
|
||||
<label for="right_check10">발송내역</label>
|
||||
</div>
|
||||
<input type="checkbox" id="right_check11" value="2011" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check11"></label>
|
||||
<label for="right_check11">실시간발송현황</label>
|
||||
</div>
|
||||
</td>
|
||||
<td class="check">
|
||||
<p>리스크관리</p>
|
||||
<input type="checkbox" id="right_check12" value="2012" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check12"></label>
|
||||
<label for="right_check12">발신번호 차단</label>
|
||||
</div>
|
||||
<input type="checkbox" id="right_check13" value="2013" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check13"></label>
|
||||
<label for="right_check13">080수신번호 차단</label>
|
||||
</div>
|
||||
<!-- <input type="checkbox" id="right_check14" value="2014" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check14"></label>
|
||||
<label for="right_check14">메시지 차단</label>
|
||||
</div> -->
|
||||
<!-- <input type="checkbox" id="right_check15" value="2015" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check15"></label>
|
||||
<label for="right_check15">차단 내역</label>
|
||||
</div> -->
|
||||
</td>
|
||||
<td class="check">
|
||||
<p>발송통계</p>
|
||||
<input type="checkbox" id="right_check16" value="2016" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check16"></label>
|
||||
<label for="right_check16">날짜별 통계</label>
|
||||
</div>
|
||||
<input type="checkbox" id="right_check17" value="2017" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check17"></label>
|
||||
<label for="right_check17">사업자별 통계</label>
|
||||
</div>
|
||||
</td>
|
||||
<td class="check">
|
||||
<p>시스템 관리</p>
|
||||
<input type="checkbox" id="right_check18" value="2022" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check18"></label>
|
||||
<label for="right_check18">배치 모니터링</label>
|
||||
</div>
|
||||
<input type="checkbox" id="right_check19" value="2018" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check19"></label>
|
||||
<label for="right_check19">관리자/유치채널 관리</label>
|
||||
</div>
|
||||
<input type="checkbox" id="right_check20" value="2019" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check20"></label>
|
||||
<label for="right_check20">권한 관리</label>
|
||||
</div>
|
||||
<input type="checkbox" id="right_check21" value="2023" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check21"></label>
|
||||
<label for="right_check21">알림 이력</label>
|
||||
</div>
|
||||
</td>
|
||||
<td class="check">
|
||||
<p>홈페이지 관리</p>
|
||||
<input type="checkbox" id="right_check22" value="2020" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check22"></label>
|
||||
<label for="right_check22">공지사항</label>
|
||||
</div>
|
||||
<input type="checkbox" id="right_check23" value="2021" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check23"></label>
|
||||
<label for="right_check23">자주하는 질문</label>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@@ -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: {
|
||||
|
||||
@@ -38,172 +38,30 @@
|
||||
<label for="right_check0"></label>
|
||||
<label for="right_check0">전체 체크</label>
|
||||
</div>-->
|
||||
|
||||
</td>
|
||||
<td class="check">
|
||||
<p>고객관리</p>
|
||||
<input type="checkbox" id="right_check1" value="2001" v-model="checkedAuthMenu">
|
||||
<td colspan="6">
|
||||
|
||||
<div class="div_authcheck" v-for="(upper, i) in list" v-bind:key="i">
|
||||
<p>{{ upper.name }}</p>
|
||||
<div v-for="(auth, x) in upper.list" v-bind:key="x" >
|
||||
<div v-if="auth.menuNo !== '2002' && auth.menuNo !== '2003'">
|
||||
<input type="checkbox" :id="'right_check'+auth.menuNo" :value="auth.menuNo" v-model="checkedAuthMenu"/>
|
||||
<div class="label_group">
|
||||
<label for="right_check1"></label>
|
||||
<label for="right_check1">청약고객관리</label>
|
||||
<label :for="'right_check'+auth.menuNo"></label>
|
||||
<label :for="'right_check'+auth.menuNo">{{auth.name}}</label>
|
||||
</div>
|
||||
<input type="checkbox" id="right_check2" value="2024" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check2"></label>
|
||||
<label for="right_check2">회원관리</label>
|
||||
</div>
|
||||
<input type="checkbox" id="right_check3" value="2025" v-model="checkedAuthMenu">
|
||||
<div v-if="auth.menuNo == '2002' || auth.menuNo == '2003'">
|
||||
<input type="checkbox" name="oneCheck" :id="'right_check'+auth.menuNo" :value="auth.menuNo" @change="channelCheck" v-model="checkedAuthMenu"/>
|
||||
<div class="label_group">
|
||||
<label for="right_check3"></label>
|
||||
<label for="right_check3">충전관리</label>
|
||||
<label :for="'right_check'+auth.menuNo"></label>
|
||||
<label :for="'right_check'+auth.menuNo">{{auth.name}}</label>
|
||||
</div>
|
||||
</td>
|
||||
<td class="check">
|
||||
<p>유치현황관리</p>
|
||||
<div class="label_group">
|
||||
<tr>
|
||||
<td class="td_radio">
|
||||
<input type="radio" name="userStat" value="2002" id="channel_radio1" v-model="channelAuth">
|
||||
<label for="channel_radio1">유치채널 현황</label>
|
||||
</td>
|
||||
</tr>
|
||||
</div>
|
||||
<div class="label_group">
|
||||
<tr>
|
||||
<td class="td_radio">
|
||||
<input type="radio" name="userStat" value="2003" id="channel_radio2" v-model="channelAuth">
|
||||
<label for="channel_radio2">유치현황 관리(유치채널)</label>
|
||||
</td>
|
||||
</tr>
|
||||
</div>
|
||||
</td>
|
||||
<td class="check">
|
||||
<p>서비스관리</p>
|
||||
<input type="checkbox" id="right_check4" value="2004" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check4"></label>
|
||||
<label for="right_check4">080수신거부 인증코드 조회</label>
|
||||
</div>
|
||||
</td>
|
||||
<td class="check">
|
||||
<p>정산</p>
|
||||
<input type="checkbox" id="right_check5" value="2005" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check5"></label>
|
||||
<label for="right_check5">정산이력</label>
|
||||
</div>
|
||||
</td>
|
||||
<td class="check">
|
||||
<p>카카오 채널관리</p>
|
||||
<input type="checkbox" id="right_check6" value="2007" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check6"></label>
|
||||
<label for="right_check6">채널관리</label>
|
||||
</div>
|
||||
<input type="checkbox" id="right_check7" value="2006" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check7"></label>
|
||||
<label for="right_check7">알림톡 템플릿 관리</label>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="check">
|
||||
<p>발신번호관리</p>
|
||||
<input type="checkbox" id="right_check8" value="2008" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check8"></label>
|
||||
<label for="right_check8">문자 발신번호 관리</label>
|
||||
</div>
|
||||
<input type="checkbox" id="right_check9" value="2009" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check9"></label>
|
||||
<label for="right_check9">발신번호 승인</label>
|
||||
</div>
|
||||
</td>
|
||||
<td class="check">
|
||||
<p>모니터링</p>
|
||||
<input type="checkbox" id="right_check10" value="2010" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check10"></label>
|
||||
<label for="right_check10">발송내역</label>
|
||||
</div>
|
||||
<input type="checkbox" id="right_check11" value="2011" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check11"></label>
|
||||
<label for="right_check11">실시간발송현황</label>
|
||||
</div>
|
||||
</td>
|
||||
<td class="check">
|
||||
<p>리스크관리</p>
|
||||
<input type="checkbox" id="right_check12" value="2012" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check12"></label>
|
||||
<label for="right_check12">발신번호 차단</label>
|
||||
</div>
|
||||
<input type="checkbox" id="right_check13" value="2013" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check13"></label>
|
||||
<label for="right_check13">080수신번호 차단</label>
|
||||
</div>
|
||||
<!-- <input type="checkbox" id="right_check14" value="2014" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check14"></label>
|
||||
<label for="right_check14">메시지 차단</label>
|
||||
</div> -->
|
||||
<!-- <input type="checkbox" id="right_check15" value="2015" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check15"></label>
|
||||
<label for="right_check15">차단 내역</label>
|
||||
</div> -->
|
||||
</td>
|
||||
<td class="check">
|
||||
<p>발송통계</p>
|
||||
<input type="checkbox" id="right_check16" value="2016" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check16"></label>
|
||||
<label for="right_check16">날짜별 통계</label>
|
||||
</div>
|
||||
<input type="checkbox" id="right_check17" value="2017" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check17"></label>
|
||||
<label for="right_check17">사업자별 통계</label>
|
||||
</div>
|
||||
</td>
|
||||
<td class="check">
|
||||
<p>시스템 관리</p>
|
||||
<input type="checkbox" id="right_check18" value="2022" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check18"></label>
|
||||
<label for="right_check18">배치 모니터링</label>
|
||||
</div>
|
||||
<input type="checkbox" id="right_check19" value="2018" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check19"></label>
|
||||
<label for="right_check19">관리자/유치채널 관리</label>
|
||||
</div>
|
||||
<input type="checkbox" id="right_check20" value="2019" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check20"></label>
|
||||
<label for="right_check20">권한 관리</label>
|
||||
</div>
|
||||
<input type="checkbox" id="right_check21" value="2023" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check21"></label>
|
||||
<label for="right_check21">알림 이력</label>
|
||||
</div>
|
||||
</td>
|
||||
<td class="check">
|
||||
<p>홈페이지 관리</p>
|
||||
<input type="checkbox" id="right_check22" value="2020" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check22"></label>
|
||||
<label for="right_check22">공지사항</label>
|
||||
</div>
|
||||
<input type="checkbox" id="right_check23" value="2021" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check23"></label>
|
||||
<label for="right_check23">자주하는 질문</label>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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: {
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -61,4 +61,8 @@ public interface SysMgtMapper {
|
||||
|
||||
int notiListSelectCnt(NotiListReqDto notiListReqDto);
|
||||
|
||||
List<AuthMenuUpper> selectAuthMemuUpperList(); //권한 추가를 위한 메뉴 조회
|
||||
|
||||
List<AuthMenu> selectAuthMemuChdList(AuthMenuUpper authMenuUpper); //권한 추가를 위한 메뉴 조회
|
||||
|
||||
}
|
||||
@@ -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<AuthMenuUpper> authMenuUpperList = new ArrayList<AuthMenuUpper>();
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<AuthMenuUpper> list;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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<AuthMenu> list;
|
||||
}
|
||||
@@ -523,4 +523,31 @@
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="selectAuthMemuUpperList" resultType="kr.co.uplus.ez.api.sysMgt.dto.AuthMenuUpper">
|
||||
/* sysMgt-mapper.xml(selectAuthMemuUpperList) */
|
||||
SELECT
|
||||
A.MENU_NM AS UPPER_NAME
|
||||
, A.MENU_NO
|
||||
, A.MENU_NM AS NAME
|
||||
, A.MENU_LVL AS MENU_LV
|
||||
FROM hubez_admin.EZ_ADM_MENU A
|
||||
WHERE A.MENU_LVL = 1
|
||||
AND A.USE_YN = 'Y'
|
||||
ORDER BY A.MENU_ODRG ASC
|
||||
</select>
|
||||
|
||||
<select id="selectAuthMemuChdList" parameterType="kr.co.uplus.ez.api.sysMgt.dto.AuthMenuUpper" resultType="kr.co.uplus.ez.api.sysMgt.dto.AuthMenu">
|
||||
/* sysMgt-mapper.xml(selectAuthMemuChdList) */
|
||||
SELECT
|
||||
A.MENU_NM AS UPPER_NAME
|
||||
, A.MENU_NO
|
||||
, A.MENU_NM AS NAME
|
||||
, A.MENU_LVL AS MENU_LV
|
||||
FROM hubez_admin.EZ_ADM_MENU A
|
||||
WHERE A.MENU_LVL = 2
|
||||
AND A.USE_YN = 'Y'
|
||||
AND A.PRNTS_MENU_NO = #{menuNo}
|
||||
ORDER BY A.MENU_ODRG ASC
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user