mirror of
http://git.mhez-qa.uplus.co.kr/hubez/hubez-admin.git
synced 2025-12-06 23:18:19 +09:00
로그인 관련 / 메뉴 링크 추가 / 홈페이지 로그인 적용
This commit is contained in:
@@ -1,4 +1,6 @@
|
|||||||
NODE_ENV = "dev"
|
NODE_ENV = "development"
|
||||||
BASE_URL: "/"
|
BASE_URL: "/"
|
||||||
VUE_APP_TARGET_URL=https://console.ums-dev.uplus.co.kr/
|
VUE_APP_TARGET_URL=http://localhost:7071
|
||||||
VUE_APP_PORT=3000
|
VUE_APP_PORT=7070
|
||||||
|
VUE_APP_HOME_PAGE_URL=https://mhez-dev.uplus.co.kr/auth/bo
|
||||||
|
VUE_APP_AUTHKEY=bohubez!@#$%
|
||||||
6
frontend/.env.live
Normal file
6
frontend/.env.live
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
NODE_ENV = "production"
|
||||||
|
BASE_URL: "/"
|
||||||
|
VUE_APP_TARGET_URL=http://localhost:7070
|
||||||
|
VUE_APP_PORT=7070
|
||||||
|
VUE_APP_HOME_PAGE_URL=https://mhez.uplus.co.kr/auth/bo
|
||||||
|
VUE_APP_AUTHKEY=bohubez!@#$%
|
||||||
6
frontend/.env.local
Normal file
6
frontend/.env.local
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
NODE_ENV = "development"
|
||||||
|
BASE_URL: "/"
|
||||||
|
VUE_APP_TARGET_URL=http://localhost:7070
|
||||||
|
VUE_APP_PORT=7070
|
||||||
|
VUE_APP_HOME_PAGE_URL=https://mhez-dev.uplus.co.kr/auth/bo
|
||||||
|
VUE_APP_AUTHKEY=bohubez!@#$%
|
||||||
6
frontend/.env.stg
Normal file
6
frontend/.env.stg
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
NODE_ENV = "dev"
|
||||||
|
BASE_URL: "/"
|
||||||
|
VUE_APP_TARGET_URL=http://localhost:7070
|
||||||
|
VUE_APP_PORT=7070
|
||||||
|
VUE_APP_HOME_PAGE_URL=https://mhez-dev.uplus.co.kr
|
||||||
|
VUE_APP_AUTHKEY=bohubez!@#$%
|
||||||
@@ -1,49 +1,54 @@
|
|||||||
{
|
{
|
||||||
"name": "mhez-admin-web",
|
"name": "mhez-admin-web",
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"proxy":"http://localhost:7070",
|
"proxy":"http://localhost:7070",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"serve": "vue-cli-service serve --port 3000",
|
"serve": "vue-cli-service serve --port 3000",
|
||||||
"build": "vue-cli-service build",
|
"build": "vue-cli-service build",
|
||||||
"lint": "vue-cli-service lint",
|
"lint": "vue-cli-service lint",
|
||||||
"test:unit": "vue-cli-service test:unit"
|
"test:unit": "vue-cli-service test:unit",
|
||||||
},
|
"local": "vue-cli-service serve --port 3000 --mode local",
|
||||||
"dependencies": {
|
"dev": "vue-cli-service serve --port 3000 --mode dev",
|
||||||
"@toast-ui/vue-grid": "2.1.0",
|
"stg": "vue-cli-service serve --port 3000 --mode stg",
|
||||||
"axios": "^0.19.0",
|
"live": "vue-cli-service serve --port 3000 --mode live"
|
||||||
"core-js": "^2.6.5",
|
},
|
||||||
"element-ui": "^2.15.0",
|
"dependencies": {
|
||||||
"file-saver": "^2.0.2",
|
"@toast-ui/vue-grid": "2.1.0",
|
||||||
"js-base64": "^2.5.1",
|
"axios": "^0.19.0",
|
||||||
"moment": "^2.24.0",
|
"core-js": "^2.6.5",
|
||||||
"sticky-sidebar": "^3.3.1",
|
"element-ui": "^2.15.0",
|
||||||
"tui-grid": "4.5.2",
|
"file-saver": "^2.0.2",
|
||||||
"v-runtime-template": "^1.10.0",
|
"js-base64": "^2.5.1",
|
||||||
"vue": "^2.6.10",
|
"moment": "^2.24.0",
|
||||||
"vue-custom-scrollbar": "^1.4.0",
|
"sticky-sidebar": "^3.3.1",
|
||||||
"vue-router": "^3.0.3",
|
"tui-grid": "4.5.2",
|
||||||
"vue-scrollbar": "^1.0.4",
|
"v-runtime-template": "^1.10.0",
|
||||||
"vue-tiny-slider": "^0.1.35",
|
"vue": "^2.6.10",
|
||||||
"vuejs-daum-postcode": "^1.0.4",
|
"vue-custom-scrollbar": "^1.4.0",
|
||||||
"vuex": "^3.0.1",
|
"vue-router": "^3.0.3",
|
||||||
"xlsx": "^0.15.3"
|
"vue-scrollbar": "^1.0.4",
|
||||||
},
|
"vue-tiny-slider": "^0.1.35",
|
||||||
"devDependencies": {
|
"vuejs-daum-postcode": "^1.0.4",
|
||||||
"@vue/cli-plugin-babel": "^3.9.0",
|
"vuex": "^3.0.1",
|
||||||
"@vue/cli-plugin-eslint": "^3.9.0",
|
"vuex-persistedstate": "^4.1.0",
|
||||||
"@vue/cli-plugin-unit-jest": "^3.9.0",
|
"xlsx": "^0.15.3"
|
||||||
"@vue/cli-service": "^3.9.0",
|
},
|
||||||
"@vue/test-utils": "1.0.0-beta.29",
|
"devDependencies": {
|
||||||
"babel-core": "7.0.0-bridge.0",
|
"@vue/cli-plugin-babel": "^3.9.0",
|
||||||
"babel-eslint": "^10.0.1",
|
"@vue/cli-plugin-eslint": "^3.9.0",
|
||||||
"babel-jest": "^23.6.0",
|
"@vue/cli-plugin-unit-jest": "^3.9.0",
|
||||||
"eslint": "^5.16.0",
|
"@vue/cli-service": "^3.9.0",
|
||||||
"eslint-plugin-vue": "^5.0.0",
|
"@vue/test-utils": "1.0.0-beta.29",
|
||||||
"less": "^4.1.0",
|
"babel-core": "7.0.0-bridge.0",
|
||||||
"less-loader": "^7.2.1",
|
"babel-eslint": "^10.0.1",
|
||||||
"sass": "^1.18.0",
|
"babel-jest": "^23.6.0",
|
||||||
"sass-loader": "^7.1.0",
|
"eslint": "^5.16.0",
|
||||||
"vue-template-compiler": "^2.6.10"
|
"eslint-plugin-vue": "^5.0.0",
|
||||||
}
|
"less": "^4.1.0",
|
||||||
}
|
"less-loader": "^7.2.1",
|
||||||
|
"sass": "^1.18.0",
|
||||||
|
"sass-loader": "^7.1.0",
|
||||||
|
"vue-template-compiler": "^2.6.10"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -3,11 +3,11 @@
|
|||||||
<h1 class="logo"><a href="javascript:void(0)">uplus 메시지허브이지<span>BACKOFFICE</span></a></h1>
|
<h1 class="logo"><a href="javascript:void(0)">uplus 메시지허브이지<span>BACKOFFICE</span></a></h1>
|
||||||
<div class="user_wrap">
|
<div class="user_wrap">
|
||||||
<div class="user" @click="userInfoToggle();">
|
<div class="user" @click="userInfoToggle();">
|
||||||
<p>슈퍼관리자</p>
|
<p>{{ this.$store.getters['login/userNm'] }}</p>
|
||||||
<a href="javascript:void(0)" class="btn_user">Uplus01</a>
|
<a href="javascript:void(0)" class="btn_user">{{ this.$store.getters['login/userId'] }}</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="user_info">
|
<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>
|
<a href="javascript:void(0)" class="logout" @click="logout();">로그아웃</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -30,12 +30,13 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
// console.log(this.$store["login/isLogin"])
|
||||||
|
// this.$store.getters.getCounter
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapGetters({
|
...mapGetters({
|
||||||
getLogin: 'login/isLogin',
|
getLogin: 'login/isLogin',
|
||||||
getErrorPage: 'login/isErrorPage',
|
getErrorPage: 'login/isErrorPage'
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@@ -75,7 +76,7 @@ export default {
|
|||||||
loginApi.logout().then(response => {
|
loginApi.logout().then(response => {
|
||||||
if(response.data.retCode == '0000'){
|
if(response.data.retCode == '0000'){
|
||||||
|
|
||||||
//tokenSvc.removeToken();
|
// tokenSvc.removeToken();
|
||||||
|
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: "/login"
|
path: "/login"
|
||||||
|
|||||||
@@ -277,8 +277,8 @@ export default {
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<!--<style>-->
|
||||||
.popup-btn-wrap {width: 500px; margin: auto; padding: 100px 0;}
|
<!--.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 {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;}
|
<!--.popup-btn-wrap button:hover {background: #000; color: #fff;}-->
|
||||||
</style>
|
<!--</style>-->
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
<!-- 선택한 메뉴 li.is-current -->
|
<!-- 선택한 메뉴 li.is-current -->
|
||||||
<li v-for="child in menuList" :key="child.menuNo" :class="child.classNm">
|
<li v-for="child in menuList" :key="child.menuNo" :class="child.classNm">
|
||||||
<div class="menu_btn" ></div>
|
<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">
|
<div class="sub_menu_wrap">
|
||||||
<ul class="sub_menu" v-if="child.children.length > 0">
|
<ul class="sub_menu" v-if="child.children.length > 0">
|
||||||
<li v-for="child2 in child.children" :key="child2.menuNo">
|
<li v-for="child2 in child.children" :key="child2.menuNo">
|
||||||
@@ -115,11 +115,11 @@ export default {
|
|||||||
//this.$store.commit("login/isAuthChk", true);
|
//this.$store.commit("login/isAuthChk", true);
|
||||||
} else {
|
} else {
|
||||||
window.top.location.href = '/';
|
window.top.location.href = '/';
|
||||||
this.isLogin = false;
|
// this.isLogin = false;
|
||||||
this.menuList = null;
|
this.menuList = null;
|
||||||
}
|
}
|
||||||
}).catch(rsponse => {
|
}).catch(rsponse => {
|
||||||
this.isLogin = false;
|
// this.isLogin = false;
|
||||||
this.menuList = null;
|
this.menuList = null;
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -254,8 +254,6 @@ export default {
|
|||||||
vuejsDatepicker,
|
vuejsDatepicker,
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
this.$store.commit("login/isLogin", true);
|
|
||||||
this.$store.commit("login/isAuthChk", true);
|
|
||||||
this.setPeriodDay(0);
|
this.setPeriodDay(0);
|
||||||
this.gridParamSet();
|
this.gridParamSet();
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -224,9 +224,7 @@ export default {
|
|||||||
channelMgtApi,
|
channelMgtApi,
|
||||||
commonModal,
|
commonModal,
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
this.$store.commit("login/isLogin", true);
|
|
||||||
this.$store.commit("login/isAuthChk", true);
|
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
this.getExcelHeader();
|
this.getExcelHeader();
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -27,10 +27,10 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
<tr v-for="(option, i) in list" v-bind:key="i">
|
<tr v-for="(option, i) in list" v-bind:key="i">
|
||||||
<td>{{ option.lmtYm }}</td>
|
<td>{{ option.lmtYm }}</td>
|
||||||
<td>{{ option.startAmount }}</td>
|
<td>{{ option.startAmount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</td>
|
||||||
<td>{{ option.useAmount }}</td>
|
<td>{{ option.useAmount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</td>
|
||||||
<td>{{ option.krrrAmount }}</td>
|
<td>{{ option.krrrAmount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</td>
|
||||||
<td>{{ option.extshAmount }}</td>
|
<td>{{ option.extshAmount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr v-if="list.length === 0">
|
<tr v-if="list.length === 0">
|
||||||
<td colspan="5">검색 결과가 없습니다.</td>
|
<td colspan="5">검색 결과가 없습니다.</td>
|
||||||
|
|||||||
@@ -19,14 +19,6 @@
|
|||||||
<th>ID</th>
|
<th>ID</th>
|
||||||
<td><input type="text" v-model.trim="userId" ref="_userId"></td>
|
<td><input type="text" v-model.trim="userId" ref="_userId"></td>
|
||||||
</tr>
|
</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>
|
<tr>
|
||||||
<th>이름</th>
|
<th>이름</th>
|
||||||
<td><input type="text" v-model.trim="userNm" ref="_userNm"></td>
|
<td><input type="text" v-model.trim="userNm" ref="_userNm"></td>
|
||||||
@@ -104,8 +96,6 @@ export default {
|
|||||||
stat: "",
|
stat: "",
|
||||||
userId:"",
|
userId:"",
|
||||||
userNm:"",
|
userNm:"",
|
||||||
userPwd1:"",
|
|
||||||
userPwd2:"",
|
|
||||||
code:"",
|
code:"",
|
||||||
userTotalCnt:0,
|
userTotalCnt:0,
|
||||||
}
|
}
|
||||||
@@ -133,7 +123,6 @@ export default {
|
|||||||
async memberInsert(){
|
async memberInsert(){
|
||||||
this.row.adminId = this.adminId;
|
this.row.adminId = this.adminId;
|
||||||
this.row.userId = this.userId;
|
this.row.userId = this.userId;
|
||||||
this.row.userPw = this.userPwd1;
|
|
||||||
this.row.userNm = this.userNm;
|
this.row.userNm = this.userNm;
|
||||||
this.row.userEmail = this.email;
|
this.row.userEmail = this.email;
|
||||||
this.row.mdn = this.mdn;
|
this.row.mdn = this.mdn;
|
||||||
@@ -185,43 +174,6 @@ export default {
|
|||||||
// Object.assign(this.$data, this.$options.data());
|
// Object.assign(this.$data, this.$options.data());
|
||||||
// this.adminId = targetAdminId;
|
// 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(){
|
doValidate(){
|
||||||
if(this.userTotalCnt >= 100){
|
if(this.userTotalCnt >= 100){
|
||||||
// 사용자등록제한_최대100개까지
|
// 사용자등록제한_최대100개까지
|
||||||
@@ -237,28 +189,6 @@ export default {
|
|||||||
return false;
|
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)){
|
if(this.isNull(this.userNm)){
|
||||||
this.row.title = '청약고객관리';
|
this.row.title = '청약고객관리';
|
||||||
this.row.msg1 = '이름을 입력해 주세요.';
|
this.row.msg1 = '이름을 입력해 주세요.';
|
||||||
|
|||||||
@@ -7,7 +7,13 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="table table_form">
|
<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>
|
<table>
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col style="width:140px">
|
<col style="width:140px">
|
||||||
@@ -32,7 +38,7 @@
|
|||||||
<th>ID</th>
|
<th>ID</th>
|
||||||
<td colspan="2">
|
<td colspan="2">
|
||||||
{{userId}}
|
{{userId}}
|
||||||
<button type="button" class="button grey btn-a">로그인</button>
|
<button type="button" class="button grey btn-a" @click="homeLogin">로그인</button>
|
||||||
</td>
|
</td>
|
||||||
<th class="center">관리자명</th>
|
<th class="center">관리자명</th>
|
||||||
<td colspan="2">{{adminId}} / {{adminNm}}</td>
|
<td colspan="2">{{adminId}} / {{adminNm}}</td>
|
||||||
@@ -81,7 +87,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</form>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
@@ -149,7 +155,6 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -188,7 +193,8 @@ export default {
|
|||||||
email: '',
|
email: '',
|
||||||
userTotalCnt:0,
|
userTotalCnt:0,
|
||||||
selected: [],
|
selected: [],
|
||||||
|
svcUserId:'',
|
||||||
|
ezSvcUserAuthKey:''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
@@ -206,8 +212,6 @@ export default {
|
|||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
this.memberDetail(this.$route.params.serviceId);
|
this.memberDetail(this.$route.params.serviceId);
|
||||||
this.$store.commit("login/isLogin", true);
|
|
||||||
this.$store.commit("login/isAuthChk", true);
|
|
||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||||
@@ -243,138 +247,145 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
valAlert(props){
|
valAlert(props){
|
||||||
//alert("호출됨!");
|
//alert("호출됨!");
|
||||||
this.$refs.commmonModal.alertModalOpen(props);
|
this.$refs.commmonModal.alertModalOpen(props);
|
||||||
},
|
},
|
||||||
valConfirm(props){
|
valConfirm(props){
|
||||||
this.$refs.commmonModal.confirmModalOpen(props);
|
this.$refs.commmonModal.confirmModalOpen(props);
|
||||||
},
|
},
|
||||||
async memberDetail(serviceId){
|
async memberDetail(serviceId){
|
||||||
this.row.userId = serviceId;
|
this.row.userId = serviceId;
|
||||||
try {
|
try {
|
||||||
const response = await custMgtApi.memberAdminDetail(this.row);
|
const response = await custMgtApi.memberAdminDetail(this.row);
|
||||||
const result = response.data;
|
const result = response.data;
|
||||||
if (result != null && result.retCode == "0000") {
|
if (result != null && result.retCode == "0000") {
|
||||||
this.formReset();
|
this.formReset();
|
||||||
this.userNm = result.data.userNm;
|
this.userNm = result.data.userNm;
|
||||||
this.userId = result.data.userId;
|
this.userId = result.data.userId;
|
||||||
this.regDt = result.data.regDt;
|
this.regDt = result.data.regDt;
|
||||||
this.userType = result.data.userType;
|
this.userType = result.data.userType;
|
||||||
this.adminId = result.data.adminId;
|
this.adminId = result.data.adminId;
|
||||||
this.adminNm = result.data.adminNm;
|
this.adminNm = result.data.adminNm;
|
||||||
this.sendingLimit = result.data.sendingLimit;
|
this.sendingLimit = result.data.sendingLimit.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||||
this.lineType = result.data.lineType;
|
this.lineType = result.data.lineType;
|
||||||
this.userStat = result.data.userStat;
|
this.userStat = result.data.userStat;
|
||||||
this.lastLoginDt = result.data.lastLoginDt;
|
this.lastLoginDt = result.data.lastLoginDt;
|
||||||
this.memo = result.data.memo;
|
this.memo = result.data.memo;
|
||||||
this.mdn = result.data.mdn;
|
this.mdn = result.data.mdn;
|
||||||
this.email = result.data.email;
|
this.email = result.data.email;
|
||||||
this.list = result.data.list;
|
this.list = result.data.list;
|
||||||
this.userTotalCnt = result.data.list.length;
|
this.userTotalCnt = result.data.list.length;
|
||||||
console.log('userTotalCnt:'+result.data.list.length);
|
console.log('userTotalCnt:'+result.data.list.length);
|
||||||
this.totalItems = result.data.paging.totalCnt;
|
this.totalItems = result.data.paging.totalCnt;
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(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 {
|
|
||||||
this.row.title = '청약고객관리';
|
this.row.title = '청약고객관리';
|
||||||
this.row.msg1 = '실패 하였습니다.';
|
this.row.msg1 = '실패 하였습니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
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) {
|
async updateAdminInfoTotal(){
|
||||||
this.row.userId = target;
|
|
||||||
this.row.adminId = this.adminId;
|
this.row.userId = this.adminId;
|
||||||
this.$refs.memberModifyPop.memberUpdateModalOpen(this.row);
|
this.row.sendingLimit = this.sendingLimit;
|
||||||
},
|
this.row.lineType = this.lineType;
|
||||||
memberInsertPopOpen() {
|
this.row.userStat = this.userStat;
|
||||||
this.row.adminId = this.adminId;
|
this.row.memo = this.memo;
|
||||||
this.row.userTotalCnt = this.userTotalCnt;
|
|
||||||
this.$refs.memberRegPop.memberInsertModalOpen(this.row);
|
console.log(this.row);
|
||||||
},
|
|
||||||
memoTotalPopOpen(){
|
try {
|
||||||
this.row.adminId = this.adminId;
|
const response = await custMgtApi.updateAdminInfoTotal(this.row);
|
||||||
this.$refs.memoTatalListPop.memoTotalModalOpen(this.row);
|
const result = response.data;
|
||||||
},
|
if (result != null && result.retCode == "0000") {
|
||||||
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.title = '청약고객관리';
|
||||||
this.row.msg1 = '저장 하였습니다.';
|
this.row.msg1 = '저장 하였습니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
this.memberDetail(serviceId);
|
|
||||||
}
|
}else if(result != null && result.retCode == "4019"){
|
||||||
} catch (error) {
|
this.row.title = '청약고객관리';
|
||||||
console.log(error);
|
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.title = '청약고객관리';
|
||||||
this.row.msg1 = '실패 하였습니다.';
|
this.row.msg1 = '실패 하였습니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
},
|
},
|
||||||
setAuthData() {
|
// 저장 후 부모창 호출.
|
||||||
// 권한 옵션.
|
toComplete(){
|
||||||
api.commAuth().then(response => {
|
this.$router.push({ name: 'memberList', params: this.row });
|
||||||
this.authType = response.data.data.list;
|
},
|
||||||
});
|
excelPopOpen() {
|
||||||
},
|
console.log(this.adminId);
|
||||||
formReset(){
|
this.$refs.memberBulkRegPop.excelPopOpen(this.adminId, this.totalItems);
|
||||||
Object.assign(this.$data, this.$options.data());
|
},
|
||||||
},
|
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>
|
||||||
|
|
||||||
<div class="table table_form">
|
<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>
|
<table>
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col style="width:140px">
|
<col style="width:140px">
|
||||||
@@ -34,7 +40,7 @@
|
|||||||
<th>ID</th>
|
<th>ID</th>
|
||||||
<td colspan="2">
|
<td colspan="2">
|
||||||
{{userId}}
|
{{userId}}
|
||||||
<button type="button" class="button grey btn-a">로그인</button>
|
<button type="button" class="button grey btn-a" @click="homeLogin">로그인</button>
|
||||||
</td>
|
</td>
|
||||||
<th class="center">구분</th>
|
<th class="center">구분</th>
|
||||||
<td colspan="2">{{userType}}</td>
|
<td colspan="2">{{userType}}</td>
|
||||||
@@ -62,7 +68,6 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</form>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="pop-btn2">
|
<div class="pop-btn2">
|
||||||
@@ -112,6 +117,8 @@ export default {
|
|||||||
mdn : '',
|
mdn : '',
|
||||||
email: '',
|
email: '',
|
||||||
stat:'',
|
stat:'',
|
||||||
|
svcUserId:'',
|
||||||
|
ezSvcUserAuthKey:''
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -127,8 +134,6 @@ export default {
|
|||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
this.memberDetail(this.$route.params.serviceId);
|
this.memberDetail(this.$route.params.serviceId);
|
||||||
this.$store.commit("login/isLogin", true);
|
|
||||||
this.$store.commit("login/isAuthChk", true);
|
|
||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
|
|
||||||
@@ -266,6 +271,14 @@ export default {
|
|||||||
//this.email = '';
|
//this.email = '';
|
||||||
this.$refs._email.focus();
|
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>
|
</script>
|
||||||
@@ -210,8 +210,6 @@ export default {
|
|||||||
vuejsDatepicker,
|
vuejsDatepicker,
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
this.$store.commit("login/isLogin", true);
|
|
||||||
this.$store.commit("login/isAuthChk", true);
|
|
||||||
this.setCodeData();
|
this.setCodeData();
|
||||||
this.setPeriodDay(0);
|
this.setPeriodDay(0);
|
||||||
},
|
},
|
||||||
@@ -249,10 +247,24 @@ export default {
|
|||||||
}
|
}
|
||||||
this.search(isKeep);
|
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: {
|
methods: {
|
||||||
search: function(isKeep) {
|
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.perPageCnt'+this.perPageCnt);
|
||||||
//console.log(this.grid.params);
|
console.log(this.grid.params);
|
||||||
this.$refs.table.search(this.grid.params, isKeep);
|
this.$refs.table.search(this.grid.params, isKeep);
|
||||||
this.sendStoreData();
|
this.sendStoreData();
|
||||||
},
|
},
|
||||||
@@ -302,9 +314,10 @@ export default {
|
|||||||
setPeriodDay(day) {
|
setPeriodDay(day) {
|
||||||
this.periodDay = day;
|
this.periodDay = day;
|
||||||
this.endDate = new Date();
|
this.endDate = new Date();
|
||||||
this.startDate = moment(this.endDate)
|
//this.startDate = moment(this.endDate)
|
||||||
.subtract(day, 'day')
|
// .subtract(day, 'day')
|
||||||
.toDate();
|
// .toDate();
|
||||||
|
this.initSetStartDate();
|
||||||
|
|
||||||
this.closeDate('start');
|
this.closeDate('start');
|
||||||
this.closeDate('end');
|
this.closeDate('end');
|
||||||
@@ -345,18 +358,14 @@ export default {
|
|||||||
return moment(date).format('YYYY-MM-DD');
|
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>
|
</script>
|
||||||
@@ -239,8 +239,6 @@ export default {
|
|||||||
commonModal,
|
commonModal,
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
this.$store.commit("login/isLogin", true);
|
|
||||||
this.$store.commit("login/isAuthChk", true);
|
|
||||||
console.log(this.$route.params.serviceId);
|
console.log(this.$route.params.serviceId);
|
||||||
this.subsDetail(this.$route.params.serviceId);
|
this.subsDetail(this.$route.params.serviceId);
|
||||||
// checkVaildBizNum
|
// checkVaildBizNum
|
||||||
|
|||||||
@@ -219,13 +219,25 @@ export default {
|
|||||||
vuejsDatepicker,
|
vuejsDatepicker,
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
this.$store.commit("login/isLogin", true);
|
|
||||||
this.$store.commit("login/isAuthChk", true);
|
|
||||||
this.setCodeData();
|
this.setCodeData();
|
||||||
this.getExcelHeader();
|
this.getExcelHeader();
|
||||||
this.setPeriodDay(0);
|
this.setPeriodDay(0);
|
||||||
|
|
||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
|
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||||
|
page: 1,
|
||||||
|
perPage: 50,
|
||||||
|
params: {
|
||||||
|
searchType1: '',
|
||||||
|
searchType2: '',
|
||||||
|
searchType3: '',
|
||||||
|
searchText1: '',
|
||||||
|
startDt: '',
|
||||||
|
endDt: ''
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@@ -260,8 +272,10 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
search: function(isKeep) {
|
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.perPageCnt'+this.perPageCnt);
|
||||||
//console.log(this.grid.params);
|
console.log(this.grid.params);
|
||||||
this.$refs.table.search(this.grid.params, isKeep);
|
this.$refs.table.search(this.grid.params, isKeep);
|
||||||
this.sendStoreData();
|
this.sendStoreData();
|
||||||
},
|
},
|
||||||
@@ -351,9 +365,10 @@ export default {
|
|||||||
setPeriodDay(day) {
|
setPeriodDay(day) {
|
||||||
this.periodDay = day;
|
this.periodDay = day;
|
||||||
this.endDate = new Date();
|
this.endDate = new Date();
|
||||||
this.startDate = moment(this.endDate)
|
// this.startDate = moment(this.endDate)
|
||||||
.subtract(day, 'day')
|
// .subtract(day, 'day')
|
||||||
.toDate();
|
// .toDate();
|
||||||
|
this.initSetStartDate();
|
||||||
|
|
||||||
this.closeDate('start');
|
this.closeDate('start');
|
||||||
this.closeDate('end');
|
this.closeDate('end');
|
||||||
@@ -394,6 +409,12 @@ export default {
|
|||||||
return moment(date).format('YYYY-MM-DD');
|
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>
|
</script>
|
||||||
@@ -3,6 +3,8 @@ const state = {
|
|||||||
isLogin: false,
|
isLogin: false,
|
||||||
isErrorPage: false,
|
isErrorPage: false,
|
||||||
isAuthChk: false,
|
isAuthChk: false,
|
||||||
|
userId:null,
|
||||||
|
userNm:null,
|
||||||
pwd: null
|
pwd: null
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -11,6 +13,8 @@ const getters = {
|
|||||||
isLogin: state => state.isLogin,
|
isLogin: state => state.isLogin,
|
||||||
isErrorPage: state => state.isErrorPage,
|
isErrorPage: state => state.isErrorPage,
|
||||||
isAuthChk: state => state.isAuthChk,
|
isAuthChk: state => state.isAuthChk,
|
||||||
|
userId: state => state.userId,
|
||||||
|
userNm: state => state.userNm,
|
||||||
getPwd: state => state.pwd,
|
getPwd: state => state.pwd,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -38,6 +42,12 @@ const mutations = {
|
|||||||
savePwd: (state, value) => {
|
savePwd: (state, value) => {
|
||||||
state.pwd = value;
|
state.pwd = value;
|
||||||
},
|
},
|
||||||
|
userId: (state, value) => {
|
||||||
|
state.userId = value;
|
||||||
|
},
|
||||||
|
userNm: (state, value) => {
|
||||||
|
state.userNm = value;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
|
|||||||
@@ -65,7 +65,8 @@ export default {
|
|||||||
confirmNum: '',
|
confirmNum: '',
|
||||||
userId: '',
|
userId: '',
|
||||||
isAuthNum: false,
|
isAuthNum: false,
|
||||||
isLogin: true,
|
isLogin: false,
|
||||||
|
isAuth: false,
|
||||||
pwd: '',
|
pwd: '',
|
||||||
text: '',
|
text: '',
|
||||||
number: '',
|
number: '',
|
||||||
@@ -79,15 +80,15 @@ export default {
|
|||||||
,commonModal
|
,commonModal
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
if(!!tokenSvc.getToken()){
|
// if(!!tokenSvc.getToken()){
|
||||||
this.$store.commit("login/isLogin", true);
|
// this.$store.commit("login/isLogin", true);
|
||||||
this.$store.commit("login/isAuthChk", true);
|
// this.$store.commit("login/isAuthChk", true);
|
||||||
this.$router.push({ path: '/' });
|
// this.$router.push({ path: '/' });
|
||||||
}else{
|
// }else{
|
||||||
if(!this.getLogin){
|
// if(!this.getLogin){
|
||||||
this.$router.push({ path: '/login' });
|
// this.$router.push({ path: '/login' });
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
if (localStorage.hubwebUserId) {
|
if (localStorage.hubwebUserId) {
|
||||||
@@ -116,6 +117,13 @@ export default {
|
|||||||
if(data != null && data != ''){
|
if(data != null && data != ''){
|
||||||
this.pwd = data;
|
this.pwd = data;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
getAuthChk(data){
|
||||||
|
if (data != null && data != '' && data == true) {
|
||||||
|
this.isAuth = true;
|
||||||
|
} else {
|
||||||
|
this.isAuth = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
@@ -216,11 +224,13 @@ export default {
|
|||||||
try {
|
try {
|
||||||
const response = await api.confirmNum(params)
|
const response = await api.confirmNum(params)
|
||||||
const rsp = response.data;
|
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'){
|
if(rsp.retCode == '0000'){
|
||||||
vm.$store.commit("login/isLogin", true);
|
vm.$store.commit("login/isLogin", true);
|
||||||
//var nextUrl = rsp.data.nextUrl;
|
vm.$store.commit("login/isAuthChk", true);
|
||||||
//vm.$router.push({ path: nextUrl});
|
vm.$store.commit("login/userId", rsp.data.userId)
|
||||||
|
vm.$store.commit("login/userNm", rsp.data.userNm)
|
||||||
vm.$router.push({ path: '/'});
|
vm.$router.push({ path: '/'});
|
||||||
}else if (rsp.retCode == '4008'){
|
}else if (rsp.retCode == '4008'){
|
||||||
this.row.title = '휴대폰번호 확인';
|
this.row.title = '휴대폰번호 확인';
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="wrap bg-wrap">
|
|
||||||
<div class="login-box adm-login">
|
<div class="login-box adm-login">
|
||||||
<div class="wbox">
|
<div class="wbox">
|
||||||
<div class="logo"></div>
|
<div class="logo"></div>
|
||||||
@@ -23,10 +22,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
|
||||||
<login-popup ref="LoginPopup"> </login-popup>
|
<login-popup ref="LoginPopup"> </login-popup>
|
||||||
<common-modal ref="commmonModal"></common-modal>
|
<common-modal ref="commonModal"></common-modal>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -92,13 +90,13 @@ export default {
|
|||||||
if (!this.userId){
|
if (!this.userId){
|
||||||
this.row.title = '로그인 실패';
|
this.row.title = '로그인 실패';
|
||||||
this.row.msg1 = '아이디,비밀번호를 확인해주세요.';
|
this.row.msg1 = '아이디,비밀번호를 확인해주세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commonModal.alertModalOpen(this.row);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (!this.userPwd){
|
if (!this.userPwd){
|
||||||
this.row.title = '비밀번호 오류';
|
this.row.title = '비밀번호 오류';
|
||||||
this.row.msg1 = '비밀번호를 확인해주세요.';
|
this.row.msg1 = '비밀번호를 확인해주세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commonModal.alertModalOpen(this.row);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -128,28 +126,29 @@ export default {
|
|||||||
this.row.title = '로그인 실패';
|
this.row.title = '로그인 실패';
|
||||||
this.row.msg1 = '등록되지 않은 아이디입니다.';
|
this.row.msg1 = '등록되지 않은 아이디입니다.';
|
||||||
this.row.msg2 = '아이디를 다시 확인하세요';
|
this.row.msg2 = '아이디를 다시 확인하세요';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commonModal.alertModalOpen(this.row);
|
||||||
} else if(rsp.retCode == '4004') { // ID/PWD 불일치
|
} else if(rsp.retCode == '4004') { // ID/PWD 불일치
|
||||||
this.row.title = '비밀번호 오류';
|
this.row.title = '비밀번호 오류';
|
||||||
this.row.msg1 = '비밀번호를 확인해주세요.';
|
this.row.msg1 = '비밀번호를 확인해주세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commonModal.alertModalOpen(this.row);
|
||||||
} else if(rsp.retCode == '4005') { // ID/PWD 불일치 횟수초과로 계정 잠김 4005
|
} else if(rsp.retCode == '4005') { // ID/PWD 불일치 횟수초과로 계정 잠김 4005
|
||||||
this.row.title = '로그인 실패';
|
this.row.title = '로그인 실패';
|
||||||
this.row.msg1 = '로그인 5회 실패하였습니다.';
|
this.row.msg1 = '로그인 5회 실패하였습니다.';
|
||||||
this.row.msg2 = '비밀번호 초기화 후 비밀번호를 변경해 주세요.';
|
this.row.msg2 = '비밀번호 초기화 후 비밀번호를 변경해 주세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commonModal.alertModalOpen(this.row);
|
||||||
} else if(rsp.retCode == '4006') {
|
} else if(rsp.retCode == '4006') {
|
||||||
// msg = '비밀번호를 변경하신지 90일이 지났습니다.\n비밀번호 변경 화면으로 이동합니다.';
|
// msg = '비밀번호를 변경하신지 90일이 지났습니다.\n비밀번호 변경 화면으로 이동합니다.';
|
||||||
this.row.title = '로그인 실패';
|
this.row.title = '로그인 실패';
|
||||||
this.row.msg1 = '비밀번호를 변경하지 않은지 90일이';
|
this.row.msg1 = '비밀번호를 변경하지 않은지 90일이';
|
||||||
this.row.msg2 = '지났습니다. 비밀번호를 변경하여';
|
this.row.msg2 = '지났습니다. 비밀번호를 변경하여';
|
||||||
this.row.msg3 = '이용 부탁드립니다.';
|
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') {
|
} else if(rsp.retCode == '4007') {
|
||||||
this.row.title = '로그인 실패';
|
this.row.title = '로그인 실패';
|
||||||
this.row.msg1 = '아이디 상태를 확인해 주세요.';
|
this.row.msg1 = '아이디 상태를 확인해 주세요.';
|
||||||
this.row.msg2 = '(사용중인 상태만 로그인 가능합니다.)';
|
this.row.msg2 = '(사용중인 상태만 로그인 가능합니다.)';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commonModal.alertModalOpen(this.row);
|
||||||
} else {
|
} else {
|
||||||
vm.$store.commit("login/isLogin", false);
|
vm.$store.commit("login/isLogin", false);
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -26,8 +26,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<common-modal ref="commonModal"></common-modal>
|
||||||
<login-popup ref="LoginPopup"> </login-popup>
|
<login-popup ref="LoginPopup"> </login-popup>
|
||||||
<common-modal ref="commmonModal"></common-modal>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -44,6 +44,7 @@ export default {
|
|||||||
return {
|
return {
|
||||||
errors: [],
|
errors: [],
|
||||||
userId: '',
|
userId: '',
|
||||||
|
row:{},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@@ -61,7 +62,7 @@ export default {
|
|||||||
if (!this.userId) {
|
if (!this.userId) {
|
||||||
this.row.title = '아이디 오류';
|
this.row.title = '아이디 오류';
|
||||||
this.row.msg1 = '아이디를 입력해 주세요.';
|
this.row.msg1 = '아이디를 입력해 주세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commonModal.alertModalOpen(this.row);
|
||||||
// this.errors.push('아이디를 입력해 주세요.');
|
// this.errors.push('아이디를 입력해 주세요.');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -89,7 +90,7 @@ export default {
|
|||||||
this.row.title = '비밀번호 초기화';
|
this.row.title = '비밀번호 초기화';
|
||||||
this.row.msg1 = '해당 아이디에 저장되어 있는 핸드폰번호로';
|
this.row.msg1 = '해당 아이디에 저장되어 있는 핸드폰번호로';
|
||||||
this.row.msg2 = '비밀번호 초기화 문자가 발송되었습니다.';
|
this.row.msg2 = '비밀번호 초기화 문자가 발송되었습니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commonModal.alertModalOpen(this.row);
|
||||||
// vm.ModalOpen('modal12');
|
// vm.ModalOpen('modal12');
|
||||||
//vm.$router.push({ path : 'view/login'});
|
//vm.$router.push({ path : 'view/login'});
|
||||||
|
|
||||||
@@ -97,7 +98,7 @@ export default {
|
|||||||
this.row.title = '비밀번호 초기화';
|
this.row.title = '비밀번호 초기화';
|
||||||
this.row.msg1 = '등록되지 않은 아이디입니다.';
|
this.row.msg1 = '등록되지 않은 아이디입니다.';
|
||||||
this.row.msg2 = '아이디를 다시 확인하세요.';
|
this.row.msg2 = '아이디를 다시 확인하세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commonModal.alertModalOpen(this.row);
|
||||||
// vm.ModalOpen('modal13');
|
// vm.ModalOpen('modal13');
|
||||||
}
|
}
|
||||||
// document.getElementsByClassName('modal12')[0].getElementsByClassName('btn-pcolor')[0].addEventListener('click',() => {
|
// document.getElementsByClassName('modal12')[0].getElementsByClassName('btn-pcolor')[0].addEventListener('click',() => {
|
||||||
@@ -106,7 +107,7 @@ export default {
|
|||||||
//alert("실패 하였습니다.");
|
//alert("실패 하였습니다.");
|
||||||
this.row.title = '비밀번호 초기화';
|
this.row.title = '비밀번호 초기화';
|
||||||
this.row.msg1 = '실패 하였습니다.';
|
this.row.msg1 = '실패 하였습니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commonModal.alertModalOpen(this.row);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,8 +18,8 @@
|
|||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<common-modal ref="commonModal"></common-modal>
|
||||||
<login-popup ref="LoginPopup"> </login-popup>
|
<login-popup ref="LoginPopup"> </login-popup>
|
||||||
<common-modal ref="commmonModal"></common-modal>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
@@ -43,6 +43,7 @@ export default {
|
|||||||
newPw: '',
|
newPw: '',
|
||||||
newPw2: '',
|
newPw2: '',
|
||||||
passwordValidFlag: true,
|
passwordValidFlag: true,
|
||||||
|
row: {},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -114,14 +115,14 @@ export default {
|
|||||||
if(lodash.isNil(this.newPw)){
|
if(lodash.isNil(this.newPw)){
|
||||||
this.row.title = '비밀번호 변경';
|
this.row.title = '비밀번호 변경';
|
||||||
this.row.msg1 = '비밀번호 확인을 입력해 주세요.';
|
this.row.msg1 = '비밀번호 확인을 입력해 주세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commonModal.alertModalOpen(this.row);
|
||||||
this.$refs._newPw2.focus();
|
this.$refs._newPw2.focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if(!lodash.isEqual(this.newPw, this.newPw2)){
|
if(!lodash.isEqual(this.newPw, this.newPw2)){
|
||||||
this.row.title = '비밀번호 변경';
|
this.row.title = '비밀번호 변경';
|
||||||
this.row.msg1 = '비밀번호가 일치하지 않습니다.';
|
this.row.msg1 = '비밀번호가 일치하지 않습니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commonModal.alertModalOpen(this.row);
|
||||||
this.$refs._newPw2.focus();
|
this.$refs._newPw2.focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -129,7 +130,7 @@ export default {
|
|||||||
if(!(pwdLen >= 8 && pwdLen <= 16)){
|
if(!(pwdLen >= 8 && pwdLen <= 16)){
|
||||||
this.row.title = '비밀번호 변경';
|
this.row.title = '비밀번호 변경';
|
||||||
this.row.msg1 = '비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.';
|
this.row.msg1 = '비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commonModal.alertModalOpen(this.row);
|
||||||
this.$refs._newPw2.focus();
|
this.$refs._newPw2.focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -139,7 +140,7 @@ export default {
|
|||||||
if(!(pEng.test(this.newPw) && pNum.test(this.newPw) && pSpc.test(this.newPw))) {
|
if(!(pEng.test(this.newPw) && pNum.test(this.newPw) && pSpc.test(this.newPw))) {
|
||||||
this.row.title = '비밀번호 변경';
|
this.row.title = '비밀번호 변경';
|
||||||
this.row.msg1 = '비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.';
|
this.row.msg1 = '비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commonModal.alertModalOpen(this.row);
|
||||||
this.$refs._newPw2.focus();
|
this.$refs._newPw2.focus();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -168,27 +169,27 @@ export default {
|
|||||||
this.row.title = '비밀번호 변경';
|
this.row.title = '비밀번호 변경';
|
||||||
this.row.msg1 = '비밀번호가 정상적으로 변경되었습니다.';
|
this.row.msg1 = '비밀번호가 정상적으로 변경되었습니다.';
|
||||||
this.row.msg2 = '변경된 비밀번호로 다시 로그인 해주세요.';
|
this.row.msg2 = '변경된 비밀번호로 다시 로그인 해주세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commonModal.alertModalOpen(this.row);
|
||||||
// if(vm.ModalOpen('modal16')){
|
// if(vm.ModalOpen('modal16')){
|
||||||
vm.$router.push({ path: '/login' });
|
vm.$router.push({ path: '/login' });
|
||||||
// }
|
// }
|
||||||
} else if(rsp.retCode == '4016') {
|
} else if(rsp.retCode == '4016') {
|
||||||
this.row.title = '비밀번호 변경';
|
this.row.title = '비밀번호 변경';
|
||||||
this.row.msg1 = '비밀번호를 확인해주세요.';
|
this.row.msg1 = '비밀번호를 확인해주세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commonModal.alertModalOpen(this.row);
|
||||||
// vm.ModalOpen('modal14')
|
// vm.ModalOpen('modal14')
|
||||||
} else if(rsp.retCode == '4017') {
|
} else if(rsp.retCode == '4017') {
|
||||||
this.row.title = '비밀번호 오류';
|
this.row.title = '비밀번호 오류';
|
||||||
this.row.msg1 = '비밀번호를 사용할 수 없습니다.';
|
this.row.msg1 = '비밀번호를 사용할 수 없습니다.';
|
||||||
this.row.msg2 = '비밀번호는 영문/숫자/특수기호를 혼합하여';
|
this.row.msg2 = '비밀번호는 영문/숫자/특수기호를 혼합하여';
|
||||||
this.row.msg3 = '8~16자리로 설정해주세요.';
|
this.row.msg3 = '8~16자리로 설정해주세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commonModal.alertModalOpen(this.row);
|
||||||
// vm.ModalOpen('modal15')
|
// vm.ModalOpen('modal15')
|
||||||
} else if(rsp.retCode == '4003') {
|
} else if(rsp.retCode == '4003') {
|
||||||
this.row.title = '아이디 오류';
|
this.row.title = '아이디 오류';
|
||||||
this.row.msg1 = '등록되지 않은 아이디입니다.';
|
this.row.msg1 = '등록되지 않은 아이디입니다.';
|
||||||
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_\.\-]*$';
|
var strRegExp = '^[A-Za-z0-9_\.\-]*$';
|
||||||
return this.onlyCommon(strRegExp, e, len, isEventCall);
|
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) {
|
onlyIp: function (e, len, isEventCall) {
|
||||||
var strRegExp = '^[0-9,.*]*$';
|
var strRegExp = '^[0-9,.*]*$';
|
||||||
return this.onlyCommon(strRegExp, e, len, isEventCall);
|
return this.onlyCommon(strRegExp, e, len, isEventCall);
|
||||||
|
|||||||
@@ -227,8 +227,6 @@ export default {
|
|||||||
customGrid: customGrid
|
customGrid: customGrid
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
this.$store.commit("login/isLogin", true);
|
|
||||||
this.$store.commit("login/isAuthChk", true);
|
|
||||||
this.getLiveSendSttus();
|
this.getLiveSendSttus();
|
||||||
this.timer = setInterval(this.getLiveSendSttus, this.selectedKey * 1000 * 60)
|
this.timer = setInterval(this.getLiveSendSttus, this.selectedKey * 1000 * 60)
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
<div class="select_box id">
|
<div class="select_box id">
|
||||||
<label for="right" class="label">요청채널</label>
|
<label for="right" class="label">요청채널</label>
|
||||||
<select name="" id="" v-model="grid.params.searchType1" @keyup.enter="search">
|
<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="SMS">SMS</option>
|
||||||
<option value="LMS">LMS</option>
|
<option value="LMS">LMS</option>
|
||||||
<option value="MMS">MMS</option>
|
<option value="MMS">MMS</option>
|
||||||
@@ -39,15 +39,15 @@
|
|||||||
<div class="group">
|
<div class="group">
|
||||||
<div class="input_box essential">
|
<div class="input_box essential">
|
||||||
<label for="right" class="label"><span>*</span>수신번호</label>
|
<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>
|
||||||
<div class="input_box essential">
|
<div class="input_box essential">
|
||||||
<label for="right" class="label"><span>*</span>발신번호</label>
|
<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>
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<label for="right" class="label">고객사명</label>
|
<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>
|
</div>
|
||||||
<button type="button" class="button grey" @click="search">조회</button>
|
<button type="button" class="button grey" @click="search">조회</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -184,7 +184,7 @@ export default {
|
|||||||
],
|
],
|
||||||
noDataStr: '검색 결과가 없습니다.',
|
noDataStr: '검색 결과가 없습니다.',
|
||||||
params: {
|
params: {
|
||||||
searchType1: 'ALL',
|
searchType1: '',
|
||||||
searchText1: '',
|
searchText1: '',
|
||||||
searchText2: '',
|
searchText2: '',
|
||||||
searchText3: '',
|
searchText3: '',
|
||||||
@@ -199,9 +199,7 @@ export default {
|
|||||||
commonModal,
|
commonModal,
|
||||||
vuejsDatepicker,
|
vuejsDatepicker,
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
this.$store.commit("login/isLogin", true);
|
|
||||||
this.$store.commit("login/isAuthChk", true);
|
|
||||||
// this.setCodeData();
|
// this.setCodeData();
|
||||||
// this.getExcelHeader();
|
// this.getExcelHeader();
|
||||||
this.setPeriodDay(0);
|
this.setPeriodDay(0);
|
||||||
@@ -211,6 +209,8 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
this.grid.params.searchType1 = 'ALL';
|
||||||
|
|
||||||
let page = 1;
|
let page = 1;
|
||||||
// 페이지 정보 및 검색 조건
|
// 페이지 정보 및 검색 조건
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
@@ -240,12 +240,7 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
search: function(isKeep) {
|
search: function(isKeep) {
|
||||||
// 발송일자 필수입력체크
|
this.doValidate();
|
||||||
|
|
||||||
// 수신번호 필수입력체크
|
|
||||||
|
|
||||||
// 발신번호 필수입력체크
|
|
||||||
|
|
||||||
this.grid.params.sentDate = moment(this.startDate).format('YYYYMMDD');
|
this.grid.params.sentDate = moment(this.startDate).format('YYYYMMDD');
|
||||||
this.grid.params.reqChennel = this.grid.params.searchType1;
|
this.grid.params.reqChennel = this.grid.params.searchType1;
|
||||||
this.grid.params.phone = this.grid.params.searchText1;
|
this.grid.params.phone = this.grid.params.searchText1;
|
||||||
@@ -316,6 +311,34 @@ export default {
|
|||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
console.log("getCondition : "+ getCondition.perPage);
|
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>
|
</script>
|
||||||
@@ -20,13 +20,18 @@
|
|||||||
<th>발송타입</th>
|
<th>발송타입</th>
|
||||||
<td v-if="code === null || code === ''">
|
<td v-if="code === null || code === ''">
|
||||||
<div v:class="select_box">
|
<div v:class="select_box">
|
||||||
<select name="" id="right" v-model.trim="sndblckTpCd" ref="sndblckTpCd">
|
<select name="" id="right" v-model.trim="sndblckTpCd" ref="sndblckTpCd" @keyup.enter="search">
|
||||||
<option v-for="(option, i) in tpType"
|
<option v-for="(option, i) in tpType" :value="option.code" v-bind:key="i">
|
||||||
:value="sndblckTpCd"
|
|
||||||
v-bind:key="i"
|
|
||||||
>
|
|
||||||
{{ option.codeNm }}
|
{{ option.codeNm }}
|
||||||
</option>
|
</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="">문자</option>
|
||||||
<option value="">RCS</option> -->
|
<option value="">RCS</option> -->
|
||||||
</select>
|
</select>
|
||||||
@@ -36,9 +41,9 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<th>차단사유</th>
|
<th>차단사유</th>
|
||||||
<td>
|
<td>
|
||||||
<div>
|
<div>
|
||||||
<select name="" id="" v-model.trim="blckRsnCd" ref="blckRsnCd">
|
<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.codeNm }}
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
@@ -47,7 +52,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>메모</th>
|
<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>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
@@ -80,11 +85,12 @@ export default {
|
|||||||
rsnType: [],
|
rsnType: [],
|
||||||
tpType: [],
|
tpType: [],
|
||||||
blckSndrno: '',
|
blckSndrno: '',
|
||||||
sndblckTpCd: '',
|
sndblckTpCd: '01',
|
||||||
blckRsnCd: '',
|
blckRsnCd: '01',
|
||||||
meno: '',
|
meno: '',
|
||||||
code:"",
|
code:"",
|
||||||
|
LINE_FEED : 10, // '\n',
|
||||||
|
maxByte: 2000,
|
||||||
// params: {
|
// params: {
|
||||||
// 'blckSndrno' : ''
|
// 'blckSndrno' : ''
|
||||||
// ,'sndblckTpCd' : '01'
|
// ,'sndblckTpCd' : '01'
|
||||||
@@ -94,13 +100,16 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
create(){
|
create(){
|
||||||
// this.setCodeDate();
|
this.setCodeDate();
|
||||||
this.formReset();
|
this.formReset();
|
||||||
},
|
},
|
||||||
components: {
|
mounted(){
|
||||||
commonModal,
|
//this.sndblckTpCd = '01'
|
||||||
ValidationConfirmPopup
|
},
|
||||||
},
|
components: {
|
||||||
|
commonModal,
|
||||||
|
ValidationConfirmPopup
|
||||||
|
},
|
||||||
methods :{
|
methods :{
|
||||||
//모달 띄우기
|
//모달 띄우기
|
||||||
ModalOpen(){
|
ModalOpen(){
|
||||||
@@ -124,12 +133,19 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
// 저장 후 부모창 호출
|
// 저장 후 부모창 호출
|
||||||
toComplete(){z
|
toComplete(){
|
||||||
this.$parent.$refs.table.reloadData();
|
this.$parent.$refs.table.reloadData();
|
||||||
this.ModalClose();
|
this.ModalClose();
|
||||||
},
|
},
|
||||||
async doInsert(){
|
async doInsert(){
|
||||||
// if(this.doValidate() && this.regisConfirm()){
|
// 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 {
|
try {
|
||||||
const response = await riskMgtApi.insertIntrcp(this.row);
|
const response = await riskMgtApi.insertIntrcp(this.row);
|
||||||
const result = response.data;
|
const result = response.data;
|
||||||
@@ -137,8 +153,8 @@ export default {
|
|||||||
this.row.title = '발신번호 차단';
|
this.row.title = '발신번호 차단';
|
||||||
this.row.msg1 = '성공 하였습니다.';
|
this.row.msg1 = '성공 하였습니다.';
|
||||||
this.$parent.alertInsert(this.row);
|
this.$parent.alertInsert(this.row);
|
||||||
this.toComplete();
|
|
||||||
}
|
}
|
||||||
|
this.toComplete();
|
||||||
} catch(err) {
|
} catch(err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
this.row.title = '발신번호 차단';
|
this.row.title = '발신번호 차단';
|
||||||
@@ -188,7 +204,45 @@ export default {
|
|||||||
if(this.doValidate()){
|
if(this.doValidate()){
|
||||||
this.$refs.ValidationConfirmPopup.confirmInsertOpen();
|
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>
|
<tr>
|
||||||
<th>차단문구</th>
|
<th>차단문구</th>
|
||||||
<td class="input_add">
|
<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>
|
<button type="button" class="button white add" @click="doAdd"></button>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -43,9 +43,8 @@
|
|||||||
<div>
|
<div>
|
||||||
<select name="" id="" v-model.trim="blckRsnCd" ref="blckRsnCd">
|
<select name="" id="" v-model.trim="blckRsnCd" ref="blckRsnCd">
|
||||||
<option v-for="(option, i) in rsnType"
|
<option v-for="(option, i) in rsnType"
|
||||||
:value="blckRsnCd"
|
:value="option.code"
|
||||||
v-bind:key="i"
|
v-bind:key="i">
|
||||||
:selected="blckRsnCd === option.code">
|
|
||||||
{{ option.codeNm }}
|
{{ option.codeNm }}
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
@@ -54,7 +53,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>메모</th>
|
<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>
|
</tr>
|
||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
@@ -94,9 +93,9 @@ export default {
|
|||||||
word: '', // 차단문구
|
word: '', // 차단문구
|
||||||
blckSndrno:'',
|
blckSndrno:'',
|
||||||
sndblckTpCd:'',
|
sndblckTpCd:'',
|
||||||
blckRsnCd: '', // 차단사유
|
blckRsnCd: '01', // 차단사유
|
||||||
blckYn:'',
|
blckYn:'',
|
||||||
blckContCd:'', //차단 조건
|
blckContCd:'01', //차단 조건
|
||||||
chgDt:'',
|
chgDt:'',
|
||||||
regId: '',
|
regId: '',
|
||||||
regDt: '',
|
regDt: '',
|
||||||
@@ -216,9 +215,10 @@ export default {
|
|||||||
if(this.doValidate()){
|
if(this.doValidate()){
|
||||||
this.$refs.ValidationConfirmPopup.msgConfirmInsertOpen();
|
this.$refs.ValidationConfirmPopup.msgConfirmInsertOpen();
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@@ -43,14 +43,14 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>메모</th>
|
<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>
|
||||||
<tr>
|
<tr>
|
||||||
<th>차단여부</th>
|
<th>차단여부</th>
|
||||||
<td>
|
<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>
|
<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>
|
<label for="popup_radio2">차단</label>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -87,11 +87,17 @@ export default {
|
|||||||
blckRsnCd:'',
|
blckRsnCd:'',
|
||||||
regId: '',
|
regId: '',
|
||||||
meno: '',
|
meno: '',
|
||||||
|
LINE_FEED : 10, // '\n',
|
||||||
|
maxByte: 2000,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
ValidationConfirmPopup
|
ValidationConfirmPopup
|
||||||
},
|
},
|
||||||
|
created(){
|
||||||
|
this.setCodeDate();
|
||||||
|
// this.formReset();
|
||||||
|
},
|
||||||
methods :{
|
methods :{
|
||||||
// 모달 띄우기
|
// 모달 띄우기
|
||||||
async IntrcpDetailModalOpen(props){
|
async IntrcpDetailModalOpen(props){
|
||||||
@@ -161,6 +167,7 @@ export default {
|
|||||||
try {
|
try {
|
||||||
const response = await riskMgtApi.updateIntrcp(this.row);
|
const response = await riskMgtApi.updateIntrcp(this.row);
|
||||||
const result = response.data;
|
const result = response.data;
|
||||||
|
console.log(result);
|
||||||
if (result != null && result.retCode == "0000") {
|
if (result != null && result.retCode == "0000") {
|
||||||
this.row.title = '발신번호 차단';
|
this.row.title = '발신번호 차단';
|
||||||
this.row.msg1 = '수정 하였습니다.';
|
this.row.msg1 = '수정 하였습니다.';
|
||||||
@@ -209,6 +216,48 @@ export default {
|
|||||||
this.$refs.ValidationConfirmPopup.confirmDeleteOpen();
|
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>
|
<tr>
|
||||||
<th>차단문구</th>
|
<th>차단문구</th>
|
||||||
<td class="input_add">
|
<td class="input_add">
|
||||||
<input v-model="word">
|
<input v-model="word" ref="_word">
|
||||||
<button type="button" class="button white add" @click="doAdd"></button>
|
<button type="button" class="button white add" @click="doAdd"></button>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -31,10 +31,10 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<th>조건</th>
|
<th>조건</th>
|
||||||
<td>
|
<td>
|
||||||
<input type="radio" name="state" value="01" id="popup_radio3" v-model="blckContCd" >
|
<input type="radio" name="state02" value="01" id="popup_radio5" v-model="blckContCd" >
|
||||||
<label for="popup_radio3">AND</label>
|
<label for="popup_radio5">AND</label>
|
||||||
<input type="radio" name="state" value="02" id="popup_radio4" v-model="blckContCd">
|
<input type="radio" name="state02" value="02" id="popup_radio6" v-model="blckContCd">
|
||||||
<label for="popup_radio4">OR</label>
|
<label for="popup_radio6">OR</label>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -59,9 +59,9 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<th>차단여부</th>
|
<th>차단여부</th>
|
||||||
<td>
|
<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>
|
<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>
|
<label for="popup_radio8">차단</label>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -83,7 +83,9 @@
|
|||||||
import api from '@/service/api';
|
import api from '@/service/api';
|
||||||
import riskMgtApi from '../service/riskMgtApi';
|
import riskMgtApi from '../service/riskMgtApi';
|
||||||
import ValidationConfirmPopup from './ValidationConfirmPopup.vue';
|
import ValidationConfirmPopup from './ValidationConfirmPopup.vue';
|
||||||
|
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
||||||
export default {
|
export default {
|
||||||
|
mixins: [utils_mixin, chkPattern2],
|
||||||
data(){
|
data(){
|
||||||
return{
|
return{
|
||||||
|
|
||||||
@@ -140,6 +142,7 @@ export default {
|
|||||||
try {
|
try {
|
||||||
const response = await riskMgtApi.msgIntrcpDetail(this.row);
|
const response = await riskMgtApi.msgIntrcpDetail(this.row);
|
||||||
const result = response.data;
|
const result = response.data;
|
||||||
|
console.log('----------------');
|
||||||
console.log(result);
|
console.log(result);
|
||||||
if (result != null && result.retCode == "0000") {
|
if (result != null && result.retCode == "0000") {
|
||||||
this.blckContCd = result.data.blckContCd;
|
this.blckContCd = result.data.blckContCd;
|
||||||
@@ -154,6 +157,7 @@ export default {
|
|||||||
} catch(err) {
|
} catch(err) {
|
||||||
alert("실패 하였습니다.");
|
alert("실패 하였습니다.");
|
||||||
}
|
}
|
||||||
|
console.log(this.blckContCd);
|
||||||
console.log('-----------')
|
console.log('-----------')
|
||||||
console.log(this.row)
|
console.log(this.row)
|
||||||
var dimmed = document.getElementsByClassName('modal58');
|
var dimmed = document.getElementsByClassName('modal58');
|
||||||
@@ -191,12 +195,19 @@ export default {
|
|||||||
},
|
},
|
||||||
//신규등록 팝업에서 문구 추가 버튼
|
//신규등록 팝업에서 문구 추가 버튼
|
||||||
doAdd: function() {
|
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){
|
if(this.msgBlckwordList.length < 10){
|
||||||
this.msgBlckwordList.push({
|
this.msgBlckwordList.push({
|
||||||
//seqNo: '',
|
//seqNo: '',
|
||||||
word: this.word
|
word: this.word
|
||||||
});
|
});
|
||||||
|
this.word = '';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
//신규등록 팝업에서 문구 삭제 버튼
|
//신규등록 팝업에서 문구 삭제 버튼
|
||||||
@@ -239,14 +250,14 @@ export default {
|
|||||||
const result = response.data;
|
const result = response.data;
|
||||||
if (result != null && result.retCode == "0000") {
|
if (result != null && result.retCode == "0000") {
|
||||||
this.row.title = '메세지 차단';
|
this.row.title = '메세지 차단';
|
||||||
this.row.msg1 = '수정 하였습니다.';
|
this.row.msg1 = '수정 하였습니다.';
|
||||||
this.$parent.msgAlertModalOpen(this.row);
|
this.$parent.msgAlertModalOpen(this.row);
|
||||||
}
|
}
|
||||||
this.toComplete();
|
this.toComplete();
|
||||||
} catch(err) {
|
} catch(err) {
|
||||||
this.row.title = '메세지 차단';
|
this.row.title = '메세지 차단';
|
||||||
this.row.msg1 = '실패 하였습니다.';
|
this.row.msg1 = '실패 하였습니다.';
|
||||||
this.$parent.msgAlertModalOpen(this.row);
|
this.$parent.msgAlertModalOpen(this.row);
|
||||||
}
|
}
|
||||||
// }
|
// }
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -52,11 +52,11 @@
|
|||||||
<div class="group">
|
<div class="group">
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<label for="right" class="label">발신번호</label>
|
<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>
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<label for="right" class="label">수신번호</label>
|
<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>
|
||||||
<div class="select_box">
|
<div class="select_box">
|
||||||
<label for="right" class="label">상세검색</label>
|
<label for="right" class="label">상세검색</label>
|
||||||
@@ -74,12 +74,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="count">총 <span> {{ totalItems }} </span>건
|
<div class="count">총 <span>{{ totalItems }}</span>건
|
||||||
<div class="select_box NumberSe">
|
<div class="select_box NumberSe">
|
||||||
<select name="" id="perpage" v-model="grid.pagePerRows" @keyup.enter="search">
|
<select name="" id="" v-model="perPageCnt" @change="changePerPage()">
|
||||||
<option value="20">20</option>
|
<option v-for="option in options" v-bind:value="option.value" v-bind:key="option.value">{{ option.text }}</option>
|
||||||
<option value="50" selected>50</option>
|
|
||||||
<option value="100">100</option>
|
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -108,6 +106,7 @@
|
|||||||
import customGrid from '@/components/CustomGrid';
|
import customGrid from '@/components/CustomGrid';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import commonModal from "@/components/modal/commonModal";
|
import commonModal from "@/components/modal/commonModal";
|
||||||
|
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
||||||
|
|
||||||
//import api from '../service/api';
|
//import api from '../service/api';
|
||||||
class CustomATagRenderer {
|
class CustomATagRenderer {
|
||||||
@@ -133,22 +132,29 @@ class CustomATagRenderer {
|
|||||||
}
|
}
|
||||||
export default {
|
export default {
|
||||||
name: 'intrcpList',
|
name: 'intrcpList',
|
||||||
|
mixins: [utils_mixin, chkPattern2],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
totalItems: 0,
|
totalItems: 0,
|
||||||
|
perPageCnt: 50,
|
||||||
// 달력 데이터
|
// 달력 데이터
|
||||||
ko: vdp_translation_ko.js,
|
ko: vdp_translation_ko.js,
|
||||||
periodDay: 7,
|
periodDay: 7,
|
||||||
sDateDiv: 'day',
|
sDateDiv: 'day',
|
||||||
startDate: new Date(),
|
startDate: new Date(),
|
||||||
endDate: new Date(),
|
endDate: new Date(),
|
||||||
|
options: [
|
||||||
|
{ text: '20', value: 20},
|
||||||
|
{ text: '50', value: 50},
|
||||||
|
{ text: '100', value: 100}
|
||||||
|
],
|
||||||
statType: [],
|
statType: [],
|
||||||
userType: [],
|
userType: [],
|
||||||
row:{},
|
row:{},
|
||||||
grid: {
|
grid: {
|
||||||
url: '/api/v1/bo/riskMgt/web/intrcpList',
|
url: '/api/v1/bo/riskMgt/web/intrcpList',
|
||||||
perPage: 20,
|
perPage: 20,
|
||||||
|
pagePerRows: 20,
|
||||||
pagination: true,
|
pagination: true,
|
||||||
isCheckbox: false,
|
isCheckbox: false,
|
||||||
initialRequest: false,
|
initialRequest: false,
|
||||||
@@ -168,20 +174,20 @@ export default {
|
|||||||
],
|
],
|
||||||
|
|
||||||
columns: [
|
columns: [
|
||||||
{ name: 'no', header: 'NO', align: 'center', width: 60 },
|
{ name: 'no', header: 'NO', align: 'center', width: '5%' },
|
||||||
{ name: 'blckTpCd', header: '차단구분', align: 'center', width: 160 },
|
{ name: 'blckTpCd', header: '차단구분', align: 'center', width: '11%' },
|
||||||
{ name: 'userId', header: '발송ID', align: 'center', width: 100},
|
{ name: 'userId', header: '발송ID', align: 'center', width: '11%'},
|
||||||
{ name: 'sndrno', header: '발신번호', align: 'center', width: 130},
|
{ name: 'sndrno', header: '발신번호', align: 'center', width: '11%'},
|
||||||
{ name: 'custNm', header: '고객사명', align: 'center', width: 130, renderer: {
|
{ name: 'custNm', header: '고객사명', align: 'center', width: '11%', renderer: {
|
||||||
type: CustomATagRenderer
|
type: CustomATagRenderer
|
||||||
, options: {
|
, options: {
|
||||||
callback: this.custDetail,
|
callback: this.custDetail,
|
||||||
}
|
}
|
||||||
}},
|
}},
|
||||||
{ name: 'bizrno', header: '사업자번호', align: 'center', width: 90},
|
{ name: 'bizrno', header: '사업자번호', align: 'center', width: '11%'},
|
||||||
{ name: 'rcvno', header: '수신번호', align: 'center', width: 90 },
|
{ name: 'rcvno', header: '수신번호', align: 'center', width: '11%' },
|
||||||
{ name: 'blckRsnCd', header: '차단사유', align: 'center', width: 90 },
|
{ name: 'blckRsnCd', header: '차단사유', align: 'center', width: '7%' },
|
||||||
{ name: 'blckDt', header: '발송일자', align: 'center', width: 90 },
|
{ name: 'blckDt', header: '발송일자', align: 'center', width: '11%' },
|
||||||
|
|
||||||
],
|
],
|
||||||
noDataStr: '검색 결과가 없습니다.',
|
noDataStr: '검색 결과가 없습니다.',
|
||||||
@@ -220,8 +226,6 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
this.$store.commit("login/isLogin", true);
|
|
||||||
this.$store.commit("login/isAuthChk", true);
|
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
this.setPeriodDay(0);
|
this.setPeriodDay(0);
|
||||||
},
|
},
|
||||||
@@ -241,6 +245,11 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
search: function(isKeep) {
|
search: function(isKeep) {
|
||||||
console.log(this.grid.params);
|
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.$refs.table.search(this.grid.params, isKeep);
|
||||||
this.sendStoreData();
|
this.sendStoreData();
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
<div class="group">
|
<div class="group">
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<label for="regId" class="label">등록자</label>
|
<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>
|
||||||
<div class="select_box">
|
<div class="select_box">
|
||||||
<label for="blckRsnCd" class="label">차단사유</label>
|
<label for="blckRsnCd" class="label">차단사유</label>
|
||||||
@@ -93,6 +93,7 @@ import api from '@/service/api.js';
|
|||||||
import intrcpDetailPopup from '../components/IntrcpDetailPopup';
|
import intrcpDetailPopup from '../components/IntrcpDetailPopup';
|
||||||
import insertIntrcpPop from '../components/InsertIntrcpPop';
|
import insertIntrcpPop from '../components/InsertIntrcpPop';
|
||||||
import commonModal from "@/components/modal/commonModal";
|
import commonModal from "@/components/modal/commonModal";
|
||||||
|
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
||||||
//import api from '../service/api';
|
//import api from '../service/api';
|
||||||
|
|
||||||
class CustomATagRenderer {
|
class CustomATagRenderer {
|
||||||
@@ -112,6 +113,7 @@ class CustomATagRenderer {
|
|||||||
addEvent(selEl) {
|
addEvent(selEl) {
|
||||||
selEl.addEventListener("click", () => {
|
selEl.addEventListener("click", () => {
|
||||||
const { callback } = this.props["cgrido" + this.props.colName].options;
|
const { callback } = this.props["cgrido" + this.props.colName].options;
|
||||||
|
console.log(this.props);
|
||||||
callback(this.props);
|
callback(this.props);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -119,6 +121,7 @@ class CustomATagRenderer {
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'intrcpList',
|
name: 'intrcpList',
|
||||||
|
mixins: [utils_mixin, chkPattern2],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
totalItems: 0,
|
totalItems: 0,
|
||||||
@@ -149,21 +152,25 @@ export default {
|
|||||||
],
|
],
|
||||||
|
|
||||||
columns: [
|
columns: [
|
||||||
{ name: 'no', header: 'NO', align: 'center', width: 50 },
|
{ name: 'no', header: 'NO', align: 'center', width: '5%' },
|
||||||
{ name: 'blcksndrno', header: '발신번호', align: 'center', width: 160,
|
{ name: 'blcksndrno', header: '발신번호', align: 'center', width: '25%',
|
||||||
renderer: { type: CustomATagRenderer, options: { callback: this.inDetailPop} } },
|
renderer: { type: CustomATagRenderer, options: { callback: this.inDetailPop} } },
|
||||||
{ name: 'blckYn', header: '차단여부', align: 'center', width: 100},
|
{ name: 'blckYn', header: '차단여부', align: 'center', width: '15%'},
|
||||||
{ name: 'sndblckTpCd', header: '발송타입', align: 'center', width: 100},
|
{ name: 'sndblckTpCd', header: '발송타입', align: 'center', width: '15%', hidden: true},
|
||||||
{ name: 'lastChgDt', header: '최근수정일', align: 'center', width: 100},
|
{ name: 'sndblckTpNm', header: '발송타입', align: 'center', width: '15%'},
|
||||||
{ name: 'blckRsnCd', header: '차단사유', width: 100, cls: 'td_line' },
|
{ name: 'lastChgDt', header: '최근수정일', align: 'center', width: '15%'},
|
||||||
{ name: 'regId', header: '등록자', width: 150 }
|
{ name: 'blckRsnCd', header: '차단사유', width: '15%', cls: 'td_line', hidden: true },
|
||||||
|
{ name: 'blckRsnNm', header: '차단사유', width: '15%', cls: 'td_line' },
|
||||||
|
{ name: 'regId', header: '등록자', width: '15%' }
|
||||||
],
|
],
|
||||||
noDataStr: '검색 결과가 없습니다.',
|
noDataStr: '검색 결과가 없습니다.',
|
||||||
params: {
|
params: {
|
||||||
regId: '',
|
regId: '',
|
||||||
blckRsnCd: '',
|
blckRsnCd: '',
|
||||||
|
blckRsnNm: '',
|
||||||
blckYn: '',
|
blckYn: '',
|
||||||
sndblckTpCd: '',
|
sndblckTpCd: '',
|
||||||
|
sndblckTpNm: '',
|
||||||
blcksndrno: ''
|
blcksndrno: ''
|
||||||
},
|
},
|
||||||
excelHeader: []
|
excelHeader: []
|
||||||
@@ -180,8 +187,6 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
this.$store.commit("login/isLogin", true);
|
|
||||||
this.$store.commit("login/isAuthChk", true);
|
|
||||||
this.setCodeData();
|
this.setCodeData();
|
||||||
// this.formReset();
|
// this.formReset();
|
||||||
},
|
},
|
||||||
@@ -229,11 +234,17 @@ export default {
|
|||||||
api.commCode({'grpCd' : 'SVCUSER_TP_CD'}).then(response => {
|
api.commCode({'grpCd' : 'SVCUSER_TP_CD'}).then(response => {
|
||||||
this.userType = response.data.data.list;
|
this.userType = response.data.data.list;
|
||||||
});
|
});
|
||||||
|
//발송타입
|
||||||
|
api.commCode({'grpCd' : 'SNDBLCK_TP_CD'}).then(response => {
|
||||||
|
this.tpType = response.data.data.list;
|
||||||
|
});
|
||||||
},
|
},
|
||||||
ModalOpen: function(){
|
ModalOpen: function(){
|
||||||
this.$refs.insertIntrcpPop.ModalOpen();
|
this.$refs.insertIntrcpPop.ModalOpen();
|
||||||
},
|
},
|
||||||
inDetailPop(props) {
|
inDetailPop(props) {
|
||||||
|
console.log('======');
|
||||||
|
console.log(props);
|
||||||
this.$refs.intrcpDetailPopup.IntrcpDetailModalOpen(props);
|
this.$refs.intrcpDetailPopup.IntrcpDetailModalOpen(props);
|
||||||
},
|
},
|
||||||
// formReset(){
|
// formReset(){
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
<div class="search_wrap">
|
<div class="search_wrap">
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<label for="regId" class="label">등록자</label>
|
<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>
|
||||||
<div class="select_box">
|
<div class="select_box">
|
||||||
<label for="blckRsnCd" class="label">차단사유</label>
|
<label for="blckRsnCd" class="label">차단사유</label>
|
||||||
@@ -70,7 +70,7 @@ import customGrid from '@/components/CustomGrid';
|
|||||||
import InsertMsgPop from '../components/InsertMsgPop';
|
import InsertMsgPop from '../components/InsertMsgPop';
|
||||||
import IntrcpMsgDetail from '../components/IntrcpMsgDetail';
|
import IntrcpMsgDetail from '../components/IntrcpMsgDetail';
|
||||||
import commonModal from "@/components/modal/commonModal";
|
import commonModal from "@/components/modal/commonModal";
|
||||||
undefined
|
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
||||||
//import api from '../service/api';
|
//import api from '../service/api';
|
||||||
class CustomATagRenderer {
|
class CustomATagRenderer {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
@@ -95,6 +95,7 @@ class CustomATagRenderer {
|
|||||||
}
|
}
|
||||||
export default {
|
export default {
|
||||||
name: 'intrcpList',
|
name: 'intrcpList',
|
||||||
|
mixins: [utils_mixin, chkPattern2],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
totalItems: 0,
|
totalItems: 0,
|
||||||
@@ -127,21 +128,22 @@ export default {
|
|||||||
],
|
],
|
||||||
|
|
||||||
columns: [
|
columns: [
|
||||||
{ name: 'no', header: 'NO', align: 'center', width: 60 },
|
{ name: 'no', header: 'NO', align: 'center', width: '5%' },
|
||||||
{ name: 'seqNo', header: '일련번호', align: 'center', width: 60, hidden: true},
|
{ name: 'seqNo', header: '일련번호', align: 'center', width: '19%', hidden: true},
|
||||||
{ name: 'word', header: '차단메시지', align: 'center', width: 160,
|
{ name: 'word', header: '차단메시지', align: 'center', width: '19%',
|
||||||
renderer: {type: CustomATagRenderer, options: { callback: this.msgDetailPop}} },
|
renderer: {type: CustomATagRenderer, options: { callback: this.msgDetailPop}} },
|
||||||
{ name: 'blckYn', header: '차단여부', align: 'center', width: 130},
|
{ name: 'blckYn', header: '차단여부', align: 'center', width: '19%'},
|
||||||
{ name: 'lastChgDt', header: '마지막 수정일', align: 'center', width: 130},
|
{ name: 'lastChgDt', header: '마지막 수정일', align: 'center', width: '19%'},
|
||||||
{ name: 'blckRsnCd', header: '차단사유', align: 'center', width: 130},
|
{ name: 'blckRsnCd', header: '차단사유', align: 'center', width: '19%'},
|
||||||
{ name: 'regId', header: '등록자', width: 90, cls: 'td_line' }
|
{ name: 'regId', header: '등록자', width: '19%', cls: 'td_line' }
|
||||||
],
|
],
|
||||||
noDataStr: '검색 결과가 없습니다.',
|
noDataStr: '검색 결과가 없습니다.',
|
||||||
params: {
|
params: {
|
||||||
regId: '',
|
regId: '',
|
||||||
blckRsnCd: '',
|
blckRsnCd: '',
|
||||||
word: '',
|
word: '',
|
||||||
seqNo: ''
|
seqNo: '',
|
||||||
|
blckYn: '',
|
||||||
},
|
},
|
||||||
excelHeader: []
|
excelHeader: []
|
||||||
}
|
}
|
||||||
@@ -157,8 +159,6 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
this.$store.commit("login/isLogin", true);
|
|
||||||
this.$store.commit("login/isAuthChk", true);
|
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|||||||
@@ -11,15 +11,15 @@
|
|||||||
<div class="search_wrap">
|
<div class="search_wrap">
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<label for="search" class="label">고객사</label>
|
<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>
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<label for="search" class="label">인증코드</label>
|
<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>
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<label for="right" class="label">수신번호</label>
|
<label for="search" class="label">수신번호</label>
|
||||||
<input class="search-box" type="number" id="search" placeholder="검색어 입력" v-model="grid.params.rcvblckno"/>
|
<input class="search-box" type="number" id="search" placeholder="검색어 입력" v-model="grid.params.rcvblckno" v-on:keyup="onlyNum" @input="onlyNum" maxlength="11"/>
|
||||||
</div>
|
</div>
|
||||||
<button type="button" class="button grey" @click="search">조회</button>
|
<button type="button" class="button grey" @click="search">조회</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -57,6 +57,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import customGrid from '@/components/CustomGrid';
|
import customGrid from '@/components/CustomGrid';
|
||||||
import commonModal from "@/components/modal/commonModal";
|
import commonModal from "@/components/modal/commonModal";
|
||||||
|
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
||||||
//import api from '../service/api';
|
//import api from '../service/api';
|
||||||
class CustomATagRenderer {
|
class CustomATagRenderer {
|
||||||
constructor(props) {
|
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 {
|
export default {
|
||||||
name: 'intrcpList',
|
name: 'intrcpList',
|
||||||
|
mixins: [utils_mixin, chkPattern2],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
totalItems: 0,
|
totalItems: 0,
|
||||||
@@ -112,18 +133,18 @@ export default {
|
|||||||
],
|
],
|
||||||
|
|
||||||
columns: [
|
columns: [
|
||||||
{ name: 'no', header: 'NO', align: 'center', width: 60 },
|
{ name: 'no', header: 'NO', align: 'center', width: '5%' },
|
||||||
{ name: 'custNm', header: '고객사', align: 'center', width: 160, renderer: {
|
{ name: 'custNm', header: '고객사', align: 'center', width: '15%', renderer: {
|
||||||
type: CustomATagRenderer
|
type: CustomATagRenderer
|
||||||
, options: {
|
, options: {
|
||||||
callback: this.memberDetail,
|
callback: this.memberDetail,
|
||||||
}
|
}
|
||||||
} },
|
} },
|
||||||
{ name: 'bizrno', header: '사업자번호', align: 'center', width: 100},
|
{ name: 'bizrno', header: '사업자번호', align: 'center', width: '15%', renderer: {type: customBRegNo}},
|
||||||
{ name: 'authcd080', header: '인증코드', align: 'center', width: 130},
|
{ name: 'authcd080', header: '인증코드', align: 'center', width: '15%'},
|
||||||
{ name: 'rcvblckno', header: '수신번호', align: 'center', width: 130},
|
{ name: 'rcvblckno', header: '수신번호', align: 'center', width: '15%'},
|
||||||
{ name: 'regDt', header: '등록일', align: 'center', width: 130},
|
{ name: 'regDt', header: '등록일', align: 'center', width: '20%'},
|
||||||
{ name: 'regTpCd', header: '등록구분', width: 90, cls: 'td_line' }
|
{ name: 'regTpCd', header: '등록구분', width: '15%', cls: 'td_line' }
|
||||||
],
|
],
|
||||||
noDataStr: '검색 결과가 없습니다.',
|
noDataStr: '검색 결과가 없습니다.',
|
||||||
params: {
|
params: {
|
||||||
@@ -143,8 +164,6 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
this.$store.commit("login/isLogin", true);
|
|
||||||
this.$store.commit("login/isAuthChk", true);
|
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|||||||
@@ -171,8 +171,6 @@ export default {
|
|||||||
ApprDetailPop
|
ApprDetailPop
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
this.$store.commit("login/isLogin", true);
|
|
||||||
this.$store.commit("login/isAuthChk", true);
|
|
||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||||
|
|||||||
@@ -198,9 +198,7 @@ export default {
|
|||||||
NumberDetailPop,
|
NumberDetailPop,
|
||||||
commonModal,
|
commonModal,
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
this.$store.commit("login/isLogin", true);
|
|
||||||
this.$store.commit("login/isAuthChk", true);
|
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
|
|||||||
@@ -149,8 +149,6 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
this.$store.commit("login/isLogin", true);
|
|
||||||
this.$store.commit("login/istAuthChk", true);
|
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -33,10 +33,8 @@
|
|||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
||||||
<div class="select_box NumberSe">
|
<div class="select_box NumberSe">
|
||||||
<select name="" id="perPage" v-model="grid.pagePerRows" @keyup.enter="search">
|
<select name="" id="" v-model="perPageCnt" @change="changePerPage()">
|
||||||
<option value="20">20</option>
|
<option v-for="option in options" v-bind:value="option.value" v-bind:key="option.value">{{ option.text }}</option>
|
||||||
<option value="50" selected>50</option>
|
|
||||||
<option value="100">100</option>
|
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -102,9 +100,14 @@ export default {
|
|||||||
totalItems: 0,
|
totalItems: 0,
|
||||||
// 테이블 리스트 데이터
|
// 테이블 리스트 데이터
|
||||||
perPageCnt: 50,
|
perPageCnt: 50,
|
||||||
|
options: [
|
||||||
|
{ text: '20', value: 20},
|
||||||
|
{ text: '50', value: 50},
|
||||||
|
{ text: '100', value: 100}
|
||||||
|
],
|
||||||
grid: {
|
grid: {
|
||||||
url: '/api/v1/bo/servMgt/rejectRecvList',
|
url: '/api/v1/bo/servMgt/rejectRecvList',
|
||||||
perPage: 50,
|
pagePerRows: 20,
|
||||||
pagination: true,
|
pagination: true,
|
||||||
isCheckbox: false,
|
isCheckbox: false,
|
||||||
initialRequest: false,
|
initialRequest: false,
|
||||||
@@ -146,9 +149,7 @@ export default {
|
|||||||
customGrid: customGrid,
|
customGrid: customGrid,
|
||||||
commonModal
|
commonModal
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
this.$store.commit("login/isLogin", true);
|
|
||||||
this.$store.commit("login/isAuthChk", true);
|
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
@@ -198,7 +199,11 @@ export default {
|
|||||||
|
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
//console.log("getCondition : "+ getCondition.perPage);
|
//console.log("getCondition : "+ getCondition.perPage);
|
||||||
}
|
},
|
||||||
|
changePerPage: function(){ // 페이지당 조회할 개수
|
||||||
|
this.grid.pagePerRows = this.perPageCnt;
|
||||||
|
this.search(true);
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
beforeRouteLeave(to, from, next) {
|
beforeRouteLeave(to, from, next) {
|
||||||
|
|||||||
@@ -239,8 +239,6 @@ export default {
|
|||||||
vuejsDatepicker,
|
vuejsDatepicker,
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
this.$store.commit("login/isLogin", true);
|
|
||||||
this.$store.commit("login/isAuthChk", true);
|
|
||||||
this.setPeriodDay(0);
|
this.setPeriodDay(0);
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -247,8 +247,6 @@ export default {
|
|||||||
vuejsDatepicker,
|
vuejsDatepicker,
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
this.$store.commit("login/isLogin", true);
|
|
||||||
this.$store.commit("login/isAuthChk", true);
|
|
||||||
this.setPeriodDay(0);
|
this.setPeriodDay(0);
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -142,8 +142,6 @@ export default {
|
|||||||
vuejsDatepicker,
|
vuejsDatepicker,
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
this.$store.commit("login/isLogin", true);
|
|
||||||
this.$store.commit("login/isAuthChk", true);
|
|
||||||
// this.startDt = moment().format('YYYY-MM-DD');
|
// this.startDt = moment().format('YYYY-MM-DD');
|
||||||
// this.endDt = moment().format('YYYY-MM-DD');
|
// this.endDt = moment().format('YYYY-MM-DD');
|
||||||
this.setPeriodDay(0);
|
this.setPeriodDay(0);
|
||||||
|
|||||||
@@ -151,8 +151,6 @@ export default {
|
|||||||
vuejsDatepicker,
|
vuejsDatepicker,
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
this.$store.commit("login/isLogin", true);
|
|
||||||
this.$store.commit("login/isAuthChk", true);
|
|
||||||
this.setPeriodDay(0);
|
this.setPeriodDay(0);
|
||||||
this.getMonthList();
|
this.getMonthList();
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -149,9 +149,7 @@ export default {
|
|||||||
commonModal,
|
commonModal,
|
||||||
AdminDetailPop,
|
AdminDetailPop,
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
this.$store.commit("login/isLogin", true);
|
|
||||||
this.$store.commit("login/isAuthChk", true);
|
|
||||||
this.setCodeData();
|
this.setCodeData();
|
||||||
//let cont = document.querySelector(".wrap");
|
//let cont = document.querySelector(".wrap");
|
||||||
//cont.classList.add("main_wrap");
|
//cont.classList.add("main_wrap");
|
||||||
|
|||||||
@@ -50,16 +50,29 @@
|
|||||||
</td>
|
</td>
|
||||||
<td class="check">
|
<td class="check">
|
||||||
<p>유치현황관리</p>
|
<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">
|
<div class="label_group">
|
||||||
<label for="right_check2"></label>
|
<label for="right_check2"></label>
|
||||||
<label for="right_check2">유치채널 현황</label>
|
<label for="right_check2">유치현황관리</label>
|
||||||
</div>
|
</div>
|
||||||
<input type="checkbox" id="right_check3" value="2003" v-model="checkedAuthMenu">
|
<input type="checkbox" id="right_check3" value="2003" v-model="checkedAuthMenu">
|
||||||
<div class="label_group">
|
<div class="label_group">
|
||||||
<label for="right_check3"></label>
|
<label for="right_check3"></label>
|
||||||
<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>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td class="check">
|
<td class="check">
|
||||||
<p>서비스관리</p>
|
<p>서비스관리</p>
|
||||||
@@ -196,15 +209,14 @@ export default {
|
|||||||
authCd: "",
|
authCd: "",
|
||||||
authDesc: "",
|
authDesc: "",
|
||||||
stat: "01", // 등록화면 상태 Default 값 지정(사용:01)
|
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:[],
|
checkedAuthMenu:[],
|
||||||
|
channelAuth: "",
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
this.$store.commit("login/isLogin", true);
|
|
||||||
this.$store.commit("login/isAuthChk", true);
|
|
||||||
//this.setCodeData();
|
//this.setCodeData();
|
||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
@@ -253,6 +265,10 @@ export default {
|
|||||||
var reqAuthMenuArr = this.checkedAuthMenu;
|
var reqAuthMenuArr = this.checkedAuthMenu;
|
||||||
var listArr = [];
|
var listArr = [];
|
||||||
var dataMap = {};
|
var dataMap = {};
|
||||||
|
if(this.channelAuth !== ''){
|
||||||
|
dataMap.menuNo = this.channelAuth;
|
||||||
|
listArr.push(dataMap);
|
||||||
|
}
|
||||||
for(var i = 0; i< reqAuthMenuArr.length; i++){
|
for(var i = 0; i< reqAuthMenuArr.length; i++){
|
||||||
dataMap = {};
|
dataMap = {};
|
||||||
dataMap.menuNo = reqAuthMenuArr[i];
|
dataMap.menuNo = reqAuthMenuArr[i];
|
||||||
@@ -295,7 +311,16 @@ export default {
|
|||||||
return this.defaultAuthMenu.length === this.checkedAuthMenu.length;
|
return this.defaultAuthMenu.length === this.checkedAuthMenu.length;
|
||||||
},
|
},
|
||||||
set: function (e) {
|
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.authNm }}</td>
|
||||||
<td>{{ option.authStat }}</td>
|
<td>{{ option.authStat }}</td>
|
||||||
<td>{{ option.regDt }}</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 grey" @click="updateAuth(option.authCd)">수정</button>
|
||||||
<button type="button" class="button white delete" @click="deleteAuth(option.authCd)">삭제</button>
|
<button type="button" class="button white delete" @click="deleteAuth(option.authCd)">삭제</button>
|
||||||
</td>
|
</td>
|
||||||
@@ -78,8 +84,6 @@ export default {
|
|||||||
components: {
|
components: {
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
this.$store.commit("login/isLogin", true);
|
|
||||||
this.$store.commit("login/isAuthChk", true);
|
|
||||||
this.getAuthList();
|
this.getAuthList();
|
||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
|
|||||||
@@ -50,7 +50,7 @@
|
|||||||
</td>
|
</td>
|
||||||
<td class="check">
|
<td class="check">
|
||||||
<p>유치현황관리</p>
|
<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">
|
<div class="label_group">
|
||||||
<label for="right_check2"></label>
|
<label for="right_check2"></label>
|
||||||
<label for="right_check2">유치채널 현황</label>
|
<label for="right_check2">유치채널 현황</label>
|
||||||
@@ -59,6 +59,17 @@
|
|||||||
<div class="label_group">
|
<div class="label_group">
|
||||||
<label for="right_check3"></label>
|
<label for="right_check3"></label>
|
||||||
<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>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td class="check">
|
<td class="check">
|
||||||
@@ -196,8 +207,9 @@ export default {
|
|||||||
authCd: "",
|
authCd: "",
|
||||||
authDesc: "",
|
authDesc: "",
|
||||||
stat: "",
|
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:[],
|
checkedAuthMenu:[],
|
||||||
|
channelAuth: "",
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
@@ -208,9 +220,7 @@ export default {
|
|||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
this.$store.commit("login/isLogin", true);
|
|
||||||
this.$store.commit("login/isAuthChk", true);
|
|
||||||
//this.setCodeData();
|
//this.setCodeData();
|
||||||
this.authDetail();
|
this.authDetail();
|
||||||
},
|
},
|
||||||
@@ -274,7 +284,12 @@ export default {
|
|||||||
var rsArr = [];
|
var rsArr = [];
|
||||||
for(var i=0; i< dataList.length; i++){
|
for(var i=0; i< dataList.length; i++){
|
||||||
if(dataList[i].upperMenuNo != null || dataList[i].upperMenuNo != ""){
|
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 reqAuthMenuArr = this.checkedAuthMenu;
|
||||||
var listArr = [];
|
var listArr = [];
|
||||||
var dataMap = {};
|
var dataMap = {};
|
||||||
|
if(this.channelAuth !== ''){
|
||||||
|
dataMap.menuNo = this.channelAuth;
|
||||||
|
listArr.push(dataMap);
|
||||||
|
}
|
||||||
for(var i = 0; i< reqAuthMenuArr.length; i++){
|
for(var i = 0; i< reqAuthMenuArr.length; i++){
|
||||||
dataMap = {};
|
dataMap = {};
|
||||||
dataMap.menuNo = reqAuthMenuArr[i];
|
dataMap.menuNo = reqAuthMenuArr[i];
|
||||||
@@ -329,7 +348,16 @@ export default {
|
|||||||
return this.defaultAuthMenu.length === this.checkedAuthMenu.length;
|
return this.defaultAuthMenu.length === this.checkedAuthMenu.length;
|
||||||
},
|
},
|
||||||
set: function (e) {
|
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 Vuex from 'vuex'
|
||||||
import searchcondition from './store/search-condition'
|
import searchcondition from './store/search-condition'
|
||||||
import login from './modules/login/store/index'
|
import login from './modules/login/store/index'
|
||||||
|
import createPersistedState from 'vuex-persistedstate';
|
||||||
|
|
||||||
Vue.use(Vuex)
|
Vue.use(Vuex)
|
||||||
|
|
||||||
@@ -9,5 +10,6 @@ export default new Vuex.Store({
|
|||||||
modules: {
|
modules: {
|
||||||
searchcondition,
|
searchcondition,
|
||||||
login
|
login
|
||||||
}
|
},
|
||||||
|
plugins: [createPersistedState({ paths: ["login"] })],
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<body>
|
<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>
|
<hub-web-header v-if="isAuthChk == true"></hub-web-header>
|
||||||
<nav-bar v-if="isAuthChk == true"></nav-bar>
|
<nav-bar v-if="isAuthChk == true"></nav-bar>
|
||||||
<router-view :key="$route.fullPath"></router-view>
|
<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>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</template>
|
</template>
|
||||||
@@ -39,11 +39,12 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.getLogin;
|
// this.getLogin;
|
||||||
this.getAuthChk;
|
// this.getAuthChk;
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
this.isLogin = this.$store.getters["login/isLogin"]
|
||||||
|
this.isAuthChk = this.$store.getters["login/isAuthChk"]
|
||||||
}
|
}
|
||||||
,computed: {
|
,computed: {
|
||||||
...mapGetters({
|
...mapGetters({
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ module.exports = {
|
|||||||
? '../src/main/resources/templates' : 'dist', // html, ico 파일 저장
|
? '../src/main/resources/templates' : 'dist', // html, ico 파일 저장
|
||||||
assetsDir: process.env.NODE_ENV === 'production'
|
assetsDir: process.env.NODE_ENV === 'production'
|
||||||
? '../static' : '', // css, img, js 저장. outputDir에 대한 상대 경로
|
? '../static' : '', // css, img, js 저장. outputDir에 대한 상대 경로
|
||||||
|
lintOnSave: false,
|
||||||
/**
|
/**
|
||||||
* /api/** 요청은 backend 서버로 전달한다.
|
* /api/** 요청은 backend 서버로 전달한다.
|
||||||
* 이 설정이 없으면 axios에서 baseURL 설정하고 backend에서는 cors 설정 해야한다.
|
* 이 설정이 없으면 axios에서 baseURL 설정하고 backend에서는 cors 설정 해야한다.
|
||||||
|
|||||||
@@ -15,6 +15,9 @@ import kr.co.uplus.ez.api.channelMgt.dto.TmpltListResDto;
|
|||||||
import kr.co.uplus.ez.common.components.ValidComponents;
|
import kr.co.uplus.ez.common.components.ValidComponents;
|
||||||
import kr.co.uplus.ez.common.data.ApiResponseCode;
|
import kr.co.uplus.ez.common.data.ApiResponseCode;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.security.core.Authentication;
|
||||||
|
import org.springframework.security.core.context.SecurityContextHolder;
|
||||||
|
import org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler;
|
||||||
import org.springframework.validation.BindingResult;
|
import org.springframework.validation.BindingResult;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
@@ -49,7 +52,10 @@ public class ChannelMgtController {
|
|||||||
return new TmpltListResDto(ApiResponseCode.CM_PARAMETER_ERROR);
|
return new TmpltListResDto(ApiResponseCode.CM_PARAMETER_ERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
return channelService.tmpltList(tmpltListReqDto);
|
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
|
||||||
|
String userId = auth.getName();
|
||||||
|
|
||||||
|
return channelService.tmpltList(tmpltListReqDto, userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -70,6 +76,9 @@ public class ChannelMgtController {
|
|||||||
return new TmpltListExcelResDto(ApiResponseCode.CM_PARAMETER_ERROR);
|
return new TmpltListExcelResDto(ApiResponseCode.CM_PARAMETER_ERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
return channelService.tmpltListExcel(tmpltListExcelReqDto);
|
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
|
||||||
|
String userId = auth.getName();
|
||||||
|
|
||||||
|
return channelService.tmpltListExcel(tmpltListExcelReqDto, userId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,4 +16,6 @@ public interface ChannelMgtMapper {
|
|||||||
List<TmpltInfo> selectTmpltList(TmpltListReqDto tmpltListReqDto);
|
List<TmpltInfo> selectTmpltList(TmpltListReqDto tmpltListReqDto);
|
||||||
|
|
||||||
List<TmpltInfo> selectTmpltListExcel(TmpltListExcelReqDto tmpltListExcelReqDto);
|
List<TmpltInfo> selectTmpltListExcel(TmpltListExcelReqDto tmpltListExcelReqDto);
|
||||||
|
|
||||||
|
String selectChannelAuthMenuNo(String targetUserId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,11 +33,15 @@ public class ChannelMgtService {
|
|||||||
* @param tmpltListReqDto
|
* @param tmpltListReqDto
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public TmpltListResDto tmpltList(TmpltListReqDto tmpltListReqDto) {
|
public TmpltListResDto tmpltList(TmpltListReqDto tmpltListReqDto, String targetUserId) {
|
||||||
ChannelMgtMapper channelMgtMapper = sqlSessionSlave.getMapper(ChannelMgtMapper.class);
|
ChannelMgtMapper channelMgtMapper = sqlSessionSlave.getMapper(ChannelMgtMapper.class);
|
||||||
String nowPage = String.valueOf(tmpltListReqDto.getPage());
|
String nowPage = String.valueOf(tmpltListReqDto.getPage());
|
||||||
int totalCnt = channelMgtMapper.selectTmpltTotalCnt(tmpltListReqDto);
|
|
||||||
|
|
||||||
|
String channelAuthMenuNo = channelMgtMapper.selectChannelAuthMenuNo(targetUserId);
|
||||||
|
tmpltListReqDto.setChannelAuthMenuNo(channelAuthMenuNo);
|
||||||
|
tmpltListReqDto.setUserId(targetUserId);
|
||||||
|
|
||||||
|
int totalCnt = channelMgtMapper.selectTmpltTotalCnt(tmpltListReqDto);
|
||||||
|
|
||||||
if(totalCnt == 0) {
|
if(totalCnt == 0) {
|
||||||
Paging paging = new Paging();
|
Paging paging = new Paging();
|
||||||
@@ -68,36 +72,16 @@ public class ChannelMgtService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
public TmpltListExcelResDto tmpltListExcel(TmpltListExcelReqDto tmpltListExcelReqDto) {
|
public TmpltListExcelResDto tmpltListExcel(TmpltListExcelReqDto tmpltListExcelReqDto, String targetUserId) {
|
||||||
ChannelMgtMapper channelMgtMapper = sqlSessionSlave.getMapper(ChannelMgtMapper.class);
|
ChannelMgtMapper channelMgtMapper = sqlSessionSlave.getMapper(ChannelMgtMapper.class);
|
||||||
//String nowPage = String.valueOf(tmpltListReqDto.getPage());
|
String channelAuthMenuNo = channelMgtMapper.selectChannelAuthMenuNo(targetUserId);
|
||||||
// int totalCnt = channelMgtMapper.selectTmpltTotalCnt(tmpltListReqDto);
|
tmpltListExcelReqDto.setChannelAuthMenuNo(channelAuthMenuNo);
|
||||||
//
|
tmpltListExcelReqDto.setUserId(targetUserId);
|
||||||
//
|
|
||||||
// if(totalCnt == 0) {
|
|
||||||
// Paging paging = new Paging();
|
|
||||||
// paging.setPage(nowPage);
|
|
||||||
// paging.setTotalCnt(String.valueOf(totalCnt));
|
|
||||||
// TmpltListRes tmpltListRes = new TmpltListRes();
|
|
||||||
// tmpltListRes.setList(new ArrayList<>());
|
|
||||||
// tmpltListRes.setPaging(paging);
|
|
||||||
// return new TmpltListResDto(ApiResponseCode.CM_NOT_FOUND, tmpltListRes);
|
|
||||||
// }
|
|
||||||
// logger.info("perPage : "+tmpltListReqDto.getPagePerRows());
|
|
||||||
// int page = tmpltListReqDto.getPage();
|
|
||||||
// int pagePerRows = tmpltListReqDto.getPagePerRows();
|
|
||||||
// page = (page -1) * pagePerRows;
|
|
||||||
// tmpltListReqDto.setPage(page);
|
|
||||||
|
|
||||||
List<TmpltInfo> tmpltInfos = channelMgtMapper.selectTmpltListExcel(tmpltListExcelReqDto);
|
List<TmpltInfo> tmpltInfos = channelMgtMapper.selectTmpltListExcel(tmpltListExcelReqDto);
|
||||||
|
|
||||||
// Paging paging = new Paging();
|
|
||||||
// paging.setPage(nowPage);
|
|
||||||
// paging.setTotalCnt(String.valueOf(totalCnt));
|
|
||||||
//
|
|
||||||
TmpltListRes tmpltListRes = new TmpltListRes();
|
TmpltListRes tmpltListRes = new TmpltListRes();
|
||||||
tmpltListRes.setList(tmpltInfos);
|
tmpltListRes.setList(tmpltInfos);
|
||||||
// tmpltListRes.setPaging(paging);
|
|
||||||
|
|
||||||
return new TmpltListExcelResDto(ApiResponseCode.SUCCESS, tmpltListRes);
|
return new TmpltListExcelResDto(ApiResponseCode.SUCCESS, tmpltListRes);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,4 +17,7 @@ public class TmpltListExcelReqDto implements Serializable {
|
|||||||
@ApiModelProperty(example = "검색어(입력)", name = "검색어(입력)", dataType = "String")
|
@ApiModelProperty(example = "검색어(입력)", name = "검색어(입력)", dataType = "String")
|
||||||
private String searchText1;
|
private String searchText1;
|
||||||
|
|
||||||
|
private String channelAuthMenuNo;
|
||||||
|
private String userId;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,4 +25,7 @@ public class TmpltListReqDto implements Serializable {
|
|||||||
@NotNull
|
@NotNull
|
||||||
@ApiModelProperty(example = "현재 페이지", name = "현재 페이지", dataType = "int")
|
@ApiModelProperty(example = "현재 페이지", name = "현재 페이지", dataType = "int")
|
||||||
private int page;
|
private int page;
|
||||||
|
|
||||||
|
private String channelAuthMenuNo;
|
||||||
|
private String userId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,35 +1,12 @@
|
|||||||
package kr.co.uplus.ez.api.custMgt;
|
package kr.co.uplus.ez.api.custMgt;
|
||||||
|
|
||||||
|
import kr.co.uplus.ez.api.custMgt.dto.*;
|
||||||
|
import kr.co.uplus.ez.common.data.ImUser;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
|
||||||
|
|
||||||
import kr.co.uplus.ez.api.custMgt.dto.AllMemoList;
|
|
||||||
import kr.co.uplus.ez.api.custMgt.dto.AllMemoListReqDto;
|
|
||||||
import kr.co.uplus.ez.api.custMgt.dto.CarryOver;
|
|
||||||
import kr.co.uplus.ez.api.custMgt.dto.CarryOverListReqDto;
|
|
||||||
import kr.co.uplus.ez.api.custMgt.dto.CustInfo;
|
|
||||||
import kr.co.uplus.ez.api.custMgt.dto.DeleteUserReqDto;
|
|
||||||
import kr.co.uplus.ez.api.custMgt.dto.InsertUserReqDto;
|
|
||||||
import kr.co.uplus.ez.api.custMgt.dto.MemberAdminDetailReqDto;
|
|
||||||
import kr.co.uplus.ez.api.custMgt.dto.MemberAdminDetailRes;
|
|
||||||
import kr.co.uplus.ez.api.custMgt.dto.MemberDetail;
|
|
||||||
import kr.co.uplus.ez.api.custMgt.dto.MemberDetailReqDto;
|
|
||||||
import kr.co.uplus.ez.api.custMgt.dto.MemberDetailRes;
|
|
||||||
import kr.co.uplus.ez.api.custMgt.dto.MemberList;
|
|
||||||
import kr.co.uplus.ez.api.custMgt.dto.MemberListReqDto;
|
|
||||||
import kr.co.uplus.ez.api.custMgt.dto.SubsDetail;
|
|
||||||
import kr.co.uplus.ez.api.custMgt.dto.SubsDetailReqDto;
|
|
||||||
import kr.co.uplus.ez.api.custMgt.dto.SubsInfo;
|
|
||||||
import kr.co.uplus.ez.api.custMgt.dto.SubsList;
|
|
||||||
import kr.co.uplus.ez.api.custMgt.dto.SubsListExcelReqDto;
|
|
||||||
import kr.co.uplus.ez.api.custMgt.dto.SubsListReqDto;
|
|
||||||
import kr.co.uplus.ez.api.custMgt.dto.SvcUserInfo;
|
|
||||||
import kr.co.uplus.ez.api.custMgt.dto.UpdateAdminInfoTotalReqDto;
|
|
||||||
import kr.co.uplus.ez.api.custMgt.dto.UpdateUserReqDto;
|
|
||||||
import kr.co.uplus.ez.common.data.ImUser;
|
|
||||||
|
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface CustMgtMapper {
|
public interface CustMgtMapper {
|
||||||
|
|
||||||
@@ -94,12 +71,19 @@ public interface CustMgtMapper {
|
|||||||
String selectAdminId(String adminId);
|
String selectAdminId(String adminId);
|
||||||
|
|
||||||
int updateAdminInfoTotal(UpdateAdminInfoTotalReqDto updateAdminInfoTotalReqDto);
|
int updateAdminInfoTotal(UpdateAdminInfoTotalReqDto updateAdminInfoTotalReqDto);
|
||||||
|
|
||||||
int insertMemo(UpdateAdminInfoTotalReqDto updateAdminInfoTotalReqDto);
|
int insertMemo(UpdateAdminInfoTotalReqDto updateAdminInfoTotalReqDto);
|
||||||
|
|
||||||
int updateAdminSendingLimit(Map<String, Object> paramMap);
|
int updateAdminSendingLimit(Map<String, Object> paramMap);
|
||||||
|
|
||||||
Map<String, Object> selectAdminSendingLimt(Map<String, Object> paramMap);
|
Map<String, Object> selectAdminSendingLimt(Map<String, Object> paramMap);
|
||||||
|
|
||||||
SvcUserInfo selectSvcUserInfo(String userId);
|
SvcUserInfo selectSvcUserInfo(String userId);
|
||||||
|
|
||||||
|
String selectApiAuthToken(String apiApplicationId);
|
||||||
|
|
||||||
|
String getSubId();
|
||||||
|
|
||||||
|
String getEntrNo();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package kr.co.uplus.ez.api.custMgt;
|
package kr.co.uplus.ez.api.custMgt;
|
||||||
|
|
||||||
import kr.co.uplus.ez.api.custMgt.dto.*;
|
import kr.co.uplus.ez.api.custMgt.dto.*;
|
||||||
|
import kr.co.uplus.ez.common.components.HubeasyApiComponents;
|
||||||
import kr.co.uplus.ez.common.data.*;
|
import kr.co.uplus.ez.common.data.*;
|
||||||
import kr.co.uplus.ez.common.utils.EncryptionUtil;
|
import kr.co.uplus.ez.common.utils.EncryptionUtil;
|
||||||
import org.apache.commons.lang3.RandomStringUtils;
|
import org.apache.commons.lang3.RandomStringUtils;
|
||||||
@@ -31,6 +32,9 @@ public class CustMgtService {
|
|||||||
@Qualifier("sqlSessionTemplateDb2")
|
@Qualifier("sqlSessionTemplateDb2")
|
||||||
private SqlSessionTemplate sqlSessionSlave;
|
private SqlSessionTemplate sqlSessionSlave;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private HubeasyApiComponents hubeasyApi;
|
||||||
|
|
||||||
/** 요금제. */
|
/** 요금제. */
|
||||||
@Value("${testId.prodCd}")
|
@Value("${testId.prodCd}")
|
||||||
private String prodCd;
|
private String prodCd;
|
||||||
@@ -62,6 +66,18 @@ public class CustMgtService {
|
|||||||
@Value("${testId.custTyCd}")
|
@Value("${testId.custTyCd}")
|
||||||
private String custTyCd;
|
private String custTyCd;
|
||||||
|
|
||||||
|
@Value("${msghubez.homepage-url:https://mhez.uplus.co.kr}")
|
||||||
|
private String mailTempleteHomeUrl;
|
||||||
|
|
||||||
|
@Value("${msghubez.applicationId:EZ_ADMIN}")
|
||||||
|
private String apiApplicationId;
|
||||||
|
|
||||||
|
@Value("${mail.from:msghubez@lguplus.co.kr}")
|
||||||
|
private String fromEmail;
|
||||||
|
|
||||||
|
@Value("${mail.templeteCode:E0005}")
|
||||||
|
private String templeteCode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* date : 2022. 4. 25. auth : ckr desc : 청약 고객 정보 목록 조회
|
* date : 2022. 4. 25. auth : ckr desc : 청약 고객 정보 목록 조회
|
||||||
*
|
*
|
||||||
@@ -408,10 +424,10 @@ public class CustMgtService {
|
|||||||
|
|
||||||
// 3. 청약정보 등록
|
// 3. 청약정보 등록
|
||||||
SubsInfo subsInfo = new SubsInfo();
|
SubsInfo subsInfo = new SubsInfo();
|
||||||
// TODO 향후 수정 필요.
|
String subId = custMgtMapper.getSubId();
|
||||||
subsInfo.setSubsId("");
|
subsInfo.setSubsId(subId);
|
||||||
// TODO 향후 수정 필요.
|
String entrNo =custMgtMapper.getEntrNo();
|
||||||
subsInfo.setUqvSbscNo("");
|
subsInfo.setEntrNo(entrNo);
|
||||||
subsInfo.setUserSeq(userSeq);
|
subsInfo.setUserSeq(userSeq);
|
||||||
subsInfo.setCustSeq(custSeq);
|
subsInfo.setCustSeq(custSeq);
|
||||||
subsInfo.setSubsSttusCd(Const.SUBS_STTUS_CD_NORMAL);
|
subsInfo.setSubsSttusCd(Const.SUBS_STTUS_CD_NORMAL);
|
||||||
@@ -493,12 +509,13 @@ public class CustMgtService {
|
|||||||
*/
|
*/
|
||||||
public InsertUserResDto insertUser(InsertUserReqDto insertUserReqDto) {
|
public InsertUserResDto insertUser(InsertUserReqDto insertUserReqDto) {
|
||||||
CustMgtMapper custMgtMapper = sqlSessionMaster.getMapper(CustMgtMapper.class);
|
CustMgtMapper custMgtMapper = sqlSessionMaster.getMapper(CustMgtMapper.class);
|
||||||
|
Map<Object,Object> mailReqMap = new HashMap<Object,Object>();
|
||||||
|
Map<Object,Object> mailResultMap = new HashMap<Object,Object>();
|
||||||
|
|
||||||
// 임시패스워드 평문 생성
|
// 임시패스워드 평문 생성
|
||||||
String imsiPw = RandomStringUtils.randomAlphanumeric(10);
|
String imsiPw = RandomStringUtils.randomAlphanumeric(10);
|
||||||
|
|
||||||
String userId = insertUserReqDto.getUserId();
|
String userId = insertUserReqDto.getUserId();
|
||||||
String encPwd = "";
|
|
||||||
int userCnt = 0;
|
int userCnt = 0;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -506,18 +523,49 @@ public class CustMgtService {
|
|||||||
if(userCnt > 0) {
|
if(userCnt > 0) {
|
||||||
return new InsertUserResDto(ApiResponseCode.CE_DUPLICATE_ID);
|
return new InsertUserResDto(ApiResponseCode.CE_DUPLICATE_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 패스워드 암호화
|
// 패스워드 암호화
|
||||||
encPwd = EncryptionUtil.getCustomSHA512(userId, imsiPw);
|
String encPwd = EncryptionUtil.getCustomSHA512(userId, imsiPw);
|
||||||
insertUserReqDto.setUserPw(encPwd);
|
insertUserReqDto.setUserPw(encPwd);
|
||||||
|
|
||||||
// 사용자 정보 등록
|
// 사용자 정보 등록
|
||||||
custMgtMapper.insertUserInfo(insertUserReqDto);
|
custMgtMapper.insertUserInfo(insertUserReqDto);
|
||||||
|
|
||||||
|
// API authToken 조회
|
||||||
|
String apiAuthToken = custMgtMapper.selectApiAuthToken(apiApplicationId);
|
||||||
|
|
||||||
// 임시패스워드(평문) 이메일 발송처리
|
// 임시패스워드(평문) 이메일 발송처리
|
||||||
// TODO: 임시패스워드(평문) 이메일 발송처리
|
mailReqMap.put("applicationId", apiApplicationId);
|
||||||
|
mailReqMap.put("authToken", apiAuthToken);
|
||||||
|
mailReqMap.put("userId", userId);
|
||||||
|
mailReqMap.put("tmpPwd", imsiPw);
|
||||||
|
mailReqMap.put("toEmail", insertUserReqDto.getUserEmail());
|
||||||
|
mailReqMap.put("fromEmail", fromEmail);
|
||||||
|
mailReqMap.put("templeteCode", templeteCode);
|
||||||
|
mailReqMap.put("homeUrl", mailTempleteHomeUrl);
|
||||||
|
|
||||||
|
logger.debug("############## [Email Send Start] ###############");
|
||||||
|
logger.debug("[Email Send Request - applicationId : {}]", mailReqMap.get("applicationId"));
|
||||||
|
logger.debug("[Email Send Request - authToken : {}]", mailReqMap.get("authToken"));
|
||||||
|
logger.debug("[Email Send Request - userId : {}]", mailReqMap.get("userId"));
|
||||||
|
logger.debug("[Email Send Request - tmpPwd : {}]", mailReqMap.get("tmpPwd"));
|
||||||
|
logger.debug("[Email Send Request - toEmail : {}]", mailReqMap.get("toEmail"));
|
||||||
|
logger.debug("[Email Send Request - fromEmail : {}]", mailReqMap.get("fromEmail"));
|
||||||
|
logger.debug("[Email Send Request - templeteCode : {}]", mailReqMap.get("templeteCode"));
|
||||||
|
logger.debug("[Email Send Request - homeUrl : {}]", mailReqMap.get("homeUrl"));
|
||||||
|
|
||||||
|
mailResultMap = hubeasyApi.sendTemplateMailApi(mailReqMap);
|
||||||
|
|
||||||
|
if(mailResultMap != null) {
|
||||||
|
logger.debug("[Email Send API RESULT : {}]", mailResultMap.get("API_RSLT"));
|
||||||
|
if("F".equals(mailResultMap.get("API_RSLT"))) {
|
||||||
|
logger.debug("[Email Send API ERROR : {}]", mailResultMap.get("API_RSLT_MSG"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
logger.debug("############## [Email Send End] ###############");
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
logger.error(e.getMessage());
|
||||||
return new InsertUserResDto(ApiResponseCode.CM_DB_QUERY_ERR);
|
return new InsertUserResDto(ApiResponseCode.CM_DB_QUERY_ERR);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -545,8 +593,6 @@ public class CustMgtService {
|
|||||||
// 사용자 정보 수정
|
// 사용자 정보 수정
|
||||||
custMgtMapper.updateUserInfo(updateUserReqDto);
|
custMgtMapper.updateUserInfo(updateUserReqDto);
|
||||||
|
|
||||||
// 임시패스워드(평문) 이메일 발송처리
|
|
||||||
// TODO: 임시패스워드(평문) 이메일 발송처리
|
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return new UpdateUserResDto(ApiResponseCode.CM_DB_QUERY_ERR);
|
return new UpdateUserResDto(ApiResponseCode.CM_DB_QUERY_ERR);
|
||||||
@@ -591,6 +637,11 @@ public class CustMgtService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 이메일발송 API 사용을 위한 authToken 조회
|
||||||
|
String apiAuthToken = custMgtMapper.selectApiAuthToken(apiApplicationId);
|
||||||
|
Map<Object, Object> mailReqMap = new HashMap<Object, Object>();
|
||||||
|
Map<Object, Object> mailResultMap = new HashMap<Object, Object>();
|
||||||
|
|
||||||
InsertMassUserRes insertMassUserRes = new InsertMassUserRes();
|
InsertMassUserRes insertMassUserRes = new InsertMassUserRes();
|
||||||
int successCnt = 0;
|
int successCnt = 0;
|
||||||
for (int j = 0; j < insertMassUsers.size(); j++) {
|
for (int j = 0; j < insertMassUsers.size(); j++) {
|
||||||
@@ -619,9 +670,43 @@ public class CustMgtService {
|
|||||||
svcUserInfo2.setRegId(userId);
|
svcUserInfo2.setRegId(userId);
|
||||||
svcUserInfo2.setChgId(userId);
|
svcUserInfo2.setChgId(userId);
|
||||||
|
|
||||||
custMgtMapper.insertSvcUserInfo(svcUserInfo2);
|
custMgtMapper.insertSvcUserInfo(svcUserInfo2);
|
||||||
|
|
||||||
successCnt++;
|
successCnt++;
|
||||||
|
|
||||||
|
// 임시비밀번호 이메일발송
|
||||||
|
mailReqMap = new HashMap<Object, Object>();
|
||||||
|
mailResultMap = new HashMap<Object, Object>();
|
||||||
|
|
||||||
|
mailReqMap.put("applicationId", apiApplicationId);
|
||||||
|
mailReqMap.put("authToken", apiAuthToken);
|
||||||
|
mailReqMap.put("userId", userId);
|
||||||
|
mailReqMap.put("tmpPwd", imsiPw);
|
||||||
|
mailReqMap.put("toEmail", insertMassUsers.get(j).getEmail());
|
||||||
|
mailReqMap.put("fromEmail", fromEmail);
|
||||||
|
mailReqMap.put("templeteCode", templeteCode);
|
||||||
|
mailReqMap.put("homeUrl", mailTempleteHomeUrl);
|
||||||
|
|
||||||
|
logger.debug("############## [Email Send Start] ###############");
|
||||||
|
logger.debug("[Email Send Request - applicationId : {}]", mailReqMap.get("applicationId"));
|
||||||
|
logger.debug("[Email Send Request - authToken : {}]", mailReqMap.get("authToken"));
|
||||||
|
logger.debug("[Email Send Request - userId : {}]", mailReqMap.get("userId"));
|
||||||
|
logger.debug("[Email Send Request - tmpPwd : {}]", mailReqMap.get("tmpPwd"));
|
||||||
|
logger.debug("[Email Send Request - toEmail : {}]", mailReqMap.get("toEmail"));
|
||||||
|
logger.debug("[Email Send Request - fromEmail : {}]", mailReqMap.get("fromEmail"));
|
||||||
|
logger.debug("[Email Send Request - templeteCode : {}]", mailReqMap.get("templeteCode"));
|
||||||
|
logger.debug("[Email Send Request - homeUrl : {}]", mailReqMap.get("homeUrl"));
|
||||||
|
|
||||||
|
mailResultMap = hubeasyApi.sendTemplateMailApi(mailReqMap);
|
||||||
|
|
||||||
|
if(mailResultMap != null) {
|
||||||
|
logger.debug("[Email Send API RESULT : {}]", mailResultMap.get("API_RSLT"));
|
||||||
|
if("F".equals(mailResultMap.get("API_RSLT"))) {
|
||||||
|
logger.debug("[Email Send API ERROR : {}]", mailResultMap.get("API_RSLT_MSG"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
logger.debug("############## [Email Send End] ###############");
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
errInsertMassUsers.add(insertMassUsers.get(j));
|
errInsertMassUsers.add(insertMassUsers.get(j));
|
||||||
}
|
}
|
||||||
@@ -692,49 +777,49 @@ public class CustMgtService {
|
|||||||
* @
|
* @
|
||||||
*/
|
*/
|
||||||
public UpdateAdminInfoTotalResDto updateAdminInfoTotal(UpdateAdminInfoTotalReqDto updateAdminInfoTotalReqDto) {
|
public UpdateAdminInfoTotalResDto updateAdminInfoTotal(UpdateAdminInfoTotalReqDto updateAdminInfoTotalReqDto) {
|
||||||
|
|
||||||
CustMgtMapper custMgtMapper = sqlSessionMaster.getMapper(CustMgtMapper.class);
|
CustMgtMapper custMgtMapper = sqlSessionMaster.getMapper(CustMgtMapper.class);
|
||||||
Map<String, Object> paramMap = new HashMap<String, Object>();
|
Map<String, Object> paramMap = new HashMap<String, Object>();
|
||||||
Map<String, Object> rstAmtMap = new HashMap<String, Object>();
|
Map<String, Object> rstAmtMap = new HashMap<String, Object>();
|
||||||
try {
|
try {
|
||||||
// 1. 사용자 정보 update
|
// 1. 사용자 정보 update
|
||||||
custMgtMapper.updateAdminInfoTotal(updateAdminInfoTotalReqDto);
|
custMgtMapper.updateAdminInfoTotal(updateAdminInfoTotalReqDto);
|
||||||
|
|
||||||
// 2. 메모정보 insert
|
// 2. 메모정보 insert
|
||||||
custMgtMapper.insertMemo(updateAdminInfoTotalReqDto);
|
custMgtMapper.insertMemo(updateAdminInfoTotalReqDto);
|
||||||
|
|
||||||
// 3. 발송 한도 update
|
// 3. 발송 한도 update
|
||||||
if(updateAdminInfoTotalReqDto.getSendingLimit() != null) {
|
if(updateAdminInfoTotalReqDto.getSendingLimit() != null) {
|
||||||
BigDecimal sendingLimitAmt = new BigDecimal(updateAdminInfoTotalReqDto.getSendingLimit());
|
BigDecimal sendingLimitAmt = new BigDecimal(updateAdminInfoTotalReqDto.getSendingLimit());
|
||||||
|
|
||||||
paramMap.put("userId", updateAdminInfoTotalReqDto.getUserId());
|
paramMap.put("userId", updateAdminInfoTotalReqDto.getUserId());
|
||||||
// 3-1. 기존 정액한도금액 조회
|
// 3-1. 기존 정액한도금액 조회
|
||||||
rstAmtMap = custMgtMapper.selectAdminSendingLimt(paramMap);
|
rstAmtMap = custMgtMapper.selectAdminSendingLimt(paramMap);
|
||||||
if(rstAmtMap.get("fxLmtAmt") != null) {
|
if(rstAmtMap.get("fxLmtAmt") != null) {
|
||||||
String stFxLmtAmt = rstAmtMap.get("fxLmtAmt").toString();
|
String stFxLmtAmt = rstAmtMap.get("fxLmtAmt").toString();
|
||||||
BigDecimal fxLmtAmt = new BigDecimal(stFxLmtAmt);
|
BigDecimal fxLmtAmt = new BigDecimal(stFxLmtAmt);
|
||||||
|
|
||||||
BigDecimal targetMrtLmtAmt = new BigDecimal(0);
|
BigDecimal targetMrtLmtAmt = new BigDecimal(0);
|
||||||
|
|
||||||
// 변동요청발송한도금액이 기존정액한도금액보다 작으면 한도금액 변경 불가 실패처리
|
// 변동요청발송한도금액이 기존정액한도금액보다 작으면 한도금액 변경 불가 실패처리
|
||||||
if(sendingLimitAmt.compareTo(fxLmtAmt) < 0) {
|
if(sendingLimitAmt.compareTo(fxLmtAmt) < 0) {
|
||||||
return new UpdateAdminInfoTotalResDto(ApiResponseCode.CE_SENDINGLIMT_ERROR);
|
return new UpdateAdminInfoTotalResDto(ApiResponseCode.CE_SENDINGLIMT_ERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 3-2. 발송한도금액 수정(종량 한도금액 UPDATE)
|
// 3-2. 발송한도금액 수정(종량 한도금액 UPDATE)
|
||||||
// 변동요청발송한도금액 - 기존정액한도금액 = 변경할 종량한도금액
|
// 변동요청발송한도금액 - 기존정액한도금액 = 변경할 종량한도금액
|
||||||
targetMrtLmtAmt = sendingLimitAmt.subtract(fxLmtAmt);
|
targetMrtLmtAmt = sendingLimitAmt.subtract(fxLmtAmt);
|
||||||
paramMap.put("sendingLimit", targetMrtLmtAmt);
|
paramMap.put("sendingLimit", targetMrtLmtAmt);
|
||||||
|
|
||||||
custMgtMapper.updateAdminSendingLimit(paramMap);
|
custMgtMapper.updateAdminSendingLimit(paramMap);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return new UpdateAdminInfoTotalResDto(ApiResponseCode.CM_DB_QUERY_ERR);
|
return new UpdateAdminInfoTotalResDto(ApiResponseCode.CM_DB_QUERY_ERR);
|
||||||
}
|
}
|
||||||
|
|
||||||
return new UpdateAdminInfoTotalResDto(ApiResponseCode.SUCCESS);
|
return new UpdateAdminInfoTotalResDto(ApiResponseCode.SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,4 +19,6 @@ public class CarryOver implements Serializable {
|
|||||||
private String krrrAmount;
|
private String krrrAmount;
|
||||||
@ApiModelProperty(example = "소멸금액", name = "소멸금액", dataType = "String")
|
@ApiModelProperty(example = "소멸금액", name = "소멸금액", dataType = "String")
|
||||||
private String extshAmount;
|
private String extshAmount;
|
||||||
|
|
||||||
|
private String colecTms;
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package kr.co.uplus.ez.api.custMgt.dto;
|
package kr.co.uplus.ez.api.custMgt.dto;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
@Data
|
@Data
|
||||||
public class SubsInfo implements Serializable{
|
public class SubsInfo implements Serializable{
|
||||||
@@ -11,7 +11,7 @@ public class SubsInfo implements Serializable{
|
|||||||
/** 청약_ID . */
|
/** 청약_ID . */
|
||||||
private String subsId;
|
private String subsId;
|
||||||
/** 유큐브_가입_번호 */
|
/** 유큐브_가입_번호 */
|
||||||
private String uqvSbscNo;
|
private String entrNo;
|
||||||
/** 관리자_일련번호. */
|
/** 관리자_일련번호. */
|
||||||
private String userSeq;
|
private String userSeq;
|
||||||
/** 고객_일련번호 . */
|
/** 고객_일련번호 . */
|
||||||
|
|||||||
@@ -142,7 +142,13 @@ public class LoginController {
|
|||||||
|
|
||||||
String nextUrl = getReturnUrl(request, response);
|
String nextUrl = getReturnUrl(request, response);
|
||||||
logger.debug("login SUCCESS - nextUrl = [{}]", nextUrl);
|
logger.debug("login SUCCESS - nextUrl = [{}]", nextUrl);
|
||||||
ChkAuthNumResDto result = new ChkAuthNumResDto(ApiResponseCode.SUCCESS, new LoginRes(SecurityConfig.LOGIN_SUCC_URL));
|
AuthUser authUser = loginService.getUser(authentication.getName());
|
||||||
|
|
||||||
|
LoginRes loginRes = new LoginRes(SecurityConfig.LOGIN_SUCC_URL);
|
||||||
|
loginRes.setUserId(authUser.getOprtrId());
|
||||||
|
loginRes.setUserNm(authUser.getOprtrNm());
|
||||||
|
|
||||||
|
ChkAuthNumResDto result = new ChkAuthNumResDto(ApiResponseCode.SUCCESS, loginRes);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -159,7 +165,13 @@ public class LoginController {
|
|||||||
|
|
||||||
String nextUrl = getReturnUrl(request, response);
|
String nextUrl = getReturnUrl(request, response);
|
||||||
logger.debug("login SUCCESS - nextUrl = [{}]", nextUrl);
|
logger.debug("login SUCCESS - nextUrl = [{}]", nextUrl);
|
||||||
ChkAuthNumResDto result = new ChkAuthNumResDto(rCode, new LoginRes(SecurityConfig.LOGIN_SUCC_URL));
|
AuthUser authUser = loginService.getUser(authentication.getName());
|
||||||
|
|
||||||
|
LoginRes loginRes = new LoginRes(SecurityConfig.LOGIN_SUCC_URL);
|
||||||
|
loginRes.setUserId(authUser.getOprtrId());
|
||||||
|
loginRes.setUserNm(authUser.getOprtrNm());
|
||||||
|
|
||||||
|
ChkAuthNumResDto result = new ChkAuthNumResDto(rCode, loginRes);
|
||||||
return result;
|
return result;
|
||||||
}else {
|
}else {
|
||||||
ChkAuthNumResDto result = new ChkAuthNumResDto(rCode);
|
ChkAuthNumResDto result = new ChkAuthNumResDto(rCode);
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
package kr.co.uplus.ez.api.login;
|
package kr.co.uplus.ez.api.login;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
|
||||||
|
|
||||||
import kr.co.uplus.ez.api.login.dto.AuthNum;
|
import kr.co.uplus.ez.api.login.dto.AuthNum;
|
||||||
import kr.co.uplus.ez.api.login.dto.AuthUser;
|
import kr.co.uplus.ez.api.login.dto.AuthUser;
|
||||||
|
import kr.co.uplus.ez.api.login.dto.SendMsgDto;
|
||||||
import kr.co.uplus.ez.api.login.dto.SmsAuthNum;
|
import kr.co.uplus.ez.api.login.dto.SmsAuthNum;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface LoginMapper {
|
public interface LoginMapper {
|
||||||
@@ -30,4 +30,6 @@ public interface LoginMapper {
|
|||||||
|
|
||||||
// 관리자 정보 수정.
|
// 관리자 정보 수정.
|
||||||
int updateAdmUser(AuthUser authUser);
|
int updateAdmUser(AuthUser authUser);
|
||||||
|
|
||||||
|
void insertSendMsg(SendMsgDto sendMsgDto);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,12 @@
|
|||||||
package kr.co.uplus.ez.api.login;
|
package kr.co.uplus.ez.api.login;
|
||||||
|
|
||||||
import java.util.List;
|
import kr.co.uplus.ez.api.login.dto.*;
|
||||||
|
import kr.co.uplus.ez.common.data.ApiResponseCode;
|
||||||
|
import kr.co.uplus.ez.common.data.Const;
|
||||||
|
import kr.co.uplus.ez.common.utils.DateUtils;
|
||||||
|
import kr.co.uplus.ez.common.utils.EncryptionUtil;
|
||||||
|
import kr.co.uplus.ez.common.utils.TextUtils;
|
||||||
|
import kr.co.uplus.ez.config.SecurityConfig;
|
||||||
import org.apache.commons.codec.binary.StringUtils;
|
import org.apache.commons.codec.binary.StringUtils;
|
||||||
import org.apache.commons.lang3.RandomStringUtils;
|
import org.apache.commons.lang3.RandomStringUtils;
|
||||||
import org.mybatis.spring.SqlSessionTemplate;
|
import org.mybatis.spring.SqlSessionTemplate;
|
||||||
@@ -12,23 +17,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
|
|||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import kr.co.uplus.ez.api.login.dto.AuthNum;
|
import java.util.List;
|
||||||
import kr.co.uplus.ez.api.login.dto.AuthNumReqDto;
|
|
||||||
import kr.co.uplus.ez.api.login.dto.AuthNumResDto;
|
|
||||||
import kr.co.uplus.ez.api.login.dto.AuthUser;
|
|
||||||
import kr.co.uplus.ez.api.login.dto.ChkAuthNumReqDto;
|
|
||||||
import kr.co.uplus.ez.api.login.dto.LoginReqDto;
|
|
||||||
import kr.co.uplus.ez.api.login.dto.LoginRes;
|
|
||||||
import kr.co.uplus.ez.api.login.dto.LoginResDto;
|
|
||||||
import kr.co.uplus.ez.api.login.dto.ResetPasswordReqDto;
|
|
||||||
import kr.co.uplus.ez.api.login.dto.ResetPasswordResDto;
|
|
||||||
import kr.co.uplus.ez.api.login.dto.UpdatePasswordReqDto;
|
|
||||||
import kr.co.uplus.ez.api.login.dto.UpdatePasswordResDto;
|
|
||||||
import kr.co.uplus.ez.common.data.ApiResponseCode;
|
|
||||||
import kr.co.uplus.ez.common.data.Const;
|
|
||||||
import kr.co.uplus.ez.common.utils.EncryptionUtil;
|
|
||||||
import kr.co.uplus.ez.common.utils.TextUtils;
|
|
||||||
import kr.co.uplus.ez.config.SecurityConfig;
|
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class LoginService {
|
public class LoginService {
|
||||||
@@ -160,7 +149,13 @@ public class LoginService {
|
|||||||
loginMapper.addAuthNum(anum);
|
loginMapper.addAuthNum(anum);
|
||||||
|
|
||||||
// 문자발송
|
// 문자발송
|
||||||
// TODO -> hubez_send.EZ_MSG_REAL 등록 필요.
|
String clientKey = DateUtils.date2strYMDHMS() + "AD" + RandomStringUtils.randomAlphanumeric(8);
|
||||||
|
SendMsgDto sendMsgDto = new SendMsgDto();
|
||||||
|
sendMsgDto.setClientKey(clientKey);
|
||||||
|
sendMsgDto.setMsg("인증 번호는 [" + authNum + "] 입니다.");
|
||||||
|
sendMsgDto.setPhone(user.getHpNo());
|
||||||
|
|
||||||
|
loginMapper.insertSendMsg(sendMsgDto);
|
||||||
|
|
||||||
return new AuthNumResDto();
|
return new AuthNumResDto();
|
||||||
|
|
||||||
@@ -254,7 +249,13 @@ public class LoginService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 4. 임시 비밀번호 문자발송
|
// 4. 임시 비밀번호 문자발송
|
||||||
// TODO -> hubez_send.EZ_MSG_REAL 등록 필요.
|
String clientKey = DateUtils.date2strYMDHMS() + "AD" + RandomStringUtils.randomAlphanumeric(8);
|
||||||
|
SendMsgDto sendMsgDto = new SendMsgDto();
|
||||||
|
sendMsgDto.setClientKey(clientKey);
|
||||||
|
sendMsgDto.setMsg("[U+메시지허브이지] \n임시 비밀번호 안내 : " + randomPw + "\n로그인 후, 비밀번호 변경해주세요.\n");
|
||||||
|
sendMsgDto.setPhone(user.getHpNo());
|
||||||
|
|
||||||
|
loginMapper.insertSendMsg(sendMsgDto);
|
||||||
|
|
||||||
return new ResetPasswordResDto();
|
return new ResetPasswordResDto();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
package kr.co.uplus.ez.api.login.dto;
|
package kr.co.uplus.ez.api.login.dto;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
@Data
|
@Data
|
||||||
public class LoginRes implements Serializable {
|
public class LoginRes implements Serializable {
|
||||||
@@ -12,6 +12,12 @@ public class LoginRes implements Serializable {
|
|||||||
@ApiModelProperty(name = "메인 URL", example = "메인 URL", dataType = "String")
|
@ApiModelProperty(name = "메인 URL", example = "메인 URL", dataType = "String")
|
||||||
private String nextUrl;
|
private String nextUrl;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "사용자ID", example = "사용자ID", dataType = "String")
|
||||||
|
private String userId;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "사용자명", example = "사용자명", dataType = "String")
|
||||||
|
private String userNm;
|
||||||
|
|
||||||
|
|
||||||
public LoginRes(String nextUrl) {
|
public LoginRes(String nextUrl) {
|
||||||
super();
|
super();
|
||||||
|
|||||||
12
src/main/java/kr/co/uplus/ez/api/login/dto/SendMsgDto.java
Normal file
12
src/main/java/kr/co/uplus/ez/api/login/dto/SendMsgDto.java
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
package kr.co.uplus.ez.api.login.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
// 인증문자
|
||||||
|
@Data
|
||||||
|
public class SendMsgDto {
|
||||||
|
|
||||||
|
private String clientKey; // 클라이언트키
|
||||||
|
private String msg; // 발송 메시지
|
||||||
|
private String phone; // 수신번호
|
||||||
|
}
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
package kr.co.uplus.ez.common.components;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.json.simple.JSONObject;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.http.HttpEntity;
|
||||||
|
import org.springframework.http.client.MultipartBodyBuilder;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.util.MultiValueMap;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class HubeasyApiComponents {
|
||||||
|
|
||||||
|
private static final Logger log = LoggerFactory.getLogger(HubeasyApiComponents.class);
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private WebClientRequestService clientRequestService;
|
||||||
|
|
||||||
|
@Value("${msghubez.api-url:http://localhost:7070}")
|
||||||
|
private String apiDomain;
|
||||||
|
|
||||||
|
@Value("${msghubez.uri.sendTemplateMail:/api/v1/fo/sendTemplateMail}")
|
||||||
|
private String apiSendTemplateMail;
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
public Map<Object, Object> sendTemplateMailApi(Map<Object, Object> apiReqMap) {
|
||||||
|
|
||||||
|
Map<Object, Object> apiResultMap = new HashMap<Object, Object>();
|
||||||
|
JSONObject jsonObject = new JSONObject();
|
||||||
|
|
||||||
|
String callUrl = apiDomain + apiSendTemplateMail;
|
||||||
|
String applicationId = (String) apiReqMap.get("applicationId");
|
||||||
|
String authToken = (String) apiReqMap.get("authToken");
|
||||||
|
|
||||||
|
jsonObject.put("userId", apiReqMap.get("userId"));
|
||||||
|
jsonObject.put("tmpPwd", apiReqMap.get("tmpPwd"));
|
||||||
|
jsonObject.put("homeUrl", apiReqMap.get("homeUrl"));
|
||||||
|
|
||||||
|
String jsonString = jsonObject.toString();
|
||||||
|
|
||||||
|
MultipartBodyBuilder builder = new MultipartBodyBuilder();
|
||||||
|
builder.part("fromEmail", apiReqMap.get("fromEmail"));
|
||||||
|
builder.part("toEmail", apiReqMap.get("toEmail"));
|
||||||
|
builder.part("templeteCode", apiReqMap.get("templeteCode"));
|
||||||
|
builder.part("templeteReplace", jsonString);
|
||||||
|
|
||||||
|
MultiValueMap<String, HttpEntity<?>> parts = builder.build();
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
apiResultMap = (Map<Object, Object>) clientRequestService.callBySyncPostWithTokenMultipart(callUrl, applicationId, authToken, parts);
|
||||||
|
|
||||||
|
if(apiResultMap == null) {
|
||||||
|
apiResultMap.put("API_RSLT", "F");
|
||||||
|
apiResultMap.put("API_RSLT_MSG", "API Result Recive null error");
|
||||||
|
} else {
|
||||||
|
if("0000".equals(apiResultMap.get("retCode"))) {
|
||||||
|
apiResultMap.put("API_RSLT", "S");
|
||||||
|
} else {
|
||||||
|
apiResultMap.put("API_RSLT", "F");
|
||||||
|
apiResultMap.put("API_RSLT_MSG", apiResultMap.get("retMsg"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch(Exception e) {
|
||||||
|
apiResultMap.put("API_RSLT", "F");
|
||||||
|
apiResultMap.put("API_RSLT_MSG", e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
return apiResultMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -7,6 +7,7 @@ import org.slf4j.Logger;
|
|||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.http.HttpHeaders;
|
import org.springframework.http.HttpHeaders;
|
||||||
|
import org.springframework.http.MediaType;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.util.LinkedMultiValueMap;
|
import org.springframework.util.LinkedMultiValueMap;
|
||||||
import org.springframework.web.reactive.function.client.WebClient;
|
import org.springframework.web.reactive.function.client.WebClient;
|
||||||
@@ -40,6 +41,34 @@ public class WebClientRequestService {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Object callBySyncPostWithToken(String uri, String applicationId, String token, Object param) {
|
||||||
|
LinkedMultiValueMap<Object, Object> reqHearderMap = new LinkedMultiValueMap<Object, Object>();
|
||||||
|
reqHearderMap.add("ApplicationId", applicationId);
|
||||||
|
reqHearderMap.add("AuthToken", token);
|
||||||
|
Date startTime = new Date();
|
||||||
|
log.info(param.toString());
|
||||||
|
Object result = webClient.mutate().defaultHeaders(this.setHttpHeader(reqHearderMap)).build().post().uri(uri)
|
||||||
|
.contentType(MediaType.APPLICATION_JSON)
|
||||||
|
.bodyValue(param).retrieve()
|
||||||
|
.bodyToMono(Object.class).block();
|
||||||
|
log.info("callBySyncPostWithToken duration Time : {}", (new Date().getTime() - startTime.getTime()) / 1000f);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Object callBySyncPostWithTokenMultipart(String uri, String applicationId, String token, Object param) {
|
||||||
|
LinkedMultiValueMap<Object, Object> reqHearderMap = new LinkedMultiValueMap<Object, Object>();
|
||||||
|
reqHearderMap.add("ApplicationId", applicationId);
|
||||||
|
reqHearderMap.add("AuthToken", token);
|
||||||
|
Date startTime = new Date();
|
||||||
|
log.info(param.toString());
|
||||||
|
Object result = webClient.mutate().defaultHeaders(this.setHttpHeader(reqHearderMap)).build().post().uri(uri)
|
||||||
|
.contentType(MediaType.MULTIPART_FORM_DATA)
|
||||||
|
.bodyValue(param).retrieve()
|
||||||
|
.bodyToMono(Object.class).block();
|
||||||
|
log.info("callBySyncPostWithToken duration Time : {}", (new Date().getTime() - startTime.getTime()) / 1000f);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 헤더 추가.
|
* 헤더 추가.
|
||||||
|
|||||||
@@ -36,6 +36,18 @@ schedule:
|
|||||||
authentication:
|
authentication:
|
||||||
without:
|
without:
|
||||||
id: superadminuser,jambler01,jambler02,jambler03,jambler04,jambler05,jambler06
|
id: superadminuser,jambler01,jambler02,jambler03,jambler04,jambler05,jambler06
|
||||||
|
|
||||||
|
|
||||||
|
mail:
|
||||||
|
from: msghubez@lguplus.co.kr
|
||||||
|
templeteCode: E0005
|
||||||
|
|
||||||
|
msghubez:
|
||||||
|
homepage-url: https://mhez-dev.uplus.co.kr
|
||||||
|
api-url: https://api-int.mhez-dev.uplus.co.kr
|
||||||
|
applicationId: EZ_ADMIN
|
||||||
|
uri:
|
||||||
|
sendTemplateMail: /api/v1/fo/sendTemplateMail
|
||||||
|
|
||||||
testId:
|
testId:
|
||||||
prodCd: LPZ0045389
|
prodCd: LPZ0045389
|
||||||
|
|||||||
@@ -37,6 +37,16 @@ authentication:
|
|||||||
without:
|
without:
|
||||||
id: jambler01,jambler02,jambler03,jambler04,jambler05,jambler06
|
id: jambler01,jambler02,jambler03,jambler04,jambler05,jambler06
|
||||||
|
|
||||||
|
mail:
|
||||||
|
from: msghubez@lguplus.co.kr
|
||||||
|
templeteCode: E0005
|
||||||
|
|
||||||
|
msghubez:
|
||||||
|
homepage-url: https://mhez-dev.uplus.co.kr
|
||||||
|
api-url: https://localhost:7071
|
||||||
|
applicationId: EZ_ADMIN
|
||||||
|
uri:
|
||||||
|
sendTemplateMail: /api/v1/fo/sendTemplateMail
|
||||||
|
|
||||||
testId:
|
testId:
|
||||||
prodCd: LPZ0045389
|
prodCd: LPZ0045389
|
||||||
|
|||||||
@@ -37,6 +37,17 @@ authentication:
|
|||||||
without:
|
without:
|
||||||
id: superadminuser,jambler01,jambler02,jambler03,jambler04,jambler05,jambler06
|
id: superadminuser,jambler01,jambler02,jambler03,jambler04,jambler05,jambler06
|
||||||
|
|
||||||
|
mail:
|
||||||
|
from: msghubez@lguplus.co.kr
|
||||||
|
templeteCode: E0005
|
||||||
|
|
||||||
|
msghubez:
|
||||||
|
homepage-url: https://mhez.uplus.co.kr
|
||||||
|
api-url: https://api-int.mhez.uplus.co.kr
|
||||||
|
applicationId: EZ_ADMIN
|
||||||
|
uri:
|
||||||
|
sendTemplateMail: /api/v1/fo/sendTemplateMail
|
||||||
|
|
||||||
testId:
|
testId:
|
||||||
prodCd: LPZ0045389
|
prodCd: LPZ0045389
|
||||||
rpsnBday: 19800101
|
rpsnBday: 19800101
|
||||||
|
|||||||
@@ -36,6 +36,17 @@ schedule:
|
|||||||
authentication:
|
authentication:
|
||||||
without:
|
without:
|
||||||
id: superadminuser,jambler01,jambler02,jambler03,jambler04,jambler05,jambler06
|
id: superadminuser,jambler01,jambler02,jambler03,jambler04,jambler05,jambler06
|
||||||
|
|
||||||
|
mail:
|
||||||
|
from: msghubez@lguplus.co.kr
|
||||||
|
templeteCode: E0005
|
||||||
|
|
||||||
|
msghubez:
|
||||||
|
homepage-url: https://mhez-qa.uplus.co.kr
|
||||||
|
api-url: https://api-int.mhez-qa.uplus.co.kr
|
||||||
|
applicationId: EZ_ADMIN
|
||||||
|
uri:
|
||||||
|
sendTemplateMail: /api/v1/fo/sendTemplateMail
|
||||||
|
|
||||||
testId:
|
testId:
|
||||||
prodCd: LPZ0045389
|
prodCd: LPZ0045389
|
||||||
|
|||||||
@@ -70,6 +70,11 @@
|
|||||||
</choose>
|
</choose>
|
||||||
</if>
|
</if>
|
||||||
</if>
|
</if>
|
||||||
|
<if test='channelAuthMenuNo != null and channelAuthMenuNo != ""'>
|
||||||
|
<if test='channelAuthMenuNo == "2003"'>
|
||||||
|
and esi.ATTRCTOR_ID = #{userId}
|
||||||
|
</if>
|
||||||
|
</if>
|
||||||
</sql>
|
</sql>
|
||||||
<select id="selectTmpltListExcel" parameterType="kr.co.uplus.ez.api.channelMgt.dto.TmpltListReqDto" resultType="kr.co.uplus.ez.api.channelMgt.dto.TmpltInfo">
|
<select id="selectTmpltListExcel" parameterType="kr.co.uplus.ez.api.channelMgt.dto.TmpltListReqDto" resultType="kr.co.uplus.ez.api.channelMgt.dto.TmpltInfo">
|
||||||
SELECT
|
SELECT
|
||||||
@@ -102,4 +107,16 @@
|
|||||||
SELECT
|
SELECT
|
||||||
@ROWNUM := 0 ) AS R
|
@ROWNUM := 0 ) AS R
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectChannelAuthMenuNo" parameterType="String" resultType="String">
|
||||||
|
SELECT
|
||||||
|
eaa.MENU_NO
|
||||||
|
FROM hubez_admin.EZ_ADM_USER eau
|
||||||
|
INNER JOIN hubez_admin.EZ_ADM_AUTMENU eaa
|
||||||
|
ON eau.AUT_CD = eaa.AUT_CD
|
||||||
|
WHERE 1=1
|
||||||
|
AND eau.OPRTR_ID = #{userId}
|
||||||
|
AND eaa.MENU_NO IN ('2002','2003')
|
||||||
|
LIMIT 1
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -357,26 +357,26 @@
|
|||||||
<select id="selectCarryOverList" parameterType="kr.co.uplus.ez.api.custMgt.dto.CarryOverListReqDto" resultType="kr.co.uplus.ez.api.custMgt.dto.CarryOver">
|
<select id="selectCarryOverList" parameterType="kr.co.uplus.ez.api.custMgt.dto.CarryOverListReqDto" resultType="kr.co.uplus.ez.api.custMgt.dto.CarryOver">
|
||||||
/* custMgt-mapper.xml(selectCarryOverList) */
|
/* custMgt-mapper.xml(selectCarryOverList) */
|
||||||
SELECT
|
SELECT
|
||||||
eul.LMT_YM
|
MAX(eud.COLEC_TMS) AS COLEC_TMS
|
||||||
,SUM(IFNULL(eul.FX_LMT_AMT,0) + IFNULL(CFWD_AMT,0)) AS START_AMOUNT
|
,DATE_FORMAT(eud.USE_YM, '%Y-%m') AS LMT_YM
|
||||||
,SUM(IFNULL(eul.FX_LMT_AMT,0) + IFNULL(CFWD_AMT,0) + IFNULL(eld.DDCT_AMT,0)) AS USE_AMOUNT
|
,esu.USER_ID
|
||||||
,SUM(IFNULL(eul.FX_BLNC,0) + IFNULL(eul.CFWD_RSTRT_BLNC,0)) AS KRRR_AMOUNT
|
,ROUND(SUM(IFNULL(eud.FX_LMT_AMT,0) + IFNULL(eud.CFWD_AMT,0))) AS START_AMOUNT
|
||||||
,SUM(IFNULL(eul.EXTNC_AMT,0)) AS EXTSH_AMOUNT
|
,ROUND(SUM(IFNULL(eud.FX_USE_AMT,0) + IFNULL(eud.CFWD_USE_AMT,0) + IFNULL(eud.MRT_USE_AMT,0))) AS USE_AMOUNT
|
||||||
,esu.USER_ID
|
,ROUND(IFNULL(eud.CFWD_AMT,0)) AS KRRR_AMOUNT
|
||||||
FROM
|
,ROUND(IFNULL(eud.EXTNC_AMT,0)) AS EXTSH_AMOUNT
|
||||||
hubez_common.EZ_SVC_USER esu
|
FROM hubez_admin.EZ_UTXNCOLEC_DTL eud
|
||||||
INNER JOIN hubez_admin.EZ_USER_LMT eul
|
JOIN hubez_common.EZ_SUBS_INFO esi
|
||||||
ON eul.USER_SEQ = esu.USER_SEQ
|
ON eud.SUBS_ID = esi.SUBS_ID
|
||||||
INNER JOIN hubez_admin.EZ_LMTDCT_DTL eld
|
JOIN hubez_common.EZ_SVC_USER esu
|
||||||
ON eld.USER_SEQ = eul.USER_SEQ
|
ON esi.USER_SEQ = esu.USER_SEQ
|
||||||
AND eld.LMT_YM = eul.LMT_YM
|
WHERE 1=1
|
||||||
WHERE 1=1
|
<![CDATA[
|
||||||
AND esu.USER_ID = #{serviceId}
|
AND eud.USE_YM >= DATE_ADD(NOW(), INTERVAL -4 MONTH)
|
||||||
AND eul.LMT_YM BETWEEN DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 4 MONTH) , '%Y%m') AND DATE_FORMAT(NOW() , '%Y%m')
|
AND eud.USE_YM < NOW()
|
||||||
AND eld.DDCT_TP_CD IN ('01','03')
|
]]>
|
||||||
GROUP BY eul.LMT_YM, eul.USER_SEQ
|
AND esu.USER_ID = #{serviceId}
|
||||||
ORDER BY
|
GROUP BY eud.USE_YM, eud.SUBS_ID
|
||||||
eul.LMT_YM DESC
|
ORDER BY eud.USE_YM DESC
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectImUser" parameterType="kr.co.uplus.ez.common.data.ImUser" resultType="kr.co.uplus.ez.common.data.ImUser">
|
<select id="selectImUser" parameterType="kr.co.uplus.ez.common.data.ImUser" resultType="kr.co.uplus.ez.common.data.ImUser">
|
||||||
@@ -461,10 +461,9 @@
|
|||||||
SELECT
|
SELECT
|
||||||
USER_NM
|
USER_NM
|
||||||
,DATE_FORMAT(esu.REG_DT, '%Y-%m-%d') AS REG_DT
|
,DATE_FORMAT(esu.REG_DT, '%Y-%m-%d') AS REG_DT
|
||||||
,(SELECT DTL_CD_NM FROM ${HUBEZ_COMMON}.EZ_CD_DTL WHERE GRP_CD = 'SVCUSER_TP_CD' AND DTL_CD = esu.USER_TP_CD) AS USER_TYPE
|
,esu.USER_TP_CD AS USER_TYPE
|
||||||
,USER_ID
|
,USER_ID
|
||||||
,(SELECT USER_ID FROM ${HUBEZ_COMMON}.EZ_SVC_USER where USER_SEQ = esu.PRNTS_USER_SEQ) AS ADMIN_ID
|
,(SELECT USER_ID FROM ${HUBEZ_COMMON}.EZ_SVC_USER where USER_SEQ = esu.PRNTS_USER_SEQ LIMIT 1) AS ADMIN_ID
|
||||||
<!-- ,(SELECT DTL_CD_NM FROM ${HUBEZ_COMMON}.EZ_CD_DTL WHERE GRP_CD = 'SVCUSER_STTUS_CD' AND DTL_CD = esu.USER_STTUS_CD) AS USER_STAT -->
|
|
||||||
,esu.USER_STTUS_CD AS USER_STAT
|
,esu.USER_STTUS_CD AS USER_STAT
|
||||||
,DATE_FORMAT(esu.LAST_LOGIN_DT, '%Y-%m-%d %H:%i:%s') AS LAST_LOGIN_DT
|
,DATE_FORMAT(esu.LAST_LOGIN_DT, '%Y-%m-%d %H:%i:%s') AS LAST_LOGIN_DT
|
||||||
,esu.HP_NO AS MDN
|
,esu.HP_NO AS MDN
|
||||||
@@ -474,17 +473,16 @@
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectMemberAdminDetail" parameterType="kr.co.uplus.ez.api.custMgt.dto.MemberAdminDetailReqDto" resultType="kr.co.uplus.ez.api.custMgt.dto.MemberAdminDetailRes">
|
<select id="selectMemberAdminDetail" parameterType="kr.co.uplus.ez.api.custMgt.dto.MemberAdminDetailReqDto" resultType="kr.co.uplus.ez.api.custMgt.dto.MemberAdminDetailRes">
|
||||||
/* custMgt-mapper.xml(selectMemberDetail) */
|
/* custMgt-mapper.xml(selectMemberAdminDetail) */
|
||||||
SELECT
|
SELECT
|
||||||
USER_NM
|
USER_NM
|
||||||
,DATE_FORMAT(esu.REG_DT, '%Y-%m-%d') AS REG_DT
|
,DATE_FORMAT(esu.REG_DT, '%Y-%m-%d') AS REG_DT
|
||||||
,(SELECT DTL_CD_NM FROM ${HUBEZ_COMMON}.EZ_CD_DTL WHERE GRP_CD = 'SVCUSER_TP_CD' AND DTL_CD = esu.USER_TP_CD) AS USER_TYPE
|
,(SELECT DTL_CD_NM FROM hubez_common.EZ_CD_DTL WHERE GRP_CD = 'SVCUSER_TP_CD' AND DTL_CD = esu.USER_TP_CD LIMIT 1) AS USER_TYPE
|
||||||
,USER_ID
|
,USER_ID
|
||||||
,(SELECT USER_ID FROM ${HUBEZ_COMMON}.EZ_SVC_USER where USER_SEQ = esu.PRNTS_USER_SEQ) AS ADMIN_ID
|
,(SELECT USER_ID FROM hubez_common.EZ_SVC_USER where USER_SEQ = esu.PRNTS_USER_SEQ LIMIT 1) AS ADMIN_ID
|
||||||
,(SELECT USER_NM FROM ${HUBEZ_COMMON}.EZ_SVC_USER where USER_SEQ = esu.PRNTS_USER_SEQ) AS ADMIN_NM
|
,(SELECT USER_NM FROM hubez_common.EZ_SVC_USER where USER_SEQ = esu.PRNTS_USER_SEQ LIMIT 1) AS ADMIN_NM
|
||||||
,(SELECT FX_LMT_AMT + MRT_LMT_AMT FROM ${HUBEZ_ADMIN}.EZ_USER_LMT WHERE USER_SEQ = esu.PRNTS_USER_SEQ) AS SENDING_LIMIT
|
,IFNULL((SELECT ROUND(SUM(IFNULL(FX_LMT_AMT,0) + IFNULL(MRT_LMT_AMT,0))) FROM hubez_admin.EZ_USER_LMT WHERE USER_SEQ = esu.PRNTS_USER_SEQ AND LMT_YM = DATE_FORMAT(NOW(),'%Y%m')),0) AS SENDING_LIMIT
|
||||||
,(SELECT DTL_CD_NM FROM ${HUBEZ_COMMON}.EZ_CD_DTL WHERE GRP_CD = 'LINE_TP_CD' AND DTL_CD = esu.LINE_TP_CD) AS LINE_TYPE
|
,esu.LINE_TP_CD AS LINE_TYPE
|
||||||
<!-- ,(SELECT DTL_CD_NM FROM ${HUBEZ_COMMON}.EZ_CD_DTL WHERE GRP_CD = 'SVCUSER_STTUS_CD' AND DTL_CD = esu.USER_STTUS_CD) AS USER_STTUS -->
|
|
||||||
,esu.USER_STTUS_CD AS USER_STAT
|
,esu.USER_STTUS_CD AS USER_STAT
|
||||||
,DATE_FORMAT(esu.LAST_LOGIN_DT, '%Y-%m-%d %H:%i:%s') AS LAST_LOGIN_DT
|
,DATE_FORMAT(esu.LAST_LOGIN_DT, '%Y-%m-%d %H:%i:%s') AS LAST_LOGIN_DT
|
||||||
,(SELECT MEMO FROM ${HUBEZ_COMMON}.EZ_USER_MEMO EUM WHERE USER_SEQ = esu.USER_SEQ ORDER BY REG_DT DESC LIMIT 1) AS MEMO
|
,(SELECT MEMO FROM ${HUBEZ_COMMON}.EZ_USER_MEMO EUM WHERE USER_SEQ = esu.USER_SEQ ORDER BY REG_DT DESC LIMIT 1) AS MEMO
|
||||||
@@ -501,7 +499,7 @@
|
|||||||
SELECT
|
SELECT
|
||||||
COUNT(*)
|
COUNT(*)
|
||||||
FROM ${HUBEZ_COMMON}.EZ_SVC_USER esu
|
FROM ${HUBEZ_COMMON}.EZ_SVC_USER esu
|
||||||
WHERE esu.PRNTS_USER_SEQ = (SELECT USER_SEQ FROM ${HUBEZ_COMMON}.EZ_SVC_USER WHERE USER_ID = #{userId})
|
WHERE esu.PRNTS_USER_SEQ = (SELECT USER_SEQ FROM ${HUBEZ_COMMON}.EZ_SVC_USER WHERE USER_ID = #{userId} LIMIT 1)
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectMemberDetailList" parameterType="kr.co.uplus.ez.api.custMgt.dto.MemberDetailReqDto" resultType="kr.co.uplus.ez.api.custMgt.dto.MemberDetail">
|
<select id="selectMemberDetailList" parameterType="kr.co.uplus.ez.api.custMgt.dto.MemberDetailReqDto" resultType="kr.co.uplus.ez.api.custMgt.dto.MemberDetail">
|
||||||
@@ -534,7 +532,7 @@
|
|||||||
,HP_NO AS mdn
|
,HP_NO AS mdn
|
||||||
,(SELECT DTL_CD_NM FROM ${HUBEZ_COMMON}.EZ_CD_DTL WHERE GRP_CD = 'SVCUSER_STTUS_CD' AND DTL_CD = esu.USER_STTUS_CD) AS userStat
|
,(SELECT DTL_CD_NM FROM ${HUBEZ_COMMON}.EZ_CD_DTL WHERE GRP_CD = 'SVCUSER_STTUS_CD' AND DTL_CD = esu.USER_STTUS_CD) AS userStat
|
||||||
FROM ${HUBEZ_COMMON}.EZ_SVC_USER esu
|
FROM ${HUBEZ_COMMON}.EZ_SVC_USER esu
|
||||||
WHERE esu.PRNTS_USER_SEQ = (SELECT USER_SEQ FROM ${HUBEZ_COMMON}.EZ_SVC_USER WHERE USER_ID = #{userId})
|
WHERE esu.PRNTS_USER_SEQ = (SELECT USER_SEQ FROM ${HUBEZ_COMMON}.EZ_SVC_USER WHERE USER_ID = #{userId} LIMIT 1)
|
||||||
ORDER BY esu.REG_DT DESC) A,
|
ORDER BY esu.REG_DT DESC) A,
|
||||||
( SELECT @ROWNUM := 0 ) AS R
|
( SELECT @ROWNUM := 0 ) AS R
|
||||||
</select>
|
</select>
|
||||||
@@ -542,15 +540,17 @@
|
|||||||
<select id="selectMemoList" parameterType="kr.co.uplus.ez.api.custMgt.dto.AllMemoListReqDto" resultType="kr.co.uplus.ez.api.custMgt.dto.AllMemoList">
|
<select id="selectMemoList" parameterType="kr.co.uplus.ez.api.custMgt.dto.AllMemoListReqDto" resultType="kr.co.uplus.ez.api.custMgt.dto.AllMemoList">
|
||||||
/* custMgt-mapper.xml(selectMemoList) */
|
/* custMgt-mapper.xml(selectMemoList) */
|
||||||
SELECT
|
SELECT
|
||||||
MEMO AS memo,
|
EUM.MEMO AS memo,
|
||||||
EUM.SEQ_NO AS seqNo,
|
EUM.SEQ_NO AS seqNo,
|
||||||
EUM.MKER_NM AS register,
|
EUM.MKER_NM AS register,
|
||||||
DATE_FORMAT(EUM.REG_DT, '%Y-%m-%d') AS regDt
|
DATE_FORMAT(EUM.REG_DT, '%Y-%m-%d') AS regDt
|
||||||
FROM
|
FROM
|
||||||
${HUBEZ_COMMON}.EZ_USER_MEMO EUM
|
${HUBEZ_COMMON}.EZ_USER_MEMO EUM
|
||||||
|
INNER JOIN ${HUBEZ_COMMON}.EZ_SVC_USER ESU
|
||||||
|
ON EUM.USER_SEQ = ESU.USER_SEQ
|
||||||
WHERE
|
WHERE
|
||||||
EUM.USER_SEQ = (SELECT USER_SEQ FROM ${HUBEZ_COMMON}.EZ_SVC_USER WHERE USER_ID = #{userId})
|
ESU.USER_ID = #{userId}
|
||||||
ORDER BY REG_DT
|
ORDER BY EUM.REG_DT DESC
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectCustInfoCount" parameterType="String" resultType="int">
|
<select id="selectCustInfoCount" parameterType="String" resultType="int">
|
||||||
@@ -678,6 +678,7 @@
|
|||||||
/* custMgt-mapper.xml(insertSubsInfo) */
|
/* custMgt-mapper.xml(insertSubsInfo) */
|
||||||
INSERT INTO ${HUBEZ_COMMON}.EZ_SUBS_INFO(
|
INSERT INTO ${HUBEZ_COMMON}.EZ_SUBS_INFO(
|
||||||
SUBS_ID
|
SUBS_ID
|
||||||
|
,ENTR_NO
|
||||||
,USER_SEQ
|
,USER_SEQ
|
||||||
,CUST_SEQ
|
,CUST_SEQ
|
||||||
,SUBS_STTUS_CD
|
,SUBS_STTUS_CD
|
||||||
@@ -691,6 +692,7 @@
|
|||||||
,CHG_DT
|
,CHG_DT
|
||||||
)values(
|
)values(
|
||||||
#{subsId}
|
#{subsId}
|
||||||
|
,#{entrNo}
|
||||||
, #{userSeq}
|
, #{userSeq}
|
||||||
, #{custSeq}
|
, #{custSeq}
|
||||||
, #{subsSttusCd}
|
, #{subsSttusCd}
|
||||||
@@ -821,4 +823,20 @@
|
|||||||
FROM ${HUBEZ_COMMON}.EZ_SVC_USER
|
FROM ${HUBEZ_COMMON}.EZ_SVC_USER
|
||||||
WHERE USER_ID = #{userId}
|
WHERE USER_ID = #{userId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectApiAuthToken" parameterType="String" resultType="String">
|
||||||
|
/* custMgt-mapper.xml(selectApiAuthToken) */
|
||||||
|
SELECT AUTHTKN
|
||||||
|
FROM ${HUBEZ_COMMON}.EZ_IFSYS_INFO
|
||||||
|
WHERE SYS_ID = #{apiApplicationId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getSubId" resultType="String">
|
||||||
|
SELECT CONCAT('TESTSUBID', LPAD(hubez_common.FUN_NEXT_SEQ('TEST_SUBS_SEQ'), 11, 0)) AS SUB_ID
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getEntrNo" resultType="String">
|
||||||
|
SELECT CONCAT('TESTENTRN', LPAD(hubez_common.FUN_NEXT_SEQ('TEST_SUBS_SEQ'), 11, 0)) as ENTR_NO
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -121,6 +121,33 @@
|
|||||||
)
|
)
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
<insert id="insertSendMsg" parameterType="kr.co.uplus.ez.api.login.dto.SendMsgDto">
|
||||||
|
INSERT
|
||||||
|
INTO hubez_send.EZ_MSG_REAL (
|
||||||
|
CLIENT_KEY
|
||||||
|
, REQ_PRODUCT
|
||||||
|
, TRAFFIC_TYPE
|
||||||
|
, MSG_STATUS
|
||||||
|
, REQ_DATE
|
||||||
|
, CALLBACK_NUMBER
|
||||||
|
, MSG
|
||||||
|
, PHONE
|
||||||
|
, WEB_REQ_ID
|
||||||
|
, ORDER_ID
|
||||||
|
)value(
|
||||||
|
#{clientKey}
|
||||||
|
, 'SMS'
|
||||||
|
, 'real'
|
||||||
|
, 'req'
|
||||||
|
, NOW()
|
||||||
|
, '15445992'
|
||||||
|
, #{msg}
|
||||||
|
, #{phone}
|
||||||
|
, '2'
|
||||||
|
, '2'
|
||||||
|
)
|
||||||
|
</insert>
|
||||||
|
|
||||||
<select id="getAuthNum" parameterType="kr.co.uplus.ez.api.login.dto.AuthNum" resultType="kr.co.uplus.ez.api.login.dto.AuthNum">
|
<select id="getAuthNum" parameterType="kr.co.uplus.ez.api.login.dto.AuthNum" resultType="kr.co.uplus.ez.api.login.dto.AuthNum">
|
||||||
/* login-mapper.xml(getAuthNum) */
|
/* login-mapper.xml(getAuthNum) */
|
||||||
SELECT
|
SELECT
|
||||||
|
|||||||
@@ -63,7 +63,7 @@
|
|||||||
FROM ${HUBEZ_SEND}.EZ_MSG_LOG eml
|
FROM ${HUBEZ_SEND}.EZ_MSG_LOG eml
|
||||||
WHERE 1=1
|
WHERE 1=1
|
||||||
AND DATE_FORMAT(eml.SENT_DATE,'%Y%m%d') = #{sentDate}
|
AND DATE_FORMAT(eml.SENT_DATE,'%Y%m%d') = #{sentDate}
|
||||||
<if test='reqChennel != null and reqChennel != "" and reqChennel != "ALL"'>
|
<if test='reqChennel != null and reqChennel != ""'>
|
||||||
AND eml.REQ_PRODUCT = #{reqChennel}
|
AND eml.REQ_PRODUCT = #{reqChennel}
|
||||||
</if>
|
</if>
|
||||||
<if test='phone != null and phone != ""'>
|
<if test='phone != null and phone != ""'>
|
||||||
|
|||||||
@@ -20,13 +20,27 @@
|
|||||||
FROM
|
FROM
|
||||||
(
|
(
|
||||||
SELECT
|
SELECT
|
||||||
BLCK_SNDRNO
|
esb.BLCK_SNDRNO
|
||||||
, SNDBLCK_TP_CD
|
,esb.SNDBLCK_TP_CD
|
||||||
, BLCK_RSN_CD
|
, (SELECT
|
||||||
, BLCK_YN
|
T2.DTL_CD_NM as codeNm
|
||||||
, REG_ID
|
FROM hubez_common.EZ_CD_GRP T1
|
||||||
, CHG_ID
|
LEFT JOIN hubez_common.EZ_CD_DTL T2
|
||||||
, DATE_FORMAT(CHG_DT, '%Y-%m-%d') As LAST_CHG_DT
|
ON T1.GRP_CD = T2.GRP_CD
|
||||||
|
WHERE T1.GRP_CD = 'SNDBLCK_TP_CD'
|
||||||
|
and T2.DTL_CD=esb.SNDBLCK_TP_CD) AS SNDBLCK_TP_NM
|
||||||
|
,esb.BLCK_RSN_CD
|
||||||
|
,(SELECT
|
||||||
|
T2.DTL_CD_NM as codeNm
|
||||||
|
FROM hubez_common.EZ_CD_GRP T1
|
||||||
|
LEFT JOIN hubez_common.EZ_CD_DTL T2
|
||||||
|
ON T1.GRP_CD = T2.GRP_CD
|
||||||
|
WHERE T1.GRP_CD = 'SNDBLCK_RSN_CD'
|
||||||
|
and T2.DTL_CD=esb.BLCK_RSN_CD) AS BLCK_RSN_NM
|
||||||
|
, IF(esb.BLCK_YN = 'Y', '차단', '미차단') AS BLCK_YN
|
||||||
|
, esb.REG_ID
|
||||||
|
, esb.CHG_ID
|
||||||
|
, DATE_FORMAT(esb.CHG_DT, '%Y-%m-%d') As LAST_CHG_DT
|
||||||
FROM
|
FROM
|
||||||
${HUBEZ_COMMON}.EZ_SNDRNO_BLCK esb
|
${HUBEZ_COMMON}.EZ_SNDRNO_BLCK esb
|
||||||
WHERE 1 = 1
|
WHERE 1 = 1
|
||||||
@@ -209,8 +223,8 @@
|
|||||||
SELECT
|
SELECT
|
||||||
emb.SEQ_NO
|
emb.SEQ_NO
|
||||||
, ebd.WORD
|
, ebd.WORD
|
||||||
, emb.BLCK_YN
|
, IF(emb.BLCK_YN = 'Y', '차단', '미차단') AS BLCK_YN
|
||||||
, DATE_FORMAT(emb.REG_DT , '%Y-%m-%d') AS LAST_CHG_DT
|
, DATE_FORMAT(emb.CHG_DT , '%Y-%m-%d') AS LAST_CHG_DT
|
||||||
,(
|
,(
|
||||||
SELECT
|
SELECT
|
||||||
DTL_CD_NM
|
DTL_CD_NM
|
||||||
@@ -355,7 +369,7 @@
|
|||||||
COUNT(*)
|
COUNT(*)
|
||||||
FROM
|
FROM
|
||||||
${HUBEZ_COMMON}.EZ_WEBSND_BLCK ewb
|
${HUBEZ_COMMON}.EZ_WEBSND_BLCK ewb
|
||||||
WHERE 1 = 1
|
WHERE 1=1
|
||||||
<include refid="websndBlckListCondition"/>
|
<include refid="websndBlckListCondition"/>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user