mirror of
http://git.mhez-qa.uplus.co.kr/hubez/hubez-admin.git
synced 2025-12-06 19:39:19 +09:00
143 lines
4.4 KiB
Vue
143 lines
4.4 KiB
Vue
<template>
|
|
<div class="contents">
|
|
<div class="contents_wrap">
|
|
<div class="top_wrap">
|
|
<h3 class="title">권한 관리</h3>
|
|
<p class="breadcrumb">운영 관리 > 권한 관리</p>
|
|
</div>
|
|
<div class="info">
|
|
<div class="count">
|
|
총 <span>{{ totalCnt }}</span
|
|
>건
|
|
</div>
|
|
<div class="button_group">
|
|
<button type="button" class="button blue add" @click="insertAuth()">권한 추가</button>
|
|
</div>
|
|
</div>
|
|
<div class="table">
|
|
<table>
|
|
<colgroup>
|
|
<col width="10%" />
|
|
<col width="20%" />
|
|
<col width="20%" />
|
|
<col width="15%" />
|
|
<col width="20%" />
|
|
<col width="15%" />
|
|
</colgroup>
|
|
<thead>
|
|
<tr>
|
|
<th>NO</th>
|
|
<th>코드</th>
|
|
<th>권한명</th>
|
|
<th>상태</th>
|
|
<th>등록일</th>
|
|
<th></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr v-for="(option, i) in list" v-bind:key="i">
|
|
<td>{{ option.no }}</td>
|
|
<td>{{ option.authCd }}</td>
|
|
<td>{{ option.authNm }}</td>
|
|
<td>{{ option.authStat }}</td>
|
|
<td>{{ option.regDt }}</td>
|
|
<td v-if="option.authCd === '1001' || option.authCd === '1002'" class="two_btn_group"></td>
|
|
<td v-else class="two_btn_group">
|
|
<button type="button" class="button grey" @click="updateAuth(option.authCd)">수정</button>
|
|
<button type="button" class="button white delete" @click="authDelete(option.authCd)">삭제</button>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<common-modal ref="commmonModal"></common-modal>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import sysMgtApi from '../service/sysMgtApi.js';
|
|
import commonModal from '@/components/modal/commonModal';
|
|
|
|
export default {
|
|
name: 'authList',
|
|
data() {
|
|
return {
|
|
row: {},
|
|
list: [],
|
|
totalCnt: '',
|
|
};
|
|
},
|
|
components: {
|
|
commonModal,
|
|
},
|
|
created() {
|
|
this.getAuthList();
|
|
},
|
|
destroyed() {},
|
|
mounted() {},
|
|
methods: {
|
|
async getAuthList() {
|
|
try {
|
|
const response = await sysMgtApi.authList(this.row);
|
|
const result = response.data;
|
|
if (result != null && result.retCode == '0000') {
|
|
this.list = result.data.list;
|
|
this.totalCnt = result.data.list.length;
|
|
} else {
|
|
this.row.title = '권한 관리';
|
|
this.row.msg1 = '조회정보가 없습니다.';
|
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
|
}
|
|
} catch (err) {
|
|
// this.row.title = '권한 관리';
|
|
// this.row.msg1 = '실패 하였습니다.'
|
|
// this.$refs.commmonModal.alertModalOpen(this.row);
|
|
}
|
|
},
|
|
insertAuth() {
|
|
this.$router.push({ name: 'authAdd' });
|
|
},
|
|
updateAuth(target) {
|
|
this.$router.push({ name: 'authModify', params: { targetAuthCd: target } });
|
|
},
|
|
authDelete(target) {
|
|
this.row.authCd = target;
|
|
this.row.title = '권한 관리';
|
|
this.row.msg1 = '삭제 하시겠습니까?';
|
|
this.$refs.commmonModal.confirmModalOpen2(this.row);
|
|
},
|
|
async deleteAuth() {
|
|
try {
|
|
let response = await sysMgtApi.deleteAuth(this.row);
|
|
const result = response.data;
|
|
if (result != null && result.retCode == '0000') {
|
|
this.getAuthList();
|
|
return;
|
|
} else if (result != null && result.retCode == '4020') {
|
|
this.row = {};
|
|
this.row.title = '권한 관리';
|
|
this.row.msg1 = '해당 권한에 매핑된 사용자가 있습니다.';
|
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
|
} else {
|
|
this.row = {};
|
|
this.row.title = '권한 관리';
|
|
this.row.msg1 = '실패 하였습니다.';
|
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
|
}
|
|
} catch (err) {
|
|
// this.row = {}
|
|
// this.row.title = '권한 관리';
|
|
// this.row.msg1 = '실패 하였습니다.';
|
|
// this.$refs.commmonModal.alertModalOpen(this.row);
|
|
}
|
|
},
|
|
confirmCalbackFnc(props) {
|
|
if (props.result) {
|
|
this.deleteAuth();
|
|
}
|
|
},
|
|
},
|
|
};
|
|
</script>
|