mirror of
http://git.mhez-qa.uplus.co.kr/hubez/hubez-admin.git
synced 2025-12-07 02:16:34 +09:00
시스템관리 - 권한관리, 고객관리 - 청약고객관리/회원관리 추가
This commit is contained in:
@@ -119,14 +119,14 @@ export default {
|
||||
columns: [
|
||||
{ name: 'no', header: 'No', align: 'center', width: 60},
|
||||
{ name: 'auth', header: '권한', align: 'center', width: 160 },
|
||||
{ name: 'name', header: '이름(대리점명)', align: 'center', width: 130, renderer: {
|
||||
{ name: 'name', header: '이름(대리점명)', align: 'center', width: 130},
|
||||
{ name: 'adminId', header: 'ID', align: 'center', width: 130, renderer: {
|
||||
type: CustomATagRenderer
|
||||
, options: {
|
||||
callback: this.detailPop,
|
||||
}
|
||||
}
|
||||
},
|
||||
{ name: 'adminId', header: 'ID', align: 'center', width: 130},
|
||||
{ name: 'adminStat', header: '상태', align: 'center', width: 130, cls: 'td_line'},
|
||||
{ name: 'regDt', header: '등록일', align: 'center', width: 130}
|
||||
],
|
||||
@@ -146,7 +146,7 @@ export default {
|
||||
// SystemPopup,
|
||||
AdminRegPop,
|
||||
//AdminReg2Pop,
|
||||
AdminDetailPop
|
||||
AdminDetailPop,
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
|
||||
304
frontend/src/modules/sysMgt/views/AuthAdd.vue
Normal file
304
frontend/src/modules/sysMgt/views/AuthAdd.vue
Normal file
@@ -0,0 +1,304 @@
|
||||
<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="title">권한 추가</div>
|
||||
</div>
|
||||
<div class="table table_form">
|
||||
<form autocomplete="off">
|
||||
<table>
|
||||
<tbody>
|
||||
<tr class="tr_input w30">
|
||||
<th>권한명</th>
|
||||
<td colspan="5"><input type="text" v-model.trim="authNm" ref="_authNm"></td>
|
||||
</tr>
|
||||
<tr class="tr_input w75">
|
||||
<th>권한 코드</th>
|
||||
<td colspan="2"><input type="text" v-model.trim="authCd" ref="_authCd"></td>
|
||||
<th class="center">상태</th>
|
||||
<td class="td_radio" colspan="2">
|
||||
<input type="radio" name="state" value="01" id="right_radio1" v-model="stat" checked>
|
||||
<label for="right_radio1">사용</label>
|
||||
<input type="radio" name="state" value="02" id="right_radio2" v-model="stat">
|
||||
<label for="right_radio2">정지</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="tr_input w100">
|
||||
<th>권한 설명</th>
|
||||
<td colspan="5"><input type="text" v-model="authDesc"></td>
|
||||
</tr>
|
||||
<tr class="tr_checkbox">
|
||||
<td class="check" rowspan="2">
|
||||
<p>메뉴 권한 체크</p>
|
||||
<input type="checkbox" id="right_check0" v-model="checkedAuthMenuAll">
|
||||
<div class="label_group">
|
||||
<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">
|
||||
<div class="label_group">
|
||||
<label for="right_check1"></label>
|
||||
<label for="right_check1">청약고객관리</label>
|
||||
</div>
|
||||
</td>
|
||||
<td class="check">
|
||||
<p>유치현황관리</p>
|
||||
<input type="checkbox" id="right_check2" value="2002" 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="2003" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check3"></label>
|
||||
<label for="right_check3">유치관리자 현황</label>
|
||||
</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="2006" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check6"></label>
|
||||
<label for="right_check6">알림톡 템플릿 관리</label>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="check">
|
||||
<p>발신번호관리</p>
|
||||
<input type="checkbox" id="right_check7" value="2007" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check7"></label>
|
||||
<label for="right_check7">발신프로필 관리</label>
|
||||
</div>
|
||||
<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="2018" 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="2019" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check19"></label>
|
||||
<label for="right_check19">권한 관리</label>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<div class="pop-btn2">
|
||||
<button class="btn-default" type="button" @click="authAddCancel()">취소</button>
|
||||
<button class="btn-pcolor" type="button" @click="authAddSave()">저장</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import sysMgtApi from "../service/sysMgtApi.js";
|
||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
||||
|
||||
export default {
|
||||
name: 'authAdd',
|
||||
mixins: [utils_mixin, chkPattern2],
|
||||
data() {
|
||||
return {
|
||||
row: {},
|
||||
authType: [],
|
||||
authNm: "",
|
||||
authCd: "",
|
||||
authDesc: "",
|
||||
stat: "01", // 등록화면 상태 Default 값 지정(사용:01)
|
||||
defaultAuthMenu:["2001","2002","2003","2004","2005","2006","2007","2008","2009","2010","2011","2012","2013","2014","2015","2016","2017","2018","2019"],
|
||||
checkedAuthMenu:[],
|
||||
};
|
||||
},
|
||||
components: {
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
//this.setCodeData();
|
||||
},
|
||||
destroyed() {
|
||||
|
||||
},
|
||||
mounted() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
doValidate(){
|
||||
|
||||
// 필수 등록정보 체크
|
||||
if(this.isNull(this.authNm)){
|
||||
alert("권한명을 입력해 주세요");
|
||||
this.$refs._authNm.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if(this.isNull(this.authCd)){
|
||||
alert('권한 코드를 입력해주세요.');
|
||||
this.$refs._authCd.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if(this.isNull(this.stat)){
|
||||
alert('상태를 체크해주세요.');
|
||||
return false;
|
||||
}
|
||||
|
||||
if(this.checkedAuthMenu.length == 0){
|
||||
alert('메뉴 권한 체크를 해주세요.');
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
|
||||
},
|
||||
authAddCancel() {
|
||||
// 권한리스트 페이지로 이동
|
||||
this.$router.push({ name: 'authList'});
|
||||
|
||||
},
|
||||
async authAddSave(){
|
||||
if(this.doValidate() && window.confirm('저장 하시겠습니까?')){
|
||||
var reqAuthMenuArr = this.checkedAuthMenu;
|
||||
var listArr = [];
|
||||
var dataMap = {};
|
||||
for(var i = 0; i< reqAuthMenuArr.length; i++){
|
||||
dataMap = {};
|
||||
dataMap.menuNo = reqAuthMenuArr[i];
|
||||
listArr.push(dataMap);
|
||||
}
|
||||
|
||||
this.row.authCd = this.authCd;
|
||||
this.row.authNm = this.authNm;
|
||||
this.row.authDesc = this.authDesc;
|
||||
this.row.stat = this.stat;
|
||||
this.row.list = listArr;
|
||||
|
||||
console.log(this.row);
|
||||
|
||||
try {
|
||||
let response = await sysMgtApi.insertAuth(this.row);
|
||||
const result = response.data;
|
||||
if (result != null && result.retCode == "0000") {
|
||||
alert('저장 하였습니다.');
|
||||
// 권한리스트 페이지 이동
|
||||
this.$router.push({ name: 'authList'});
|
||||
|
||||
} else if(result.retCode == "4017"){
|
||||
alert("권한코드가 이미 존재합니다.");
|
||||
this.$refs._authCd.focus();
|
||||
} else {
|
||||
alert("실패 하였습니다.");
|
||||
}
|
||||
|
||||
} catch(err) {
|
||||
alert("실패 하였습니다.");
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
// 체크박스 전체선택 기능
|
||||
checkedAuthMenuAll : {
|
||||
get: function () {
|
||||
return this.defaultAuthMenu.length === this.checkedAuthMenu.length;
|
||||
},
|
||||
set: function (e) {
|
||||
this.checkedAuthMenu = e ? this.defaultAuthMenu : [];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
</script>
|
||||
@@ -6,9 +6,9 @@
|
||||
<p class="breadcrumb">시스템관리 > 권한 관리</p>
|
||||
</div>
|
||||
<div class="info">
|
||||
<div class="count">총 <span>4</span>건</div>
|
||||
<div class="count">총 <span>{{totalCnt}}</span>건</div>
|
||||
<div class="button_group">
|
||||
<button type="button" class="button blue add" onclick="location.href='system_right_add.html';">권한 추가</button>
|
||||
<button type="button" class="button blue add" @click="insertAuth()">권한 추가</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="table">
|
||||
@@ -32,6 +32,18 @@
|
||||
</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 class="two_btn_group">
|
||||
<button type="button" class="button grey" @click="updateAuth(option.authCd)">수정</button>
|
||||
<button type="button" class="button white delete" @click="deleteAuth(option.authCd)">삭제</button>
|
||||
</td>
|
||||
</tr>
|
||||
<!--
|
||||
<tr>
|
||||
<td>4</td>
|
||||
<td>Admin_01</td>
|
||||
@@ -43,39 +55,7 @@
|
||||
<button type="button" class="button white delete">삭제</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>3</td>
|
||||
<td>Admin_01</td>
|
||||
<td>슈퍼관리자</td>
|
||||
<td>사용</td>
|
||||
<td>2022-03-10</td>
|
||||
<td class="two_btn_group">
|
||||
<button type="button" class="button grey">수정</button>
|
||||
<button type="button" class="button white delete">삭제</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2</td>
|
||||
<td>Admin_01</td>
|
||||
<td>슈퍼관리자</td>
|
||||
<td>사용</td>
|
||||
<td>2022-03-10</td>
|
||||
<td class="two_btn_group">
|
||||
<button type="button" class="button grey">수정</button>
|
||||
<button type="button" class="button white delete">삭제</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1</td>
|
||||
<td>Admin_01</td>
|
||||
<td>슈퍼관리자</td>
|
||||
<td>사용</td>
|
||||
<td>2022-03-10</td>
|
||||
<td class="two_btn_group">
|
||||
<button type="button" class="button grey">수정</button>
|
||||
<button type="button" class="button white delete">삭제</button>
|
||||
</td>
|
||||
</tr>
|
||||
-->
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@@ -84,15 +64,23 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import sysMgtApi from "../service/sysMgtApi.js";
|
||||
|
||||
export default {
|
||||
name: 'authList',
|
||||
data() {
|
||||
return {
|
||||
|
||||
row: {},
|
||||
list:[],
|
||||
totalCnt: '',
|
||||
};
|
||||
},
|
||||
components: {
|
||||
|
||||
components: {
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
this.getAuthList();
|
||||
},
|
||||
destroyed() {
|
||||
|
||||
@@ -101,7 +89,50 @@ export default {
|
||||
|
||||
},
|
||||
methods: {
|
||||
|
||||
async getAuthList(){
|
||||
console.log('getAuthList Start');
|
||||
//this.row.serviceId = serviceId;
|
||||
try {
|
||||
const response = await sysMgtApi.authList(this.row);
|
||||
const result = response.data;
|
||||
console.log(result);
|
||||
if (result != null && result.retCode == "0000") {
|
||||
this.list = result.data.list;
|
||||
this.totalCnt = result.data.list.length;
|
||||
} else {
|
||||
alert("조회정보가 없습니다.");
|
||||
}
|
||||
} catch(err) {
|
||||
alert("실패 하였습니다.");
|
||||
}
|
||||
},
|
||||
insertAuth(){
|
||||
//console.log("권한추가 페이지 이동");
|
||||
this.$router.push({ name: 'authAdd'});
|
||||
},
|
||||
updateAuth(target){
|
||||
//console.log("수정페이지로 이동:"+target);
|
||||
this.$router.push({ name: 'authModify', params: { targetAuthCd: target }});
|
||||
},
|
||||
async deleteAuth(target){
|
||||
//console.log("삭제처리:"+target);
|
||||
this.row.authCd = target;
|
||||
if(window.confirm('삭제 하시겠습니까?')){
|
||||
try {
|
||||
let response = await sysMgtApi.deleteAuth(this.row);
|
||||
const result = response.data;
|
||||
if (result != null && result.retCode == "0000") {
|
||||
alert('삭제 하였습니다.');
|
||||
this.getAuthList();
|
||||
return;
|
||||
} else {
|
||||
alert("실패 하였습니다.");
|
||||
}
|
||||
} catch(err) {
|
||||
alert("실패 하였습니다.");
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
338
frontend/src/modules/sysMgt/views/AuthModify.vue
Normal file
338
frontend/src/modules/sysMgt/views/AuthModify.vue
Normal file
@@ -0,0 +1,338 @@
|
||||
<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="title">권한 수정</div>
|
||||
</div>
|
||||
<div class="table table_form">
|
||||
<form autocomplete="off">
|
||||
<table>
|
||||
<tbody>
|
||||
<tr class="tr_input w30">
|
||||
<th>권한명</th>
|
||||
<td colspan="5"><input type="text" v-model.trim="authNm" ref="_authNm"></td>
|
||||
</tr>
|
||||
<tr class="tr_input w75">
|
||||
<th>권한 코드</th>
|
||||
<td colspan="2"><input type="text" v-model.trim="authCd" ref="_authCd" disabled></td>
|
||||
<th class="center">상태</th>
|
||||
<td class="td_radio" colspan="2">
|
||||
<input type="radio" name="state" value="01" id="right_radio1" v-model="stat" checked>
|
||||
<label for="right_radio1">사용</label>
|
||||
<input type="radio" name="state" value="02" id="right_radio2" v-model="stat">
|
||||
<label for="right_radio2">정지</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="tr_input w100">
|
||||
<th>권한 설명</th>
|
||||
<td colspan="5"><input type="text" v-model="authDesc"></td>
|
||||
</tr>
|
||||
<tr class="tr_checkbox">
|
||||
<td class="check" rowspan="2">
|
||||
<p>메뉴 권한 체크</p>
|
||||
<input type="checkbox" id="right_check0" v-model="checkedAuthMenuAll">
|
||||
<div class="label_group">
|
||||
<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">
|
||||
<div class="label_group">
|
||||
<label for="right_check1"></label>
|
||||
<label for="right_check1">청약고객관리</label>
|
||||
</div>
|
||||
</td>
|
||||
<td class="check">
|
||||
<p>유치현황관리</p>
|
||||
<input type="checkbox" id="right_check2" value="2002" 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="2003" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check3"></label>
|
||||
<label for="right_check3">유치관리자 현황</label>
|
||||
</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="2006" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check6"></label>
|
||||
<label for="right_check6">알림톡 템플릿 관리</label>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="check">
|
||||
<p>발신번호관리</p>
|
||||
<input type="checkbox" id="right_check7" value="2007" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check7"></label>
|
||||
<label for="right_check7">발신프로필 관리</label>
|
||||
</div>
|
||||
<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="2018" 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="2019" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check19"></label>
|
||||
<label for="right_check19">권한 관리</label>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<div class="pop-btn2">
|
||||
<button class="btn-default" type="button" @click="authModifyCancel()">취소</button>
|
||||
<button class="btn-pcolor" type="button" @click="authModifySave()">저장</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import sysMgtApi from "../service/sysMgtApi.js";
|
||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
||||
|
||||
export default {
|
||||
name: 'authModify',
|
||||
mixins: [utils_mixin, chkPattern2],
|
||||
data() {
|
||||
return {
|
||||
row: {},
|
||||
authType: [],
|
||||
authNm: "",
|
||||
authCd: "",
|
||||
authDesc: "",
|
||||
stat: "",
|
||||
defaultAuthMenu:["2001","2002","2003","2004","2005","2006","2007","2008","2009","2010","2011","2012","2013","2014","2015","2016","2017","2018","2019"],
|
||||
checkedAuthMenu:[],
|
||||
};
|
||||
},
|
||||
props: {
|
||||
targetAuthCd : {
|
||||
type: String,
|
||||
default: "",
|
||||
}
|
||||
},
|
||||
components: {
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
//this.setCodeData();
|
||||
this.authDetail();
|
||||
},
|
||||
destroyed() {
|
||||
|
||||
},
|
||||
mounted() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
doValidate(){
|
||||
|
||||
// 필수 등록정보 체크
|
||||
if(this.isNull(this.authNm)){
|
||||
alert("권한명을 입력해 주세요");
|
||||
this.$refs._authNm.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if(this.isNull(this.authCd)){
|
||||
alert('권한 코드를 입력해주세요.');
|
||||
this.$refs._authCd.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if(this.isNull(this.stat)){
|
||||
alert('상태를 체크해주세요.');
|
||||
return false;
|
||||
}
|
||||
|
||||
if(this.checkedAuthMenu.length == 0){
|
||||
alert('메뉴 권한 체크를 해주세요.');
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
|
||||
},
|
||||
authModifyCancel() {
|
||||
// 권한리스트 페이지로 이동
|
||||
this.$router.push({ name: 'authList'});
|
||||
|
||||
},
|
||||
async authDetail(){
|
||||
//console.log(this.$route.params.targetAuthCd);
|
||||
this.row.authCd = this.$route.params.targetAuthCd;
|
||||
try {
|
||||
const response = await sysMgtApi.authDetail(this.row);
|
||||
const result = response.data;
|
||||
|
||||
console.log(result);
|
||||
if (result != null && result.retCode == "0000") {
|
||||
this.authCd = result.data.authCd;
|
||||
this.authNm = result.data.authNm;
|
||||
this.authDesc = result.data.authDesc;
|
||||
this.stat = result.data.authStat;
|
||||
|
||||
// 메뉴리스트 처리
|
||||
var dataList = result.data.list;
|
||||
var rsArr = [];
|
||||
for(var i=0; i< dataList.length; i++){
|
||||
if(dataList[i].upperMenuNo != null || dataList[i].upperMenuNo != ""){
|
||||
this.checkedAuthMenu.push(dataList[i].menuNo);
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
alert("실패 하였습니다.");
|
||||
}
|
||||
} catch(err) {
|
||||
alert("처리 실패 하였습니다.");
|
||||
}
|
||||
|
||||
},
|
||||
async authModifySave(){
|
||||
if(this.doValidate() && window.confirm('저장 하시겠습니까?')){
|
||||
var reqAuthMenuArr = this.checkedAuthMenu;
|
||||
var listArr = [];
|
||||
var dataMap = {};
|
||||
for(var i = 0; i< reqAuthMenuArr.length; i++){
|
||||
dataMap = {};
|
||||
dataMap.menuNo = reqAuthMenuArr[i];
|
||||
listArr.push(dataMap);
|
||||
}
|
||||
|
||||
this.row.authCd = this.authCd;
|
||||
this.row.authNm = this.authNm;
|
||||
this.row.authDesc = this.authDesc;
|
||||
this.row.stat = this.stat;
|
||||
this.row.list = listArr;
|
||||
|
||||
console.log(this.row);
|
||||
|
||||
try {
|
||||
let response = await sysMgtApi.updateAuth(this.row);
|
||||
const result = response.data;
|
||||
if (result != null && result.retCode == "0000") {
|
||||
alert('저장 하였습니다.');
|
||||
// 권한리스트 페이지 이동
|
||||
this.$router.push({ name: 'authList'});
|
||||
} else {
|
||||
alert("실패 하였습니다.");
|
||||
}
|
||||
|
||||
} catch(err) {
|
||||
alert("실패 하였습니다.");
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
// 체크박스 전체선택 기능
|
||||
checkedAuthMenuAll : {
|
||||
get: function () {
|
||||
return this.defaultAuthMenu.length === this.checkedAuthMenu.length;
|
||||
},
|
||||
set: function (e) {
|
||||
this.checkedAuthMenu = e ? this.defaultAuthMenu : [];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
</script>
|
||||
Reference in New Issue
Block a user