

231129 매칭통계 진행중
@b3d62d6e11fc90f94208d5ad7309db1ba245edd3
--- client/views/pages/admin/statistics/CorporatePRCenter.vue
+++ client/views/pages/admin/statistics/CorporatePRCenter.vue
... | ... | @@ -28,22 +28,20 @@ |
28 | 28 |
</div> |
29 | 29 |
<table class="statistics-table"> |
30 | 30 |
<colgroup> |
31 |
- <col style="width: 20%;"/> |
|
32 |
- <col style="width: 20%;"/> |
|
33 |
- <col style="width: 20%;"/> |
|
34 |
- <col style="width: 20%;"/> |
|
35 |
- <col style="width: 20%;"/> |
|
31 |
+ <col style="width: 25%;"/> |
|
32 |
+ <col style="width: 25%;"/> |
|
33 |
+ <col style="width: 25%;"/> |
|
34 |
+ <col style="width: 25%;"/> |
|
36 | 35 |
</colgroup> |
37 | 36 |
<thead> |
38 | 37 |
<tr> |
39 | 38 |
<th rowspan="2">기업명</th> |
40 |
- <th colspan="4">기업홍보관</th> |
|
39 |
+ <th colspan="3">기업홍보관</th> |
|
41 | 40 |
</tr> |
42 | 41 |
<tr> |
43 | 42 |
<th>전체</th> |
44 | 43 |
<th>기업회원</th> |
45 | 44 |
<th>일반회원</th> |
46 |
- <th>비회원</th> |
|
47 | 45 |
|
48 | 46 |
</tr> |
49 | 47 |
</thead> |
... | ... | @@ -53,7 +51,6 @@ |
53 | 51 |
<td>{{ item.total }}</td> |
54 | 52 |
<td>{{ item.company }}</td> |
55 | 53 |
<td>{{ item.common }}</td> |
56 |
- <td>{{ item.non }}</td> |
|
57 | 54 |
</tr> |
58 | 55 |
<tr v-if="companyListByDateCount == 0"> |
59 | 56 |
<td style="font-size: 20px;" colspan="4">검색조건에 해당하는 데이터가 없습니다.</td> |
... | ... | @@ -84,7 +81,6 @@ |
84 | 81 |
total: "전체회원", |
85 | 82 |
company: "기업회원", |
86 | 83 |
common: "일반회원", |
87 |
- non: "비회원", |
|
88 | 84 |
}, |
89 | 85 |
|
90 | 86 |
companyListSearch: { |
--- client/views/pages/admin/statistics/Data.vue
+++ client/views/pages/admin/statistics/Data.vue
... | ... | @@ -130,7 +130,7 @@ |
130 | 130 |
}, |
131 | 131 |
methods: { |
132 | 132 |
/** 권한 별 로그인 수 날짜 별 통계 */ |
133 |
- postLogList: function () { |
|
133 |
+ postLogList: function () { |
|
134 | 134 |
const vm = this; |
135 | 135 |
axios({ |
136 | 136 |
url: '/statistics/postLogListByDate.json', |
--- client/views/pages/admin/statistics/MatchingStatistics.vue
+++ client/views/pages/admin/statistics/MatchingStatistics.vue
... | ... | @@ -66,15 +66,22 @@ |
66 | 66 |
</thead> |
67 | 67 |
<tbody> |
68 | 68 |
<tr v-for="(item, index) in menuVisitData" :key="index"> |
69 |
- <td>{{ item.date }}</td> |
|
70 |
- <td>{{ item.total }}</td> |
|
71 |
- <td>{{ item.company }}</td> |
|
72 |
- <td>{{ item.common }}</td> |
|
69 |
+ <td>{{ item.company_nm }}</td> |
|
70 |
+ <td>{{ item.succesee_cnt }}</td> |
|
71 |
+ <td>{{ item.failed_cnt }}</td> |
|
72 |
+ <td>{{ item.progress_cnt }}</td> |
|
73 |
+ <td>{{ item.to_cnt }}</td> |
|
74 |
+ <td>{{ item.from_cnt }}</td> |
|
75 |
+ <td>{{ item.to_cnt + item.from_cnt }}</td> |
|
73 | 76 |
</tr> |
74 | 77 |
</tbody> |
75 | 78 |
</table> |
76 | 79 |
</div> |
77 | 80 |
</div> |
81 |
+ </div> |
|
82 |
+ <div class="bottom-wrap"> |
|
83 |
+ <PaginationButton v-model:currentPage="listSearch.currentPage" :perPage="listSearch.perPage" |
|
84 |
+ :total-count="companySelectListCount" :max-range="5" :click="companyPickStatistics" /> |
|
78 | 85 |
</div> |
79 | 86 |
<div v-show="currentTab == 1"> |
80 | 87 |
<div class="chart"> |
... | ... | @@ -134,7 +141,7 @@ |
134 | 141 |
</tr> |
135 | 142 |
</thead> |
136 | 143 |
<tbody> |
137 |
- <tr v-for="(item, index) in menuVisitData" :key="index"> |
|
144 |
+ <tr v-for="(item, index) in companyStatisticsList" :key="index"> |
|
138 | 145 |
<td>{{ item.date }}</td> |
139 | 146 |
<td>{{ item.total }}</td> |
140 | 147 |
<td>{{ item.company }}</td> |
... | ... | @@ -144,7 +151,6 @@ |
144 | 151 |
</table> |
145 | 152 |
</div> |
146 | 153 |
</div> |
147 |
- |
|
148 | 154 |
</div> |
149 | 155 |
</div> |
150 | 156 |
</div> |
... | ... | @@ -152,6 +158,8 @@ |
152 | 158 |
<script> |
153 | 159 |
import { useStore } from "vuex"; |
154 | 160 |
import axios from "axios"; |
161 |
+import COMMON_UTIL from '../../../../resources/js/commonUtil.js'; |
|
162 |
+import PaginationButton from '../../../component/pagination/PaginationButton.vue'; |
|
155 | 163 |
|
156 | 164 |
|
157 | 165 |
|
... | ... | @@ -163,6 +171,16 @@ |
163 | 171 |
tabMenu: ['매칭관리', '매칭관리 세부통계'], |
164 | 172 |
selectedOption1: "pick", |
165 | 173 |
selectedOption2: "pick", |
174 |
+ |
|
175 |
+ listSearch: { |
|
176 |
+ currentPage: 1, |
|
177 |
+ perPage: 10, |
|
178 |
+ startDate: '2023-11-24', |
|
179 |
+ endDate: COMMON_UTIL.yesterday(), |
|
180 |
+ }, |
|
181 |
+ |
|
182 |
+ companyStatisticsList: [], |
|
183 |
+ companySelectListCount: 0 |
|
166 | 184 |
}; |
167 | 185 |
}, |
168 | 186 |
methods: { |
... | ... | @@ -175,17 +193,41 @@ |
175 | 193 |
console.log("실행"); |
176 | 194 |
this.selectedOption2 = option; |
177 | 195 |
console.log(this.selectedOption2); |
178 |
- } |
|
196 |
+ }, |
|
197 |
+ |
|
198 |
+ /** 기업 별 픽 통계 */ |
|
199 |
+ companyPickStatistics: function () { |
|
200 |
+ const vm = this; |
|
201 |
+ axios({ |
|
202 |
+ url: '/statistics/companyPickStatistics.json', |
|
203 |
+ method: 'post', |
|
204 |
+ hearder: { |
|
205 |
+ 'Content-Type': "application/json; charset=UTF-8", |
|
206 |
+ }, |
|
207 |
+ data: vm.listSearch |
|
208 |
+ }).then(function (response) { |
|
209 |
+ vm.companyStatisticsList = response.data.companyPickStatistics; |
|
210 |
+ vm.companySelectListCount = response.data.companySelectListCount; |
|
211 |
+ }).catch(function (error) { |
|
212 |
+ console.log("error - ", error) |
|
213 |
+ alert("게시글 별 조회수 조회 오류, 관리자에게 문의하세요."); |
|
214 |
+ }) |
|
215 |
+ }, |
|
216 |
+ |
|
217 |
+ |
|
218 |
+ |
|
219 |
+ |
|
179 | 220 |
}, |
180 | 221 |
watch: { |
181 | 222 |
|
182 | 223 |
}, |
183 | 224 |
computed: {}, |
184 | 225 |
components: { |
185 |
- |
|
226 |
+ PaginationButton: PaginationButton, |
|
186 | 227 |
}, |
187 | 228 |
mounted() { |
188 | 229 |
console.log(this.selectedOption1) |
230 |
+ this.companyPickStatistics(); |
|
189 | 231 |
}, |
190 | 232 |
}; |
191 | 233 |
</script> |
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?