index.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300
  1. <!--
  2. * @Author: yancheng
  3. * @Date: 2023-09-18 09:40:05
  4. * @LastEditors: yancheng
  5. * @LastEditTime: 2023-10-24 14:56:51
  6. -->
  7. <!DOCTYPE html>
  8. <html>
  9. <head>
  10. <meta charset="utf-8">
  11. <title>
  12. 成绩查看
  13. </title>
  14. </head>
  15. <link href="css/index.css" rel="stylesheet" type="text/css" />
  16. <link rel="stylesheet" href="css/jquery-ui-1.9.2.custom.css" type="text/css">
  17. <script src="js/jq2.1.4.js"></script>
  18. <script src="js/xlsx.js"></script>
  19. <script src="js/export.js"></script>
  20. <script src="js/selected.js"></script>
  21. <script src="js/jquery-ui-1.9.2.custom.js" type="text/javascript" language="javascript"></script>
  22. <script src="js/share.js" type="text/javascript"></script>
  23. <body>
  24. <!-- <div id="dropArea">
  25. <p class="drop-text">拖拽文件到此区域进行上传</p>
  26. <input type="file" id="fileInput">
  27. </div> -->
  28. <div id="content">
  29. <h2>文件拖入此处解析</h2>
  30. <input type="file" id="fileUpload">
  31. <button id="printButton">打印成绩单</button>
  32. <button id="export">导出成绩</button>
  33. <label for="myFileInput">
  34. <input type="file" id="myFileInput" webkitdirectory directory multiple style="display: none;">
  35. <div class="folder">
  36. 选中文件夹
  37. </div>
  38. </label>
  39. <div class="error-text">遇到异常按键盘F5键 可以刷新重置</div>
  40. </div>
  41. <div class="where-div">
  42. <div class="where-search">
  43. 学号: <input id="id">
  44. <div>
  45. <input type="text" id="time" class="ui-datepicker-time" readonly value="" />
  46. <button class="ui-date-quick-button" style="width: 80px;" type="button" onclick="cleanDate()">清除时间</button>
  47. <div class="ui-datepicker-css">
  48. <div class="ui-datepicker-quick">
  49. <p>快捷日期<a class="ui-close-date">X</a></p>
  50. <div>
  51. <input class="ui-date-quick-button" type="button" value="今天" alt="0" name="" />
  52. <input class="ui-date-quick-button" type="button" value="昨天" alt="-1" name="" />
  53. <input class="ui-date-quick-button" type="button" value="7天内" alt="-6" name="" />
  54. <input class="ui-date-quick-button" type="button" value="14天内" alt="-13" name="" />
  55. <input class="ui-date-quick-button" type="button" value="30天内" alt="-29" name="" />
  56. <input class="ui-date-quick-button" type="button" value="60天内" alt="-59" name="" />
  57. </div>
  58. </div>
  59. <div class="ui-datepicker-choose">
  60. <p>自选日期</p>
  61. <div class="ui-datepicker-date">
  62. <input name="startDate" id="startDate" class="startDate" readonly value="2023/11/01"
  63. type="text">
  64. <input name="endDate" id="endDate" class="endDate" readonly value="2023/11/30" type="text"
  65. disabled onchange="datePickers()">
  66. </div>
  67. </div>
  68. </div>
  69. </div>
  70. <button class="folder" id="secelt-button">
  71. 过滤数据
  72. </button>
  73. </div>
  74. </div>
  75. <table class="score-list" id="list">
  76. <thead>
  77. <tr id="th">
  78. <th>学号</th>
  79. <th>查看病历本</th>
  80. <th>核对患者信息</th>
  81. <th>叩诊</th>
  82. <th>索要胸片</th>
  83. <th>辅助检查-X光片</th>
  84. <th>辅助检查-超声检查</th>
  85. <th>询问过敏史</th>
  86. <th>解释胸穿目的和注意事项</th>
  87. <th>签署知情同意书</th>
  88. <th>术前器械准备</th>
  89. <th>吸氧</th>
  90. <th>选择穿刺点</th>
  91. <th>消毒</th>
  92. <th>检查胸穿包有效期</th>
  93. <th>选择麻醉药物</th>
  94. <th>选择穿戴无菌手套</th>
  95. <th>洞巾</th>
  96. <th>进行麻醉</th>
  97. <th>检查器械</th>
  98. <th>穿刺点进针</th>
  99. <th>观察胸液是否凝固</th>
  100. <th>标本送检</th>
  101. <th>继续抽液缓解胸腔压迫</th>
  102. <th>废液处理</th>
  103. <th>操作完毕告知注意事项</th>
  104. <th>测血压</th>
  105. <th>总得分</th>
  106. <th>创建时间</th>
  107. </tr>
  108. </thead>
  109. <tbody id="dataContainer">
  110. <tr>
  111. <td>请上传文件</td>
  112. <td>请上传文件</td>
  113. <td>请上传文件</td>
  114. <td>请上传文件</td>
  115. <td>请上传文件</td>
  116. <td>请上传文件</td>
  117. <td>请上传文件</td>
  118. <td>请上传文件</td>
  119. <td>请上传文件</td>
  120. <td>请上传文件</td>
  121. <td>请上传文件</td>
  122. <td>请上传文件</td>
  123. <td>请上传文件</td>
  124. <td>请上传文件</td>
  125. <td>请上传文件</td>
  126. <td>请上传文件</td>
  127. <td>请上传文件</td>
  128. <td>请上传文件</td>
  129. <td>请上传文件</td>
  130. <td>请上传文件</td>
  131. <td>请上传文件</td>
  132. <td>请上传文件</td>
  133. <td>请上传文件</td>
  134. <td>请上传文件</td>
  135. <td>请上传文件</td>
  136. <td>请上传文件</td>
  137. <td>请上传文件</td>
  138. <td>请上传文件</td>
  139. <td>请上传文件</td>
  140. </tr>
  141. </tbody>
  142. </table>
  143. </body>
  144. </html>
  145. <script>
  146. document.getElementById('fileUpload').addEventListener('change', function (event) {
  147. var file = event.target.files[0];
  148. var reader = new FileReader();
  149. reader.onload = function (event) {
  150. var jsonData = JSON.parse(event.target.result);
  151. updateData(jsonData);
  152. };
  153. reader.readAsText(file);
  154. });
  155. let content = document.getElementById("content");
  156. content.addEventListener("dragover", handleDragOver, false);
  157. content.addEventListener("drop", handleFileSelect, false);
  158. const dropArea = document.getElementById('content');
  159. // 添加拖拽区域的事件监听器
  160. dropArea.addEventListener('dragover', handleDragOver);
  161. dropArea.addEventListener('dragleave', handleDragLeave);
  162. document.getElementById('printButton').addEventListener('click', function () {
  163. var yc = document.getElementById("content");
  164. yc.style.display = "none";
  165. window.print();
  166. yc.style.display = "block";
  167. // window.location.reload(); //刷新页面,可写可不写
  168. // document.body.innerHTML = older; //将网页还原
  169. return false;
  170. });
  171. //导出excel表格,js逻辑写在js/export.js 里面
  172. document.getElementById('export').addEventListener('click', function () {
  173. // console.log(achievement)
  174. var table1 = document.querySelector("#list");
  175. var sheet = XLSX.utils.table_to_sheet(table1);//将一个table对象转换成一个sheet对象
  176. openDownloadDialog(sheet2blob(sheet), '导出.xlsx');
  177. });
  178. var input = document.getElementById('myFileInput');
  179. input.addEventListener('change', function (event) {
  180. var dataLists = [];
  181. var input = document.getElementById('myFileInput');
  182. var files = input.files;
  183. for (var i = 0; i < files.length; i++) {
  184. // console.log('文件名:', files[i].name);
  185. // console.log('文件大小:', files[i].size);
  186. // console.log('文件类型:', files[i].type);
  187. if (files[i].type == 'application/json') {
  188. var reader1 = new FileReader();
  189. reader1.onload = function (e) {
  190. let jsonData = JSON.parse(e.target.result);
  191. jsonData.forEach(e => {
  192. dataLists.push(e);
  193. });
  194. };
  195. reader1.readAsText(files[i]);
  196. }
  197. }
  198. //延时加载数据出来 等待上传完毕
  199. setTimeout(() => {
  200. updateData(dataLists);
  201. }, 50);
  202. });
  203. //开始过滤对应数据,js逻辑写在js/export.js 里面
  204. document.getElementById('secelt-button').addEventListener('click', function () {
  205. handSelect();
  206. });
  207. const arr = [
  208. {
  209. "score": 10.0,
  210. "number": "abbbr",
  211. "time": "2023年11月20日21时54分41秒",
  212. "stamp": "1700732536",
  213. "isExam": false
  214. },
  215. {
  216. "score": 10.0,
  217. "number": "ahhj",
  218. "time": "2023年11月20日21时54分41秒",
  219. "stamp": "1700732536",
  220. "isExam": false
  221. },
  222. {
  223. "score": 10.0,
  224. "number": "cccj",
  225. "time": "2023年10月20日21时54分41秒",
  226. "stamp": "1698054136",
  227. "isExam": false
  228. },
  229. {
  230. "score": 10.0,
  231. "number": "aaacccja",
  232. "time": "2023年10月10日21时54分41秒",
  233. "stamp": "1698054136",
  234. "isExam": false
  235. }
  236. ];
  237. const conditions = ['a'];
  238. // const timeConditions = ['2023年11月', '2023年1月'];
  239. const dateStr = "2023-10-10 21:54:41";
  240. const dateObj = new Date(dateStr); // 创建一个 Date 对象
  241. const timestamp = dateObj.getTime() / 1000; // 转换为秒
  242. console.log(timestamp);
  243. const time1 = '1700732530';
  244. const time2 = '1800732536';
  245. // 转换为 Date 对象
  246. const filteredArr = arr.filter(item => {
  247. let hasNameCondition = conditions.some(condition => item.number.includes(condition));
  248. const time = item.stamp;
  249. let hasTimeCondition = time >= time1 && time <= time2;
  250. return hasNameCondition && hasTimeCondition;
  251. });
  252. console.log(filteredArr, new Date(2023 - 10 - 10))
  253. </script>
粤ICP备19079148号