김준식 김준식 2024-02-01
240201 김준식 버튼클릭시 쿠키 존재 유무 판단하여 없을 시 로그인창으로 페이지 이동 (코드관리, 도메인 진단 규칙 관리, 데이터 규칙 관리, 업무규칙 관리, 스케줄 실행 결과 조회, 진단상세결과현황, 품질진단종합현황, 회원정보수정)
@1d64e1c4ca055683143373e2424b620d2c3b9cbb
client/views/common/commonPlugin.js
--- client/views/common/commonPlugin.js
+++ client/views/common/commonPlugin.js
@@ -37,9 +37,10 @@
         
         // 로그인 확인(쿠키가 만료된 후에 이벤트가 발생하면 로그인 창으로 이동)
         Vue.config.globalProperties.$checkLogin = function () {
-            if ($cookies.get('USER_ID') == null && $cookies.get('USER') == null && $cookies.get('JSESSIONID') == null ) {
-                this.$showAlert('로그아웃', '세션이 만료되어 자동 로그아웃 되었습니다.')
+            if ($cookies.get('USER_ID') == null && $cookies.get('USER') == null && $cookies.get('JSESSIONID') == null) {
                 this.$router.push('/');
+                this.$router.go();
+                return true;
             }
         }
     }
client/views/pages/dbManagement/ColumnManagement.vue
--- client/views/pages/dbManagement/ColumnManagement.vue
+++ client/views/pages/dbManagement/ColumnManagement.vue
@@ -373,6 +373,9 @@
   methods: {
     selectDbms: function () {
       const vm = this;
+      if (vm.$checkLogin() == true) {
+        return;
+      }
       axios({
         url: "selectDbms.json",
         method: "post",
@@ -461,7 +464,9 @@
     // 컬럼 분석
     analyzeColumn: function () {
       const vm = this;
-
+      if (vm.$checkLogin() == true) {
+        return;
+      }
       const selectedResult = vm.searchResultList.find(
         (result, index) => vm.checkboxList[index]
       );
@@ -680,6 +685,9 @@
     },
 
     setPage: function () {
+      if (this.$checkLogin() == true) {
+        return;
+      }
       if (this.searchResultData.dbms_name === "none") {
         this.$showAlert("deny", "DBMS를 선택해주세요.");
         return;
client/views/pages/login/Login.vue
--- client/views/pages/login/Login.vue
+++ client/views/pages/login/Login.vue
@@ -116,6 +116,10 @@
         if (vueCookie.get('JSESSIONID') != null) {
             this.$router.push({ path: '/main.page', query: {} });
         }
+
+        window.onpopstate = function () {
+            history.go(1);
+        }
     },
 };
 </script>
client/views/pages/mypage/MyPage.vue
--- client/views/pages/mypage/MyPage.vue
+++ client/views/pages/mypage/MyPage.vue
@@ -41,6 +41,9 @@
     methods: {
         updateInfo() {
             const vm = this;
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             /*
             if (vm.strongPassword(vm.update_pwd) == false) {
                 vm.$showAlert('error', '비밀번호 입력시 최소 8글자 이상이면서, 알파벳과 숫자 및 특수문자(@$!%*#?&)를 하나 이상 입력해주시기 바랍니다.');
@@ -99,6 +102,9 @@
         // 사용자 이메일
         getUserEmail() {
             const vm = this;
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             axios({
                 url: '/getUserEmail.json',
                 method: 'post',
client/views/pages/result/ExecRuleResult.vue
--- client/views/pages/result/ExecRuleResult.vue
+++ client/views/pages/result/ExecRuleResult.vue
@@ -254,6 +254,9 @@
      */
     selectExecResult: function () {
       const vm = this;
+      if (vm.$checkLogin() == true) {
+          return;
+      }
       axios({
         url: "selectExecResult.json",
         method: "post",
@@ -279,6 +282,9 @@
      */
     selectDbms: function () {
       const vm = this;
+      if (vm.$checkLogin() == true) {
+          return;
+      }
       axios({
         url: "selectDbms.json",
         method: "post",
client/views/pages/result/TotalRuleResult.vue
--- client/views/pages/result/TotalRuleResult.vue
+++ client/views/pages/result/TotalRuleResult.vue
@@ -143,6 +143,9 @@
          */
         selectTotalResult: function () {
             const vm = this;
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             axios({
                 url: 'selectTotalResult.json',
                 method: 'post',
@@ -167,6 +170,9 @@
          */
         selectDbms: function () {
             const vm = this;
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             axios({
                 url: 'selectDbms.json',
                 method: 'post',
client/views/pages/rule/CodeList.vue
--- client/views/pages/rule/CodeList.vue
+++ client/views/pages/rule/CodeList.vue
@@ -250,6 +250,12 @@
         // 코드 관리 등록
         register() {
             const vm = this;
+            if (vm.$checkLogin() == true) {
+                return;
+            }
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             let result = vm.inputCheck();
             if (result == 0) return;
             vm.menu = 1;
@@ -275,6 +281,9 @@
         // 코드 관리 수정
         update() {
             const vm = this;
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             // 입력값 확인
             const result = vm.inputCheck();
             if (result == 0) return;
@@ -288,6 +297,9 @@
         // 체크 박스 선택한 행을 삭제
         selectCodeDelete() {
             const vm = this;
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             console.log('checkBox', vm.selectedItems);
             if (vm.selectedItems.length === 0) {
                 vm.$showAlert('알림', '삭제할 항목을 선택하시기 바랍니다.');
@@ -316,6 +328,9 @@
         // 초기화
         reset() {
             const vm = this;
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             vm.code = {
                 cr_code_id: null,
                 cr_code_type: null,
@@ -359,6 +374,9 @@
         // 진단대상DBMS 선택 항목 값들을 불러옴
         getOptionValue() {
             const vm = this;
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             let Data = {
                 user_id: $cookies.get('USER_ID'),
             };
@@ -383,7 +401,9 @@
         // 코드 관리 데이터들을 조회
         allSelectCode() {
             const vm = this;
-            vm.$checkLogin();
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             axios({
                 url: '/selectCodeList.json',
                 method: 'post',
@@ -517,7 +537,6 @@
                             vm.checkBoxIndex = [];
                             vm.modalContents = '모든 항목을 삭제하였습니다.';
                             vm.menu = 0;
-                            // vm.getOptionValue();
                         } else {
                             vm.modalContents = '모든 항목을 삭제하는데 실패하였습니다.';
                             vm.menu = -1;
@@ -557,6 +576,9 @@
     },
     watch: {
         'cmListSearch.currentPage': function () {
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             this.allSelectCode();
             this.resetCheckBoxState();
         },
client/views/pages/rule/DomainRuleList.vue
--- client/views/pages/rule/DomainRuleList.vue
+++ client/views/pages/rule/DomainRuleList.vue
@@ -414,6 +414,9 @@
             this.activeTab = tabName;
         },
         openModal: function (index) {
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             this.isModalOpen = true;
             this.selectedDomain = index;
         },
@@ -467,6 +470,9 @@
         },
         // 진단규칙 일괄적용
         inputAllDomainRule: function () {
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             for (let i = 0; i < this.domainList.length; i++) {
                 if (this.checkedDomain[i] == true) {
                     this.domainList[i].val_rule_id = this.selectedAllDomain.val_rule_id;
@@ -478,6 +484,9 @@
         },
         // 진단 규칙 초기화
         deleteDomainRule() {
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             for (let i = 0; i < this.domainList.length; i++) {
                 if (this.checkedDomain[i] == true) {
                     this.domainList[i].val_rule_id = null;
@@ -489,6 +498,9 @@
         },
         // 진단 규칙 선택 항목 저장
         saveDomainRule() {
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             for (let i = 0; i < this.domainList.length; i++) {
                 if (this.checkedDomain[i] == true) {
                     this.domainUpdate = {
@@ -526,6 +538,9 @@
         // 도메인 진단 규칙 select
         selectDomainRule: function () {
             const vm = this;
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             vm.domainSearch.dbms_name = vm.selectDbms.dbms_name;
             vm.domainSearch.schema_name = vm.selectSchema.schema_name;
             axios({
@@ -548,6 +563,9 @@
         // 진단 규칙 select
         selectValRule: function () {
             const vm = this;
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             axios({
                 url: 'selectValRule.json',
                 method: 'post',
@@ -568,6 +586,9 @@
         // 검증 유형 select
         selectDqiType: function () {
             const vm = this;
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             axios({
                 url: 'selectDqiType.json',
                 method: 'post',
@@ -587,6 +608,9 @@
         // 코드 select
         selectCodeList: function () {
             const vm = this;
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             axios({
                 url: '/selectCodeList.json',
                 method: 'post',
@@ -606,6 +630,9 @@
         // 검색 - DBMS명 조회
         selectDbName() {
             const vm = this;
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             axios({
                 url: '/selectDbmsName.json',
                 method: 'post',
@@ -645,6 +672,9 @@
 
     watch: {
         'domainSearch.currentPage': function () {
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             this.selectDomainRule();
         },
         'valRuleSerach.currentPage': function () {
client/views/pages/rule/WorkRuleManagement.vue
--- client/views/pages/rule/WorkRuleManagement.vue
+++ client/views/pages/rule/WorkRuleManagement.vue
@@ -513,6 +513,9 @@
         // 업무규칙 등록
         register() {
             const vm = this;
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             let result = vm.inputCheck();
             if (result == 0) return;
 
@@ -526,6 +529,9 @@
         // 업무규칙 수정
         update() {
             const vm = this;
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             vm.inputCheck();
             vm.menu = 2;
             vm.modalTitle = '수정';
@@ -536,6 +542,9 @@
         // 업무규칙 삭제
         selectWRDelete() {
             const vm = this;
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             if (vm.selectedItems.length == 0) {
                 vm.menu = 0;
                 vm.$showAlert('알림', '삭제하실 목록을 체크하여 주시기 바랍니다.');
@@ -578,6 +587,9 @@
         // 초기화
         reset() {
             const vm = this;
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             vm.wrManagement = {
                 work_rule_id: null, // work_rule_id
                 work_rule_nm: null, // 업무규칙명
@@ -607,7 +619,9 @@
         // dbms명 목록 불러오기
         getDbmsList() {
             const vm = this;
-
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             axios({
                 url: '/getDbmsList.json',
                 method: 'post',
@@ -771,7 +785,9 @@
         // 저장된 목록들 조회
         allWorkRuleList() {
             const vm = this;
-
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             axios({
                 url: '/allWorkRuleList.json',
                 method: 'post',
client/views/pages/rule/refRuleManagement.vue
--- client/views/pages/rule/refRuleManagement.vue
+++ client/views/pages/rule/refRuleManagement.vue
@@ -479,6 +479,9 @@
         // 참조무결성 삭제
         deleteRef() {
             const vm = this;
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             if (vm.selectedItems.length == 0) {
                 vm.$showAlert('알림', '삭제할 관계컬럼을 선택해주세요.');
                 return;
@@ -539,6 +542,9 @@
         // 참조무결성 추가 버튼을 클릭했을 경우
         goAddRef() {
             const vm = this;
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             vm.parentDbmsName = null; // 참조무결성 상세정보 dbms명
             vm.parentSchemaName = null; // 참조무결성 상세정보 스키마명
             vm.parentTableName = null; // 참조무결성 상세정보 테이블명
@@ -554,7 +560,9 @@
         // 검색조건에 필요한 DBMS명을 가져옴
         getDbmsList() {
             const vm = this;
-
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             axios({
                 url: '/getDbmsNameList.json',
                 method: 'post',
@@ -604,6 +612,9 @@
         // 검색 버튼을 클릭하였을 경우
         search() {
             const vm = this;
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             vm.selected_index = 0;
             vm.parentDbmsName = null; // 참조무결성 상세정보 dbms명
             vm.parentSchemaName = null; // 참조무결성 상세정보 스키마명
@@ -676,6 +687,9 @@
         // 이전 페이지로 돌아가기
         back() {
             const vm = this;
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             vm.searchTableData.table_name = null;
             vm.parentColumnList = [];
             vm.searchList = [];
@@ -790,6 +804,9 @@
         // 참조 무결성 등록을 클릭하였을 경우
         registerRef() {
             const vm = this;
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             if (vm.parentNumList.length == 0 || vm.childNumList.length == 0) {
                 vm.parentNumList = [];
                 vm.childNumList = [];
client/views/pages/schedule/ScheduleManagement.vue
--- client/views/pages/schedule/ScheduleManagement.vue
+++ client/views/pages/schedule/ScheduleManagement.vue
@@ -237,6 +237,9 @@
          * 시간 : 2024.01.26
          */
         selectScheduleManager: function () {
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             console.log('searchData : ', this.searchData);
             const vm = this;
             axios({
@@ -290,6 +293,9 @@
          */
         deleteSchedule: function () {
             const vm = this;
+            if (vm.$checkLogin() == true) {
+                return;
+            }
             let pureArray = this.toPureArray(vm.selectedScheduleId);
             axios({
                 url: 'deleteSchedule.json',
Add a comment
List