index.html 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. <!DOCTYPE html>
  2. <html lang="zh">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>行情校验工具</title>
  7. <!-- 引入外部 CSS 文件 -->
  8. <link rel="stylesheet" href="{{ url_for('static', filename='css/styles.css') }}">
  9. <!-- 引入 flatpickr 的 CSS 和 JavaScript 文件 -->
  10. <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css">
  11. <script src="https://cdn.jsdelivr.net/npm/flatpickr"></script>
  12. </head>
  13. <body>
  14. <div class="form-container">
  15. <h1>行情校验工具</h1>
  16. <form method="POST">
  17. <!-- 第一行:三个查询条件 -->
  18. <div class="form-row">
  19. <div class="form-group">
  20. <label for="host">主机:</label>
  21. <input type="text" id="host" name="host" value="{{ defaults['host'] }}" required>
  22. </div>
  23. <div class="form-group">
  24. <label for="port">端口:</label>
  25. <input type="text" id="port" name="port" value="{{ defaults['port'] }}" required>
  26. </div>
  27. <div class="form-group">
  28. <label for="username">用户名:</label>
  29. <input type="text" id="username" name="username" value="{{ defaults['username'] }}" required>
  30. </div>
  31. </div>
  32. <!-- 第二行:三个查询条件 -->
  33. <div class="form-row">
  34. <div class="form-group">
  35. <label for="password">密码:</label>
  36. <input type="text" id="password" name="password" value="{{ defaults['password'] }}" required>
  37. </div>
  38. <div class="form-group">
  39. <label for="db_name">数据库名:</label>
  40. <input type="text" id="db_name" name="db_name" value="{{ defaults['db_name'] }}" required>
  41. </div>
  42. <div class="form-group">
  43. <label for="col_name">集合名称:</label>
  44. <input type="text" id="col_name" name="col_name" value="{{ defaults['col_name'] }}" required>
  45. </div>
  46. </div>
  47. <!-- 第三行:三个查询条件 -->
  48. <div class="form-row">
  49. <div class="form-group">
  50. <label for="goods_code">商品代码:</label>
  51. <input type="text" id="goods_code" name="goods_code" value="{{ defaults['goods_code'] }}" required>
  52. </div>
  53. <div class="form-group">
  54. <label for="query_type">校验类型:</label>
  55. <select id="query_type" name="query_type" required>
  56. <option value="1" {% if defaults['query_type'] == '1' %}selected{% endif %}>按价格点差(买价)</option>
  57. <option value="2" {% if defaults['query_type'] == '2' %}selected{% endif %}>按行情时间(s)</option>
  58. </select>
  59. </div>
  60. <div class="form-group">
  61. <label for="diff_value">差值:</label>
  62. <input type="text" id="diff_value" name="diff_value" value="{{ defaults['diff_value'] }}" required>
  63. </div>
  64. </div>
  65. <!-- 第四行:三个查询条件 -->
  66. <div class="form-row">
  67. <div class="form-group">
  68. <label for="record_num">最新记录数:</label>
  69. <input type="text" id="record_num" name="record_num" value="{{ defaults['record_num'] }}" required>
  70. </div>
  71. <div class="form-group">
  72. <label for="start_time">开始时间:</label>
  73. <input type="text" id="start_time" name="start_time" value="{{ defaults['start_time'] }}" >
  74. </div>
  75. <div class="form-group">
  76. <label for="end_time">结束时间:</label>
  77. <input type="text" id="end_time" name="end_time" value="{{ defaults['end_time'] }}" >
  78. </div>
  79. </div>
  80. <div class="form-row">
  81. <div class="form-group">
  82. <label for="files_num">显示文件数:</label>
  83. <input type="text" id="files_num" name="files_num" value="{{ defaults['files_num'] }}" required>
  84. </div>
  85. <!-- 提交按钮 -->
  86. <div class="form-group">
  87. <button type="submit">查询</button>
  88. </div>
  89. <div class="form-group">
  90. </div>
  91. </div>
  92. </form>
  93. {% if file_list %}
  94. <div class="file-list">
  95. <h2>查询结果:</h2>
  96. <ul>
  97. {% for file in file_list %}
  98. <li>
  99. <a href="{{ url_for('open_file', filename=file['filename']) }}" target="_blank">{{ file['filename'] }} - {{ file['created_time'] }}</a>
  100. </li>
  101. {% endfor %}
  102. </ul>
  103. </div>
  104. {% endif %}
  105. </div>
  106. </body>
  107. </html>
  108. <script>
  109. document.addEventListener("DOMContentLoaded", function() {
  110. // 使用 flatpickr 初始化日期时间选择器,支持秒级别
  111. flatpickr("#start_time", {
  112. enableTime: true, // 启用时间选择
  113. enableSeconds: true, // 在时间选择器中是否可以选择秒
  114. noCalendar: false, // 显示日历
  115. dateFormat: "Y-m-d H:i:S", // 设置格式为 yyyy-mm-dd HH:MM:SS(包括秒)
  116. time_24hr: true, // 使用 24 小时制
  117. minuteIncrement: 1, // 分钟增量设置为 1
  118. secondIncrement: 1 // 秒增量设置为 1(确保秒数可编辑)
  119. });
  120. flatpickr("#end_time", {
  121. enableTime: true, // 启用时间选择
  122. enableSeconds: true, // 在时间选择器中是否可以选择秒
  123. noCalendar: false, // 显示日历
  124. dateFormat: "Y-m-d H:i:S", // 设置格式为 yyyy-mm-dd HH:MM:SS(包括秒)
  125. time_24hr: true, // 使用 24 小时制
  126. minuteIncrement: 1, // 分钟增量设置为 1
  127. secondIncrement: 1 // 秒增量设置为 1(确保秒数可编辑)
  128. });
  129. });
  130. </script>