myapp_evenfuture 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/Dockerfile +7 -0
  2. package/app.js +58 -0
  3. package/bin/www +91 -0
  4. package/package.json +20 -0
  5. package/public/css/layui.css +1 -0
  6. package/public/css/lizhi.webp +0 -0
  7. package/public/css/modules/code.css +1 -0
  8. package/public/css/modules/laydate/default/laydate.css +1 -0
  9. package/public/css/modules/layer/default/icon-ext.png +0 -0
  10. package/public/css/modules/layer/default/icon.png +0 -0
  11. package/public/css/modules/layer/default/layer.css +1 -0
  12. package/public/css/modules/layer/default/loading-0.gif +0 -0
  13. package/public/css/modules/layer/default/loading-1.gif +0 -0
  14. package/public/css/modules/layer/default/loading-2.gif +0 -0
  15. package/public/font/iconfont.eot +0 -0
  16. package/public/font/iconfont.svg +554 -0
  17. package/public/font/iconfont.ttf +0 -0
  18. package/public/font/iconfont.woff +0 -0
  19. package/public/font/iconfont.woff2 +0 -0
  20. package/public/layui.js +5 -0
  21. package/public/stylesheets/style.css +8 -0
  22. package/routes/api.js +505 -0
  23. package/routes/datatime.js +17 -0
  24. package/routes/db.js +158 -0
  25. package/routes/index.js +28 -0
  26. package/routes/nppBackup/sql.js.2024-07-08_082213.bak +25 -0
  27. package/routes/nppBackup/sql.js.2024-07-08_082214.bak +25 -0
  28. package/routes/sql.js +25 -0
  29. package/routes/switch.js +28 -0
  30. package/routes/switch1.js +12 -0
  31. package/views/addstu.ejs +276 -0
  32. package/views/error.ejs +4 -0
  33. package/views/hisinfo.ejs +301 -0
  34. package/views/hisinfo1.ejs +301 -0
  35. package/views/login.ejs +203 -0
  36. package/views/modroom.ejs +405 -0
  37. package/views/modstu.ejs +327 -0
  38. package/views/rtinfo.ejs +234 -0
  39. package/views/rtinfo1.ejs +234 -0
@@ -0,0 +1,301 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+
4
+ <head>
5
+ <meta charset="utf-8">
6
+ <title>签到管理系统</title>
7
+ <meta name="renderer" content="webkit">
8
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
9
+ <meta name="viewport" content="width=device-width, initial-scale=1">
10
+ <link href="/css/layui.css" rel="stylesheet">
11
+ </head>
12
+
13
+ <body>
14
+ <div class="layui-layout layui-layout-admin">
15
+ <div class="layui-header">
16
+ <div class="layui-logo layui-hide-xs " style="background-color: rgb(146, 151, 209); color: black" ;>签到管理系统
17
+ </div>
18
+
19
+ <ul class="layui-nav layui-layout-right" style="color:black">
20
+ <li class="layui-nav-item layui-hide layui-show-sm-inline-block">
21
+ <a href="javascript:;">
22
+ <img src="/css/lizhi.webp" class="layui-nav-img">
23
+ <!-- tester -->
24
+ </a>
25
+ <dl class="layui-nav-child">
26
+ <!-- <dd><a href="javascript:;">修改登录密码</a></dd>
27
+ <dd><a href="javascript:;">修改绑定手机</a></dd> -->
28
+ <!-- <dd><a href="javascript:;">登出</a></dd> -->
29
+ <dd><a href="/">退出登录</a></dd>
30
+ </dl>
31
+ </li>
32
+ <li class="layui-nav-item" lay-header-event="menuRight" lay-unselect>
33
+ <a href="javascript:;">
34
+ <i class="layui-icon layui-icon-more-vertical"></i>
35
+ </a>
36
+ </li>
37
+ </ul>
38
+ </div>
39
+
40
+ <div class="layui-side " style="background-color: rgb(146, 151, 209)">
41
+ <div class="layui-side-scroll">
42
+ <!-- 左侧导航区域(可配合layui已有的垂直导航) -->
43
+
44
+ <ul class="layui-nav layui-nav-tree" lay-filter="test" style="background-color:rgb(146, 151, 209) ">
45
+ <!-- Swipe -->
46
+ <li class="layui-nav-item"><a href="/switch" style="color:rgb(0, 0, 0)">实时签到信息</a></li>
47
+ <!-- 实时签到信息只统计当天的 -->
48
+ <li class="layui-nav-item layui-this "><a href="hisinfo" style="color:rgb(0, 0, 0)">历史签到信息</a></li>
49
+
50
+ <li class="layui-nav-item "><a href="modstu" style="color:rgb(0, 0, 0)">用户管理</a></li>
51
+ <li class="layui-nav-item "><a href="modroom" style="color: black;">房间管理</a></li>
52
+ </ul>
53
+ </div>
54
+ </div>
55
+
56
+
57
+
58
+ <div class="layui-body" style="height: 100%">
59
+ <div class="layui-form-item">
60
+ <div class="layui-inline">
61
+ <label class="layui-form-label" style="white-space: nowrap; margin-top: 25px;">日期时间范围</label>
62
+ <div class="layui-input-inline" style="width: 300px; margin-top: 25px;">
63
+ <input type="text" class="layui-input" id="timerange" placeholder=" - ">
64
+ </div>
65
+
66
+ </div>
67
+ <div class="layui-inline" style="margin-top: 25px;">
68
+ <label class="layui-form-label" style="white-space: nowrap;">房间号</label>
69
+ <div class="layui-input-inline" style="width: 70px;">
70
+ <input type="text" class="layui-input" id="roomnum">
71
+ </div>
72
+ <button id="searchRoom" class="layui-btn" type="button"
73
+ style="background-color:rgb(100, 109, 214); color:black;">查询</button>
74
+ </div>
75
+ <div class="layui-inline" style="margin-top: 25px;">
76
+ <label class="layui-form-label" style="white-space: nowrap;">学号</label>
77
+ <div class="layui-input-inline" style="width: 100px;">
78
+ <input type="text" class="layui-input" id="stuid" >
79
+ </div>
80
+ <button id="searchStu" class="layui-btn" type="button"
81
+ style="background-color:rgb(100, 109, 214); color:black;">查询</button>
82
+ </div>
83
+ <div class="layui-inline" style="float: right; margin-top: 25px;">
84
+ <button id="chartshow" class="layui-btn" type="button"
85
+ style="background-color:rgb(100, 109, 214); color:black;" lay-filter="chartshow">出勤统计
86
+ </button>
87
+ </div>
88
+ </div>
89
+
90
+ <table class="layui-table" id="record" lay-filter="demot1">
91
+ </table>
92
+ </div>
93
+
94
+ <div class="layui-footer">
95
+ 学习是一种信仰。
96
+ </div>
97
+ </div>
98
+
99
+ <div class="layui-row layui-col-md4" style="width:400px;height: auto; margin:auto;display:none;" id="chart">
100
+ <canvas id="myChart"></canvas>
101
+ <table lay-even lay-skin="nob" style="float: right">
102
+ <tbody>
103
+ <tr>
104
+ <td>正常:</td>
105
+ <td><label name="normalper" id="normalper" style="float: right"></label></td>
106
+ </tr>
107
+ <tr>
108
+ <td>迟到:</td>
109
+ <td><label name="lateper" id="lateper" style="float: right"></label></td>
110
+ </tr>
111
+ </tbody>
112
+ </table>
113
+ </div>
114
+
115
+ <script src="/layui.js"></script>
116
+ <script src="https://cdn.bootcss.com/blueimp-md5/2.10.0/js/md5.js"></script>
117
+ <script src="https://cdn.bootcss.com/Chart.js/2.7.3/Chart.js"></script>
118
+
119
+ <script>
120
+ //JS
121
+ layui.use(['element', 'layer', 'util', 'table', 'laydate'], function () {
122
+ var element = layui.element;
123
+ var layer = layui.layer;
124
+ var util = layui.util;
125
+ var table = layui.table;
126
+ var laydate = layui.laydate;
127
+ var $ = layui.$;
128
+ var returnMessage;
129
+ // var $ = layui.jquery;
130
+ var ctx = document.getElementById('myChart').getContext('2d');
131
+
132
+ $(function () {
133
+ $('#timerange').val(sessionStorage.getItem("timerange"));
134
+ });
135
+
136
+ laydate.render({
137
+ elem: '#timerange'
138
+ , type: 'datetime'
139
+ , range: true
140
+ , done: function (value, date, endDate) {
141
+ sessionStorage.setItem("timerange", value);
142
+ value = value.split(" - ");
143
+ $.ajax({
144
+ type: 'post',
145
+ url: '/api/timesearch',
146
+ data: {
147
+ bt: value[0],
148
+ et: value[1],
149
+ sign: 1
150
+ },
151
+ success: function (data) {
152
+ top.location.href = '';
153
+ top.location.reload();
154
+ }
155
+ });
156
+ }
157
+ });
158
+
159
+ $(document).on('click', '#searchStu', function () {
160
+ var stuid = $('#stuid').val();
161
+ var searchUrl = '/api/recordlist?stuid=' + stuid;
162
+
163
+ table.reload('abc', {
164
+ url: searchUrl
165
+ });
166
+ });
167
+
168
+ $(document).on('click', '#searchRoom', function () {
169
+ var roomnum = $('#roomnum').val();
170
+ var stuid = $('#stuid').val();
171
+ var searchUrl = '/api/recordlist?room=' + roomnum + '&stuid=' + stuid;
172
+
173
+ table.reload('abc', {
174
+ url: searchUrl
175
+ });
176
+ });
177
+
178
+ $(document).on('click', '#chartshow', function () {
179
+ var myChart = new Chart(ctx, {
180
+ type: 'pie',
181
+ data: {
182
+ labels: ['正常', '迟到'],
183
+ datasets: [{
184
+ label: '示例',
185
+ data: [sessionStorage.getItem("normal"), sessionStorage.getItem("late")],
186
+ backgroundColor: ['#6469D6', '#FA8258'],
187
+ borderWidth: 1
188
+ }]
189
+ }
190
+ })
191
+ $('#normalper').html(((parseInt(sessionStorage.getItem("normal")) / (parseInt(sessionStorage.getItem("normal")) + parseInt(sessionStorage.getItem("late")))) * 100).toFixed(2) + '%');
192
+ $('#lateper').html(((parseInt(sessionStorage.getItem("late")) / (parseInt(sessionStorage.getItem("normal")) + parseInt(sessionStorage.getItem("late")))) * 100).toFixed(2) + '%');
193
+ layer.open({
194
+ type: 1,
195
+ id: 5,
196
+ title: "出勤统计",
197
+ area: ['35%', '50%'],
198
+ content: $("#chart"),
199
+ });
200
+ });
201
+
202
+ //头部事件
203
+ util.event('lay-header-event', {
204
+ menuLeft: function (othis) { // 左侧菜单事件
205
+ layer.msg('展开左侧菜单的操作', { icon: 0 });
206
+ },
207
+ menuRight: function () { // 右侧菜单事件
208
+ layer.open({
209
+ type: 1,
210
+ title: '作者',
211
+ content: '<div style="padding: 15px;">信息工程学院<br/>祝乙文,姜莱</div>',
212
+ area: ['150px', '100%'],
213
+ offset: 'rt', // 右上角
214
+ anim: 'slideLeft', // 从右侧抽屉滑出
215
+ shadeClose: true,
216
+ scrollbar: false
217
+ });
218
+ }
219
+ });
220
+
221
+ table.render({
222
+ elem: '#record',
223
+ url: '/api/recordlist',
224
+ toolbar: true,
225
+ title: '签到记录',
226
+ totalRow: true,
227
+ page: true,
228
+ id: 'abc',
229
+ limit: 10,
230
+ limits: [5, 10, 20, 30],
231
+ initSort: {
232
+ field: 'time',
233
+ type: 'desc'
234
+ },
235
+ parseData: function (res) { //res 即为原始返回的数据
236
+ var current_pages;
237
+ if (this.page === true) current_pages = 1;
238
+ else current_pages = this.page.curr;
239
+ var data = res.data.slice(this.limit * (current_pages - 1), this.limit * current_pages);
240
+ return {
241
+ "code": res.code,
242
+ "msg": res.msg,
243
+ "count": res.data.length,
244
+ "data": data
245
+ }
246
+ },
247
+ sort: true,
248
+ cols: [
249
+ [{
250
+ field: 'stuid',
251
+ title: '学号',
252
+ width: 130,
253
+ sort: true
254
+ }, {
255
+ field: 'name',
256
+ title: '姓名',
257
+ width: 130
258
+ }, {
259
+ field: 'type',
260
+ title: '类型',
261
+ width: 130,
262
+ sort: true
263
+ }, {
264
+ field: 'room',
265
+ title: '教室',
266
+ width: 130
267
+ }, {
268
+ field: 'time',
269
+ title: '签到时间',
270
+ sort: true
271
+ }, {
272
+ field: 'qd',
273
+ title: '签到情况',
274
+ sort: true
275
+ }]
276
+ ],
277
+ done: function (res, curr, count) {
278
+ $.ajax({
279
+ type: 'get',
280
+ url: '/api/chartcheck',
281
+ success: function (data) {
282
+ sessionStorage.setItem("late", data.la);
283
+ sessionStorage.setItem("normal", data.no);
284
+ }
285
+ });
286
+ $.each(res.data, function (index, item) {
287
+ if (item.qd == '迟到') {
288
+ $("#record").next().find('tbody tr[data-index="' + index +
289
+ '"]').css("background-color", "#FFA07A");
290
+ }
291
+ });
292
+ }
293
+ });
294
+
295
+
296
+ });
297
+ </script>
298
+
299
+ </body>
300
+
301
+ </html>
@@ -0,0 +1,301 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+
4
+ <head>
5
+ <meta charset="utf-8">
6
+ <title>签到管理系统</title>
7
+ <meta name="renderer" content="webkit">
8
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
9
+ <meta name="viewport" content="width=device-width, initial-scale=1">
10
+ <link href="/css/layui.css" rel="stylesheet">
11
+ </head>
12
+
13
+ <body>
14
+ <div class="layui-layout layui-layout-admin">
15
+ <div class="layui-header">
16
+ <div class="layui-logo layui-hide-xs " style="background-color: rgb(146, 151, 209); color: black" ;>签到管理系统
17
+ </div>
18
+
19
+ <ul class="layui-nav layui-layout-right" style="color:black">
20
+ <li class="layui-nav-item layui-hide layui-show-sm-inline-block">
21
+ <a href="javascript:;">
22
+ <img src="/css/lizhi.webp" class="layui-nav-img">
23
+ <!-- tester -->
24
+ </a>
25
+ <dl class="layui-nav-child">
26
+ <!-- <dd><a href="javascript:;">修改登录密码</a></dd>
27
+ <dd><a href="javascript:;">修改绑定手机</a></dd> -->
28
+ <!-- <dd><a href="javascript:;">登出</a></dd> -->
29
+ <dd><a href="/">退出登录</a></dd>
30
+ </dl>
31
+ </li>
32
+ <li class="layui-nav-item" lay-header-event="menuRight" lay-unselect>
33
+ <a href="javascript:;">
34
+ <i class="layui-icon layui-icon-more-vertical"></i>
35
+ </a>
36
+ </li>
37
+ </ul>
38
+ </div>
39
+
40
+ <div class="layui-side " style="background-color: rgb(146, 151, 209)">
41
+ <div class="layui-side-scroll">
42
+ <!-- 左侧导航区域(可配合layui已有的垂直导航) -->
43
+
44
+ <ul class="layui-nav layui-nav-tree" lay-filter="test" style="background-color:rgb(146, 151, 209) ">
45
+ <!-- Swipe -->
46
+ <li class="layui-nav-item"><a href="/switch1" style="color:rgb(0, 0, 0)">实时签到信息</a></li>
47
+ <!-- 实时签到信息只统计当天的 -->
48
+ <li class="layui-nav-item layui-this "><a href="hisinfo1" style="color:rgb(0, 0, 0)">历史签到信息</a></li>
49
+
50
+ <!-- <li class="layui-nav-item "><a href="modstu" style="color:rgb(0, 0, 0)">用户管理</a></li>
51
+ <li class="layui-nav-item "><a href="modroom" style="color: black;">房间管理</a></li> -->
52
+ </ul>
53
+ </div>
54
+ </div>
55
+
56
+
57
+
58
+ <div class="layui-body" style="height: 100%">
59
+ <div class="layui-form-item">
60
+ <div class="layui-inline">
61
+ <label class="layui-form-label" style="white-space: nowrap; margin-top: 25px;">日期时间范围</label>
62
+ <div class="layui-input-inline" style="width: 300px; margin-top: 25px;">
63
+ <input type="text" class="layui-input" id="timerange" placeholder=" - ">
64
+ </div>
65
+
66
+ </div>
67
+ <div class="layui-inline" style="margin-top: 25px;">
68
+ <label class="layui-form-label" style="white-space: nowrap;">房间号</label>
69
+ <div class="layui-input-inline" style="width: 70px;">
70
+ <input type="text" class="layui-input" id="roomnum">
71
+ </div>
72
+ <button id="searchRoom" class="layui-btn" type="button"
73
+ style="background-color:rgb(100, 109, 214); color:black;">查询</button>
74
+ </div>
75
+ <div class="layui-inline" style="margin-top: 25px;">
76
+ <label class="layui-form-label" style="white-space: nowrap;">学号</label>
77
+ <div class="layui-input-inline" style="width: 100px;">
78
+ <input type="text" class="layui-input" id="stuid" >
79
+ </div>
80
+ <button id="searchStu" class="layui-btn" type="button"
81
+ style="background-color:rgb(100, 109, 214); color:black;">查询</button>
82
+ </div>
83
+ <div class="layui-inline" style="float: right; margin-top: 25px;">
84
+ <button id="chartshow" class="layui-btn" type="button"
85
+ style="background-color:rgb(100, 109, 214); color:black;" lay-filter="chartshow">出勤统计
86
+ </button>
87
+ </div>
88
+ </div>
89
+
90
+ <table class="layui-table" id="record" lay-filter="demot1">
91
+ </table>
92
+ </div>
93
+
94
+ <div class="layui-footer">
95
+ 学习是一种信仰。
96
+ </div>
97
+ </div>
98
+
99
+ <div class="layui-row layui-col-md4" style="width:400px;height: auto; margin:auto;display:none;" id="chart">
100
+ <canvas id="myChart"></canvas>
101
+ <table lay-even lay-skin="nob" style="float: right">
102
+ <tbody>
103
+ <tr>
104
+ <td>正常:</td>
105
+ <td><label name="normalper" id="normalper" style="float: right"></label></td>
106
+ </tr>
107
+ <tr>
108
+ <td>迟到:</td>
109
+ <td><label name="lateper" id="lateper" style="float: right"></label></td>
110
+ </tr>
111
+ </tbody>
112
+ </table>
113
+ </div>
114
+
115
+ <script src="/layui.js"></script>
116
+ <script src="https://cdn.bootcss.com/blueimp-md5/2.10.0/js/md5.js"></script>
117
+ <script src="https://cdn.bootcss.com/Chart.js/2.7.3/Chart.js"></script>
118
+
119
+ <script>
120
+ //JS
121
+ layui.use(['element', 'layer', 'util', 'table', 'laydate'], function () {
122
+ var element = layui.element;
123
+ var layer = layui.layer;
124
+ var util = layui.util;
125
+ var table = layui.table;
126
+ var laydate = layui.laydate;
127
+ var $ = layui.$;
128
+ var returnMessage;
129
+ // var $ = layui.jquery;
130
+ var ctx = document.getElementById('myChart').getContext('2d');
131
+
132
+ $(function () {
133
+ $('#timerange').val(sessionStorage.getItem("timerange"));
134
+ });
135
+
136
+ laydate.render({
137
+ elem: '#timerange'
138
+ , type: 'datetime'
139
+ , range: true
140
+ , done: function (value, date, endDate) {
141
+ sessionStorage.setItem("timerange", value);
142
+ value = value.split(" - ");
143
+ $.ajax({
144
+ type: 'post',
145
+ url: '/api/timesearch',
146
+ data: {
147
+ bt: value[0],
148
+ et: value[1],
149
+ sign: 1
150
+ },
151
+ success: function (data) {
152
+ top.location.href = '';
153
+ top.location.reload();
154
+ }
155
+ });
156
+ }
157
+ });
158
+
159
+ $(document).on('click', '#searchStu', function () {
160
+ var stuid = $('#stuid').val();
161
+ var searchUrl = '/api/recordlist?stuid=' + stuid;
162
+
163
+ table.reload('abc', {
164
+ url: searchUrl
165
+ });
166
+ });
167
+
168
+ $(document).on('click', '#searchRoom', function () {
169
+ var roomnum = $('#roomnum').val();
170
+ var stuid = $('#stuid').val();
171
+ var searchUrl = '/api/recordlist?room=' + roomnum + '&stuid=' + stuid;
172
+
173
+ table.reload('abc', {
174
+ url: searchUrl
175
+ });
176
+ });
177
+
178
+ $(document).on('click', '#chartshow', function () {
179
+ var myChart = new Chart(ctx, {
180
+ type: 'pie',
181
+ data: {
182
+ labels: ['正常', '迟到'],
183
+ datasets: [{
184
+ label: '示例',
185
+ data: [sessionStorage.getItem("normal"), sessionStorage.getItem("late")],
186
+ backgroundColor: ['#6469D6', '#FA8258'],
187
+ borderWidth: 1
188
+ }]
189
+ }
190
+ })
191
+ $('#normalper').html(((parseInt(sessionStorage.getItem("normal")) / (parseInt(sessionStorage.getItem("normal")) + parseInt(sessionStorage.getItem("late")))) * 100).toFixed(2) + '%');
192
+ $('#lateper').html(((parseInt(sessionStorage.getItem("late")) / (parseInt(sessionStorage.getItem("normal")) + parseInt(sessionStorage.getItem("late")))) * 100).toFixed(2) + '%');
193
+ layer.open({
194
+ type: 1,
195
+ id: 5,
196
+ title: "出勤统计",
197
+ area: ['35%', '50%'],
198
+ content: $("#chart"),
199
+ });
200
+ });
201
+
202
+ //头部事件
203
+ util.event('lay-header-event', {
204
+ menuLeft: function (othis) { // 左侧菜单事件
205
+ layer.msg('展开左侧菜单的操作', { icon: 0 });
206
+ },
207
+ menuRight: function () { // 右侧菜单事件
208
+ layer.open({
209
+ type: 1,
210
+ title: '作者',
211
+ content: '<div style="padding: 15px;">信息工程学院<br/>祝乙文,姜莱</div>',
212
+ area: ['150px', '100%'],
213
+ offset: 'rt', // 右上角
214
+ anim: 'slideLeft', // 从右侧抽屉滑出
215
+ shadeClose: true,
216
+ scrollbar: false
217
+ });
218
+ }
219
+ });
220
+
221
+ table.render({
222
+ elem: '#record',
223
+ url: '/api/recordlist',
224
+ toolbar: true,
225
+ title: '签到记录',
226
+ totalRow: true,
227
+ page: true,
228
+ id: 'abc',
229
+ limit: 10,
230
+ limits: [5, 10, 20, 30],
231
+ initSort: {
232
+ field: 'time',
233
+ type: 'desc'
234
+ },
235
+ parseData: function (res) { //res 即为原始返回的数据
236
+ var current_pages;
237
+ if (this.page === true) current_pages = 1;
238
+ else current_pages = this.page.curr;
239
+ var data = res.data.slice(this.limit * (current_pages - 1), this.limit * current_pages);
240
+ return {
241
+ "code": res.code,
242
+ "msg": res.msg,
243
+ "count": res.data.length,
244
+ "data": data
245
+ }
246
+ },
247
+ sort: true,
248
+ cols: [
249
+ [{
250
+ field: 'stuid',
251
+ title: '学号',
252
+ width: 130,
253
+ sort: true
254
+ }, {
255
+ field: 'name',
256
+ title: '姓名',
257
+ width: 130
258
+ }, {
259
+ field: 'type',
260
+ title: '类型',
261
+ width: 130,
262
+ sort: true
263
+ }, {
264
+ field: 'room',
265
+ title: '教室',
266
+ width: 130
267
+ }, {
268
+ field: 'time',
269
+ title: '签到时间',
270
+ sort: true
271
+ }, {
272
+ field: 'qd',
273
+ title: '签到情况',
274
+ sort: true
275
+ }]
276
+ ],
277
+ done: function (res, curr, count) {
278
+ $.ajax({
279
+ type: 'get',
280
+ url: '/api/chartcheck',
281
+ success: function (data) {
282
+ sessionStorage.setItem("late", data.la);
283
+ sessionStorage.setItem("normal", data.no);
284
+ }
285
+ });
286
+ $.each(res.data, function (index, item) {
287
+ if (item.qd == '迟到') {
288
+ $("#record").next().find('tbody tr[data-index="' + index +
289
+ '"]').css("background-color", "#FFA07A");
290
+ }
291
+ });
292
+ }
293
+ });
294
+
295
+
296
+ });
297
+ </script>
298
+
299
+ </body>
300
+
301
+ </html>