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:
@@ -3,11 +3,11 @@
|
||||
<h1 class="logo"><a href="javascript:void(0)">uplus 메시지허브이지<span>BACKOFFICE</span></a></h1>
|
||||
<div class="user_wrap">
|
||||
<div class="user" @click="userInfoToggle();">
|
||||
<p>슈퍼관리자</p>
|
||||
<a href="javascript:void(0)" class="btn_user">Uplus01</a>
|
||||
<p>{{ this.$store.getters['login/userNm'] }}</p>
|
||||
<a href="javascript:void(0)" class="btn_user">{{ this.$store.getters['login/userId'] }}</a>
|
||||
</div>
|
||||
<div class="user_info">
|
||||
<a href="superadmin_info.html" class="modify">정보수정</a>
|
||||
<a href="javascript:void(0)" class="modify">정보수정</a>
|
||||
<a href="javascript:void(0)" class="logout" @click="logout();">로그아웃</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -30,12 +30,13 @@ export default {
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
// console.log(this.$store["login/isLogin"])
|
||||
// this.$store.getters.getCounter
|
||||
},
|
||||
computed: {
|
||||
...mapGetters({
|
||||
getLogin: 'login/isLogin',
|
||||
getErrorPage: 'login/isErrorPage',
|
||||
getErrorPage: 'login/isErrorPage'
|
||||
}),
|
||||
},
|
||||
watch: {
|
||||
@@ -75,7 +76,7 @@ export default {
|
||||
loginApi.logout().then(response => {
|
||||
if(response.data.retCode == '0000'){
|
||||
|
||||
//tokenSvc.removeToken();
|
||||
// tokenSvc.removeToken();
|
||||
|
||||
this.$router.push({
|
||||
path: "/login"
|
||||
|
||||
@@ -277,8 +277,8 @@ export default {
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.popup-btn-wrap {width: 500px; margin: auto; padding: 100px 0;}
|
||||
.popup-btn-wrap button {width: 100%; margin-bottom: 10px; height: 50px; border-radius: 5px; box-shadow: none; border: 1px solid #000; }
|
||||
.popup-btn-wrap button:hover {background: #000; color: #fff;}
|
||||
</style>
|
||||
<!--<style>-->
|
||||
<!--.popup-btn-wrap {width: 500px; margin: auto; padding: 100px 0;}-->
|
||||
<!--.popup-btn-wrap button {width: 100%; margin-bottom: 10px; height: 50px; border-radius: 5px; box-shadow: none; border: 1px solid #000; }-->
|
||||
<!--.popup-btn-wrap button:hover {background: #000; color: #fff;}-->
|
||||
<!--</style>-->
|
||||
@@ -4,7 +4,7 @@
|
||||
<!-- 선택한 메뉴 li.is-current -->
|
||||
<li v-for="child in menuList" :key="child.menuNo" :class="child.classNm">
|
||||
<div class="menu_btn" ></div>
|
||||
<a class="menu_target" @click="actionMenu" :data-menu-no="child.menuNo">{{child.menuNm}}</a>
|
||||
<a href="javascript:void(0);" class="menu_target" @click="actionMenu" :data-menu-no="child.menuNo">{{child.menuNm}}</a>
|
||||
<div class="sub_menu_wrap">
|
||||
<ul class="sub_menu" v-if="child.children.length > 0">
|
||||
<li v-for="child2 in child.children" :key="child2.menuNo">
|
||||
@@ -115,11 +115,11 @@ export default {
|
||||
//this.$store.commit("login/isAuthChk", true);
|
||||
} else {
|
||||
window.top.location.href = '/';
|
||||
this.isLogin = false;
|
||||
// this.isLogin = false;
|
||||
this.menuList = null;
|
||||
}
|
||||
}).catch(rsponse => {
|
||||
this.isLogin = false;
|
||||
// this.isLogin = false;
|
||||
this.menuList = null;
|
||||
})
|
||||
},
|
||||
|
||||
@@ -254,8 +254,6 @@ export default {
|
||||
vuejsDatepicker,
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
this.setPeriodDay(0);
|
||||
this.gridParamSet();
|
||||
},
|
||||
|
||||
@@ -224,9 +224,7 @@ export default {
|
||||
channelMgtApi,
|
||||
commonModal,
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
created(){
|
||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||
this.getExcelHeader();
|
||||
},
|
||||
|
||||
@@ -27,10 +27,10 @@
|
||||
<tbody>
|
||||
<tr v-for="(option, i) in list" v-bind:key="i">
|
||||
<td>{{ option.lmtYm }}</td>
|
||||
<td>{{ option.startAmount }}</td>
|
||||
<td>{{ option.useAmount }}</td>
|
||||
<td>{{ option.krrrAmount }}</td>
|
||||
<td>{{ option.extshAmount }}</td>
|
||||
<td>{{ option.startAmount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</td>
|
||||
<td>{{ option.useAmount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</td>
|
||||
<td>{{ option.krrrAmount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</td>
|
||||
<td>{{ option.extshAmount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</td>
|
||||
</tr>
|
||||
<tr v-if="list.length === 0">
|
||||
<td colspan="5">검색 결과가 없습니다.</td>
|
||||
|
||||
@@ -19,14 +19,6 @@
|
||||
<th>ID</th>
|
||||
<td><input type="text" v-model.trim="userId" ref="_userId"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>비밀번호</th>
|
||||
<td><input type="password" @keypress="onlyPassword" @input="onlyPassword" required minlength="8" maxlength="16" ref="_pwd1" v-model.trim="userPwd1"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>비밀번호 확인</th>
|
||||
<td><input type="password" @keypress="onlyPassword" @input="onlyPassword" required minlength="8" maxlength="16" ref="_pwd2" v-model.trim="userPwd2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>이름</th>
|
||||
<td><input type="text" v-model.trim="userNm" ref="_userNm"></td>
|
||||
@@ -104,8 +96,6 @@ export default {
|
||||
stat: "",
|
||||
userId:"",
|
||||
userNm:"",
|
||||
userPwd1:"",
|
||||
userPwd2:"",
|
||||
code:"",
|
||||
userTotalCnt:0,
|
||||
}
|
||||
@@ -133,7 +123,6 @@ export default {
|
||||
async memberInsert(){
|
||||
this.row.adminId = this.adminId;
|
||||
this.row.userId = this.userId;
|
||||
this.row.userPw = this.userPwd1;
|
||||
this.row.userNm = this.userNm;
|
||||
this.row.userEmail = this.email;
|
||||
this.row.mdn = this.mdn;
|
||||
@@ -185,43 +174,6 @@ export default {
|
||||
// Object.assign(this.$data, this.$options.data());
|
||||
// this.adminId = targetAdminId;
|
||||
// },
|
||||
doPwdValidate(){
|
||||
|
||||
if(this.isNull(this.userPwd2)){
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '비밀번호 확인을 입력해 주세요.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs._pwd2.focus();
|
||||
return false;
|
||||
}
|
||||
if(!lodash.isEqual(this.userPwd1, this.userPwd2)){
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '비밀번호가 일치하지 않습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs._pwd2.focus();
|
||||
return false;
|
||||
}
|
||||
const pwdLen = this.bytes(this.userPwd1);
|
||||
if(!(pwdLen >= 8 && pwdLen <= 16)){
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs._pwd1.focus();
|
||||
return false;
|
||||
}
|
||||
const pEng = /[A-Za-z]/g; // 영문자
|
||||
const pNum = /[0-9]/g; // 숫자
|
||||
const pSpc = /[!@$%^&*]/g; // 특수문자
|
||||
if(!(pEng.test(this.userPwd1) && pNum.test(this.userPwd1) && pSpc.test(this.userPwd1))) {
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs._pwd1.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
},
|
||||
doValidate(){
|
||||
if(this.userTotalCnt >= 100){
|
||||
// 사용자등록제한_최대100개까지
|
||||
@@ -237,28 +189,6 @@ export default {
|
||||
return false;
|
||||
}
|
||||
|
||||
if(this.isNull(this.userPwd1)){
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '비밀번호를 입력해 주세요.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs.__pwd1.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if(this.isNull(this.userPwd2)){
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '비밀번호 확인을 입력해 주세요.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs.__pwd2.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!this.isNull(this.userPwd1)){
|
||||
if(!this.doPwdValidate()){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if(this.isNull(this.userNm)){
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '이름을 입력해 주세요.';
|
||||
|
||||
@@ -7,7 +7,13 @@
|
||||
</div>
|
||||
|
||||
<div class="table table_form">
|
||||
<form autocomplete="off">
|
||||
<form action=""
|
||||
target="_blank"
|
||||
method="post"
|
||||
ref="form">
|
||||
<input type="hidden" name="svcUserId" id="svcUserId" v-model="svcUserId"/>
|
||||
<input type="hidden" name="ezSvcUserAuthKey" id="ezSvcUserAuthKey" v-model="ezSvcUserAuthKey"/>
|
||||
</form>
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width:140px">
|
||||
@@ -32,7 +38,7 @@
|
||||
<th>ID</th>
|
||||
<td colspan="2">
|
||||
{{userId}}
|
||||
<button type="button" class="button grey btn-a">로그인</button>
|
||||
<button type="button" class="button grey btn-a" @click="homeLogin">로그인</button>
|
||||
</td>
|
||||
<th class="center">관리자명</th>
|
||||
<td colspan="2">{{adminId}} / {{adminNm}}</td>
|
||||
@@ -81,7 +87,7 @@
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -149,7 +155,6 @@
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@@ -188,7 +193,8 @@ export default {
|
||||
email: '',
|
||||
userTotalCnt:0,
|
||||
selected: [],
|
||||
|
||||
svcUserId:'',
|
||||
ezSvcUserAuthKey:''
|
||||
}
|
||||
},
|
||||
props: {
|
||||
@@ -206,8 +212,6 @@ export default {
|
||||
},
|
||||
created(){
|
||||
this.memberDetail(this.$route.params.serviceId);
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
},
|
||||
destroyed() {
|
||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||
@@ -243,138 +247,145 @@ export default {
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
valAlert(props){
|
||||
valAlert(props){
|
||||
//alert("호출됨!");
|
||||
this.$refs.commmonModal.alertModalOpen(props);
|
||||
},
|
||||
valConfirm(props){
|
||||
this.$refs.commmonModal.confirmModalOpen(props);
|
||||
},
|
||||
async memberDetail(serviceId){
|
||||
this.row.userId = serviceId;
|
||||
try {
|
||||
const response = await custMgtApi.memberAdminDetail(this.row);
|
||||
const result = response.data;
|
||||
if (result != null && result.retCode == "0000") {
|
||||
this.formReset();
|
||||
this.userNm = result.data.userNm;
|
||||
this.userId = result.data.userId;
|
||||
this.regDt = result.data.regDt;
|
||||
this.userType = result.data.userType;
|
||||
this.adminId = result.data.adminId;
|
||||
this.adminNm = result.data.adminNm;
|
||||
this.sendingLimit = result.data.sendingLimit;
|
||||
this.lineType = result.data.lineType;
|
||||
this.userStat = result.data.userStat;
|
||||
this.lastLoginDt = result.data.lastLoginDt;
|
||||
this.memo = result.data.memo;
|
||||
this.mdn = result.data.mdn;
|
||||
this.email = result.data.email;
|
||||
this.list = result.data.list;
|
||||
this.userTotalCnt = result.data.list.length;
|
||||
console.log('userTotalCnt:'+result.data.list.length);
|
||||
this.totalItems = result.data.paging.totalCnt;
|
||||
}
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '실패 하였습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
}
|
||||
|
||||
},
|
||||
async updateAdminInfoTotal(){
|
||||
|
||||
this.row.userId = this.adminId;
|
||||
this.row.sendingLimit = this.sendingLimit;
|
||||
this.row.lineType = this.lineType;
|
||||
this.row.userStat = this.userStat;
|
||||
this.row.memo = this.memo;
|
||||
|
||||
console.log(this.row);
|
||||
|
||||
try {
|
||||
const response = await custMgtApi.updateAdminInfoTotal(this.row);
|
||||
const result = response.data;
|
||||
if (result != null && result.retCode == "0000") {
|
||||
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '저장 하였습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
|
||||
}else if(result != null && result.retCode == "4019"){
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '발송한도금액이 정액한도금액보다 작습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
}else {
|
||||
valConfirm(props){
|
||||
this.$refs.commmonModal.confirmModalOpen(props);
|
||||
},
|
||||
async memberDetail(serviceId){
|
||||
this.row.userId = serviceId;
|
||||
try {
|
||||
const response = await custMgtApi.memberAdminDetail(this.row);
|
||||
const result = response.data;
|
||||
if (result != null && result.retCode == "0000") {
|
||||
this.formReset();
|
||||
this.userNm = result.data.userNm;
|
||||
this.userId = result.data.userId;
|
||||
this.regDt = result.data.regDt;
|
||||
this.userType = result.data.userType;
|
||||
this.adminId = result.data.adminId;
|
||||
this.adminNm = result.data.adminNm;
|
||||
this.sendingLimit = result.data.sendingLimit.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||
this.lineType = result.data.lineType;
|
||||
this.userStat = result.data.userStat;
|
||||
this.lastLoginDt = result.data.lastLoginDt;
|
||||
this.memo = result.data.memo;
|
||||
this.mdn = result.data.mdn;
|
||||
this.email = result.data.email;
|
||||
this.list = result.data.list;
|
||||
this.userTotalCnt = result.data.list.length;
|
||||
console.log('userTotalCnt:'+result.data.list.length);
|
||||
this.totalItems = result.data.paging.totalCnt;
|
||||
}
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '실패 하였습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
}
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '실패 하였습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
// 저장 후 부모창 호출.
|
||||
toComplete(){
|
||||
this.$router.push({ name: 'memberList', params: this.row });
|
||||
},
|
||||
excelPopOpen() {
|
||||
console.log(this.adminId);
|
||||
this.$refs.memberBulkRegPop.excelPopOpen(this.adminId, this.totalItems);
|
||||
},
|
||||
memberUpdatePopOpen(target) {
|
||||
this.row.userId = target;
|
||||
this.row.adminId = this.adminId;
|
||||
this.$refs.memberModifyPop.memberUpdateModalOpen(this.row);
|
||||
},
|
||||
memberInsertPopOpen() {
|
||||
this.row.adminId = this.adminId;
|
||||
this.row.userTotalCnt = this.userTotalCnt;
|
||||
this.$refs.memberRegPop.memberInsertModalOpen(this.row);
|
||||
},
|
||||
memoTotalPopOpen(){
|
||||
this.row.adminId = this.adminId;
|
||||
this.$refs.memoTatalListPop.memoTotalModalOpen(this.row);
|
||||
},
|
||||
async memberDelete(){
|
||||
async updateAdminInfoTotal(){
|
||||
|
||||
this.row.userId = this.adminId;
|
||||
this.row.sendingLimit = this.sendingLimit;
|
||||
this.row.lineType = this.lineType;
|
||||
this.row.userStat = this.userStat;
|
||||
this.row.memo = this.memo;
|
||||
|
||||
console.log(this.row);
|
||||
|
||||
try {
|
||||
const response = await custMgtApi.updateAdminInfoTotal(this.row);
|
||||
const result = response.data;
|
||||
if (result != null && result.retCode == "0000") {
|
||||
|
||||
if(window.confirm('삭제 하시겠습니까?')){
|
||||
var serviceId = this.adminId;
|
||||
this.row.list = this.selected.map((row)=>({userId:row}));
|
||||
this.row.adminId = this.adminId;
|
||||
console.log(this.row);
|
||||
try {
|
||||
let response = await custMgtApi.deleteUser(this.row);
|
||||
const result = response.data;
|
||||
if (result != null && result.retCode == "0000") {
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '저장 하였습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.memberDetail(serviceId);
|
||||
}
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
|
||||
}else if(result != null && result.retCode == "4019"){
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '발송한도금액이 정액한도금액보다 작습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
}else {
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '실패 하였습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
}
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '실패 하였습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
}
|
||||
}
|
||||
},
|
||||
setAuthData() {
|
||||
// 권한 옵션.
|
||||
api.commAuth().then(response => {
|
||||
this.authType = response.data.data.list;
|
||||
});
|
||||
},
|
||||
formReset(){
|
||||
Object.assign(this.$data, this.$options.data());
|
||||
},
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
// 저장 후 부모창 호출.
|
||||
toComplete(){
|
||||
this.$router.push({ name: 'memberList', params: this.row });
|
||||
},
|
||||
excelPopOpen() {
|
||||
console.log(this.adminId);
|
||||
this.$refs.memberBulkRegPop.excelPopOpen(this.adminId, this.totalItems);
|
||||
},
|
||||
memberUpdatePopOpen(target) {
|
||||
this.row.userId = target;
|
||||
this.row.adminId = this.adminId;
|
||||
this.$refs.memberModifyPop.memberUpdateModalOpen(this.row);
|
||||
},
|
||||
memberInsertPopOpen() {
|
||||
this.row.adminId = this.adminId;
|
||||
this.row.userTotalCnt = this.userTotalCnt;
|
||||
this.$refs.memberRegPop.memberInsertModalOpen(this.row);
|
||||
},
|
||||
memoTotalPopOpen(){
|
||||
this.row.adminId = this.adminId;
|
||||
this.$refs.memoTatalListPop.memoTotalModalOpen(this.row);
|
||||
},
|
||||
async memberDelete(){
|
||||
|
||||
if(window.confirm('삭제 하시겠습니까?')){
|
||||
var serviceId = this.adminId;
|
||||
this.row.list = this.selected.map((row)=>({userId:row}));
|
||||
this.row.adminId = this.adminId;
|
||||
console.log(this.row);
|
||||
try {
|
||||
let response = await custMgtApi.deleteUser(this.row);
|
||||
const result = response.data;
|
||||
if (result != null && result.retCode == "0000") {
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '저장 하였습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.memberDetail(serviceId);
|
||||
}
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '실패 하였습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
}
|
||||
}
|
||||
},
|
||||
setAuthData() {
|
||||
// 권한 옵션.
|
||||
api.commAuth().then(response => {
|
||||
this.authType = response.data.data.list;
|
||||
});
|
||||
},
|
||||
formReset(){
|
||||
Object.assign(this.$data, this.$options.data());
|
||||
},
|
||||
homeLogin(){
|
||||
console.log(process.env.VUE_APP_HOME_PAGE_URL)
|
||||
console.log(process.env.VUE_APP_AUTHKEY)
|
||||
this.$refs.form.action = process.env.VUE_APP_HOME_PAGE_URL
|
||||
this.svcUserId = this.userId
|
||||
this.ezSvcUserAuthKey = process.env.VUE_APP_AUTHKEY
|
||||
this.$refs.form.submit()
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@@ -7,7 +7,13 @@
|
||||
</div>
|
||||
|
||||
<div class="table table_form">
|
||||
<form autocomplete="off">
|
||||
<form action=""
|
||||
target="_blank"
|
||||
method="post"
|
||||
ref="form">
|
||||
<input type="hidden" name="svcUserId" id="svcUserId" v-model="svcUserId"/>
|
||||
<input type="hidden" name="ezSvcUserAuthKey" id="ezSvcUserAuthKey" v-model="ezSvcUserAuthKey"/>
|
||||
</form>
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width:140px">
|
||||
@@ -34,7 +40,7 @@
|
||||
<th>ID</th>
|
||||
<td colspan="2">
|
||||
{{userId}}
|
||||
<button type="button" class="button grey btn-a">로그인</button>
|
||||
<button type="button" class="button grey btn-a" @click="homeLogin">로그인</button>
|
||||
</td>
|
||||
<th class="center">구분</th>
|
||||
<td colspan="2">{{userType}}</td>
|
||||
@@ -62,7 +68,6 @@
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="pop-btn2">
|
||||
@@ -112,6 +117,8 @@ export default {
|
||||
mdn : '',
|
||||
email: '',
|
||||
stat:'',
|
||||
svcUserId:'',
|
||||
ezSvcUserAuthKey:''
|
||||
|
||||
}
|
||||
},
|
||||
@@ -127,8 +134,6 @@ export default {
|
||||
},
|
||||
created(){
|
||||
this.memberDetail(this.$route.params.serviceId);
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
},
|
||||
destroyed() {
|
||||
|
||||
@@ -266,6 +271,14 @@ export default {
|
||||
//this.email = '';
|
||||
this.$refs._email.focus();
|
||||
},
|
||||
homeLogin(){
|
||||
console.log(process.env.VUE_APP_HOME_PAGE_URL)
|
||||
console.log(process.env.VUE_APP_AUTHKEY)
|
||||
this.$refs.form.action = process.env.VUE_APP_HOME_PAGE_URL
|
||||
this.svcUserId = this.userId
|
||||
this.ezSvcUserAuthKey = process.env.VUE_APP_AUTHKEY
|
||||
this.$refs.form.submit()
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
@@ -210,8 +210,6 @@ export default {
|
||||
vuejsDatepicker,
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
this.setCodeData();
|
||||
this.setPeriodDay(0);
|
||||
},
|
||||
@@ -249,10 +247,24 @@ export default {
|
||||
}
|
||||
this.search(isKeep);
|
||||
},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
|
||||
const getP = this.$refs.table.getPagination();
|
||||
console.log("==========getP : " + getP._currentPage);
|
||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||
page: getP._currentPage,
|
||||
perPage: this.perPageCnt,
|
||||
params: this.grid.params
|
||||
});
|
||||
// 라우트 하기전 실행
|
||||
next();
|
||||
},
|
||||
methods: {
|
||||
search: function(isKeep) {
|
||||
this.grid.params.startDt = moment(this.startDate).format('YYYYMMDD');
|
||||
this.grid.params.endDt = moment(this.endDate).format('YYYYMMDD');
|
||||
console.log('this.perPageCnt'+this.perPageCnt);
|
||||
//console.log(this.grid.params);
|
||||
console.log(this.grid.params);
|
||||
this.$refs.table.search(this.grid.params, isKeep);
|
||||
this.sendStoreData();
|
||||
},
|
||||
@@ -302,9 +314,10 @@ export default {
|
||||
setPeriodDay(day) {
|
||||
this.periodDay = day;
|
||||
this.endDate = new Date();
|
||||
this.startDate = moment(this.endDate)
|
||||
.subtract(day, 'day')
|
||||
.toDate();
|
||||
//this.startDate = moment(this.endDate)
|
||||
// .subtract(day, 'day')
|
||||
// .toDate();
|
||||
this.initSetStartDate();
|
||||
|
||||
this.closeDate('start');
|
||||
this.closeDate('end');
|
||||
@@ -345,18 +358,14 @@ export default {
|
||||
return moment(date).format('YYYY-MM-DD');
|
||||
}
|
||||
},
|
||||
initSetStartDate(){
|
||||
let setYear = Number(moment(new Date()).format('YYYY'));
|
||||
let initStartDate = new Date(setYear, 0, 1);
|
||||
this.startDate = initStartDate;
|
||||
console.log(moment(this.startDate).format('YYYY-MM-DD'));
|
||||
},
|
||||
},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
|
||||
const getP = this.$refs.table.getPagination();
|
||||
console.log("==========getP : " + getP._currentPage);
|
||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||
page: getP._currentPage,
|
||||
perPage: this.perPageCnt,
|
||||
params: this.grid.params
|
||||
});
|
||||
// 라우트 하기전 실행
|
||||
next();
|
||||
},
|
||||
|
||||
|
||||
};
|
||||
</script>
|
||||
@@ -239,8 +239,6 @@ export default {
|
||||
commonModal,
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
console.log(this.$route.params.serviceId);
|
||||
this.subsDetail(this.$route.params.serviceId);
|
||||
// checkVaildBizNum
|
||||
|
||||
@@ -219,13 +219,25 @@ export default {
|
||||
vuejsDatepicker,
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
|
||||
this.setCodeData();
|
||||
this.getExcelHeader();
|
||||
this.setPeriodDay(0);
|
||||
|
||||
},
|
||||
destroyed() {
|
||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||
page: 1,
|
||||
perPage: 50,
|
||||
params: {
|
||||
searchType1: '',
|
||||
searchType2: '',
|
||||
searchType3: '',
|
||||
searchText1: '',
|
||||
startDt: '',
|
||||
endDt: ''
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
mounted() {
|
||||
@@ -260,8 +272,10 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
search: function(isKeep) {
|
||||
this.grid.params.startDt = moment(this.startDate).format('YYYYMMDD');
|
||||
this.grid.params.endDt = moment(this.endDate).format('YYYYMMDD');
|
||||
console.log('this.perPageCnt'+this.perPageCnt);
|
||||
//console.log(this.grid.params);
|
||||
console.log(this.grid.params);
|
||||
this.$refs.table.search(this.grid.params, isKeep);
|
||||
this.sendStoreData();
|
||||
},
|
||||
@@ -351,9 +365,10 @@ export default {
|
||||
setPeriodDay(day) {
|
||||
this.periodDay = day;
|
||||
this.endDate = new Date();
|
||||
this.startDate = moment(this.endDate)
|
||||
.subtract(day, 'day')
|
||||
.toDate();
|
||||
// this.startDate = moment(this.endDate)
|
||||
// .subtract(day, 'day')
|
||||
// .toDate();
|
||||
this.initSetStartDate();
|
||||
|
||||
this.closeDate('start');
|
||||
this.closeDate('end');
|
||||
@@ -394,6 +409,12 @@ export default {
|
||||
return moment(date).format('YYYY-MM-DD');
|
||||
}
|
||||
},
|
||||
initSetStartDate(){
|
||||
let setYear = Number(moment(new Date()).format('YYYY'));
|
||||
let initStartDate = new Date(setYear, 0, 1);
|
||||
this.startDate = initStartDate;
|
||||
console.log(moment(this.startDate).format('YYYY-MM-DD'));
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
@@ -3,6 +3,8 @@ const state = {
|
||||
isLogin: false,
|
||||
isErrorPage: false,
|
||||
isAuthChk: false,
|
||||
userId:null,
|
||||
userNm:null,
|
||||
pwd: null
|
||||
};
|
||||
|
||||
@@ -11,6 +13,8 @@ const getters = {
|
||||
isLogin: state => state.isLogin,
|
||||
isErrorPage: state => state.isErrorPage,
|
||||
isAuthChk: state => state.isAuthChk,
|
||||
userId: state => state.userId,
|
||||
userNm: state => state.userNm,
|
||||
getPwd: state => state.pwd,
|
||||
};
|
||||
|
||||
@@ -38,6 +42,12 @@ const mutations = {
|
||||
savePwd: (state, value) => {
|
||||
state.pwd = value;
|
||||
},
|
||||
userId: (state, value) => {
|
||||
state.userId = value;
|
||||
},
|
||||
userNm: (state, value) => {
|
||||
state.userNm = value;
|
||||
}
|
||||
};
|
||||
|
||||
const actions = {
|
||||
|
||||
@@ -65,7 +65,8 @@ export default {
|
||||
confirmNum: '',
|
||||
userId: '',
|
||||
isAuthNum: false,
|
||||
isLogin: true,
|
||||
isLogin: false,
|
||||
isAuth: false,
|
||||
pwd: '',
|
||||
text: '',
|
||||
number: '',
|
||||
@@ -79,15 +80,15 @@ export default {
|
||||
,commonModal
|
||||
},
|
||||
created() {
|
||||
if(!!tokenSvc.getToken()){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
this.$router.push({ path: '/' });
|
||||
}else{
|
||||
if(!this.getLogin){
|
||||
this.$router.push({ path: '/login' });
|
||||
}
|
||||
}
|
||||
// if(!!tokenSvc.getToken()){
|
||||
// this.$store.commit("login/isLogin", true);
|
||||
// this.$store.commit("login/isAuthChk", true);
|
||||
// this.$router.push({ path: '/' });
|
||||
// }else{
|
||||
// if(!this.getLogin){
|
||||
// this.$router.push({ path: '/login' });
|
||||
// }
|
||||
// }
|
||||
},
|
||||
mounted() {
|
||||
if (localStorage.hubwebUserId) {
|
||||
@@ -116,6 +117,13 @@ export default {
|
||||
if(data != null && data != ''){
|
||||
this.pwd = data;
|
||||
}
|
||||
},
|
||||
getAuthChk(data){
|
||||
if (data != null && data != '' && data == true) {
|
||||
this.isAuth = true;
|
||||
} else {
|
||||
this.isAuth = false;
|
||||
}
|
||||
}
|
||||
},
|
||||
destroyed() {
|
||||
@@ -216,11 +224,13 @@ export default {
|
||||
try {
|
||||
const response = await api.confirmNum(params)
|
||||
const rsp = response.data;
|
||||
console.log("RESULT_CODE : "+rsp.retCode);
|
||||
console.log("LOGIN ßRESUßLT_CODE : "+rsp.retCode);
|
||||
console.log(rsp);
|
||||
if(rsp.retCode == '0000'){
|
||||
vm.$store.commit("login/isLogin", true);
|
||||
//var nextUrl = rsp.data.nextUrl;
|
||||
//vm.$router.push({ path: nextUrl});
|
||||
vm.$store.commit("login/isAuthChk", true);
|
||||
vm.$store.commit("login/userId", rsp.data.userId)
|
||||
vm.$store.commit("login/userNm", rsp.data.userNm)
|
||||
vm.$router.push({ path: '/'});
|
||||
}else if (rsp.retCode == '4008'){
|
||||
this.row.title = '휴대폰번호 확인';
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
<template>
|
||||
<div class="wrap bg-wrap">
|
||||
<div class="login-box adm-login">
|
||||
<div class="wbox">
|
||||
<div class="logo"></div>
|
||||
@@ -23,10 +22,9 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<login-popup ref="LoginPopup"> </login-popup>
|
||||
<common-modal ref="commmonModal"></common-modal>
|
||||
</div>
|
||||
<common-modal ref="commonModal"></common-modal>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@@ -92,13 +90,13 @@ export default {
|
||||
if (!this.userId){
|
||||
this.row.title = '로그인 실패';
|
||||
this.row.msg1 = '아이디,비밀번호를 확인해주세요.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs.commonModal.alertModalOpen(this.row);
|
||||
return false;
|
||||
}
|
||||
if (!this.userPwd){
|
||||
this.row.title = '비밀번호 오류';
|
||||
this.row.msg1 = '비밀번호를 확인해주세요.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs.commonModal.alertModalOpen(this.row);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -128,28 +126,29 @@ export default {
|
||||
this.row.title = '로그인 실패';
|
||||
this.row.msg1 = '등록되지 않은 아이디입니다.';
|
||||
this.row.msg2 = '아이디를 다시 확인하세요';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs.commonModal.alertModalOpen(this.row);
|
||||
} else if(rsp.retCode == '4004') { // ID/PWD 불일치
|
||||
this.row.title = '비밀번호 오류';
|
||||
this.row.msg1 = '비밀번호를 확인해주세요.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs.commonModal.alertModalOpen(this.row);
|
||||
} else if(rsp.retCode == '4005') { // ID/PWD 불일치 횟수초과로 계정 잠김 4005
|
||||
this.row.title = '로그인 실패';
|
||||
this.row.msg1 = '로그인 5회 실패하였습니다.';
|
||||
this.row.msg2 = '비밀번호 초기화 후 비밀번호를 변경해 주세요.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs.commonModal.alertModalOpen(this.row);
|
||||
} else if(rsp.retCode == '4006') {
|
||||
// msg = '비밀번호를 변경하신지 90일이 지났습니다.\n비밀번호 변경 화면으로 이동합니다.';
|
||||
this.row.title = '로그인 실패';
|
||||
this.row.msg1 = '비밀번호를 변경하지 않은지 90일이';
|
||||
this.row.msg2 = '지났습니다. 비밀번호를 변경하여';
|
||||
this.row.msg3 = '이용 부탁드립니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
vm.$router.push({ name: 'updatePassword',params: {userId : oprtrId}});
|
||||
this.$refs.commonModal.alertModalOpen(this.row);
|
||||
} else if(rsp.retCode == '4007') {
|
||||
this.row.title = '로그인 실패';
|
||||
this.row.msg1 = '아이디 상태를 확인해 주세요.';
|
||||
this.row.msg2 = '(사용중인 상태만 로그인 가능합니다.)';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs.commonModal.alertModalOpen(this.row);
|
||||
} else {
|
||||
vm.$store.commit("login/isLogin", false);
|
||||
return;
|
||||
|
||||
@@ -26,8 +26,8 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<common-modal ref="commonModal"></common-modal>
|
||||
<login-popup ref="LoginPopup"> </login-popup>
|
||||
<common-modal ref="commmonModal"></common-modal>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -44,6 +44,7 @@ export default {
|
||||
return {
|
||||
errors: [],
|
||||
userId: '',
|
||||
row:{},
|
||||
}
|
||||
},
|
||||
created() {
|
||||
@@ -61,7 +62,7 @@ export default {
|
||||
if (!this.userId) {
|
||||
this.row.title = '아이디 오류';
|
||||
this.row.msg1 = '아이디를 입력해 주세요.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs.commonModal.alertModalOpen(this.row);
|
||||
// this.errors.push('아이디를 입력해 주세요.');
|
||||
}
|
||||
|
||||
@@ -89,7 +90,7 @@ export default {
|
||||
this.row.title = '비밀번호 초기화';
|
||||
this.row.msg1 = '해당 아이디에 저장되어 있는 핸드폰번호로';
|
||||
this.row.msg2 = '비밀번호 초기화 문자가 발송되었습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs.commonModal.alertModalOpen(this.row);
|
||||
// vm.ModalOpen('modal12');
|
||||
//vm.$router.push({ path : 'view/login'});
|
||||
|
||||
@@ -97,7 +98,7 @@ export default {
|
||||
this.row.title = '비밀번호 초기화';
|
||||
this.row.msg1 = '등록되지 않은 아이디입니다.';
|
||||
this.row.msg2 = '아이디를 다시 확인하세요.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs.commonModal.alertModalOpen(this.row);
|
||||
// vm.ModalOpen('modal13');
|
||||
}
|
||||
// document.getElementsByClassName('modal12')[0].getElementsByClassName('btn-pcolor')[0].addEventListener('click',() => {
|
||||
@@ -106,7 +107,7 @@ export default {
|
||||
//alert("실패 하였습니다.");
|
||||
this.row.title = '비밀번호 초기화';
|
||||
this.row.msg1 = '실패 하였습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs.commonModal.alertModalOpen(this.row);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<common-modal ref="commonModal"></common-modal>
|
||||
<login-popup ref="LoginPopup"> </login-popup>
|
||||
<common-modal ref="commmonModal"></common-modal>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -43,6 +43,7 @@ export default {
|
||||
newPw: '',
|
||||
newPw2: '',
|
||||
passwordValidFlag: true,
|
||||
row: {},
|
||||
};
|
||||
},
|
||||
|
||||
@@ -114,14 +115,14 @@ export default {
|
||||
if(lodash.isNil(this.newPw)){
|
||||
this.row.title = '비밀번호 변경';
|
||||
this.row.msg1 = '비밀번호 확인을 입력해 주세요.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs.commonModal.alertModalOpen(this.row);
|
||||
this.$refs._newPw2.focus();
|
||||
return false;
|
||||
}
|
||||
if(!lodash.isEqual(this.newPw, this.newPw2)){
|
||||
this.row.title = '비밀번호 변경';
|
||||
this.row.msg1 = '비밀번호가 일치하지 않습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs.commonModal.alertModalOpen(this.row);
|
||||
this.$refs._newPw2.focus();
|
||||
return false;
|
||||
}
|
||||
@@ -129,7 +130,7 @@ export default {
|
||||
if(!(pwdLen >= 8 && pwdLen <= 16)){
|
||||
this.row.title = '비밀번호 변경';
|
||||
this.row.msg1 = '비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs.commonModal.alertModalOpen(this.row);
|
||||
this.$refs._newPw2.focus();
|
||||
return false;
|
||||
}
|
||||
@@ -139,7 +140,7 @@ export default {
|
||||
if(!(pEng.test(this.newPw) && pNum.test(this.newPw) && pSpc.test(this.newPw))) {
|
||||
this.row.title = '비밀번호 변경';
|
||||
this.row.msg1 = '비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs.commonModal.alertModalOpen(this.row);
|
||||
this.$refs._newPw2.focus();
|
||||
return;
|
||||
}
|
||||
@@ -168,27 +169,27 @@ export default {
|
||||
this.row.title = '비밀번호 변경';
|
||||
this.row.msg1 = '비밀번호가 정상적으로 변경되었습니다.';
|
||||
this.row.msg2 = '변경된 비밀번호로 다시 로그인 해주세요.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs.commonModal.alertModalOpen(this.row);
|
||||
// if(vm.ModalOpen('modal16')){
|
||||
vm.$router.push({ path: '/login' });
|
||||
// }
|
||||
} else if(rsp.retCode == '4016') {
|
||||
this.row.title = '비밀번호 변경';
|
||||
this.row.msg1 = '비밀번호를 확인해주세요.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs.commonModal.alertModalOpen(this.row);
|
||||
// vm.ModalOpen('modal14')
|
||||
} else if(rsp.retCode == '4017') {
|
||||
this.row.title = '비밀번호 오류';
|
||||
this.row.msg1 = '비밀번호를 사용할 수 없습니다.';
|
||||
this.row.msg2 = '비밀번호는 영문/숫자/특수기호를 혼합하여';
|
||||
this.row.msg3 = '8~16자리로 설정해주세요.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs.commonModal.alertModalOpen(this.row);
|
||||
// vm.ModalOpen('modal15')
|
||||
} else if(rsp.retCode == '4003') {
|
||||
this.row.title = '아이디 오류';
|
||||
this.row.msg1 = '등록되지 않은 아이디입니다.';
|
||||
this.row.msg1 = '아이디를 다시 확인하세요';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs.commonModal.alertModalOpen(this.row);
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
@@ -285,6 +285,10 @@ const utils_mixin = {
|
||||
var strRegExp = '^[A-Za-z0-9_\.\-]*$';
|
||||
return this.onlyCommon(strRegExp, e, len, isEventCall);
|
||||
},
|
||||
onlyHen: function (e, len, isEventCall) {
|
||||
var strRegExp = '^[ㄱ-ㅎ|가-힣|a-z|A-Z|0-9|]*$';
|
||||
return this.onlyCommon(strRegExp, e, len, isEventCall);
|
||||
},
|
||||
onlyIp: function (e, len, isEventCall) {
|
||||
var strRegExp = '^[0-9,.*]*$';
|
||||
return this.onlyCommon(strRegExp, e, len, isEventCall);
|
||||
|
||||
@@ -227,8 +227,6 @@ export default {
|
||||
customGrid: customGrid
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
this.getLiveSendSttus();
|
||||
this.timer = setInterval(this.getLiveSendSttus, this.selectedKey * 1000 * 60)
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
<div class="select_box id">
|
||||
<label for="right" class="label">요청채널</label>
|
||||
<select name="" id="" v-model="grid.params.searchType1" @keyup.enter="search">
|
||||
<option value="ALL" selected>전체</option>
|
||||
<option value="" selected>전체</option>
|
||||
<option value="SMS">SMS</option>
|
||||
<option value="LMS">LMS</option>
|
||||
<option value="MMS">MMS</option>
|
||||
@@ -39,15 +39,15 @@
|
||||
<div class="group">
|
||||
<div class="input_box essential">
|
||||
<label for="right" class="label"><span>*</span>수신번호</label>
|
||||
<input class="search-box" type="number" id="search" placeholder="- 자 제외 숫자만 입력" v-model="grid.params.searchText1" v-on:keyup="onlyNum" @input="onlyNum" minlength="10" maxlength="11">
|
||||
<input class="search-box" type="number" id="search" placeholder="- 자 제외 숫자만 입력" v-model="grid.params.searchText1" v-on:keyup="onlyNum" @input="onlyNum" minlength="10" maxlength="11" ref="_searchText2">
|
||||
</div>
|
||||
<div class="input_box essential">
|
||||
<label for="right" class="label"><span>*</span>발신번호</label>
|
||||
<input class="search-box" type="number" id="search" placeholder="- 자 제외 숫자만 입력" v-model="grid.params.searchText2" v-on:keyup="onlyNum" @input="onlyNum" minlength="10" maxlength="11">
|
||||
<input class="search-box" type="number" id="search" placeholder="- 자 제외 숫자만 입력" v-model="grid.params.searchText2" v-on:keyup="onlyNum" @input="onlyNum" minlength="10" maxlength="11" ref="_searchText2">
|
||||
</div>
|
||||
<div class="input_box">
|
||||
<label for="right" class="label">고객사명</label>
|
||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.searchText3" >
|
||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.searchText3" ref="_searchText3">
|
||||
</div>
|
||||
<button type="button" class="button grey" @click="search">조회</button>
|
||||
</div>
|
||||
@@ -184,7 +184,7 @@ export default {
|
||||
],
|
||||
noDataStr: '검색 결과가 없습니다.',
|
||||
params: {
|
||||
searchType1: 'ALL',
|
||||
searchType1: '',
|
||||
searchText1: '',
|
||||
searchText2: '',
|
||||
searchText3: '',
|
||||
@@ -199,9 +199,7 @@ export default {
|
||||
commonModal,
|
||||
vuejsDatepicker,
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
created(){
|
||||
// this.setCodeData();
|
||||
// this.getExcelHeader();
|
||||
this.setPeriodDay(0);
|
||||
@@ -211,6 +209,8 @@ export default {
|
||||
|
||||
},
|
||||
mounted() {
|
||||
this.grid.params.searchType1 = 'ALL';
|
||||
|
||||
let page = 1;
|
||||
// 페이지 정보 및 검색 조건
|
||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||
@@ -240,12 +240,7 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
search: function(isKeep) {
|
||||
// 발송일자 필수입력체크
|
||||
|
||||
// 수신번호 필수입력체크
|
||||
|
||||
// 발신번호 필수입력체크
|
||||
|
||||
this.doValidate();
|
||||
this.grid.params.sentDate = moment(this.startDate).format('YYYYMMDD');
|
||||
this.grid.params.reqChennel = this.grid.params.searchType1;
|
||||
this.grid.params.phone = this.grid.params.searchText1;
|
||||
@@ -316,6 +311,34 @@ export default {
|
||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||
console.log("getCondition : "+ getCondition.perPage);
|
||||
},
|
||||
doValidate(){
|
||||
// 발송일자 필수입력체크
|
||||
if(this.isNull(this.startDate)) {
|
||||
this.row.title = '발송내역';
|
||||
this.row.msg1 = '발송일을 선택해 주세요.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
return false;
|
||||
}
|
||||
|
||||
// 수신번호 필수입력체크
|
||||
if(this.isNull(this.grid.params.searchText1)) {
|
||||
this.row.title = '발송내역';
|
||||
this.row.msg1 = '수신번호를 입력해 주세요.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs._searchText1.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 발신번호 필수입력체크
|
||||
if(this.isNull(this.grid.params.searchText2)) {
|
||||
this.row.title = '발송내역';
|
||||
this.row.msg1 = '수신번호를 입력해 주세요.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs._searchText2.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@@ -20,13 +20,18 @@
|
||||
<th>발송타입</th>
|
||||
<td v-if="code === null || code === ''">
|
||||
<div v:class="select_box">
|
||||
<select name="" id="right" v-model.trim="sndblckTpCd" ref="sndblckTpCd">
|
||||
<option v-for="(option, i) in tpType"
|
||||
:value="sndblckTpCd"
|
||||
v-bind:key="i"
|
||||
>
|
||||
<select name="" id="right" v-model.trim="sndblckTpCd" ref="sndblckTpCd" @keyup.enter="search">
|
||||
<option v-for="(option, i) in tpType" :value="option.code" v-bind:key="i">
|
||||
{{ option.codeNm }}
|
||||
</option>
|
||||
<!--
|
||||
<option v-for="(option, i) in tpType"
|
||||
:v-bind:value="option.grpCd"
|
||||
v-bind:key="i"
|
||||
:selected="code === option.grpCd"
|
||||
>
|
||||
{{ option.codeNm }}
|
||||
</option> -->
|
||||
<!-- <option value="">문자</option>
|
||||
<option value="">RCS</option> -->
|
||||
</select>
|
||||
@@ -36,9 +41,9 @@
|
||||
<tr>
|
||||
<th>차단사유</th>
|
||||
<td>
|
||||
<div>
|
||||
<div>
|
||||
<select name="" id="" v-model.trim="blckRsnCd" ref="blckRsnCd">
|
||||
<option v-for="(option, i) in rsnType" :value="blckRsnCd" v-bind:key="i">
|
||||
<option v-for="(option, i) in rsnType" :value="option.code" v-bind:key="i">
|
||||
{{ option.codeNm }}
|
||||
</option>
|
||||
</select>
|
||||
@@ -47,7 +52,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th>메모</th>
|
||||
<td class="sender"><textarea class="memo_text" v-model.trim="meno" ref="meno"></textarea></td>
|
||||
<td class="sender"><textarea class="memo_text" v-model.trim="meno" ref="meno" @input="memoLimitByte()"></textarea></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -80,11 +85,12 @@ export default {
|
||||
rsnType: [],
|
||||
tpType: [],
|
||||
blckSndrno: '',
|
||||
sndblckTpCd: '',
|
||||
blckRsnCd: '',
|
||||
sndblckTpCd: '01',
|
||||
blckRsnCd: '01',
|
||||
meno: '',
|
||||
code:"",
|
||||
|
||||
LINE_FEED : 10, // '\n',
|
||||
maxByte: 2000,
|
||||
// params: {
|
||||
// 'blckSndrno' : ''
|
||||
// ,'sndblckTpCd' : '01'
|
||||
@@ -94,13 +100,16 @@ export default {
|
||||
}
|
||||
},
|
||||
create(){
|
||||
// this.setCodeDate();
|
||||
this.setCodeDate();
|
||||
this.formReset();
|
||||
},
|
||||
components: {
|
||||
commonModal,
|
||||
ValidationConfirmPopup
|
||||
},
|
||||
mounted(){
|
||||
//this.sndblckTpCd = '01'
|
||||
},
|
||||
components: {
|
||||
commonModal,
|
||||
ValidationConfirmPopup
|
||||
},
|
||||
methods :{
|
||||
//모달 띄우기
|
||||
ModalOpen(){
|
||||
@@ -124,12 +133,19 @@ export default {
|
||||
|
||||
},
|
||||
// 저장 후 부모창 호출
|
||||
toComplete(){z
|
||||
toComplete(){
|
||||
this.$parent.$refs.table.reloadData();
|
||||
this.ModalClose();
|
||||
},
|
||||
async doInsert(){
|
||||
// if(this.doValidate() && this.regisConfirm()){
|
||||
this.row.blckSndrno = this.blckSndrno;
|
||||
this.row.sndblckTpCd = this.sndblckTpCd;
|
||||
this.row.blckRsnCd = this.blckRsnCd;
|
||||
this.row.meno = this.meno;
|
||||
this.regId = 'admin';
|
||||
console.log(this.row);
|
||||
|
||||
try {
|
||||
const response = await riskMgtApi.insertIntrcp(this.row);
|
||||
const result = response.data;
|
||||
@@ -137,8 +153,8 @@ export default {
|
||||
this.row.title = '발신번호 차단';
|
||||
this.row.msg1 = '성공 하였습니다.';
|
||||
this.$parent.alertInsert(this.row);
|
||||
this.toComplete();
|
||||
}
|
||||
this.toComplete();
|
||||
} catch(err) {
|
||||
console.log(err);
|
||||
this.row.title = '발신번호 차단';
|
||||
@@ -188,7 +204,45 @@ export default {
|
||||
if(this.doValidate()){
|
||||
this.$refs.ValidationConfirmPopup.confirmInsertOpen();
|
||||
}
|
||||
},
|
||||
},
|
||||
// 바이트길이 구하기
|
||||
getByteLength: function (decimal) {
|
||||
return (decimal >> 7) || (this.LINE_FEED === decimal) ? 2 : 1
|
||||
},
|
||||
|
||||
getByte: function (str) {
|
||||
return str
|
||||
.split('')
|
||||
.map((s) => s.charCodeAt(0))
|
||||
.reduce((prev, unicodeDecimalValue) => prev + this.getByteLength(unicodeDecimalValue), 0)
|
||||
},
|
||||
getLimitedByteText: function (inputText, maxByte) {
|
||||
const characters = inputText.split('')
|
||||
let validText = ''
|
||||
let totalByte = 0
|
||||
|
||||
for (let i = 0; i < characters.length; i += 1) {
|
||||
const character = characters[i]
|
||||
const decimal = character.charCodeAt(0)
|
||||
const byte = this.getByteLength(decimal) // 글자 한 개가 몇 바이트 길이인지 구해주기
|
||||
|
||||
// 현재까지의 바이트 길이와 더해 최대 바이트 길이를 넘지 않으면
|
||||
if (totalByte + byte <= maxByte) {
|
||||
totalByte += byte // 바이트 길이 값을 더해 현재까지의 총 바이트 길이 값을 구함
|
||||
validText += character // 글자를 더해 현재까지의 총 문자열 값을 구함
|
||||
} else { // 최대 바이트 길이를 넘으면
|
||||
break // for 루프 종료
|
||||
}
|
||||
}
|
||||
|
||||
return validText
|
||||
},
|
||||
|
||||
memoLimitByte() {
|
||||
this.meno = this.getLimitedByteText(this.meno, this.maxByte);
|
||||
|
||||
}, //END 바이트길이 구하기
|
||||
|
||||
},
|
||||
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<tr>
|
||||
<th>차단문구</th>
|
||||
<td class="input_add">
|
||||
<input v-model="word" ref="_word">
|
||||
<input v-model="word" ref="_word" maxlength="50">
|
||||
<button type="button" class="button white add" @click="doAdd"></button>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -43,9 +43,8 @@
|
||||
<div>
|
||||
<select name="" id="" v-model.trim="blckRsnCd" ref="blckRsnCd">
|
||||
<option v-for="(option, i) in rsnType"
|
||||
:value="blckRsnCd"
|
||||
v-bind:key="i"
|
||||
:selected="blckRsnCd === option.code">
|
||||
:value="option.code"
|
||||
v-bind:key="i">
|
||||
{{ option.codeNm }}
|
||||
</option>
|
||||
</select>
|
||||
@@ -54,7 +53,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th>메모</th>
|
||||
<td class="sender"><textarea class="memo_text" v-model.trim="memo" ref="memo"></textarea></td>
|
||||
<td class="sender"><textarea class="memo_text" v-model.trim="memo" ref="memo" ></textarea></td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
@@ -94,9 +93,9 @@ export default {
|
||||
word: '', // 차단문구
|
||||
blckSndrno:'',
|
||||
sndblckTpCd:'',
|
||||
blckRsnCd: '', // 차단사유
|
||||
blckRsnCd: '01', // 차단사유
|
||||
blckYn:'',
|
||||
blckContCd:'', //차단 조건
|
||||
blckContCd:'01', //차단 조건
|
||||
chgDt:'',
|
||||
regId: '',
|
||||
regDt: '',
|
||||
@@ -216,9 +215,10 @@ export default {
|
||||
if(this.doValidate()){
|
||||
this.$refs.ValidationConfirmPopup.msgConfirmInsertOpen();
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
@@ -43,14 +43,14 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th>메모</th>
|
||||
<td><input type="text" value="고객사요청" v-model.trim="meno" ref="meno"></td>
|
||||
<td><input type="text" value="고객사요청" v-model.trim="meno" ref="meno" @input="memoLimitByte()"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>차단여부</th>
|
||||
<td>
|
||||
<input type="radio" name="state" value="해제" id="popup_radio1" checked="">
|
||||
<input type="radio" name="state" value="N" id="popup_radio1" v-model="blckYn">
|
||||
<label for="popup_radio1">해제</label>
|
||||
<input type="radio" name="state" value="차단" id="popup_radio2">
|
||||
<input type="radio" name="state" value="Y" id="popup_radio2" v-model="blckYn">
|
||||
<label for="popup_radio2">차단</label>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -87,11 +87,17 @@ export default {
|
||||
blckRsnCd:'',
|
||||
regId: '',
|
||||
meno: '',
|
||||
LINE_FEED : 10, // '\n',
|
||||
maxByte: 2000,
|
||||
}
|
||||
},
|
||||
components: {
|
||||
ValidationConfirmPopup
|
||||
},
|
||||
created(){
|
||||
this.setCodeDate();
|
||||
// this.formReset();
|
||||
},
|
||||
methods :{
|
||||
// 모달 띄우기
|
||||
async IntrcpDetailModalOpen(props){
|
||||
@@ -161,6 +167,7 @@ export default {
|
||||
try {
|
||||
const response = await riskMgtApi.updateIntrcp(this.row);
|
||||
const result = response.data;
|
||||
console.log(result);
|
||||
if (result != null && result.retCode == "0000") {
|
||||
this.row.title = '발신번호 차단';
|
||||
this.row.msg1 = '수정 하였습니다.';
|
||||
@@ -209,6 +216,48 @@ export default {
|
||||
this.$refs.ValidationConfirmPopup.confirmDeleteOpen();
|
||||
}
|
||||
},
|
||||
// formReset(){
|
||||
// var type= this.insertType;
|
||||
// Object.assign(this.$data, this.$options.data());
|
||||
// this.insertType = type;
|
||||
// },
|
||||
// 바이트길이 구하기
|
||||
getByteLength: function (decimal) {
|
||||
return (decimal >> 7) || (this.LINE_FEED === decimal) ? 2 : 1
|
||||
},
|
||||
|
||||
getByte: function (str) {
|
||||
return str
|
||||
.split('')
|
||||
.map((s) => s.charCodeAt(0))
|
||||
.reduce((prev, unicodeDecimalValue) => prev + this.getByteLength(unicodeDecimalValue), 0)
|
||||
},
|
||||
getLimitedByteText: function (inputText, maxByte) {
|
||||
const characters = inputText.split('')
|
||||
let validText = ''
|
||||
let totalByte = 0
|
||||
|
||||
for (let i = 0; i < characters.length; i += 1) {
|
||||
const character = characters[i]
|
||||
const decimal = character.charCodeAt(0)
|
||||
const byte = this.getByteLength(decimal) // 글자 한 개가 몇 바이트 길이인지 구해주기
|
||||
|
||||
// 현재까지의 바이트 길이와 더해 최대 바이트 길이를 넘지 않으면
|
||||
if (totalByte + byte <= maxByte) {
|
||||
totalByte += byte // 바이트 길이 값을 더해 현재까지의 총 바이트 길이 값을 구함
|
||||
validText += character // 글자를 더해 현재까지의 총 문자열 값을 구함
|
||||
} else { // 최대 바이트 길이를 넘으면
|
||||
break // for 루프 종료
|
||||
}
|
||||
}
|
||||
|
||||
return validText
|
||||
},
|
||||
|
||||
memoLimitByte() {
|
||||
this.meno = this.getLimitedByteText(this.meno, this.maxByte);
|
||||
|
||||
}, //END 바이트길이 구하기
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<tr>
|
||||
<th>차단문구</th>
|
||||
<td class="input_add">
|
||||
<input v-model="word">
|
||||
<input v-model="word" ref="_word">
|
||||
<button type="button" class="button white add" @click="doAdd"></button>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -31,10 +31,10 @@
|
||||
<tr>
|
||||
<th>조건</th>
|
||||
<td>
|
||||
<input type="radio" name="state" value="01" id="popup_radio3" v-model="blckContCd" >
|
||||
<label for="popup_radio3">AND</label>
|
||||
<input type="radio" name="state" value="02" id="popup_radio4" v-model="blckContCd">
|
||||
<label for="popup_radio4">OR</label>
|
||||
<input type="radio" name="state02" value="01" id="popup_radio5" v-model="blckContCd" >
|
||||
<label for="popup_radio5">AND</label>
|
||||
<input type="radio" name="state02" value="02" id="popup_radio6" v-model="blckContCd">
|
||||
<label for="popup_radio6">OR</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -59,9 +59,9 @@
|
||||
<tr>
|
||||
<th>차단여부</th>
|
||||
<td>
|
||||
<input type="radio" name="state01" value="AND" id="popup_radio7">
|
||||
<input type="radio" name="state01" value="N" id="popup_radio7" v-model="blckYn">
|
||||
<label for="popup_radio7">해제</label>
|
||||
<input type="radio" name="state01" value="OR" id="popup_radio8">
|
||||
<input type="radio" name="state01" value="Y" id="popup_radio8" v-model="blckYn">
|
||||
<label for="popup_radio8">차단</label>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -83,7 +83,9 @@
|
||||
import api from '@/service/api';
|
||||
import riskMgtApi from '../service/riskMgtApi';
|
||||
import ValidationConfirmPopup from './ValidationConfirmPopup.vue';
|
||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
||||
export default {
|
||||
mixins: [utils_mixin, chkPattern2],
|
||||
data(){
|
||||
return{
|
||||
|
||||
@@ -140,6 +142,7 @@ export default {
|
||||
try {
|
||||
const response = await riskMgtApi.msgIntrcpDetail(this.row);
|
||||
const result = response.data;
|
||||
console.log('----------------');
|
||||
console.log(result);
|
||||
if (result != null && result.retCode == "0000") {
|
||||
this.blckContCd = result.data.blckContCd;
|
||||
@@ -154,6 +157,7 @@ export default {
|
||||
} catch(err) {
|
||||
alert("실패 하였습니다.");
|
||||
}
|
||||
console.log(this.blckContCd);
|
||||
console.log('-----------')
|
||||
console.log(this.row)
|
||||
var dimmed = document.getElementsByClassName('modal58');
|
||||
@@ -191,12 +195,19 @@ export default {
|
||||
},
|
||||
//신규등록 팝업에서 문구 추가 버튼
|
||||
doAdd: function() {
|
||||
if(this.isNull(this.word)){
|
||||
this.row.title = '메세지 차단';
|
||||
this.row.msg1 = '문구를 입력해주세요.';
|
||||
this.$parent.msgAlertModalOpen(this.row);
|
||||
this.$refs._word.focus();
|
||||
return false;
|
||||
}
|
||||
if(this.msgBlckwordList.length < 10){
|
||||
this.msgBlckwordList.push({
|
||||
//seqNo: '',
|
||||
word: this.word
|
||||
});
|
||||
|
||||
this.word = '';
|
||||
}
|
||||
},
|
||||
//신규등록 팝업에서 문구 삭제 버튼
|
||||
@@ -239,14 +250,14 @@ export default {
|
||||
const result = response.data;
|
||||
if (result != null && result.retCode == "0000") {
|
||||
this.row.title = '메세지 차단';
|
||||
this.row.msg1 = '수정 하였습니다.';
|
||||
this.$parent.msgAlertModalOpen(this.row);
|
||||
this.row.msg1 = '수정 하였습니다.';
|
||||
this.$parent.msgAlertModalOpen(this.row);
|
||||
}
|
||||
this.toComplete();
|
||||
} catch(err) {
|
||||
this.row.title = '메세지 차단';
|
||||
this.row.msg1 = '실패 하였습니다.';
|
||||
this.$parent.msgAlertModalOpen(this.row);
|
||||
this.row.title = '메세지 차단';
|
||||
this.row.msg1 = '실패 하였습니다.';
|
||||
this.$parent.msgAlertModalOpen(this.row);
|
||||
}
|
||||
// }
|
||||
},
|
||||
|
||||
@@ -52,11 +52,11 @@
|
||||
<div class="group">
|
||||
<div class="input_box">
|
||||
<label for="right" class="label">발신번호</label>
|
||||
<input class="search-box" type="number" id="search" placeholder="검색어 입력" v-model="grid.params.sndrno">
|
||||
<input class="search-box" type="number" id="search" placeholder="검색어 입력" v-model="grid.params.sndrno" v-on:keyup="onlyNum" @input="onlyNum" maxlength="12">
|
||||
</div>
|
||||
<div class="input_box">
|
||||
<label for="right" class="label">수신번호</label>
|
||||
<input class="search-box" type="number" id="search" placeholder="검색어 입력" v-model="grid.params.rcvno">
|
||||
<input class="search-box" type="number" id="search" placeholder="검색어 입력" v-model="grid.params.rcvno" v-on:keyup="onlyNum" @input="onlyNum" maxlength="12">
|
||||
</div>
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">상세검색</label>
|
||||
@@ -74,12 +74,10 @@
|
||||
</div>
|
||||
</form>
|
||||
<div class="info">
|
||||
<div class="count">총 <span> {{ totalItems }} </span>건
|
||||
<div class="count">총 <span>{{ totalItems }}</span>건
|
||||
<div class="select_box NumberSe">
|
||||
<select name="" id="perpage" v-model="grid.pagePerRows" @keyup.enter="search">
|
||||
<option value="20">20</option>
|
||||
<option value="50" selected>50</option>
|
||||
<option value="100">100</option>
|
||||
<select name="" id="" v-model="perPageCnt" @change="changePerPage()">
|
||||
<option v-for="option in options" v-bind:value="option.value" v-bind:key="option.value">{{ option.text }}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
@@ -108,6 +106,7 @@
|
||||
import customGrid from '@/components/CustomGrid';
|
||||
import moment from 'moment';
|
||||
import commonModal from "@/components/modal/commonModal";
|
||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
||||
|
||||
//import api from '../service/api';
|
||||
class CustomATagRenderer {
|
||||
@@ -133,22 +132,29 @@ class CustomATagRenderer {
|
||||
}
|
||||
export default {
|
||||
name: 'intrcpList',
|
||||
mixins: [utils_mixin, chkPattern2],
|
||||
data() {
|
||||
return {
|
||||
totalItems: 0,
|
||||
perPageCnt: 50,
|
||||
// 달력 데이터
|
||||
ko: vdp_translation_ko.js,
|
||||
periodDay: 7,
|
||||
sDateDiv: 'day',
|
||||
startDate: new Date(),
|
||||
endDate: new Date(),
|
||||
|
||||
options: [
|
||||
{ text: '20', value: 20},
|
||||
{ text: '50', value: 50},
|
||||
{ text: '100', value: 100}
|
||||
],
|
||||
statType: [],
|
||||
userType: [],
|
||||
row:{},
|
||||
grid: {
|
||||
url: '/api/v1/bo/riskMgt/web/intrcpList',
|
||||
perPage: 20,
|
||||
pagePerRows: 20,
|
||||
pagination: true,
|
||||
isCheckbox: false,
|
||||
initialRequest: false,
|
||||
@@ -168,20 +174,20 @@ export default {
|
||||
],
|
||||
|
||||
columns: [
|
||||
{ name: 'no', header: 'NO', align: 'center', width: 60 },
|
||||
{ name: 'blckTpCd', header: '차단구분', align: 'center', width: 160 },
|
||||
{ name: 'userId', header: '발송ID', align: 'center', width: 100},
|
||||
{ name: 'sndrno', header: '발신번호', align: 'center', width: 130},
|
||||
{ name: 'custNm', header: '고객사명', align: 'center', width: 130, renderer: {
|
||||
{ name: 'no', header: 'NO', align: 'center', width: '5%' },
|
||||
{ name: 'blckTpCd', header: '차단구분', align: 'center', width: '11%' },
|
||||
{ name: 'userId', header: '발송ID', align: 'center', width: '11%'},
|
||||
{ name: 'sndrno', header: '발신번호', align: 'center', width: '11%'},
|
||||
{ name: 'custNm', header: '고객사명', align: 'center', width: '11%', renderer: {
|
||||
type: CustomATagRenderer
|
||||
, options: {
|
||||
callback: this.custDetail,
|
||||
}
|
||||
}},
|
||||
{ name: 'bizrno', header: '사업자번호', align: 'center', width: 90},
|
||||
{ name: 'rcvno', header: '수신번호', align: 'center', width: 90 },
|
||||
{ name: 'blckRsnCd', header: '차단사유', align: 'center', width: 90 },
|
||||
{ name: 'blckDt', header: '발송일자', align: 'center', width: 90 },
|
||||
{ name: 'bizrno', header: '사업자번호', align: 'center', width: '11%'},
|
||||
{ name: 'rcvno', header: '수신번호', align: 'center', width: '11%' },
|
||||
{ name: 'blckRsnCd', header: '차단사유', align: 'center', width: '7%' },
|
||||
{ name: 'blckDt', header: '발송일자', align: 'center', width: '11%' },
|
||||
|
||||
],
|
||||
noDataStr: '검색 결과가 없습니다.',
|
||||
@@ -220,8 +226,6 @@ export default {
|
||||
});
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||
this.setPeriodDay(0);
|
||||
},
|
||||
@@ -241,6 +245,11 @@ export default {
|
||||
methods: {
|
||||
search: function(isKeep) {
|
||||
console.log(this.grid.params);
|
||||
this.grid.params.blckDt = moment(this.startDate).format('YYYYMMDD');
|
||||
this.grid.params.blckRsnCd = this.grid.params.searchType1;
|
||||
this.grid.params.blckTpCd = this.grid.params.searchText1;
|
||||
this.grid.params.sndrno = this.grid.params.searchText2;
|
||||
this.grid.params.custNm = this.grid.params.searchText3;
|
||||
this.$refs.table.search(this.grid.params, isKeep);
|
||||
this.sendStoreData();
|
||||
},
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<div class="group">
|
||||
<div class="input_box">
|
||||
<label for="regId" class="label">등록자</label>
|
||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.regId" v-on:keydown.enter.prevent="search"/>
|
||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.regId" v-on:keydown.enter.prevent="search" v-on:keyup="onlyEng" @input="onlyEng" maxlength="20" />
|
||||
</div>
|
||||
<div class="select_box">
|
||||
<label for="blckRsnCd" class="label">차단사유</label>
|
||||
@@ -93,6 +93,7 @@ import api from '@/service/api.js';
|
||||
import intrcpDetailPopup from '../components/IntrcpDetailPopup';
|
||||
import insertIntrcpPop from '../components/InsertIntrcpPop';
|
||||
import commonModal from "@/components/modal/commonModal";
|
||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
||||
//import api from '../service/api';
|
||||
|
||||
class CustomATagRenderer {
|
||||
@@ -112,6 +113,7 @@ class CustomATagRenderer {
|
||||
addEvent(selEl) {
|
||||
selEl.addEventListener("click", () => {
|
||||
const { callback } = this.props["cgrido" + this.props.colName].options;
|
||||
console.log(this.props);
|
||||
callback(this.props);
|
||||
});
|
||||
}
|
||||
@@ -119,6 +121,7 @@ class CustomATagRenderer {
|
||||
|
||||
export default {
|
||||
name: 'intrcpList',
|
||||
mixins: [utils_mixin, chkPattern2],
|
||||
data() {
|
||||
return {
|
||||
totalItems: 0,
|
||||
@@ -149,21 +152,25 @@ export default {
|
||||
],
|
||||
|
||||
columns: [
|
||||
{ name: 'no', header: 'NO', align: 'center', width: 50 },
|
||||
{ name: 'blcksndrno', header: '발신번호', align: 'center', width: 160,
|
||||
{ name: 'no', header: 'NO', align: 'center', width: '5%' },
|
||||
{ name: 'blcksndrno', header: '발신번호', align: 'center', width: '25%',
|
||||
renderer: { type: CustomATagRenderer, options: { callback: this.inDetailPop} } },
|
||||
{ name: 'blckYn', header: '차단여부', align: 'center', width: 100},
|
||||
{ name: 'sndblckTpCd', header: '발송타입', align: 'center', width: 100},
|
||||
{ name: 'lastChgDt', header: '최근수정일', align: 'center', width: 100},
|
||||
{ name: 'blckRsnCd', header: '차단사유', width: 100, cls: 'td_line' },
|
||||
{ name: 'regId', header: '등록자', width: 150 }
|
||||
{ name: 'blckYn', header: '차단여부', align: 'center', width: '15%'},
|
||||
{ name: 'sndblckTpCd', header: '발송타입', align: 'center', width: '15%', hidden: true},
|
||||
{ name: 'sndblckTpNm', header: '발송타입', align: 'center', width: '15%'},
|
||||
{ name: 'lastChgDt', header: '최근수정일', align: 'center', width: '15%'},
|
||||
{ name: 'blckRsnCd', header: '차단사유', width: '15%', cls: 'td_line', hidden: true },
|
||||
{ name: 'blckRsnNm', header: '차단사유', width: '15%', cls: 'td_line' },
|
||||
{ name: 'regId', header: '등록자', width: '15%' }
|
||||
],
|
||||
noDataStr: '검색 결과가 없습니다.',
|
||||
params: {
|
||||
regId: '',
|
||||
blckRsnCd: '',
|
||||
blckRsnNm: '',
|
||||
blckYn: '',
|
||||
sndblckTpCd: '',
|
||||
sndblckTpNm: '',
|
||||
blcksndrno: ''
|
||||
},
|
||||
excelHeader: []
|
||||
@@ -180,8 +187,6 @@ export default {
|
||||
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
this.setCodeData();
|
||||
// this.formReset();
|
||||
},
|
||||
@@ -229,11 +234,17 @@ export default {
|
||||
api.commCode({'grpCd' : 'SVCUSER_TP_CD'}).then(response => {
|
||||
this.userType = response.data.data.list;
|
||||
});
|
||||
//발송타입
|
||||
api.commCode({'grpCd' : 'SNDBLCK_TP_CD'}).then(response => {
|
||||
this.tpType = response.data.data.list;
|
||||
});
|
||||
},
|
||||
ModalOpen: function(){
|
||||
this.$refs.insertIntrcpPop.ModalOpen();
|
||||
},
|
||||
inDetailPop(props) {
|
||||
console.log('======');
|
||||
console.log(props);
|
||||
this.$refs.intrcpDetailPopup.IntrcpDetailModalOpen(props);
|
||||
},
|
||||
// formReset(){
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<div class="search_wrap">
|
||||
<div class="input_box">
|
||||
<label for="regId" class="label">등록자</label>
|
||||
<input class="search-box" type="text" id="regId" placeholder="검색어 입력" v-model="grid.params.regId" v-on:keydown.enter.prevent="search"/>
|
||||
<input class="search-box" type="text" id="regId" placeholder="검색어 입력" v-model="grid.params.regId" v-on:keydown.enter.prevent="search" v-on:keyup="onlyEng" @input="onlyEng" maxlength="20"/>
|
||||
</div>
|
||||
<div class="select_box">
|
||||
<label for="blckRsnCd" class="label">차단사유</label>
|
||||
@@ -70,7 +70,7 @@ import customGrid from '@/components/CustomGrid';
|
||||
import InsertMsgPop from '../components/InsertMsgPop';
|
||||
import IntrcpMsgDetail from '../components/IntrcpMsgDetail';
|
||||
import commonModal from "@/components/modal/commonModal";
|
||||
undefined
|
||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
||||
//import api from '../service/api';
|
||||
class CustomATagRenderer {
|
||||
constructor(props) {
|
||||
@@ -95,6 +95,7 @@ class CustomATagRenderer {
|
||||
}
|
||||
export default {
|
||||
name: 'intrcpList',
|
||||
mixins: [utils_mixin, chkPattern2],
|
||||
data() {
|
||||
return {
|
||||
totalItems: 0,
|
||||
@@ -127,21 +128,22 @@ export default {
|
||||
],
|
||||
|
||||
columns: [
|
||||
{ name: 'no', header: 'NO', align: 'center', width: 60 },
|
||||
{ name: 'seqNo', header: '일련번호', align: 'center', width: 60, hidden: true},
|
||||
{ name: 'word', header: '차단메시지', align: 'center', width: 160,
|
||||
{ name: 'no', header: 'NO', align: 'center', width: '5%' },
|
||||
{ name: 'seqNo', header: '일련번호', align: 'center', width: '19%', hidden: true},
|
||||
{ name: 'word', header: '차단메시지', align: 'center', width: '19%',
|
||||
renderer: {type: CustomATagRenderer, options: { callback: this.msgDetailPop}} },
|
||||
{ name: 'blckYn', header: '차단여부', align: 'center', width: 130},
|
||||
{ name: 'lastChgDt', header: '마지막 수정일', align: 'center', width: 130},
|
||||
{ name: 'blckRsnCd', header: '차단사유', align: 'center', width: 130},
|
||||
{ name: 'regId', header: '등록자', width: 90, cls: 'td_line' }
|
||||
{ name: 'blckYn', header: '차단여부', align: 'center', width: '19%'},
|
||||
{ name: 'lastChgDt', header: '마지막 수정일', align: 'center', width: '19%'},
|
||||
{ name: 'blckRsnCd', header: '차단사유', align: 'center', width: '19%'},
|
||||
{ name: 'regId', header: '등록자', width: '19%', cls: 'td_line' }
|
||||
],
|
||||
noDataStr: '검색 결과가 없습니다.',
|
||||
params: {
|
||||
regId: '',
|
||||
blckRsnCd: '',
|
||||
word: '',
|
||||
seqNo: ''
|
||||
seqNo: '',
|
||||
blckYn: '',
|
||||
},
|
||||
excelHeader: []
|
||||
}
|
||||
@@ -157,8 +159,6 @@ export default {
|
||||
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||
},
|
||||
mounted() {
|
||||
|
||||
@@ -11,15 +11,15 @@
|
||||
<div class="search_wrap">
|
||||
<div class="input_box">
|
||||
<label for="search" class="label">고객사</label>
|
||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.custNm"/>
|
||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.custNm" v-on:keyup="onlyName" @input="onlyName" maxlength="20"/>
|
||||
</div>
|
||||
<div class="input_box">
|
||||
<label for="search" class="label">인증코드</label>
|
||||
<input class="search-box" type="number" id="search" placeholder="검색어 입력" v-model="grid.params.authcd080"/>
|
||||
<input class="search-box" type="number" id="search" placeholder="검색어 입력" v-model="grid.params.authcd080" v-on:keyup="onlyNum" @input="onlyNum" maxlength="6"/>
|
||||
</div>
|
||||
<div class="input_box">
|
||||
<label for="right" class="label">수신번호</label>
|
||||
<input class="search-box" type="number" id="search" placeholder="검색어 입력" v-model="grid.params.rcvblckno"/>
|
||||
<label for="search" class="label">수신번호</label>
|
||||
<input class="search-box" type="number" id="search" placeholder="검색어 입력" v-model="grid.params.rcvblckno" v-on:keyup="onlyNum" @input="onlyNum" maxlength="11"/>
|
||||
</div>
|
||||
<button type="button" class="button grey" @click="search">조회</button>
|
||||
</div>
|
||||
@@ -57,6 +57,7 @@
|
||||
<script>
|
||||
import customGrid from '@/components/CustomGrid';
|
||||
import commonModal from "@/components/modal/commonModal";
|
||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
||||
//import api from '../service/api';
|
||||
class CustomATagRenderer {
|
||||
constructor(props) {
|
||||
@@ -79,8 +80,28 @@ class CustomATagRenderer {
|
||||
});
|
||||
}
|
||||
}
|
||||
class customBRegNo {
|
||||
constructor(props) {
|
||||
this.props = props;
|
||||
const el = document.createElement('td');
|
||||
var bregNo = String(props.colValue);
|
||||
el.innerText= bregNo;
|
||||
if(bregNo.length == 10){
|
||||
el.innerText= bregNo.substring(0,3)+'-'+bregNo.substring(3,5)+'-'+bregNo.substring(5,10)
|
||||
}
|
||||
this.el = el;
|
||||
}
|
||||
|
||||
getElement() {
|
||||
return this.el;
|
||||
}
|
||||
|
||||
addEvent(selEl) {
|
||||
}
|
||||
}
|
||||
export default {
|
||||
name: 'intrcpList',
|
||||
mixins: [utils_mixin, chkPattern2],
|
||||
data() {
|
||||
return {
|
||||
totalItems: 0,
|
||||
@@ -112,18 +133,18 @@ export default {
|
||||
],
|
||||
|
||||
columns: [
|
||||
{ name: 'no', header: 'NO', align: 'center', width: 60 },
|
||||
{ name: 'custNm', header: '고객사', align: 'center', width: 160, renderer: {
|
||||
{ name: 'no', header: 'NO', align: 'center', width: '5%' },
|
||||
{ name: 'custNm', header: '고객사', align: 'center', width: '15%', renderer: {
|
||||
type: CustomATagRenderer
|
||||
, options: {
|
||||
callback: this.memberDetail,
|
||||
}
|
||||
} },
|
||||
{ name: 'bizrno', header: '사업자번호', align: 'center', width: 100},
|
||||
{ name: 'authcd080', header: '인증코드', align: 'center', width: 130},
|
||||
{ name: 'rcvblckno', header: '수신번호', align: 'center', width: 130},
|
||||
{ name: 'regDt', header: '등록일', align: 'center', width: 130},
|
||||
{ name: 'regTpCd', header: '등록구분', width: 90, cls: 'td_line' }
|
||||
{ name: 'bizrno', header: '사업자번호', align: 'center', width: '15%', renderer: {type: customBRegNo}},
|
||||
{ name: 'authcd080', header: '인증코드', align: 'center', width: '15%'},
|
||||
{ name: 'rcvblckno', header: '수신번호', align: 'center', width: '15%'},
|
||||
{ name: 'regDt', header: '등록일', align: 'center', width: '20%'},
|
||||
{ name: 'regTpCd', header: '등록구분', width: '15%', cls: 'td_line' }
|
||||
],
|
||||
noDataStr: '검색 결과가 없습니다.',
|
||||
params: {
|
||||
@@ -143,8 +164,6 @@ export default {
|
||||
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||
},
|
||||
mounted() {
|
||||
|
||||
@@ -171,8 +171,6 @@ export default {
|
||||
ApprDetailPop
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
},
|
||||
destroyed() {
|
||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||
|
||||
@@ -198,9 +198,7 @@ export default {
|
||||
NumberDetailPop,
|
||||
commonModal,
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
created(){
|
||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||
},
|
||||
destroyed() {
|
||||
|
||||
@@ -149,8 +149,6 @@ export default {
|
||||
});
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/istAuthChk", true);
|
||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||
},
|
||||
|
||||
|
||||
@@ -33,10 +33,8 @@
|
||||
<div class="info">
|
||||
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
||||
<div class="select_box NumberSe">
|
||||
<select name="" id="perPage" v-model="grid.pagePerRows" @keyup.enter="search">
|
||||
<option value="20">20</option>
|
||||
<option value="50" selected>50</option>
|
||||
<option value="100">100</option>
|
||||
<select name="" id="" v-model="perPageCnt" @change="changePerPage()">
|
||||
<option v-for="option in options" v-bind:value="option.value" v-bind:key="option.value">{{ option.text }}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
@@ -102,9 +100,14 @@ export default {
|
||||
totalItems: 0,
|
||||
// 테이블 리스트 데이터
|
||||
perPageCnt: 50,
|
||||
options: [
|
||||
{ text: '20', value: 20},
|
||||
{ text: '50', value: 50},
|
||||
{ text: '100', value: 100}
|
||||
],
|
||||
grid: {
|
||||
url: '/api/v1/bo/servMgt/rejectRecvList',
|
||||
perPage: 50,
|
||||
pagePerRows: 20,
|
||||
pagination: true,
|
||||
isCheckbox: false,
|
||||
initialRequest: false,
|
||||
@@ -146,9 +149,7 @@ export default {
|
||||
customGrid: customGrid,
|
||||
commonModal
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
created(){
|
||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||
},
|
||||
destroyed() {
|
||||
@@ -198,7 +199,11 @@ export default {
|
||||
|
||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||
//console.log("getCondition : "+ getCondition.perPage);
|
||||
}
|
||||
},
|
||||
changePerPage: function(){ // 페이지당 조회할 개수
|
||||
this.grid.pagePerRows = this.perPageCnt;
|
||||
this.search(true);
|
||||
},
|
||||
},
|
||||
|
||||
beforeRouteLeave(to, from, next) {
|
||||
|
||||
@@ -239,8 +239,6 @@ export default {
|
||||
vuejsDatepicker,
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
this.setPeriodDay(0);
|
||||
|
||||
},
|
||||
|
||||
@@ -247,8 +247,6 @@ export default {
|
||||
vuejsDatepicker,
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
this.setPeriodDay(0);
|
||||
|
||||
},
|
||||
|
||||
@@ -142,8 +142,6 @@ export default {
|
||||
vuejsDatepicker,
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
// this.startDt = moment().format('YYYY-MM-DD');
|
||||
// this.endDt = moment().format('YYYY-MM-DD');
|
||||
this.setPeriodDay(0);
|
||||
|
||||
@@ -151,8 +151,6 @@ export default {
|
||||
vuejsDatepicker,
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
this.setPeriodDay(0);
|
||||
this.getMonthList();
|
||||
},
|
||||
|
||||
@@ -149,9 +149,7 @@ export default {
|
||||
commonModal,
|
||||
AdminDetailPop,
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
created(){
|
||||
this.setCodeData();
|
||||
//let cont = document.querySelector(".wrap");
|
||||
//cont.classList.add("main_wrap");
|
||||
|
||||
@@ -50,16 +50,29 @@
|
||||
</td>
|
||||
<td class="check">
|
||||
<p>유치현황관리</p>
|
||||
<input type="checkbox" id="right_check2" value="2002" v-model="checkedAuthMenu">
|
||||
<!-- <input type="checkbox" id="right_check2" value="" v-model="checkedAuthMenu">
|
||||
<div class="label_group">
|
||||
<label for="right_check2"></label>
|
||||
<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> -->
|
||||
<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>
|
||||
<br/><br/>
|
||||
<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>
|
||||
@@ -196,15 +209,14 @@ export default {
|
||||
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"],
|
||||
defaultAuthMenu:["2001","2004","2005","2006","2007","2008","2009","2010","2011","2012","2013","2014","2015","2016","2017","2018","2019"],
|
||||
checkedAuthMenu:[],
|
||||
channelAuth: "",
|
||||
};
|
||||
},
|
||||
components: {
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
created(){
|
||||
//this.setCodeData();
|
||||
},
|
||||
destroyed() {
|
||||
@@ -253,6 +265,10 @@ export default {
|
||||
var reqAuthMenuArr = this.checkedAuthMenu;
|
||||
var listArr = [];
|
||||
var dataMap = {};
|
||||
if(this.channelAuth !== ''){
|
||||
dataMap.menuNo = this.channelAuth;
|
||||
listArr.push(dataMap);
|
||||
}
|
||||
for(var i = 0; i< reqAuthMenuArr.length; i++){
|
||||
dataMap = {};
|
||||
dataMap.menuNo = reqAuthMenuArr[i];
|
||||
@@ -295,7 +311,16 @@ export default {
|
||||
return this.defaultAuthMenu.length === this.checkedAuthMenu.length;
|
||||
},
|
||||
set: function (e) {
|
||||
this.checkedAuthMenu = e ? this.defaultAuthMenu : [];
|
||||
//this.checkedAuthMenu = e ? this.defaultAuthMenu : [];
|
||||
if(e){
|
||||
this.checkedAuthMenu = this.defaultAuthMenu;
|
||||
if(this.channelAuth === ''){
|
||||
this.channelAuth = '2002';
|
||||
}
|
||||
} else {
|
||||
this.checkedAuthMenu = [];
|
||||
this.channelAuth = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,7 +38,13 @@
|
||||
<td>{{ option.authNm }}</td>
|
||||
<td>{{ option.authStat }}</td>
|
||||
<td>{{ option.regDt }}</td>
|
||||
<td class="two_btn_group">
|
||||
<!-- <td v-if="option.authCd !== '1001' && option.authCd !== '1002'" 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> -->
|
||||
<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="deleteAuth(option.authCd)">삭제</button>
|
||||
</td>
|
||||
@@ -78,8 +84,6 @@ export default {
|
||||
components: {
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
this.getAuthList();
|
||||
},
|
||||
destroyed() {
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
</td>
|
||||
<td class="check">
|
||||
<p>유치현황관리</p>
|
||||
<input type="checkbox" id="right_check2" value="2002" v-model="checkedAuthMenu">
|
||||
<!-- <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>
|
||||
@@ -59,6 +59,17 @@
|
||||
<div class="label_group">
|
||||
<label for="right_check3"></label>
|
||||
<label for="right_check3">유치관리자 현황</label>
|
||||
</div> -->
|
||||
<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>
|
||||
<br/><br/>
|
||||
<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">
|
||||
@@ -196,8 +207,9 @@ export default {
|
||||
authCd: "",
|
||||
authDesc: "",
|
||||
stat: "",
|
||||
defaultAuthMenu:["2001","2002","2003","2004","2005","2006","2007","2008","2009","2010","2011","2012","2013","2014","2015","2016","2017","2018","2019"],
|
||||
defaultAuthMenu:["2001","2004","2005","2006","2007","2008","2009","2010","2011","2012","2013","2014","2015","2016","2017","2018","2019"],
|
||||
checkedAuthMenu:[],
|
||||
channelAuth: "",
|
||||
};
|
||||
},
|
||||
props: {
|
||||
@@ -208,9 +220,7 @@ export default {
|
||||
},
|
||||
components: {
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
created(){
|
||||
//this.setCodeData();
|
||||
this.authDetail();
|
||||
},
|
||||
@@ -274,7 +284,12 @@ export default {
|
||||
var rsArr = [];
|
||||
for(var i=0; i< dataList.length; i++){
|
||||
if(dataList[i].upperMenuNo != null || dataList[i].upperMenuNo != ""){
|
||||
this.checkedAuthMenu.push(dataList[i].menuNo);
|
||||
if(dataList[i].menuNo === '2002' || dataList[i].menuNo === '2003'){
|
||||
this.channelAuth = dataList[i].menuNo;
|
||||
} else {
|
||||
this.checkedAuthMenu.push(dataList[i].menuNo);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -291,6 +306,10 @@ export default {
|
||||
var reqAuthMenuArr = this.checkedAuthMenu;
|
||||
var listArr = [];
|
||||
var dataMap = {};
|
||||
if(this.channelAuth !== ''){
|
||||
dataMap.menuNo = this.channelAuth;
|
||||
listArr.push(dataMap);
|
||||
}
|
||||
for(var i = 0; i< reqAuthMenuArr.length; i++){
|
||||
dataMap = {};
|
||||
dataMap.menuNo = reqAuthMenuArr[i];
|
||||
@@ -329,7 +348,16 @@ export default {
|
||||
return this.defaultAuthMenu.length === this.checkedAuthMenu.length;
|
||||
},
|
||||
set: function (e) {
|
||||
this.checkedAuthMenu = e ? this.defaultAuthMenu : [];
|
||||
//this.checkedAuthMenu = e ? this.defaultAuthMenu : [];
|
||||
if(e){
|
||||
this.checkedAuthMenu = this.defaultAuthMenu;
|
||||
if(this.channelAuth === ''){
|
||||
this.channelAuth = '2002';
|
||||
}
|
||||
} else {
|
||||
this.checkedAuthMenu = [];
|
||||
this.channelAuth = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ import Vue from 'vue'
|
||||
import Vuex from 'vuex'
|
||||
import searchcondition from './store/search-condition'
|
||||
import login from './modules/login/store/index'
|
||||
import createPersistedState from 'vuex-persistedstate';
|
||||
|
||||
Vue.use(Vuex)
|
||||
|
||||
@@ -9,5 +10,6 @@ export default new Vuex.Store({
|
||||
modules: {
|
||||
searchcondition,
|
||||
login
|
||||
}
|
||||
},
|
||||
plugins: [createPersistedState({ paths: ["login"] })],
|
||||
})
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<template>
|
||||
<body>
|
||||
<div class="wrap" v-bind:class="{'main_wrap': (isLogin && isAuthChk), 'login-wrap': (!isLogin && !isAuthChk), 'bg-wrap': (isLogin && !isAuthChk) }" >
|
||||
<div class="wrap" v-bind:class="{'main_wrap': (isAuthChk), 'login-wrap': (!isLogin && !isAuthChk), 'bg-wrap': (isLogin && !isAuthChk) }" >
|
||||
<hub-web-header v-if="isAuthChk == true"></hub-web-header>
|
||||
<nav-bar v-if="isAuthChk == true"></nav-bar>
|
||||
<router-view :key="$route.fullPath"></router-view>
|
||||
<hub-web-footer v-if="isAuthChk == false"></hub-web-footer>
|
||||
<hub-web-footer v-if="isAuthChk == false"></hub-web-footer>
|
||||
</div>
|
||||
</body>
|
||||
</template>
|
||||
@@ -39,11 +39,12 @@ export default {
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getLogin;
|
||||
this.getAuthChk;
|
||||
// this.getLogin;
|
||||
// this.getAuthChk;
|
||||
},
|
||||
mounted() {
|
||||
|
||||
this.isLogin = this.$store.getters["login/isLogin"]
|
||||
this.isAuthChk = this.$store.getters["login/isAuthChk"]
|
||||
}
|
||||
,computed: {
|
||||
...mapGetters({
|
||||
|
||||
Reference in New Issue
Block a user