diagnosis.wxss 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407
  1. .container {
  2. width: 100%;
  3. align-items: stretch;
  4. padding: 20rpx;
  5. box-sizing: border-box;
  6. }
  7. .ai-doctor-section {
  8. background: white;
  9. border-radius: 20rpx;
  10. padding: 40rpx 30rpx;
  11. display: flex;
  12. align-items: center;
  13. margin-bottom: 30rpx;
  14. box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05);
  15. }
  16. .doctor-avatar {
  17. margin-right: 25rpx;
  18. flex-shrink: 0;
  19. }
  20. .avatar {
  21. width: 100rpx;
  22. height: 100rpx;
  23. border-radius: 50%;
  24. }
  25. .doctor-info {
  26. flex: 1;
  27. display: flex;
  28. flex-direction: column;
  29. }
  30. .doctor-name {
  31. font-size: 32rpx;
  32. font-weight: bold;
  33. color: #333;
  34. margin-bottom: 10rpx;
  35. }
  36. .doctor-desc {
  37. font-size: 24rpx;
  38. color: #666;
  39. }
  40. .symptom-section {
  41. background: white;
  42. border-radius: 20rpx;
  43. padding: 30rpx;
  44. margin-bottom: 30rpx;
  45. box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05);
  46. }
  47. .section-title {
  48. font-size: 28rpx;
  49. font-weight: bold;
  50. color: #333;
  51. margin-bottom: 20rpx;
  52. padding-left: 10rpx;
  53. border-left: 6rpx solid #007AFF;
  54. }
  55. .input-area {
  56. position: relative;
  57. }
  58. .symptom-input {
  59. width: 100%;
  60. min-height: 200rpx;
  61. background: #f8f8f8;
  62. border-radius: 15rpx;
  63. padding: 20rpx;
  64. font-size: 28rpx;
  65. box-sizing: border-box;
  66. color: #333;
  67. }
  68. .input-tips {
  69. display: flex;
  70. justify-content: space-between;
  71. margin-top: 15rpx;
  72. }
  73. .char-count {
  74. font-size: 22rpx;
  75. color: #999;
  76. }
  77. .tip-text {
  78. font-size: 22rpx;
  79. color: #666;
  80. }
  81. .quick-symptoms {
  82. background: white;
  83. border-radius: 20rpx;
  84. padding: 30rpx;
  85. margin-bottom: 30rpx;
  86. box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05);
  87. }
  88. .symptom-tags {
  89. display: flex;
  90. flex-wrap: wrap;
  91. gap: 20rpx;
  92. }
  93. .symptom-tag {
  94. background: #f0f8ff;
  95. border: 1rpx solid #007AFF;
  96. color: #007AFF;
  97. padding: 15rpx 25rpx;
  98. border-radius: 30rpx;
  99. font-size: 24rpx;
  100. transition: all 0.3s;
  101. }
  102. .symptom-tag:active {
  103. background: #007AFF;
  104. color: white;
  105. }
  106. .diagnosis-action {
  107. margin-bottom: 30rpx;
  108. }
  109. .diagnosis-btn {
  110. width: 100%;
  111. background: #007AFF;
  112. color: white;
  113. border: none;
  114. border-radius: 50rpx;
  115. padding: 30rpx 0;
  116. font-size: 32rpx;
  117. font-weight: bold;
  118. box-shadow: 0 4rpx 15rpx rgba(0, 122, 255, 0.3);
  119. }
  120. .diagnosis-btn:disabled {
  121. background: #ccc;
  122. color: #999;
  123. box-shadow: none;
  124. }
  125. .result-section {
  126. background: white;
  127. border-radius: 20rpx;
  128. padding: 30rpx;
  129. margin-bottom: 30rpx;
  130. box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05);
  131. }
  132. .result-header {
  133. display: flex;
  134. justify-content: space-between;
  135. align-items: center;
  136. margin-bottom: 30rpx;
  137. padding-bottom: 20rpx;
  138. border-bottom: 1rpx solid #f0f0f0;
  139. }
  140. .result-title {
  141. font-size: 32rpx;
  142. font-weight: bold;
  143. color: #333;
  144. }
  145. .result-status {
  146. display: flex;
  147. align-items: center;
  148. }
  149. .status-text {
  150. font-size: 24rpx;
  151. color: #52c41a;
  152. margin-right: 10rpx;
  153. }
  154. .status-icon {
  155. width: 32rpx;
  156. height: 32rpx;
  157. }
  158. .diagnosis-detail {
  159. margin-bottom: 30rpx;
  160. }
  161. .detail-item {
  162. margin-bottom: 25rpx;
  163. }
  164. .item-label {
  165. font-size: 26rpx;
  166. font-weight: bold;
  167. color: #333;
  168. display: block;
  169. margin-bottom: 10rpx;
  170. }
  171. .item-value {
  172. font-size: 28rpx;
  173. color: #666;
  174. line-height: 1.6;
  175. }
  176. .diagnosis-name {
  177. color: #FF6B35;
  178. font-weight: bold;
  179. }
  180. .symptom-match {
  181. display: flex;
  182. flex-wrap: wrap;
  183. gap: 15rpx;
  184. }
  185. .match-tag {
  186. background: #e6f7ff;
  187. color: #1890ff;
  188. padding: 10rpx 20rpx;
  189. border-radius: 20rpx;
  190. font-size: 22rpx;
  191. }
  192. .suggestion {
  193. background: #f6ffed;
  194. border-left: 4rpx solid #52c41a;
  195. padding: 20rpx;
  196. border-radius: 8rpx;
  197. display: block;
  198. }
  199. .recommend-medicine {
  200. margin-bottom: 30rpx;
  201. }
  202. .medicine-list {
  203. background: #f8f8f8;
  204. border-radius: 15rpx;
  205. overflow: hidden;
  206. }
  207. .medicine-item {
  208. display: flex;
  209. align-items: center;
  210. padding: 25rpx;
  211. border-bottom: 1rpx solid #f0f0f0;
  212. transition: background 0.3s;
  213. }
  214. .medicine-item:last-child {
  215. border-bottom: none;
  216. }
  217. .medicine-item:active {
  218. background: #f0f0f0;
  219. }
  220. .medicine-icon {
  221. width: 60rpx;
  222. height: 60rpx;
  223. margin-right: 20rpx;
  224. flex-shrink: 0;
  225. }
  226. .medicine-info {
  227. flex: 1;
  228. display: flex;
  229. justify-content: space-between;
  230. align-items: center;
  231. }
  232. .medicine-name {
  233. font-size: 28rpx;
  234. color: #333;
  235. font-weight: 500;
  236. }
  237. .medicine-action {
  238. font-size: 24rpx;
  239. color: #007AFF;
  240. }
  241. .action-buttons {
  242. display: flex;
  243. gap: 20rpx;
  244. margin-top: 30rpx;
  245. }
  246. .btn {
  247. flex: 1;
  248. border-radius: 50rpx;
  249. padding: 25rpx 0;
  250. font-size: 28rpx;
  251. font-weight: bold;
  252. border: none;
  253. }
  254. .btn.secondary {
  255. background: #f0f0f0;
  256. color: #666;
  257. }
  258. .btn.primary {
  259. background: #007AFF;
  260. color: white;
  261. box-shadow: 0 4rpx 15rpx rgba(0, 122, 255, 0.3);
  262. }
  263. .history-section {
  264. background: white;
  265. border-radius: 20rpx;
  266. padding: 30rpx;
  267. margin-bottom: 30rpx;
  268. box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05);
  269. }
  270. .history-list {
  271. display: flex;
  272. flex-direction: column;
  273. }
  274. .history-item {
  275. display: flex;
  276. justify-content: space-between;
  277. align-items: center;
  278. padding: 25rpx 0;
  279. border-bottom: 1rpx solid #f0f0f0;
  280. }
  281. .history-item:last-child {
  282. border-bottom: none;
  283. }
  284. .history-content {
  285. flex: 1;
  286. display: flex;
  287. flex-direction: column;
  288. }
  289. .history-date {
  290. font-size: 22rpx;
  291. color: #999;
  292. margin-bottom: 8rpx;
  293. }
  294. .history-symptom {
  295. font-size: 26rpx;
  296. color: #333;
  297. margin-bottom: 8rpx;
  298. overflow: hidden;
  299. text-overflow: ellipsis;
  300. white-space: nowrap;
  301. }
  302. .history-diagnosis {
  303. font-size: 24rpx;
  304. color: #FF6B35;
  305. }
  306. .history-action {
  307. margin-left: 20rpx;
  308. }
  309. .view-btn {
  310. font-size: 24rpx;
  311. color: #007AFF;
  312. padding: 10rpx 20rpx;
  313. }
  314. .loading-section {
  315. position: fixed;
  316. top: 0;
  317. left: 0;
  318. right: 0;
  319. bottom: 0;
  320. background: rgba(255, 255, 255, 0.95);
  321. display: flex;
  322. align-items: center;
  323. justify-content: center;
  324. z-index: 1000;
  325. }
  326. .loading-content {
  327. display: flex;
  328. flex-direction: column;
  329. align-items: center;
  330. }
  331. .loading-icon {
  332. width: 120rpx;
  333. height: 120rpx;
  334. margin-bottom: 30rpx;
  335. }
  336. .loading-text {
  337. font-size: 32rpx;
  338. font-weight: bold;
  339. color: #333;
  340. margin-bottom: 15rpx;
  341. }
  342. .loading-desc {
  343. font-size: 24rpx;
  344. color: #999;
  345. }