박민혁 박민혁 2024-02-15
240215 박민혁 진단 결과 검색 수정
@b20febf93a6a932b14ea571419b4c76cd3c94a34
client/views/pages/result/ExecRuleResult.vue
--- client/views/pages/result/ExecRuleResult.vue
+++ client/views/pages/result/ExecRuleResult.vue
@@ -6,10 +6,7 @@
     <div class="content">
       <div class="row">
         <div class="content-titleZone">
-          <p class="box-title">
-            > 검색 조건 ||MEMO_임재현 임시로 검색 버튼에다가 모달창
-            만들었습니다. tableSelect()||
-          </p>
+          <p class="box-title">> 검색 조건</p>
         </div>
         <div class="table-zone">
           <table class="list-table">
@@ -26,15 +23,15 @@
               <tr>
                 <th>진단대상DBMS명</th>
                 <td style="display: flex">
-                  <select v-model="searchData.dbms_name">
-                    <option value="all">DBMS명</option>
+                  <select v-model="previousData.dbms_name">
+                    <option value="none" disabled selected>--DBMS명--</option>
                     <option v-for="item in dbmsOption" :key="item">
                       {{ item }}
                     </option>
                   </select>
 
-                  <select v-model="searchData.schema_name">
-                    <option value="all">스키마명</option>
+                  <select v-model="previousData.schema_name">
+                    <option value="none" disabled selected>--스키마명--</option>
                     <option v-for="item in schemaOption" :key="item">
                       {{ item }}
                     </option>
@@ -42,26 +39,52 @@
                 </td>
                 <th>검증분류</th>
                 <td>
-                  <select v-model="IdontKnow">
-                    <option value="all">전체</option>
+                  <select v-model="previousData.rule_type">
+                    <option value="none">전체</option>
+                    <option value="domain_val">검증룰</option>
+                    <option value="domain_code">코드</option>
+                    <option value="ref_rule">참조무결성</option>
+                    <option value="code_rule">업무규칙</option>
+                    <option value="dupl_rule">중복분석</option>
                   </select>
                 </td>
                 <th>품질지표명</th>
-                <td><input type="text" v-model="searchData.dqi_nm" /></td>
+                <td>
+                  <select v-model="previousData.dqi_nm">
+                    <option value="">전체</option>
+                    <option value="시간순서 일관성">시간순서 일관성</option>
+                    <option value="선후관계 정확성">선후관계 정확성</option>
+                    <option value="논리관계 일관성">논리관계 일관성</option>
+                    <option value="계산식">계산식</option>
+                    <option value="참조관계">참조관계</option>
+                    <option value="글자깨짐">글자깨짐</option>
+                    <option value="공백">공백</option>
+                    <option value="필수값">필수값</option>
+                    <option value="중복데이터">중복데이터</option>
+                    <option value="날짜 도메인">날짜 도메인</option>
+                    <option value="번호 도메인">번호 도메인</option>
+                    <option value="여부 도메인">여부 도메인</option>
+                    <option value="코드 도메인">코드 도메인</option>
+                    <option value="금액 도메인">금액 도메인</option>
+                    <option value="수량 도메인">수량 도메인</option>
+                    <option value="율 도메인">율 도메인</option>
+                  </select>
+                </td>
                 <th :rowspan="2">
-                  <!-- 임시로 tableSelect로 해둠 selectExecResult 변경 필요-->
-                  <button class="blue-btn large-btn" @click="tableSelect()">
+                  <button class="blue-btn large-btn" @click="setPage()">
                     검색
                   </button>
                 </th>
               </tr>
               <tr>
                 <th>테이블명</th>
-                <td><input type="text" v-model="searchData.table_nm" /></td>
+                <td><input type="text" v-model="previousData.table_nm" /></td>
                 <th>컬럼명</th>
-                <td><input type="text" v-model="searchData.column_nm" /></td>
+                <td><input type="text" v-model="previousData.column_nm" /></td>
                 <th>컬럼한글명</th>
-                <td><input type="text" v-model="searchData.column_nm_k" /></td>
+                <td>
+                  <input type="text" v-model="previousData.column_nm_k" />
+                </td>
               </tr>
             </thead>
           </table>
@@ -229,13 +252,32 @@
       //검색 조건 데이터
       searchData: {
         user_id: $cookies.get("USER_ID"),
-        dbms_name: "all",
+        dbms_name: "none",
         dbms_id: "",
-        schema_name: "all",
+        schema_name: "none",
         schema_id: "",
-        val_rule_detail: "all", //검증분류
-        dqi_nm: "", //품질지표명
+        rule_type: "none",
+        dqi_nm: "",
         table_nm: "",
+        table_nm_k: "",
+        table_id: "",
+        column_nm: "",
+        column_nm_k: "",
+        column_id: "",
+        currentPage: 1,
+        perPage: 10,
+      },
+
+      previousData: {
+        user_id: $cookies.get("USER_ID"),
+        dbms_name: "none",
+        dbms_id: "",
+        schema_name: "none",
+        schema_id: "",
+        rule_type: "none",
+        dqi_nm: "",
+        table_nm: "",
+        table_nm_k: "",
         table_id: "",
         column_nm: "",
         column_nm_k: "",
@@ -275,15 +317,10 @@
         });
     },
 
-    /**
-     * 내용 : DBMS option을 user_id와 매칭시켜 가져옴
-     * 작성자 : 임재현
-     * 시간 : 2024.01.30
-     */
     selectDbms: function () {
       const vm = this;
       if (vm.$checkLogin() == true) {
-          return;
+        return;
       }
       axios({
         url: "selectDbms.json",
@@ -291,7 +328,7 @@
         headers: {
           "Content-Type": "application/json; charset=UTF-8",
         },
-        data: vm.searchData,
+        data: vm.previousData,
       })
         .then(function (response) {
           vm.dbmsOption = response.data;
@@ -300,11 +337,7 @@
           vm.$showAlert("error", "selectDbms 오류");
         });
     },
-    /**
-     * 내용 : 선택한 DBMS_ID에 해당하는 스키마 SELECT함수 실행
-     * 작성자 : 임재현
-     * 시간 : 2024.01.30
-     */
+
     selectSchema: function () {
       const vm = this;
       axios({
@@ -313,13 +346,31 @@
         headers: {
           "Content-Type": "application/json; charset=UTF-8",
         },
-        data: vm.searchData,
+        data: vm.previousData,
       })
         .then(function (response) {
           vm.schemaOption = response.data;
         })
         .catch(function (error) {
           vm.$showAlert("error", "selectSchema 오류");
+        });
+    },
+    selectManageRule: function () {
+      const vm = this;
+      axios({
+        url: "selectManageRule.json",
+        method: "post",
+        headers: {
+          "Content-Type": "application/json; charset=UTF-8",
+        },
+        data: vm.searchData,
+      })
+        .then(function (response) {
+          vm.manageRuleList = response.data.manageList;
+          vm.rowTotalCount = response.data.count;
+        })
+        .catch(function (error) {
+          vm.$showAlert("error", "selectManageRule 오류");
         });
     },
 
@@ -336,14 +387,31 @@
     },
 
     //페이지네이션 클릭 이벤트
-    handlePageClick(){},
+    handlePageClick() {},
+
+    //검색버튼을 눌렀을 시
+    setPage: function () {
+      const vm = this;
+      vm.searchData = { ...vm.previousData };
+      vm.selectManageRule();
+    },
   },
 
   watch: {
     //dbmsOption이 선택되는지 감시
-    "searchData.dbms_name"() {
+    "previousData.dbms_name"() {
+      this.previousData.schema_name = "none";
       this.selectSchema();
     },
+    "searchResultData.schema_name"() {
+      this.tableColumnList = ""; //컬럼 초기화
+      this.tableColumnData.table_id = 0; //선택된 테이블 초기화
+      this.tableColumnData.currentPage = 1; //컬럼 목록 페이지네이션
+      this.selectedCol = 0; //선택된 컬럼 초기화
+      this.selectTableColumn();
+    },
+
+
     "searchData.currentPage"() {
       this.selectExecResult();
     },
@@ -361,8 +429,7 @@
 </script>
 
 <style scoped>
-.execRuleResultTable tr td select,
-input {
+.execRuleResultTable tr td select, input {
     width: 100%;
 }
 </style>
client/views/pages/schedule/ExecRuleManagement.vue
--- client/views/pages/schedule/ExecRuleManagement.vue
+++ client/views/pages/schedule/ExecRuleManagement.vue
@@ -221,7 +221,7 @@
         column_nm_k: "",
         column_id: "",
         currentPage: 1,
-        perPage: 5,
+        perPage: 10,
       },
 
       // 진단 실행할 리스트
@@ -362,11 +362,7 @@
 </script>
 
 <style scoped>
-.execRuleManageTable tr td select {
-  width: 100%;
-}
-
-.execRuleManageTable tr td input {
+.execRuleManageTable tr td select, input {
   width: 100%;
 }
 </style>
Add a comment
List