
240202 임재현 진단결과 페이지 mounted 부분 주석처리, 스케줄실행결과 vm수정
@7745da280519189ca5cd16a8c10b856f208fba02
--- client/views/pages/result/ExecRuleResult.vue
+++ client/views/pages/result/ExecRuleResult.vue
... | ... | @@ -360,7 +360,7 @@ |
360 | 360 |
mounted() { |
361 | 361 |
console.log("execRuleResult.vue mounted"); |
362 | 362 |
this.selectDbms(); |
363 |
- this.selectExecResult(); |
|
363 |
+ // this.selectExecResult(); |
|
364 | 364 |
}, |
365 | 365 |
}; |
366 | 366 |
</script> |
--- client/views/pages/result/TotalRuleResult.vue
+++ client/views/pages/result/TotalRuleResult.vue
... | ... | @@ -1,246 +1,263 @@ |
1 | 1 |
<template> |
2 |
- <div class="container"> |
|
3 |
- <div class="page-titleZone flex justify-between"> |
|
4 |
- <p class="main-title">진단 결과 > 품질진단종합현황</p> |
|
5 |
- </div> |
|
6 |
- <div class="content"> |
|
7 |
- <div class="row"> |
|
8 |
- <div class="content-titleZone"> |
|
9 |
- <p class="box-title">> 검색 조건</p> |
|
10 |
- </div> |
|
11 |
- <div class="table-zone"> |
|
12 |
- <table class="list-table"> |
|
13 |
- <colgroup> |
|
14 |
- <col style="width: 5%" /> |
|
15 |
- <col style="width: " /> |
|
16 |
- <col style="width: 5%" /> |
|
17 |
- <col style="width: " /> |
|
18 |
- <col style="width: 5%" /> |
|
19 |
- </colgroup> |
|
20 |
- <thead class="totalRuleResultTable"> |
|
21 |
- <tr> |
|
22 |
- <th>진단대상DBMS명</th> |
|
23 |
- <td style="display: flex; min-height: 64px; align-items: center"> |
|
24 |
- <select v-model="searchData.dbms_name"> |
|
25 |
- <option value="all">DBMS명</option> |
|
26 |
- <option v-for="item in dbmsOption" :key="item"> |
|
27 |
- {{ item }} |
|
28 |
- </option> |
|
29 |
- </select> |
|
30 |
- |
|
31 |
- <select v-model="searchData.schema_name"> |
|
32 |
- <option value="all">스키마명</option> |
|
33 |
- <option v-for="item in schemaOption" :key="item"> |
|
34 |
- {{ item }} |
|
35 |
- </option> |
|
36 |
- </select> |
|
37 |
- </td> |
|
38 |
- <th>테이블명</th> |
|
39 |
- <td> |
|
40 |
- <input type="text" v-model="searchData.table_nm" /> |
|
41 |
- </td> |
|
42 |
- <th>컬럼명</th> |
|
43 |
- <td><input type="text" v-model="searchData.column_nm" /></td> |
|
44 |
- <th> |
|
45 |
- <button class="blue-btn small-btn" @click="selectTotalResult()">검색</button> |
|
46 |
- </th> |
|
47 |
- </tr> |
|
48 |
- </thead> |
|
49 |
- </table> |
|
50 |
- </div> |
|
51 |
- </div> |
|
52 |
- |
|
53 |
- <div class="flex justify-between align-center" style="margin: 50px 5px 5px"> |
|
54 |
- <div class="count-zone"> |
|
55 |
- <p> |
|
56 |
- 선택한 DBMS명 : |
|
57 |
- <span>{{ totalResultList.dbms_name }}</span> 스키마명 : |
|
58 |
- <span>{{ totalResultList.schema_name }}</span> 테이블명 : |
|
59 |
- <span>{{ totalResultList.table_nm }}</span> 컬럼명 : |
|
60 |
- <span>{{ totalResultList.column_nm }}</span> |
|
61 |
- </p> |
|
62 |
- </div> |
|
63 |
- </div> |
|
64 |
- |
|
65 |
- <div class="table-zone"> |
|
66 |
- <table class="list-table"> |
|
67 |
- <colgroup> |
|
68 |
- <col style="width: 5%" /> |
|
69 |
- <col style="width: 20%" /> |
|
70 |
- <col style="width: 20%" /> |
|
71 |
- <col style="width: " /> |
|
72 |
- <col style="width: " /> |
|
73 |
- <col style="width: " /> |
|
74 |
- <col style="width: " /> |
|
75 |
- <col style="width: " /> |
|
76 |
- </colgroup> |
|
77 |
- <thead> |
|
78 |
- <tr> |
|
79 |
- <th>No.</th> |
|
80 |
- <th>상위품질지표명</th> |
|
81 |
- <th>품질지표명</th> |
|
82 |
- <th>테이블수</th> |
|
83 |
- <th>컬럼수</th> |
|
84 |
- <th>전체건수</th> |
|
85 |
- <th>오류건수</th> |
|
86 |
- <th>오류율(%)</th> |
|
87 |
- </tr> |
|
88 |
- </thead> |
|
89 |
- <tbody> |
|
90 |
- <!-- 상위품질지표명 rowspan --> |
|
91 |
- <tr class="text-ct" v-for="(item, index) in totalResultList" :key="item.dqi_nm_high"> |
|
92 |
- <td>{{ index + 1 }}</td> |
|
93 |
- <td |
|
94 |
- v-if="index === 0 || item.dqi_nm_high !== totalResultList[index - 1].dqi_nm_high" |
|
95 |
- :rowspan="getRowSpan(totalResultList, item)" |
|
96 |
- > |
|
97 |
- {{ item.dqi_nm_high }} |
|
98 |
- </td> |
|
99 |
- <td>{{ item.dqi_nm }}</td> |
|
100 |
- <td>{{ item.table_count }}</td> |
|
101 |
- <td>{{ item.column_count }}</td> |
|
102 |
- <td>{{ item.total_count }}</td> |
|
103 |
- <td>{{ item.error_count }}</td> |
|
104 |
- <td>{{ item.error_percent }}</td> |
|
105 |
- </tr> |
|
106 |
- </tbody> |
|
107 |
- </table> |
|
108 |
- </div> |
|
109 |
- </div> |
|
2 |
+ <div class="container"> |
|
3 |
+ <div class="page-titleZone flex justify-between"> |
|
4 |
+ <p class="main-title">진단 결과 > 품질진단종합현황</p> |
|
110 | 5 |
</div> |
6 |
+ <div class="content"> |
|
7 |
+ <div class="row"> |
|
8 |
+ <div class="content-titleZone"> |
|
9 |
+ <p class="box-title">> 검색 조건</p> |
|
10 |
+ </div> |
|
11 |
+ <div class="table-zone"> |
|
12 |
+ <table class="list-table"> |
|
13 |
+ <colgroup> |
|
14 |
+ <col style="width: 5%" /> |
|
15 |
+ <col style="width: " /> |
|
16 |
+ <col style="width: 5%" /> |
|
17 |
+ <col style="width: " /> |
|
18 |
+ <col style="width: 5%" /> |
|
19 |
+ </colgroup> |
|
20 |
+ <thead class="totalRuleResultTable"> |
|
21 |
+ <tr> |
|
22 |
+ <th>진단대상DBMS명</th> |
|
23 |
+ <td |
|
24 |
+ style="display: flex; min-height: 64px; align-items: center" |
|
25 |
+ > |
|
26 |
+ <select v-model="searchData.dbms_name"> |
|
27 |
+ <option value="all">DBMS명</option> |
|
28 |
+ <option v-for="item in dbmsOption" :key="item"> |
|
29 |
+ {{ item }} |
|
30 |
+ </option> |
|
31 |
+ </select> |
|
32 |
+ |
|
33 |
+ <select v-model="searchData.schema_name"> |
|
34 |
+ <option value="all">스키마명</option> |
|
35 |
+ <option v-for="item in schemaOption" :key="item"> |
|
36 |
+ {{ item }} |
|
37 |
+ </option> |
|
38 |
+ </select> |
|
39 |
+ </td> |
|
40 |
+ <th>테이블명</th> |
|
41 |
+ <td> |
|
42 |
+ <input type="text" v-model="searchData.table_nm" /> |
|
43 |
+ </td> |
|
44 |
+ <th>컬럼명</th> |
|
45 |
+ <td><input type="text" v-model="searchData.column_nm" /></td> |
|
46 |
+ <th> |
|
47 |
+ <button |
|
48 |
+ class="blue-btn small-btn" |
|
49 |
+ @click="selectTotalResult()" |
|
50 |
+ > |
|
51 |
+ 검색 |
|
52 |
+ </button> |
|
53 |
+ </th> |
|
54 |
+ </tr> |
|
55 |
+ </thead> |
|
56 |
+ </table> |
|
57 |
+ </div> |
|
58 |
+ </div> |
|
59 |
+ |
|
60 |
+ <div |
|
61 |
+ class="flex justify-between align-center" |
|
62 |
+ style="margin: 50px 5px 5px" |
|
63 |
+ > |
|
64 |
+ <div class="count-zone"> |
|
65 |
+ <p> |
|
66 |
+ 선택한 DBMS명 : |
|
67 |
+ <span>{{ totalResultList.dbms_name }}</span> 스키마명 : |
|
68 |
+ <span>{{ totalResultList.schema_name }}</span> 테이블명 : |
|
69 |
+ <span>{{ totalResultList.table_nm }}</span> 컬럼명 : |
|
70 |
+ <span>{{ totalResultList.column_nm }}</span> |
|
71 |
+ </p> |
|
72 |
+ </div> |
|
73 |
+ </div> |
|
74 |
+ |
|
75 |
+ <div class="table-zone"> |
|
76 |
+ <table class="list-table"> |
|
77 |
+ <colgroup> |
|
78 |
+ <col style="width: 5%" /> |
|
79 |
+ <col style="width: 20%" /> |
|
80 |
+ <col style="width: 20%" /> |
|
81 |
+ <col style="width: " /> |
|
82 |
+ <col style="width: " /> |
|
83 |
+ <col style="width: " /> |
|
84 |
+ <col style="width: " /> |
|
85 |
+ <col style="width: " /> |
|
86 |
+ </colgroup> |
|
87 |
+ <thead> |
|
88 |
+ <tr> |
|
89 |
+ <th>No.</th> |
|
90 |
+ <th>상위품질지표명</th> |
|
91 |
+ <th>품질지표명</th> |
|
92 |
+ <th>테이블수</th> |
|
93 |
+ <th>컬럼수</th> |
|
94 |
+ <th>전체건수</th> |
|
95 |
+ <th>오류건수</th> |
|
96 |
+ <th>오류율(%)</th> |
|
97 |
+ </tr> |
|
98 |
+ </thead> |
|
99 |
+ <tbody> |
|
100 |
+ <!-- 상위품질지표명 rowspan --> |
|
101 |
+ <tr |
|
102 |
+ class="text-ct" |
|
103 |
+ v-for="(item, index) in totalResultList" |
|
104 |
+ :key="item.dqi_nm_high" |
|
105 |
+ > |
|
106 |
+ <td>{{ index + 1 }}</td> |
|
107 |
+ <td |
|
108 |
+ v-if=" |
|
109 |
+ index === 0 || |
|
110 |
+ item.dqi_nm_high !== totalResultList[index - 1].dqi_nm_high |
|
111 |
+ " |
|
112 |
+ :rowspan="getRowSpan(totalResultList, item)" |
|
113 |
+ > |
|
114 |
+ {{ item.dqi_nm_high }} |
|
115 |
+ </td> |
|
116 |
+ <td>{{ item.dqi_nm }}</td> |
|
117 |
+ <td>{{ item.table_count }}</td> |
|
118 |
+ <td>{{ item.column_count }}</td> |
|
119 |
+ <td>{{ item.total_count }}</td> |
|
120 |
+ <td>{{ item.error_count }}</td> |
|
121 |
+ <td>{{ item.error_percent }}</td> |
|
122 |
+ </tr> |
|
123 |
+ </tbody> |
|
124 |
+ </table> |
|
125 |
+ </div> |
|
126 |
+ </div> |
|
127 |
+ </div> |
|
111 | 128 |
</template> |
112 | 129 |
|
113 | 130 |
<script> |
114 |
-import { mdiMagnify } from '@mdi/js'; |
|
115 |
-import axios from 'axios'; |
|
131 |
+import { mdiMagnify } from "@mdi/js"; |
|
132 |
+import axios from "axios"; |
|
116 | 133 |
export default { |
117 |
- data() { |
|
118 |
- return { |
|
119 |
- searchPath: mdiMagnify, |
|
120 |
- inputValue: null, |
|
134 |
+ data() { |
|
135 |
+ return { |
|
136 |
+ searchPath: mdiMagnify, |
|
137 |
+ inputValue: null, |
|
121 | 138 |
|
122 |
- //SELECT한 데이터 저장 리스트 |
|
123 |
- totalResultList: [], |
|
124 |
- //옵션리스트 |
|
125 |
- dbmsOption: [], |
|
126 |
- schemaOption: [], |
|
139 |
+ //SELECT한 데이터 저장 리스트 |
|
140 |
+ totalResultList: [], |
|
141 |
+ //옵션리스트 |
|
142 |
+ dbmsOption: [], |
|
143 |
+ schemaOption: [], |
|
127 | 144 |
|
128 |
- //검색 조건 데이터 |
|
129 |
- searchData: { |
|
130 |
- user_id: $cookies.get('USER_ID'), |
|
131 |
- dbms_name: 'all', |
|
132 |
- schema_name: 'all', |
|
133 |
- table_nm: '', |
|
134 |
- column_nm: '', |
|
135 |
- }, |
|
136 |
- }; |
|
137 |
- }, |
|
138 |
- methods: { |
|
139 |
- /** |
|
140 |
- * 내용 : 검색 조건 바탕으로 데이터 SELECT |
|
141 |
- * 작성자 : 임재현 |
|
142 |
- * 시간 : 2024.01.31 |
|
143 |
- */ |
|
144 |
- selectTotalResult: function () { |
|
145 |
- const vm = this; |
|
146 |
- if (vm.$checkLogin() == true) { |
|
147 |
- return; |
|
148 |
- } |
|
149 |
- axios({ |
|
150 |
- url: 'selectTotalResult.json', |
|
151 |
- method: 'post', |
|
152 |
- headers: { |
|
153 |
- 'Content-Type': 'application/json; charset=UTF-8', |
|
154 |
- }, |
|
155 |
- data: vm.searchData, |
|
156 |
- }) |
|
157 |
- .then(function (response) { |
|
158 |
- vm.totalResultList = response.data; |
|
159 |
- }) |
|
160 |
- .catch(function (error) { |
|
161 |
- console.log('selectTotalResult 오류 : ', error); |
|
162 |
- vm.$showAlert('error', 'selectTotalResult 오류'); |
|
163 |
- }); |
|
145 |
+ //검색 조건 데이터 |
|
146 |
+ searchData: { |
|
147 |
+ user_id: $cookies.get("USER_ID"), |
|
148 |
+ dbms_name: "all", |
|
149 |
+ schema_name: "all", |
|
150 |
+ table_nm: "", |
|
151 |
+ column_nm: "", |
|
152 |
+ }, |
|
153 |
+ }; |
|
154 |
+ }, |
|
155 |
+ methods: { |
|
156 |
+ /** |
|
157 |
+ * 내용 : 검색 조건 바탕으로 데이터 SELECT |
|
158 |
+ * 작성자 : 임재현 |
|
159 |
+ * 시간 : 2024.01.31 |
|
160 |
+ */ |
|
161 |
+ selectTotalResult: function () { |
|
162 |
+ const vm = this; |
|
163 |
+ if (vm.$checkLogin() == true) { |
|
164 |
+ return; |
|
165 |
+ } |
|
166 |
+ axios({ |
|
167 |
+ url: "selectTotalResult.json", |
|
168 |
+ method: "post", |
|
169 |
+ headers: { |
|
170 |
+ "Content-Type": "application/json; charset=UTF-8", |
|
164 | 171 |
}, |
165 |
- |
|
166 |
- /** |
|
167 |
- * 내용 : DBMS option을 user_id와 매칭시켜 가져옴 |
|
168 |
- * 작성자 : 임재현 |
|
169 |
- * 시간 : 2024.01.31 |
|
170 |
- */ |
|
171 |
- selectDbms: function () { |
|
172 |
- const vm = this; |
|
173 |
- if (vm.$checkLogin() == true) { |
|
174 |
- return; |
|
175 |
- } |
|
176 |
- axios({ |
|
177 |
- url: 'selectDbms.json', |
|
178 |
- method: 'post', |
|
179 |
- headers: { |
|
180 |
- 'Content-Type': 'application/json; charset=UTF-8', |
|
181 |
- }, |
|
182 |
- data: vm.searchData, |
|
183 |
- }) |
|
184 |
- .then(function (response) { |
|
185 |
- vm.dbmsOption = response.data; |
|
186 |
- console.log('selectDbms 실행'); |
|
187 |
- console.log('selectDbms : ', response.data); |
|
188 |
- }) |
|
189 |
- .catch(function (error) { |
|
190 |
- console.log('selectDbms 오류 : ', error); |
|
191 |
- vm.$showAlert('error', 'selectDbms 오류'); |
|
192 |
- }); |
|
193 |
- }, |
|
194 |
- /** |
|
195 |
- * 내용 : 선택한 DBMS_ID에 해당하는 스키마 SELECT함수 실행 |
|
196 |
- * 작성자 : 임재현 |
|
197 |
- * 시간 : 2024.01.31 |
|
198 |
- */ |
|
199 |
- selectSchema: function () { |
|
200 |
- const vm = this; |
|
201 |
- axios({ |
|
202 |
- url: 'selectSchema.json', |
|
203 |
- method: 'post', |
|
204 |
- headers: { |
|
205 |
- 'Content-Type': 'application/json; charset=UTF-8', |
|
206 |
- }, |
|
207 |
- data: vm.searchData, |
|
208 |
- }) |
|
209 |
- .then(function (response) { |
|
210 |
- vm.schemaOption = response.data; |
|
211 |
- console.log('selectSchema 실행'); |
|
212 |
- console.log('selectSchema : ', response.data); |
|
213 |
- }) |
|
214 |
- .catch(function (error) { |
|
215 |
- console.log('selectSchema 오류 : ', error); |
|
216 |
- vm.$showAlert('error', 'selectSchema 오류'); |
|
217 |
- }); |
|
218 |
- }, |
|
172 |
+ data: vm.searchData, |
|
173 |
+ }) |
|
174 |
+ .then(function (response) { |
|
175 |
+ vm.totalResultList = response.data; |
|
176 |
+ }) |
|
177 |
+ .catch(function (error) { |
|
178 |
+ console.log("selectTotalResult 오류 : ", error); |
|
179 |
+ vm.$showAlert("error", "selectTotalResult 오류"); |
|
180 |
+ }); |
|
219 | 181 |
}, |
220 | 182 |
|
221 |
- watch: { |
|
222 |
- //dbmsOption이 선택되는지 감시 |
|
223 |
- 'searchData.dbms_name'() { |
|
224 |
- this.selectSchema(); |
|
183 |
+ /** |
|
184 |
+ * 내용 : DBMS option을 user_id와 매칭시켜 가져옴 |
|
185 |
+ * 작성자 : 임재현 |
|
186 |
+ * 시간 : 2024.01.31 |
|
187 |
+ */ |
|
188 |
+ selectDbms: function () { |
|
189 |
+ const vm = this; |
|
190 |
+ if (vm.$checkLogin() == true) { |
|
191 |
+ return; |
|
192 |
+ } |
|
193 |
+ axios({ |
|
194 |
+ url: "selectDbms.json", |
|
195 |
+ method: "post", |
|
196 |
+ headers: { |
|
197 |
+ "Content-Type": "application/json; charset=UTF-8", |
|
225 | 198 |
}, |
199 |
+ data: vm.searchData, |
|
200 |
+ }) |
|
201 |
+ .then(function (response) { |
|
202 |
+ vm.dbmsOption = response.data; |
|
203 |
+ console.log("selectDbms 실행"); |
|
204 |
+ console.log("selectDbms : ", response.data); |
|
205 |
+ }) |
|
206 |
+ .catch(function (error) { |
|
207 |
+ console.log("selectDbms 오류 : ", error); |
|
208 |
+ vm.$showAlert("error", "selectDbms 오류"); |
|
209 |
+ }); |
|
226 | 210 |
}, |
227 |
- computed: {}, |
|
228 |
- components: {}, |
|
229 |
- mounted() { |
|
230 |
- console.log('execRuleResult.vue mounted'); |
|
231 |
- this.selectDbms(); |
|
232 |
- this.selectTotalResult(); |
|
211 |
+ /** |
|
212 |
+ * 내용 : 선택한 DBMS_ID에 해당하는 스키마 SELECT함수 실행 |
|
213 |
+ * 작성자 : 임재현 |
|
214 |
+ * 시간 : 2024.01.31 |
|
215 |
+ */ |
|
216 |
+ selectSchema: function () { |
|
217 |
+ const vm = this; |
|
218 |
+ axios({ |
|
219 |
+ url: "selectSchema.json", |
|
220 |
+ method: "post", |
|
221 |
+ headers: { |
|
222 |
+ "Content-Type": "application/json; charset=UTF-8", |
|
223 |
+ }, |
|
224 |
+ data: vm.searchData, |
|
225 |
+ }) |
|
226 |
+ .then(function (response) { |
|
227 |
+ vm.schemaOption = response.data; |
|
228 |
+ console.log("selectSchema 실행"); |
|
229 |
+ console.log("selectSchema : ", response.data); |
|
230 |
+ }) |
|
231 |
+ .catch(function (error) { |
|
232 |
+ console.log("selectSchema 오류 : ", error); |
|
233 |
+ vm.$showAlert("error", "selectSchema 오류"); |
|
234 |
+ }); |
|
233 | 235 |
}, |
236 |
+ }, |
|
237 |
+ |
|
238 |
+ watch: { |
|
239 |
+ //dbmsOption이 선택되는지 감시 |
|
240 |
+ "searchData.dbms_name"() { |
|
241 |
+ this.selectSchema(); |
|
242 |
+ }, |
|
243 |
+ }, |
|
244 |
+ computed: {}, |
|
245 |
+ components: {}, |
|
246 |
+ mounted() { |
|
247 |
+ console.log("execRuleResult.vue mounted"); |
|
248 |
+ this.selectDbms(); |
|
249 |
+ // this.selectTotalResult(); |
|
250 |
+ }, |
|
234 | 251 |
}; |
235 | 252 |
</script> |
236 | 253 |
|
237 | 254 |
<style scoped> |
238 | 255 |
.totalRuleResultTable tr td select, |
239 | 256 |
input { |
240 |
- width: 100%; |
|
257 |
+ width: 100%; |
|
241 | 258 |
} |
242 | 259 |
|
243 | 260 |
.totalRuleResultTable th td { |
244 |
- height: 40px; /* 테이블 셀의 높이 조절 */ |
|
261 |
+ height: 40px; /* 테이블 셀의 높이 조절 */ |
|
245 | 262 |
} |
246 | 263 |
</style> |
--- client/views/pages/schedule/ScheduleManagement.vue
+++ client/views/pages/schedule/ScheduleManagement.vue
... | ... | @@ -253,11 +253,11 @@ |
253 | 253 |
* 시간 : 2024.01.26 |
254 | 254 |
*/ |
255 | 255 |
selectScheduleManager: function () { |
256 |
+ const vm = this; |
|
256 | 257 |
if (vm.$checkLogin() == true) { |
257 | 258 |
return; |
258 | 259 |
} |
259 |
- console.log("searchData : ", this.searchData); |
|
260 |
- const vm = this; |
|
260 |
+ console.log("searchData : ", vm.searchData); |
|
261 | 261 |
axios({ |
262 | 262 |
url: "selectScheduleManager.json", |
263 | 263 |
method: "post", |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?