diff --git a/frontend/src/common/http-client.js b/frontend/src/common/http-client.js index 2313b39..99f214d 100644 --- a/frontend/src/common/http-client.js +++ b/frontend/src/common/http-client.js @@ -83,15 +83,20 @@ httpClient.interceptors.response.use( console.log('response status:', response.status, 'data:', response.data); return response; }, - error => { + error => { console.log(error); + if(error.message === 'Network Error'){ + alert('네트워크 오류가 발생했습니다. 잠시 후 다시 시도해주세요.'); + tokenSvc.removeToken(); + window.top.location.href = '/login'; + } if (error.response != undefined && error.response != null) loadingLayer(false, error.response.config); else loadingLayer(false, error.config); if (error.code === 'ECONNABORTED') { alert('서비스가 지연되고 있습니다. 잠시 후 확인하시고 다시 시도해주세요.'); return Promise.reject(error); - } else if(error.response.status == 401){ + }else if(error.response.status == 401){ alert('세션이 만료되었습니다.'); tokenSvc.removeToken(); window.top.location.href = '/login'; @@ -109,10 +114,12 @@ httpClient.interceptors.response.use( } else if (error.response.status == 511) { alert('웹템플릿 IP가 브랜드포털에 등록이 필요합니다. 기술지원에 문의해주세요.'); return Promise.reject(error); - } else if (error.message == 'Network Error') { - alert('네트워크 오류가 발생했습니다. 잠시 후 다시 시도해주세요.'); - return Promise.reject(error); - } else { + } + // else if (error.message == 'Network Error') { + // alert('네트워크 오류가 발생했습니다. 잠시 후 다시 시도해주세요.'); + // return Promise.reject(error); + // } + else { alert("else"); console.log('response error:', error); return Promise.reject(error); diff --git a/frontend/src/components/HubWebHeader.vue b/frontend/src/components/HubWebHeader.vue index 77e26d9..34999d1 100644 --- a/frontend/src/components/HubWebHeader.vue +++ b/frontend/src/components/HubWebHeader.vue @@ -22,6 +22,7 @@ import { mapGetters } from 'vuex'; import loginApi from '@/modules/login/service/api'; import logoutModal from "./logoutModal"; +import tokenSvc from '@/common/token-service'; export default { name: "hubWebHeader", @@ -36,7 +37,11 @@ export default { }, created() { // console.log(this.$store["login/isLogin"]) - // this.$store.getters.getCounter + // this.$store.getters.getCounter + const loggedIn = !!tokenSvc.getToken(); + if(!loggedIn){ + window.top.location.href = '/login'; + } }, computed: { ...mapGetters({ diff --git a/frontend/src/components/NavBar.vue b/frontend/src/components/NavBar.vue index fef9636..afdc683 100644 --- a/frontend/src/components/NavBar.vue +++ b/frontend/src/components/NavBar.vue @@ -41,6 +41,7 @@ export default { created() { this.isLogin = !!tokenSvc.getToken(); let curPage = location.pathname; + if (this.isLogin && curPage != "/login") { this.$store.commit("login/isLogin", true); this.setMenuData(); @@ -48,7 +49,7 @@ export default { this.$store.commit("login/isLogin", false); this.isLogin = false; } - + }, mounted() { //this.menuhighlight(); @@ -61,7 +62,7 @@ export default { }, watch: { getLogin(data) { - if (data != null && data != '' && data == true) { + if (data != null && data != '' && data == true) { this.isLogin = true; this.setMenuData(); } else { diff --git a/frontend/src/modules/attractMgt/views/ChannelList.vue b/frontend/src/modules/attractMgt/views/ChannelList.vue index a1e2b49..8b83c18 100644 --- a/frontend/src/modules/attractMgt/views/ChannelList.vue +++ b/frontend/src/modules/attractMgt/views/ChannelList.vue @@ -173,7 +173,7 @@ export default { totalItems: 0, grid: { url: '/api/v1/bo/attractMgt/channelList', - pagePerRows: 50, + pagePerRows: 20, pagination: true, isCheckbox: false, // true:첫번째 컬럼 앞에 체크박스 생성 / false:체크박스 제거 initialRequest: false, @@ -252,7 +252,8 @@ export default { // store에 저장된 페이지 정보 및 검색 조건을 불러오기 let isKeep = false; - if (getCondition) { + if (getCondition) { + console.log(getCondition.perPage); this.grid.pagePerRows = getCondition.perPage; this.grid.params = getCondition.params; page = getCondition.page; diff --git a/frontend/src/modules/custMgt/components/MemberBulkRegPop.vue b/frontend/src/modules/custMgt/components/MemberBulkRegPop.vue index c0174a4..fe3b3c0 100644 --- a/frontend/src/modules/custMgt/components/MemberBulkRegPop.vue +++ b/frontend/src/modules/custMgt/components/MemberBulkRegPop.vue @@ -69,7 +69,8 @@ export default { totalItems: 0, totalCnt: 0, failCnt: 0, - insertRowCnt: 0 + insertRowCnt: 0, + sampleList : [], }; }, components: { @@ -138,7 +139,9 @@ export default { header: this.excelHeader, dataOrder: 'header', }; - xlsx.export([], saveFileName, options).then(() => { + console.log('============'); + console.log(this.sampleList); + xlsx.export(this.sampleList, saveFileName, options).then(() => { }); }, getExcelHeader() { @@ -146,6 +149,18 @@ export default { custMgtApi.getExcelHeader(this.pageType).then((res) => { this.excelHeader = res; }); + this.getSampleBody(); + }, + getSampleBody() { + const tempRow = [ + { id : '', + userNm : '', + mdn : '', + email : '', + stat : '사용' + } + ]; + this.sampleList = tempRow; }, readFile(event) { this.nData = []; diff --git a/frontend/src/modules/custMgt/components/MemberRegPop.vue b/frontend/src/modules/custMgt/components/MemberRegPop.vue index 14d9d8e..7dd6737 100644 --- a/frontend/src/modules/custMgt/components/MemberRegPop.vue +++ b/frontend/src/modules/custMgt/components/MemberRegPop.vue @@ -137,7 +137,10 @@ export default { this.toComplete(); } else if (result != null && result.retCode == "4018") { // 이미 사용중인 ID - this.$refs.validationConfirmPopModal.validationIdDuplicateOpen(); + this.row.title = '청약고객관리'; + this.row.msg1 = '중복된 아이디가 있습니다.'; + this.row.msg2 = '아이디를 다시 확인하여 등록 부탁드립니다.'; + this.$parent.$refs.commmonModal.alertModalOpen(this.row); } else { this.row.title = '청약고객관리'; this.row.msg1 = '실패 하였습니다.'; diff --git a/frontend/src/modules/custMgt/components/ValidationConfirmModalPop.vue b/frontend/src/modules/custMgt/components/ValidationConfirmModalPop.vue index dc45e34..97d6ba2 100644 --- a/frontend/src/modules/custMgt/components/ValidationConfirmModalPop.vue +++ b/frontend/src/modules/custMgt/components/ValidationConfirmModalPop.vue @@ -8,7 +8,7 @@
해당 사용자를 등록하고 인증 메일을
diff --git a/frontend/src/modules/custMgt/views/SubsDetail.vue b/frontend/src/modules/custMgt/views/SubsDetail.vue index f802514..6c7f7b4 100644 --- a/frontend/src/modules/custMgt/views/SubsDetail.vue +++ b/frontend/src/modules/custMgt/views/SubsDetail.vue @@ -232,11 +232,15 @@ export default { ValidationConfirmPop, AdminNmPop, commonModal, + }, created() { console.log(this.$route.params.serviceId); + this.$store.commit("login/isLogin", true); + //console.log(this.$route.params); this.subsDetail(this.$route.params.serviceId); - // checkVaildBizNum + this.setMenuActive(); + }, methods: { callAlert(props) { @@ -388,6 +392,16 @@ export default { console.log(this.row); this.$router.push({name: 'memberAdminDetail', params: {serviceId: this.row.serviceId}}); }, + + // 메뉴 활성화 + setMenuActive(){ + const activedMenu = document.querySelectorAll('.main_menu .is-current'); + activedMenu[0].classList.remove('is-current'); + const nowMenu = document.querySelectorAll('.customer'); + nowMenu[0].classList.add('is-current'); + + //menuList.classList.add('is-current'); + } } } diff --git a/frontend/src/modules/sendNumMgt/views/NumberList.vue b/frontend/src/modules/sendNumMgt/views/NumberList.vue index ef332b8..9a00327 100644 --- a/frontend/src/modules/sendNumMgt/views/NumberList.vue +++ b/frontend/src/modules/sendNumMgt/views/NumberList.vue @@ -136,7 +136,7 @@ export default { perPageCnt: 50, grid: { url: '/api/v1/bo/sendNumMgt/numberList', - pagePerRows: 50, + pagePerRows: 20, pagination: true, isCheckbox: true, initialRequest: false, diff --git a/frontend/src/modules/sendNumMgt/views/ProfileList.vue b/frontend/src/modules/sendNumMgt/views/ProfileList.vue index bb53393..642c20b 100644 --- a/frontend/src/modules/sendNumMgt/views/ProfileList.vue +++ b/frontend/src/modules/sendNumMgt/views/ProfileList.vue @@ -87,7 +87,7 @@ export default { ], grid: { url: '/api/v1/bo/sendNumMgt/profileList', - pagePerRows: 50, + pagePerRows: 20, pagination: true, isCheckbox: false, initialRequest: false, diff --git a/frontend/src/router.js b/frontend/src/router.js index b4bc57a..89452c3 100644 --- a/frontend/src/router.js +++ b/frontend/src/router.js @@ -76,7 +76,7 @@ router.beforeEach((to, from, next) => { const isPublic = to.matched.some(record => record.meta.public); const loggedIn = !!tokenSvc.getToken(); - if (!isPublic && !loggedIn) { + if (!isPublic && !loggedIn) { return next('/login'); }else{ var nextUrl = to.fullPath; @@ -85,7 +85,7 @@ router.beforeEach((to, from, next) => { const rootUrl = store.getters['login/getRootUrl']; if(rootUrl == null){ return next('/login'); - } + } return next(rootUrl); } } diff --git a/frontend/src/views/HubwebLayout.vue b/frontend/src/views/HubwebLayout.vue index 15470c4..704fb4b 100644 --- a/frontend/src/views/HubwebLayout.vue +++ b/frontend/src/views/HubwebLayout.vue @@ -22,6 +22,7 @@ import "../assets/css/contents.css"; import "../assets/css/common.css"; import "../assets/css/style.css"; import { mapGetters } from 'vuex'; +import tokenSvc from '@/common/token-service'; export default { name: "hubwebLayout", @@ -39,7 +40,7 @@ export default { }, created() { // this.getLogin; - // this.getAuthChk; + // this.getAuthChk; }, mounted() { this.isLogin = this.$store.getters["login/isLogin"]