Showing
2 changed files
with
45 additions
and
31 deletions
... | @@ -20,9 +20,7 @@ app.get('/graph', function(req, res){ | ... | @@ -20,9 +20,7 @@ app.get('/graph', function(req, res){ |
20 | var workDay = req.query.workDay | 20 | var workDay = req.query.workDay |
21 | var workTime = req.query.workTime | 21 | var workTime = req.query.workTime |
22 | var offWork = req.query.offWork | 22 | var offWork = req.query.offWork |
23 | - //console.log(payDay, salary,workDay,workTime, offWork); | ||
24 | res.sendFile(__dirname + '/public/graph.html'); | 23 | res.sendFile(__dirname + '/public/graph.html'); |
25 | - //res.send(`payDay : ${payDay}, salary : ${salary}, workDay : ${workDay}, workTime : ${workTime}, offWork : ${offWork}`); | ||
26 | }) | 24 | }) |
27 | 25 | ||
28 | app.listen(3000, function(){ | 26 | app.listen(3000, function(){ | ... | ... |
... | @@ -135,11 +135,14 @@ | ... | @@ -135,11 +135,14 @@ |
135 | //일정 시간동안 반복 호출 함수 | 135 | //일정 시간동안 반복 호출 함수 |
136 | setInterval("dpTime()",1); | 136 | setInterval("dpTime()",1); |
137 | function dpTime(){ | 137 | function dpTime(){ |
138 | + // 실시간 날짜 변수 정의 | ||
138 | var now = new Date(); | 139 | var now = new Date(); |
139 | day = now.getDay(); | 140 | day = now.getDay(); |
140 | hours = now.getHours(); | 141 | hours = now.getHours(); |
141 | minutes = now.getMinutes(); | 142 | minutes = now.getMinutes(); |
142 | seconds = now.getSeconds(); | 143 | seconds = now.getSeconds(); |
144 | + | ||
145 | + // 시간, 분, 초 2자리로 출력 | ||
143 | if (hours < 10){ | 146 | if (hours < 10){ |
144 | hours = "0" + hours; | 147 | hours = "0" + hours; |
145 | } if (minutes < 10){ | 148 | } if (minutes < 10){ |
... | @@ -147,60 +150,73 @@ | ... | @@ -147,60 +150,73 @@ |
147 | } if (seconds < 10){ | 150 | } if (seconds < 10){ |
148 | seconds = "0" + seconds; | 151 | seconds = "0" + seconds; |
149 | } | 152 | } |
153 | + | ||
154 | + //현재 시간 웹에 넣기 | ||
150 | document.getElementById("dpTime").innerHTML = "The current time is "+ hours + ":" + minutes + ":" + seconds; | 155 | document.getElementById("dpTime").innerHTML = "The current time is "+ hours + ":" + minutes + ":" + seconds; |
151 | 156 | ||
157 | + //출근날이라면 | ||
152 | if(isTodayWork(day, workingDay)){ | 158 | if(isTodayWork(day, workingDay)){ |
153 | - document.getElementById("payPerDay").innerHTML = "The daily wage is " + payPerDay + "won"; | ||
154 | 159 | ||
155 | - if (hours < workTime){ | 160 | + //일당 받아 웹에 넣기 |
156 | - var diff2 = (workStart.getTime() - now.getTime()); | 161 | + document.getElementById("payPerDay").innerHTML = "The daily wage is " + payPerDay + "won"; |
157 | - var hour2 = (diff2/(1000*60*60))%24 - ((diff2/(1000*60*60))%24)%1; | ||
158 | - var min2 = (diff2/(1000*60))%60 - ((diff2/(1000*60))%60)%1; | ||
159 | - var sec2 = (diff2/1000)%60; | ||
160 | 162 | ||
161 | - document.getElementById("moneyPerSec").innerHTML = "출근할 때까지 "+ String(hour2) + "시간" + String(min2) + "분" + String(sec2.toFixed(2)) + "초 남았당"; | 163 | + // 출근 시간 전이라면 출근 시간까지 얼마나 남았는지 계산하고 웹에 넣기 |
162 | - } | 164 | + if (hours < workTime){ |
163 | - else{ | 165 | + var diff2 = (workStart.getTime() - now.getTime()); |
164 | - moneyPerSec += payPerDay/(1000*60*60*(offWork - workTime)); | 166 | + var hour2 = (diff2/(1000*60*60))%24 - ((diff2/(1000*60*60))%24)%1; |
165 | - document.getElementById("moneyPerSec").innerHTML = + moneyPerSec.toFixed(3) + "won earging today !!"; | 167 | + var min2 = (diff2/(1000*60))%60 - ((diff2/(1000*60))%60)%1; |
166 | - } | 168 | + var sec2 = (diff2/1000)%60; |
169 | + document.getElementById("moneyPerSec").innerHTML = "출근할 때까지 "+ String(hour2) + "시간" + String(min2) + "분" + String(sec2.toFixed(2)) + "초 남았당"; | ||
170 | + } | ||
171 | + else{ | ||
172 | + //출근 했다면 실시간 버는 돈 계산하고 웹에 넣기 | ||
173 | + var diff3 = (now.getTime() - workStart.getTime()); | ||
174 | + moneyPerSec = diff3*(payPerDay/(1000*60*60*(offWork - workTime))); | ||
175 | + document.getElementById("moneyPerSec").innerHTML = + moneyPerSec.toFixed(3) + "won earging today !!"; | ||
176 | + } | ||
167 | } | 177 | } |
168 | 178 | ||
169 | -} | 179 | + } |
170 | 180 | ||
181 | + // 막대 그래프 | ||
171 | var body = document.querySelector('body'), | 182 | var body = document.querySelector('body'), |
172 | bar = document.querySelector('.progress-bar'), | 183 | bar = document.querySelector('.progress-bar'), |
173 | counter = document.querySelector('.count'), | 184 | counter = document.querySelector('.count'), |
174 | - i = 0, | 185 | + i = 0; |
175 | - throttle = 0.4; // 0-1 | ||
176 | (function draw() { | 186 | (function draw() { |
187 | + //요일 , 시간 변수 | ||
177 | var now = new Date(); | 188 | var now = new Date(); |
178 | - day = now.getDay(); | 189 | + var day2 = now.getDay(); |
190 | + var hours2 = now.getHours(); | ||
179 | 191 | ||
192 | + //일을 100% 끝내지 못했다면 | ||
180 | if(i <= 100) { | 193 | if(i <= 100) { |
181 | requestAnimationFrame(draw); | 194 | requestAnimationFrame(draw); |
182 | - if(isTodayWork(day, workingDay) != true){ | 195 | + // 오늘이 쉬는 날이라면 |
196 | + if(isTodayWork(day2, workingDay) != true){ | ||
183 | bar.style.width = 0 + '%'; | 197 | bar.style.width = 0 + '%'; |
184 | counter.innerHTML = '오늘 쉬는날'; | 198 | counter.innerHTML = '오늘 쉬는날'; |
185 | } | 199 | } |
186 | - else { | 200 | + // 출근날이라면 |
187 | - if(hours < workTime){ | 201 | + else { |
202 | + //아직 출근 전이라면 | ||
203 | + if(hours2 < workTime){ | ||
188 | bar.style.width = 0 + '%'; | 204 | bar.style.width = 0 + '%'; |
189 | counter.innerHTML = '출근 안했당'; | 205 | counter.innerHTML = '출근 안했당'; |
190 | - | 206 | + } |
191 | - } | 207 | + //출근 했다면 |
192 | - else{ | 208 | + else{ |
209 | + //실시간 버는 돈 백분율로 계산 | ||
193 | i = (moneyPerSec / payPerDay) * 100; | 210 | i = (moneyPerSec / payPerDay) * 100; |
211 | + bar.style.width = i.toFixed(4) + '%'; | ||
212 | + counter.innerHTML = i.toFixed(4) + '%'; | ||
213 | + } | ||
194 | 214 | ||
195 | - bar.style.width = i.toFixed(4) + '%'; | ||
196 | - counter.innerHTML = i.toFixed(4) + '%'; | ||
197 | } | 215 | } |
198 | - //if(r < throttle) { // Simulate d/l speed and uneven bitrate | ||
199 | - // i = i + r; | ||
200 | - //} | ||
201 | - } | ||
202 | 216 | ||
203 | - } else {; | 217 | + } |
218 | + //일을 100% 끝내다면 | ||
219 | + else {; | ||
204 | bar.className += " done"; | 220 | bar.className += " done"; |
205 | } | 221 | } |
206 | })(); | 222 | })(); | ... | ... |
-
Please register or login to post a comment