index_css.h 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634
  1. /* 自动生成的文本数据头文件 */
  2. /* 源文件: index.css */
  3. /* 文件大小: 10638 字节 */
  4. /* 生成时间: 2025-09-16 05:47:26 */
  5. /* 编码: utf-8 */
  6. #ifndef P_CSS_INDEX_H
  7. #define P_CSS_INDEX_H
  8. #include <stddef.h>
  9. // 文本数据(UTF-8编码)
  10. const char *p_css_index =
  11. "/* 或者针对特定按钮 */\n"
  12. ".swal2-confirm:hover {\n"
  13. " background-color: #d33 !important; /* 保持与正常状态相同 */\n"
  14. "}\n"
  15. ".swal2-cancel:hover {\n"
  16. " background-color: #3085d6 !important; /* 保持与正常状态相同 */\n"
  17. "}\n"
  18. "* {\n"
  19. " box-sizing: border-box;\n"
  20. "}\n"
  21. "body {\n"
  22. " font-family: Arial, sans-serif;\n"
  23. " margin: 0;\n"
  24. " padding: 20px;\n"
  25. " min-width: 1200px;\n"
  26. " overflow-x: auto;\n"
  27. "}\n"
  28. ".container {\n"
  29. " display: flex;\n"
  30. " flex-direction: column;\n"
  31. " height: 95vh;\n"
  32. " gap: 20px;\n"
  33. "}\n"
  34. ".summary-section {\n"
  35. " border: 1px solid #ddd;\n"
  36. " padding: 15px;\n"
  37. " border-radius: 5px;\n"
  38. " background-color: #f9f9f9;\n"
  39. "}\n"
  40. ".summary-table {\n"
  41. " width: 100%;\n"
  42. " border-collapse: collapse;\n"
  43. "}\n"
  44. ".summary-table th, .summary-table td {\n"
  45. " border: 1px solid #ddd;\n"
  46. " padding: 12px;\n"
  47. " text-align: center;\n"
  48. "}\n"
  49. ".summary-table th {\n"
  50. " background-color: #f2f2f2;\n"
  51. "}\n"
  52. ".summary-actions {\n"
  53. " display: flex;\n"
  54. " justify-content: space-between;\n"
  55. " gap: 10px;\n"
  56. " margin-top: 10px;\n"
  57. "}\n"
  58. ".device-section {\n"
  59. " flex: 1;\n"
  60. " height: 100px; /* 固定高度 */\n"
  61. " overflow: auto;\n"
  62. " border: 1px solid #ddd;\n"
  63. " border-radius: 5px;\n"
  64. "}\n"
  65. ".device-table {\n"
  66. " height: 50px; /* 容器高度 */\n"
  67. " overflow-y: auto; /* 垂直滚动条 */\n"
  68. " width: 100%;\n"
  69. " border-collapse: collapse;\n"
  70. "}\n"
  71. ".device-table th, .device-table td {\n"
  72. " border: 1px solid #ddd;\n"
  73. " padding: 8px;\n"
  74. " text-align: center;\n"
  75. " white-space: nowrap;\n"
  76. "}\n"
  77. ".device-table th {\n"
  78. " background-color: #f2f2f2;\n"
  79. " position: sticky;\n"
  80. " top: 0;\n"
  81. "}\n"
  82. ".status-section {\n"
  83. " border: 1px solid #ddd;\n"
  84. " padding: 15px;\n"
  85. " border-radius: 5px;\n"
  86. " background-color: #f9f9f9;\n"
  87. "}\n"
  88. ".status-boxes {\n"
  89. " display: flex;\n"
  90. " flex-wrap: wrap;\n"
  91. " gap: 15px;\n"
  92. "}\n"
  93. ".status-box {\n"
  94. " border: 1px solid #ddd;\n"
  95. " padding: 15px;\n"
  96. " min-width: 150px;\n"
  97. " text-align: center;\n"
  98. " background-color: white;\n"
  99. " border-radius: 5px;\n"
  100. " flex: 1;\n"
  101. "}\n"
  102. ".status-active {\n"
  103. " color: #4CAF50;\n"
  104. " font-weight: bold;\n"
  105. "}\n"
  106. ".status-inactive {\n"
  107. " color: #f44336;\n"
  108. " font-weight: bold;\n"
  109. "}\n"
  110. ".left-buttons {\n"
  111. " display: flex;\n"
  112. " gap: 10px;\n"
  113. "}\n"
  114. ".right-buttons {\n"
  115. " display: flex;\n"
  116. " gap: 10px;\n"
  117. "}\n"
  118. ".button-container {\n"
  119. " /*display: flex;*/\n"
  120. " /*justify-content: center;*/\n"
  121. " /*gap: 15px;*/\n"
  122. " /*margin-top: 20px;*/\n"
  123. " margin-bottom: 10px; display: flex;\n"
  124. " justify-content: space-between; /* 左右分开 */\n"
  125. " align-items: center;\n"
  126. " padding: 15px;\n"
  127. " background-color: #f5f5f5;\n"
  128. " border-radius: 8px;\n"
  129. "}\n"
  130. ".btn {\n"
  131. " padding: 8px 16px;\n"
  132. " background-color: #4CAF50;\n"
  133. " color: white;\n"
  134. " border: none;\n"
  135. " border-radius: 4px;\n"
  136. " cursor: pointer;\n"
  137. " font-weight: bold;\n"
  138. "}\n"
  139. ".btn-energy {\n"
  140. " background-color: #2196F3;\n"
  141. "}\n"
  142. ".btn-close{\n"
  143. " background-color: rgb(101, 107, 139);\n"
  144. "}\n"
  145. ".btn-threshold {\n"
  146. " background-color: #ff9800;\n"
  147. "}\n"
  148. ".btn-delay {\n"
  149. " background-color: #9c27b0;\n"
  150. "}\n"
  151. ".scrollable-table {\n"
  152. " flex: 1;\n"
  153. " overflow-y: auto;\n"
  154. "}\n"
  155. ".button-footer {\n"
  156. " display: flex;\n"
  157. " justify-content: center;\n"
  158. " gap: 15px;\n"
  159. " padding: 15px;\n"
  160. " background-color: #f9f9f9;\n"
  161. " border-top: 1px solid #ddd;\n"
  162. "}\n"
  163. ".table-container {\n"
  164. " display: flex;\n"
  165. " flex-direction: column;\n"
  166. " height: 80vh; /* 视口高度百分比 */\n"
  167. " max-height: 500px;\n"
  168. " border: 1px solid #ddd;\n"
  169. " border-radius: 5px;\n"
  170. " min-width: 1000px; /* 最小宽度防止压缩 */\n"
  171. "}\n"
  172. ".selectStyle{\n"
  173. " width: 200px;\n"
  174. " height: 40px;\n"
  175. " border-radius: 4px\n"
  176. "}\n"
  177. "/* 重置样式 */\n"
  178. "* {\n"
  179. " margin: 0;\n"
  180. " padding: 0;\n"
  181. " box-sizing: border-box;\n"
  182. "}\n"
  183. ".tab-container {\n"
  184. " width: 100%;\n"
  185. " height: 100%;\n"
  186. " margin: 0 auto;\n"
  187. " background: white;\n"
  188. " border-radius: 8px;\n"
  189. " box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n"
  190. " overflow: hidden;\n"
  191. "}\n"
  192. ".tab-header {\n"
  193. " display: flex;\n"
  194. " background-color: #f1f1f1;\n"
  195. " border-bottom: 1px solid #ddd;\n"
  196. "}\n"
  197. ".tab-btn {\n"
  198. " border-radius: 10px;\n"
  199. " padding: 12px 20px;\n"
  200. " background: none;\n"
  201. " border: none;\n"
  202. " cursor: pointer;\n"
  203. " font-size: 16px;\n"
  204. " transition: all 0.3s;\n"
  205. " position: relative;\n"
  206. "}\n"
  207. ".tab-btn:hover {\n"
  208. " background-color: #ddd;\n"
  209. "}\n"
  210. ".tab-btn.active {\n"
  211. " background-color: #4CAF50;\n"
  212. " color: white;\n"
  213. "}\n"
  214. ".tab-content {\n"
  215. " height: 100%;\n"
  216. " padding: 20px;\n"
  217. " display: none;\n"
  218. "}\n"
  219. ".tab-content.active {\n"
  220. " display: block;\n"
  221. " animation: fadeIn 0.5s;\n"
  222. "}\n"
  223. "@keyframes fadeIn {\n"
  224. " from { opacity: 0; }\n"
  225. " to { opacity: 1; }\n"
  226. "}\n"
  227. ".tab-iframe {\n"
  228. " width: 100%;\n"
  229. " height: 100%;\n"
  230. " border: none;\n"
  231. "}\n"
  232. "html, body {\n"
  233. " height: 100%;\n"
  234. " font-family: 'Arial', sans-serif;\n"
  235. "}\n"
  236. ".modal-content {\n"
  237. " background: white;\n"
  238. " padding: 20px;\n"
  239. " border-radius: 8px;\n"
  240. " max-width: 500px;\n"
  241. " width: 80%;\n"
  242. " max-height: 95vh;\n"
  243. " overflow-y: auto;\n"
  244. "}\n"
  245. ".form-group {\n"
  246. " margin-bottom: 15px;\n"
  247. "}\n"
  248. ".form-group label {\n"
  249. " display: block;\n"
  250. " margin-bottom: 5px;\n"
  251. " font-weight: bold;\n"
  252. "}\n"
  253. ".form-group input[type=\"text\"],\n"
  254. ".form-group input[type=\"date\"],\n"
  255. ".form-group select,\n"
  256. ".form-group textarea {\n"
  257. " width: 100%;\n"
  258. " padding: 8px;\n"
  259. " border: 1px solid #ddd;\n"
  260. " border-radius: 4px;\n"
  261. "}\n"
  262. ".form-actions {\n"
  263. " display: flex;\n"
  264. " justify-content: flex-end;\n"
  265. " gap: 10px;\n"
  266. " margin-top: 20px;\n"
  267. "}\n"
  268. ".btn-on {\n"
  269. " background-color: #4CAF50;\n"
  270. " color: white;\n"
  271. "}\n"
  272. ".btn-off {\n"
  273. " background-color: #f44336;\n"
  274. " color: white;\n"
  275. "}\n"
  276. ".btn-all {\n"
  277. " background-color: #2196F3;\n"
  278. " color: white;\n"
  279. "}\n"
  280. ".btn-energy {\n"
  281. " background-color: #2196F3;\n"
  282. "}\n"
  283. ".btn-close{\n"
  284. " background-color: rgb(101, 107, 139);\n"
  285. "}\n"
  286. ".btn-threshold {\n"
  287. " background-color: #ff9800;\n"
  288. "}\n"
  289. ".btn-delay {\n"
  290. " background-color: #9c27b0;\n"
  291. "}\n"
  292. ".modal-overlay2 {\n"
  293. " position: fixed;\n"
  294. " top: 0;\n"
  295. " left: 0;\n"
  296. " right: 0;\n"
  297. " bottom: 0;\n"
  298. " background: rgba(0,0,0,0.5);\n"
  299. " display: flex;\n"
  300. " justify-content: center;\n"
  301. " align-items: center;\n"
  302. " z-index: 1000;\n"
  303. "}\n"
  304. ".upload-container {\n"
  305. " padding: 25px;\n"
  306. "}\n"
  307. ".upload-area {\n"
  308. " border: 2px dashed #cbd5e1;\n"
  309. " padding: 40px;\n"
  310. " text-align: center;\n"
  311. " background: #f8fafc;\n"
  312. " cursor: pointer;\n"
  313. "}\n"
  314. ".file-input {\n"
  315. " display: none;\n"
  316. "}\n"
  317. ".files-list {\n"
  318. " margin-top: 30px;\n"
  319. "}\n"
  320. ".files-list h3 {\n"
  321. " color: #334155;\n"
  322. " margin-bottom: 15px;\n"
  323. " padding-bottom: 10px;\n"
  324. " border-bottom: 1px solid #e2e8f0;\n"
  325. "}\n"
  326. ".file-item {\n"
  327. " display: flex;\n"
  328. " align-items: center;\n"
  329. " padding: 15px;\n"
  330. " background: #f8fafc;\n"
  331. " border-radius: 8px;\n"
  332. " margin-bottom: 10px;\n"
  333. " transition: all 0.3s ease;\n"
  334. "}\n"
  335. ".file-info {\n"
  336. " flex-grow: 1;\n"
  337. "}\n"
  338. ".file-action-btn {\n"
  339. " width: 36px;\n"
  340. " height: 36px;\n"
  341. " border-radius: 50%;\n"
  342. " display: flex;\n"
  343. " cursor: pointer;\n"
  344. "}\n"
  345. ".progress-bar {\n"
  346. " height: 6px;\n"
  347. " background: #e2e8f0;\n"
  348. " border-radius: 3px;\n"
  349. " margin-top: 8px;\n"
  350. " overflow: hidden;\n"
  351. "}\n"
  352. ".modal-overlay {\n"
  353. " position: fixed;\n"
  354. " top: 0;\n"
  355. " left: 0;\n"
  356. " right: 0;\n"
  357. " bottom: 0;\n"
  358. " background: rgba(0,0,0,0.5);\n"
  359. " display: flex;\n"
  360. " justify-content: center;\n"
  361. " align-items: center;\n"
  362. " z-index: 999;\n"
  363. "}\n"
  364. ".radio-group,\n"
  365. ".checkbox-group {\n"
  366. " display: flex;\n"
  367. " flex-wrap: wrap;\n"
  368. " gap: 10px;\n"
  369. "}\n"
  370. ".radio-group label,\n"
  371. ".checkbox-group label {\n"
  372. " display: flex;\n"
  373. " align-items: center;\n"
  374. " gap: 5px;\n"
  375. " font-weight: normal;\n"
  376. "}\n"
  377. "button[type=\"submit\"] {\n"
  378. " background: #4CAF50;\n"
  379. " color: white;\n"
  380. "}\n"
  381. "button[type=\"submit\"]:disabled {\n"
  382. " background: #ccc;\n"
  383. "}\n"
  384. "select.custom-select {\n"
  385. " padding: 12px;\n"
  386. " border: 1px solid #ddd;\n"
  387. " border-radius: 6px;\n"
  388. " background-color: white;\n"
  389. " font-size: 16px;\n"
  390. " color: #333;\n"
  391. " appearance: none;\n"
  392. " -webkit-appearance: none;\n"
  393. " background-image: url('data:image/svg+xml;utf8,<svg fill=\"%23333\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 10l5 5 5-5z\"/></svg>');\n"
  394. " background-repeat: no-repeat;\n"
  395. " background-position: right 10px center;\n"
  396. " background-size: 16px;\n"
  397. "}\n"
  398. "/* 尝试设置option样式(效果有限) */\n"
  399. "select.custom-select option {\n"
  400. " height: 40px; /* 可能在某些浏览器中有效 */\n"
  401. " padding: 12px; /* 可能在某些浏览器中有效 */\n"
  402. " font-size: 16px; /* 通常有效 */\n"
  403. " line-height: 2; /* 可能有效 */\n"
  404. "}\n"
  405. "thead {\n"
  406. " position: sticky; /* 固定表头 */\n"
  407. " top: 0; /* 固定在容器顶部 */\n"
  408. " z-index: 10; /* 确保表头在内容之上 */\n"
  409. "}\n"
  410. ".divAll{\n"
  411. " width: 100%;\n"
  412. " height: 100%;\n"
  413. " margin: 0 auto;\n"
  414. " background: white;\n"
  415. " border-radius: 8px;\n"
  416. " box-shadow: 0 2px 10px rgb(0 0 0 / 10%);\n"
  417. " overflow: hidden;\n"
  418. "}\n"
  419. "/*-----------------*/\n"
  420. "header {\n"
  421. " text-align: center;\n"
  422. " margin-bottom: 30px;\n"
  423. " padding: 20px;\n"
  424. " background: white;\n"
  425. " border-radius: 10px;\n"
  426. " box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n"
  427. "}\n"
  428. "h1 {\n"
  429. " color: #2c3e50;\n"
  430. " margin-bottom: 10px;\n"
  431. "}\n"
  432. ".description {\n"
  433. " color: #7f8c8d;\n"
  434. " font-size: 1.1rem;\n"
  435. " max-width: 600px;\n"
  436. " margin: 0 auto;\n"
  437. "}\n"
  438. ".multi-select-container {\n"
  439. " background: white;\n"
  440. " border-radius: 10px;\n"
  441. " box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n"
  442. " padding: 20px;\n"
  443. " margin-bottom: 30px;\n"
  444. "}\n"
  445. ".select-header {\n"
  446. " display: flex;\n"
  447. " justify-content: space-between;\n"
  448. " align-items: center;\n"
  449. " margin-bottom: 15px;\n"
  450. " padding-bottom: 10px;\n"
  451. " border-bottom: 1px solid #eee;\n"
  452. "}\n"
  453. ".select-title {\n"
  454. " font-weight: 600;\n"
  455. " color: #2c3e50;\n"
  456. "}\n"
  457. ".select-all {\n"
  458. " background: none;\n"
  459. " border: none;\n"
  460. " color: #3498db;\n"
  461. " cursor: pointer;\n"
  462. " font-size: 0.9rem;\n"
  463. " font-weight: 500;\n"
  464. " padding: 5px 10px;\n"
  465. " border-radius: 4px;\n"
  466. "}\n"
  467. ".select-all:hover {\n"
  468. " background-color: #f1f8ff;\n"
  469. "}\n"
  470. "select[multiple] {\n"
  471. " width: 100%;\n"
  472. " padding: 10px;\n"
  473. " border: 1px solid #ddd;\n"
  474. " border-radius: 4px;\n"
  475. " background-color: #f8f9fa;\n"
  476. " height: 200px;\n"
  477. " margin-bottom: 15px;\n"
  478. "}\n"
  479. "select[multiple] option {\n"
  480. " padding: 8px;\n"
  481. " margin: 4px 0;\n"
  482. " border-radius: 4px;\n"
  483. "}\n"
  484. "select[multiple] option:hover {\n"
  485. " background-color: #e3f2fd;\n"
  486. "}\n"
  487. "select[multiple] option:checked {\n"
  488. " background-color: #3498db;\n"
  489. " color: white;\n"
  490. "}\n"
  491. ".selected-count {\n"
  492. " margin-top: 15px;\n"
  493. " font-size: 0.9rem;\n"
  494. " color: #7f8c8d;\n"
  495. "}\n"
  496. ".selected-items {\n"
  497. " /*margin-top: 20px;*/\n"
  498. " padding: 15px;\n"
  499. " background-color: #f8f9fa;\n"
  500. " border-radius: 6px;\n"
  501. " border-left: 4px solid #3498db;\n"
  502. "}\n"
  503. ".selected-items h3 {\n"
  504. " margin-bottom: 10px;\n"
  505. " color: #2c3e50;\n"
  506. " font-size: 1rem;\n"
  507. "}\n"
  508. ".selected-tags {\n"
  509. " display: flex;\n"
  510. " flex-wrap: wrap;\n"
  511. " gap: 8px;\n"
  512. "}\n"
  513. ".tag {\n"
  514. " background-color: #3498db;\n"
  515. " color: white;\n"
  516. " padding: 5px 10px;\n"
  517. " border-radius: 20px;\n"
  518. " font-size: 0.85rem;\n"
  519. " display: flex;\n"
  520. " align-items: center;\n"
  521. "}\n"
  522. ".tag button {\n"
  523. " background: none;\n"
  524. " border: none;\n"
  525. " color: white;\n"
  526. " margin-left: 5px;\n"
  527. " cursor: pointer;\n"
  528. " font-weight: bold;\n"
  529. "}\n"
  530. ".no-selection {\n"
  531. " color: #95a5a6;\n"
  532. " font-style: italic;\n"
  533. "}\n"
  534. ".code-example {\n"
  535. " background-color: #2d2d2d;\n"
  536. " color: #f8f8f2;\n"
  537. " padding: 15px;\n"
  538. " border-radius: 5px;\n"
  539. " margin-top: 20px;\n"
  540. " overflow-x: auto;\n"
  541. " font-family: 'Fira Code', monospace;\n"
  542. "}\n"
  543. "footer {\n"
  544. " text-align: center;\n"
  545. " margin-top: 40px;\n"
  546. " color: #7f8c8d;\n"
  547. " font-size: 0.9rem;\n"
  548. "}\n"
  549. ;
  550. // 文本数据大小(包括null终止符)
  551. const size_t p_css_index_size = 10639;
  552. // 文本长度(字符数)
  553. const size_t p_css_index_length = 10390;
  554. #endif /* P_CSS_INDEX_H */