From e435f2ebd11633c555a8b49fc54d3c7a4e0ff0ba Mon Sep 17 00:00:00 2001 From: hongjli <3117313295@qq.com> Date: 星期一, 16 六月 2025 16:59:43 +0800 Subject: [PATCH] 页面调整优化 --- src/app/ai-scene/chat/page.tsx | 20 --- src/components/DataPreviewDialog.tsx | 195 +++++++++++++++++++-------------------- src/app/supply-chain-chat/page.tsx | 34 +++--- 3 files changed, 113 insertions(+), 136 deletions(-) diff --git a/src/app/ai-scene/chat/page.tsx b/src/app/ai-scene/chat/page.tsx index 4d40b9a..7a7e345 100644 --- a/src/app/ai-scene/chat/page.tsx +++ b/src/app/ai-scene/chat/page.tsx @@ -252,7 +252,7 @@ 鎻愪緵鎴愭湰鐩稿叧鏁版嵁锛岃幏鍙栨垚鏈紭鍖栧缓璁拰璐㈠姟褰卞搷璇勪及銆� 绯荤粺灏嗗熀浜庡疄鏃舵暟鎹拰AI绠楁硶锛屼负鎮ㄦ彁渚涗笓涓氱殑鍒嗘瀽鎶ュ憡鍜屽喅绛栧缓璁�俙, - dataDescription: '鏈満鏅暣鍚堜簡OMS銆丒RP銆乄MS绛夊涓郴缁熺殑瀹炴椂鏁版嵁锛岄�氳繃AI绠楁硶杩涜娣卞害鍒嗘瀽銆備互涓嬩负鏂拌兘婧愯涓氱殑妯℃嫙鏁版嵁锛屽疄闄呭簲鐢ㄤ腑灏嗚嚜鍔ㄥ鎺ヤ紒涓氱幇鏈夌郴缁熴��', + dataDescription: '鏈満鏅暣鍚堜簡OMS銆乄MS绛夊涓郴缁熺殑瀹炴椂鏁版嵁锛岄�氳繃AI绠楁硶杩涜娣卞害鍒嗘瀽銆備互涓嬩负鏂拌兘婧愯涓氱殑妯℃嫙鏁版嵁锛屽疄闄呭簲鐢ㄤ腑灏嗚嚜鍔ㄥ鎺ヤ紒涓氱幇鏈夌郴缁熴��', exampleData: ` ### 璁㈠崟闇�姹傛暟鎹� (OMS绯荤粺) @@ -262,15 +262,6 @@ | SO20250201002 | NEV-Motor-B | 200 | 钄氭潵姹借溅 | 2025-02-20 | 涓� | 1,800,000 | | SO20250201003 | NEV-Controller-C | 300 | 鐞嗘兂姹借溅 | 2025-02-25 | 楂� | 3,200,000 | | SO20250201004 | NEV-Charger-D | 150 | 灏忛箯姹借溅 | 2025-03-01 | 涓� | 1,200,000 | - -### 鐢熶骇宸ュ崟鏁版嵁 (ERP绯荤粺) - -| 宸ュ崟鍙� | 浜у搧鍨嬪彿 | 璁″垝鏁伴噺 | 宸插畬鎴愭暟閲� | 鐢熶骇鐘舵�� | 棰勮瀹屾垚鏃堕棿 | 鐢熶骇绾� | -| :--: | :--: | :--: | :--: | :--: | :--: | :--: | -| WO20250201001 | NEV-Battery-A | 600 | 350 | 杩涜涓� | 2025-02-12 | 浜х嚎1 | -| WO20250201002 | NEV-Motor-B | 250 | 180 | 杩涜涓� | 2025-02-18 | 浜х嚎2 | -| WO20250201003 | NEV-Controller-C | 200 | 50 | 璁″垝涓� | 2025-02-22 | 浜х嚎3 | -| WO20250201004 | NEV-Charger-D | 100 | 0 | 寰呮帓浜� | 2025-02-28 | 浜х嚎4 | ### 搴撳瓨鏁版嵁 (WMS绯荤粺) @@ -289,15 +280,6 @@ | 姹囧窛鎶�鏈� | 鐢垫満瀹氬瓙 | 88% | 98.2% | 涓� | 涓� | | 鍦板钩绾� | 鎺у埗鑺墖 | 92% | 99.8% | 涓� | 浣� | | 鐗规潵鐢� | 鍏呯數妯″潡 | 85% | 97.5% | 楂� | 涓� | - -### 浜ц兘鏁版嵁 - -| 鐢熶骇绾� | 鏃ヤ骇鑳� | 褰撳墠鍒╃敤鐜� | 鐡堕宸ュ簭 | 鍙皟閰嶄骇鑳� | 缁存姢璁″垝 | -| :--: | :--: | :--: | :--: | :--: | :--: | -| 浜х嚎1 | 50鍙� | 85% | 缁勮 | 10鍙� | 2025-02-20 | -| 浜х嚎2 | 30鍙� | 75% | 娴嬭瘯 | 8鍙� | 2025-02-25 | -| 浜х嚎3 | 40鍙� | 60% | 鐒婃帴 | 15鍙� | 2025-03-01 | -| 浜х嚎4 | 25鍙� | 45% | 鍖呰 | 12鍙� | 2025-03-05 | ` }, ]; diff --git a/src/app/supply-chain-chat/page.tsx b/src/app/supply-chain-chat/page.tsx index 5ae49f4..c9ee867 100644 --- a/src/app/supply-chain-chat/page.tsx +++ b/src/app/supply-chain-chat/page.tsx @@ -83,7 +83,7 @@ 鎻愪緵鎴愭湰鐩稿叧鏁版嵁锛岃幏鍙栨垚鏈紭鍖栧缓璁拰璐㈠姟褰卞搷璇勪及銆� 绯荤粺灏嗗熀浜庡疄鏃舵暟鎹拰AI绠楁硶锛屼负鎮ㄦ彁渚涗笓涓氱殑鍒嗘瀽鎶ュ憡鍜屽喅绛栧缓璁�俙, - dataDescription: '鏈満鏅暣鍚堜簡OMS銆丒RP銆乄MS绛夊涓郴缁熺殑瀹炴椂鏁版嵁锛岄�氳繃AI绠楁硶杩涜娣卞害鍒嗘瀽銆備互涓嬩负鏂拌兘婧愯涓氱殑妯℃嫙鏁版嵁锛屽疄闄呭簲鐢ㄤ腑灏嗚嚜鍔ㄥ鎺ヤ紒涓氱幇鏈夌郴缁熴��', + dataDescription: '鏈満鏅暣鍚堜簡OMS銆乄MS绛夊涓郴缁熺殑瀹炴椂鏁版嵁锛岄�氳繃AI绠楁硶杩涜娣卞害鍒嗘瀽銆備互涓嬩负鏂拌兘婧愯涓氱殑妯℃嫙鏁版嵁锛屽疄闄呭簲鐢ㄤ腑灏嗚嚜鍔ㄥ鎺ヤ紒涓氱幇鏈夌郴缁熴��', exampleData: ` ### 璁㈠崟闇�姹傛暟鎹� (OMS绯荤粺) @@ -93,15 +93,6 @@ | SO20250201002 | NEV-Motor-B | 200 | 钄氭潵姹借溅 | 2025-02-20 | 涓� | 1,800,000 | | SO20250201003 | NEV-Controller-C | 300 | 鐞嗘兂姹借溅 | 2025-02-25 | 楂� | 3,200,000 | | SO20250201004 | NEV-Charger-D | 150 | 灏忛箯姹借溅 | 2025-03-01 | 涓� | 1,200,000 | - -### 鐢熶骇宸ュ崟鏁版嵁 (ERP绯荤粺) - -| 宸ュ崟鍙� | 浜у搧鍨嬪彿 | 璁″垝鏁伴噺 | 宸插畬鎴愭暟閲� | 鐢熶骇鐘舵�� | 棰勮瀹屾垚鏃堕棿 | 鐢熶骇绾� | -| :--: | :--: | :--: | :--: | :--: | :--: | :--: | -| WO20250201001 | NEV-Battery-A | 600 | 350 | 杩涜涓� | 2025-02-12 | 浜х嚎1 | -| WO20250201002 | NEV-Motor-B | 250 | 180 | 杩涜涓� | 2025-02-18 | 浜х嚎2 | -| WO20250201003 | NEV-Controller-C | 200 | 50 | 璁″垝涓� | 2025-02-22 | 浜х嚎3 | -| WO20250201004 | NEV-Charger-D | 100 | 0 | 寰呮帓浜� | 2025-02-28 | 浜х嚎4 | ### 搴撳瓨鏁版嵁 (WMS绯荤粺) @@ -121,14 +112,23 @@ | 鍦板钩绾� | 鎺у埗鑺墖 | 92% | 99.8% | 涓� | 浣� | | 鐗规潵鐢� | 鍏呯數妯″潡 | 85% | 97.5% | 楂� | 涓� | -### 浜ц兘鏁版嵁 +### 鐢熶骇璁″垝鏁版嵁 -| 鐢熶骇绾� | 鏃ヤ骇鑳� | 褰撳墠鍒╃敤鐜� | 鐡堕宸ュ簭 | 鍙皟閰嶄骇鑳� | 缁存姢璁″垝 | +| 璁″垝鍗旾D | 璁″垝鍗曞彿 | 鏂欏彿 | 璁″垝鏁伴噺 | 璁″垝寮�濮嬫棩鏈� | 璁″垝缁撴潫鏃ユ湡 | | :--: | :--: | :--: | :--: | :--: | :--: | -| 浜х嚎1 | 50鍙� | 85% | 缁勮 | 10鍙� | 2025-02-20 | -| 浜х嚎2 | 30鍙� | 75% | 娴嬭瘯 | 8鍙� | 2025-02-25 | -| 浜х嚎3 | 40鍙� | 60% | 鐒婃帴 | 15鍙� | 2025-03-01 | -| 浜х嚎4 | 25鍙� | 45% | 鍖呰 | 12鍙� | 2025-03-05 | +| PP001 | PLAN20250201001 | TX-001 | 1000.00 | 2025-02-01 | 2025-02-15 | +| PP002 | PLAN20250201002 | TX-002 | 500.00 | 2025-02-05 | 2025-02-20 | +| PP003 | PLAN20250201003 | TX-003 | 750.00 | 2025-02-10 | 2025-02-25 | +| PP004 | PLAN20250201004 | TX-004 | 300.00 | 2025-02-15 | 2025-03-01 | + +### 鐗╂枡涓绘暟鎹� + +| 宸ュ巶浠g爜 | 鏂欏彿 | 鐗╂枡鎻忚堪 | 鐗╂枡鐘舵�� | 鐗╂枡妯″瀷 | 涓撲笟褰掑睘鍥惧彿 | 鐗堟湰 | 榛樿鐢熶骇杞﹂棿 | 鏄惁鍏抽敭鐗╂枡 | 鏄惁鑷埗 | 闆嗘垚鏃ユ湡 | 鐢熸晥鏃ユ湡 | 澶辨晥鏃ユ湡 | +| :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | +| PLANT001 | TX-001 | 鍙橀�熺澹充綋 | Active | 鏍囧噯浠� | 鏈烘 | v1.0 | 杞﹂棿A | 1 | 1 | 2025-01-01 00:00:00 | 2025-01-01 | 2025-12-31 | +| PLANT001 | TX-002 | 鐢垫満瀹氬瓙 | Active | 瀹氬埗浠� | 鐢垫皵 | v2.0 | 杞﹂棿B | 1 | 0 | 2025-01-02 00:00:00 | 2025-01-02 | 2025-12-31 | +| PLANT002 | TX-003 | 鎺у埗鑺墖 | Active | 鏍囧噯浠� | 鐢靛瓙 | v1.5 | 杞﹂棿C | 0 | 0 | 2025-01-03 00:00:00 | 2025-01-03 | 2025-12-31 | +| PLANT002 | TX-004 | 鍏呯數妯″潡 | Active | 瀹氬埗浠� | 鐢垫皵 | v2.5 | 杞﹂棿D | 1 | 1 | 2025-01-04 00:00:00 | 2025-01-04 | 2025-12-31 | ` }; @@ -1156,7 +1156,7 @@ <div className="flex flex-col items-center justify-center h-[400px] text-center"> <div className="w-16 h-16 bg-blue-100 rounded-full flex items-center justify-center mb-4"> <svg xmlns="http://www.w3.org/2000/svg" className="h-8 w-8 text-blue-600" fill="none" viewBox="0 0 24 24" stroke="currentColor"> - <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2-2V7a2 2 0 012-2h2a2 2 0 002-2V3a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 002 2h2a2 2 0 012 2v2a2 2 0 00-2 2h-2a2 2 0 00-2 2v6a2 2 0 01-2 2h-2a2 2 0 01-2-2z" /> + <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2-2V7a2 2 0 012-2h2a2 2 0 002-2h2a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 002 2h2a2 2 0 012 2v2a2 2 0 00-2 2h-2a2 2 0 00-2 2v6a2 2 0 01-2 2h-2a2 2 0 01-2-2z" /> </svg> </div> <h3 className="text-lg font-medium text-gray-900 mb-2">渚涘簲閾惧叏鏅礊瀵�</h3> diff --git a/src/components/DataPreviewDialog.tsx b/src/components/DataPreviewDialog.tsx index 6ba4d1e..a1145df 100644 --- a/src/components/DataPreviewDialog.tsx +++ b/src/components/DataPreviewDialog.tsx @@ -62,7 +62,7 @@ <div className="flex items-center gap-3 mb-3"> <div className="h-8 w-8 rounded-lg bg-gradient-to-br from-blue-500 to-blue-600 flex items-center justify-center"> <svg xmlns="http://www.w3.org/2000/svg" className="h-5 w-5 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor"> - <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10" /> + <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2M7 7h10" /> </svg> </div> <h4 className="text-lg font-semibold text-blue-900">宸ヤ綅淇℃伅</h4> @@ -79,10 +79,10 @@ <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2" /> </svg> </div> - <h4 className="text-lg font-semibold text-blue-900">浜х嚎鐜板満搴撳瓨閲�</h4> + <h4 className="text-lg font-semibold text-blue-900">鐢熶骇璁″垝鏁版嵁 (production_plan)</h4> </div> <div className="ml-11"> - <p className="text-blue-800">鏍稿績鏉ユ簮绯荤粺锛歁ES銆乄MS锛堢嚎杈逛粨锛�</p> + <p className="text-blue-800">鏍稿績鏉ユ簮绯荤粺锛歋AP锛堜紒涓氱鐞嗙郴缁燂級</p> </div> </div> @@ -99,24 +99,6 @@ <p className="text-blue-800">鏍稿績鏉ユ簮绯荤粺锛欵RP銆乄MS</p> </div> </div> - </div> - ); - } else if (sceneType === 'panorama') { - return ( - <div className="space-y-6"> - <div className="bg-white/50 rounded-lg p-4 backdrop-blur-sm border border-blue-100/50"> - <div className="flex items-center gap-3 mb-3"> - <div className="h-8 w-8 rounded-lg bg-gradient-to-br from-blue-500 to-blue-600 flex items-center justify-center"> - <svg xmlns="http://www.w3.org/2000/svg" className="h-5 w-5 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor"> - <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10" /> - </svg> - </div> - <h4 className="text-lg font-semibold text-blue-900">璁㈠崟闇�姹傛暟鎹�</h4> - </div> - <div className="ml-11"> - <p className="text-blue-800">鏍稿績鏉ユ簮绯荤粺锛歄MS锛堣鍗曠鐞嗙郴缁燂級</p> - </div> - </div> <div className="bg-white/50 rounded-lg p-4 backdrop-blur-sm border border-blue-100/50"> <div className="flex items-center gap-3 mb-3"> @@ -125,52 +107,106 @@ <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M4 7v10c0 2 1 3 3 3h10c2 0 3-1 3-3V7c0-2-1-3-3-3H7C5 4 4 5 4 7z" /> </svg> </div> - <h4 className="text-lg font-semibold text-blue-900">鐢熶骇宸ュ崟鏁版嵁</h4> + <h4 className="text-lg font-semibold text-blue-900">鐗╂枡涓绘暟鎹�</h4> </div> <div className="ml-11"> - <p className="text-blue-800">鏍稿績鏉ユ簮绯荤粺锛欵RP锛堜紒涓氳祫婧愯鍒掞級</p> + <p className="text-blue-800">鏍稿績鏉ユ簮绯荤粺锛歋AP锛堜紒涓氱鐞嗙郴缁燂級</p> </div> </div> - - <div className="bg-white/50 rounded-lg p-4 backdrop-blur-sm border border-blue-100/50"> - <div className="flex items-center gap-3 mb-3"> - <div className="h-8 w-8 rounded-lg bg-gradient-to-br from-blue-500 to-blue-600 flex items-center justify-center"> - <svg xmlns="http://www.w3.org/2000/svg" className="h-5 w-5 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor"> - <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4" /> - </svg> + </div> + ); + } else if (sceneType === 'panorama') { + return ( + <div className="flex flex-col h-full"> + {/* 鍗$墖璇存槑鍖哄潡锛岄《閮ㄥ浐瀹� */} + <div className="space-y-4 flex-shrink-0"> + {/* 璁㈠崟闇�姹傛暟鎹� */} + <div className="bg-white/50 rounded-lg p-4 backdrop-blur-sm border border-blue-100/50"> + <div className="flex items-center gap-3 mb-2"> + <div className="h-8 w-8 rounded-lg bg-gradient-to-br from-blue-500 to-blue-600 flex items-center justify-center"> + <svg xmlns="http://www.w3.org/2000/svg" className="h-5 w-5 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor"> + <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10" /> + </svg> + </div> + <h4 className="text-lg font-semibold text-blue-900">璁㈠崟闇�姹傛暟鎹�</h4> </div> - <h4 className="text-lg font-semibold text-blue-900">搴撳瓨鏁版嵁</h4> + <div className="ml-11"> + <p className="text-blue-800">鏍稿績鏉ユ簮绯荤粺锛歄MS锛堣鍗曠鐞嗙郴缁燂級</p> + </div> </div> - <div className="ml-11"> - <p className="text-blue-800">鏍稿績鏉ユ簮绯荤粺锛歐MS锛堜粨鍌ㄧ鐞嗙郴缁燂級</p> + {/* 搴撳瓨鏁版嵁 */} + <div className="bg-white/50 rounded-lg p-4 backdrop-blur-sm border border-blue-100/50"> + <div className="flex items-center gap-3 mb-2"> + <div className="h-8 w-8 rounded-lg bg-gradient-to-br from-blue-500 to-blue-600 flex items-center justify-center"> + <svg xmlns="http://www.w3.org/2000/svg" className="h-5 w-5 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor"> + <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M4 7v10c0 2 1 3 3 3h10c2 0 3-1 3-3V7c0-2-1-3-3-3H7C5 4 4 5 4 7z" /> + </svg> + </div> + <h4 className="text-lg font-semibold text-blue-900">搴撳瓨鏁版嵁</h4> + </div> + <div className="ml-11"> + <p className="text-blue-800">鏍稿績鏉ユ簮绯荤粺锛歐MS锛堜粨鍌ㄧ鐞嗙郴缁燂級</p> + </div> + </div> + {/* 鐢熶骇璁″垝鏁版嵁 */} + <div className="bg-white/50 rounded-lg p-4 backdrop-blur-sm border border-blue-100/50"> + <div className="flex items-center gap-3 mb-2"> + <div className="h-8 w-8 rounded-lg bg-gradient-to-br from-blue-500 to-blue-600 flex items-center justify-center"> + <svg xmlns="http://www.w3.org/2000/svg" className="h-5 w-5 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor"> + <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2" /> + </svg> + </div> + <h4 className="text-lg font-semibold text-blue-900">鐢熶骇璁″垝鏁版嵁</h4> + </div> + <div className="ml-11"> + <p className="text-blue-800">鏍稿績鏉ユ簮绯荤粺锛歋AP锛堜紒涓氱鐞嗙郴缁燂級</p> + </div> + </div> + {/* 鐗╂枡涓绘暟鎹� */} + <div className="bg-white/50 rounded-lg p-4 backdrop-blur-sm border border-blue-100/50"> + <div className="flex items-center gap-3 mb-2"> + <div className="h-8 w-8 rounded-lg bg-gradient-to-br from-blue-500 to-blue-600 flex items-center justify-center"> + <svg xmlns="http://www.w3.org/2000/svg" className="h-5 w-5 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor"> + <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M4 7v10c0 2 1 3 3 3h10c2 0 3-1 3-3V7c0-2-1-3-3-3H7C5 4 4 5 4 7z" /> + </svg> + </div> + <h4 className="text-lg font-semibold text-blue-900">鐗╂枡涓绘暟鎹�</h4> + </div> + <div className="ml-11"> + <p className="text-blue-800">鏍稿績鏉ユ簮绯荤粺锛歋AP锛堜紒涓氱鐞嗙郴缁燂級</p> + </div> + </div> + {/* 渚涘簲鍟嗙哗鏁堟暟鎹� */} + <div className="bg-white/50 rounded-lg p-4 backdrop-blur-sm border border-blue-100/50"> + <div className="flex items-center gap-3 mb-2"> + <div className="h-8 w-8 rounded-lg bg-gradient-to-br from-blue-500 to-blue-600 flex items-center justify-center"> + <svg xmlns="http://www.w3.org/2000/svg" className="h-5 w-5 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor"> + <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z" /> + </svg> + </div> + <h4 className="text-lg font-semibold text-blue-900">渚涘簲鍟嗙哗鏁堟暟鎹�</h4> + </div> + <div className="ml-11"> + <p className="text-blue-800">鏍稿績鏉ユ簮绯荤粺锛歋RM锛堜緵搴斿晢鍏崇郴绠$悊锛夈�佽川閲忕鐞嗙郴缁�</p> + </div> </div> </div> - - <div className="bg-white/50 rounded-lg p-4 backdrop-blur-sm border border-blue-100/50"> - <div className="flex items-center gap-3 mb-3"> - <div className="h-8 w-8 rounded-lg bg-gradient-to-br from-blue-500 to-blue-600 flex items-center justify-center"> - <svg xmlns="http://www.w3.org/2000/svg" className="h-5 w-5 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor"> - <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z" /> - </svg> - </div> - <h4 className="text-lg font-semibold text-blue-900">渚涘簲鍟嗙哗鏁堟暟鎹�</h4> - </div> - <div className="ml-11"> - <p className="text-blue-800">鏍稿績鏉ユ簮绯荤粺锛歋RM锛堜緵搴斿晢鍏崇郴绠$悊锛夈�佽川閲忕鐞嗙郴缁�</p> - </div> - </div> - - <div className="bg-white/50 rounded-lg p-4 backdrop-blur-sm border border-blue-100/50"> - <div className="flex items-center gap-3 mb-3"> - <div className="h-8 w-8 rounded-lg bg-gradient-to-br from-blue-500 to-blue-600 flex items-center justify-center"> - <svg xmlns="http://www.w3.org/2000/svg" className="h-5 w-5 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor"> - <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M13 10V3L4 14h7v7l9-11h-7z" /> - </svg> - </div> - <h4 className="text-lg font-semibold text-blue-900">浜ц兘鏁版嵁</h4> - </div> - <div className="ml-11"> - <p className="text-blue-800">鏍稿績鏉ユ簮绯荤粺锛歁ES锛堝埗閫犳墽琛岀郴缁燂級銆佽澶囩洃鎺х郴缁�</p> + {/* 鏁版嵁鍖哄潡锛岀嫭绔嬫粴鍔紝鏄剧ず鍦ㄤ笅鏂� */} + <div className="flex-1 min-h-0 mt-4 overflow-y-auto px-1"> + <div className="bg-white/90 rounded-lg p-6 shadow border border-gray-100"> + <ReactMarkdown + remarkPlugins={[remarkGfm]} + components={{ + h3: ({node, ...props}) => <h3 className="text-lg font-bold text-gray-800 mt-6 mb-3" {...props} />, + table: ({node, ...props}) => <div className="overflow-x-auto my-4"><table className="min-w-full text-gray-800 text-base" {...props} /></div>, + thead: ({node, ...props}) => <thead className="bg-gray-50" {...props} />, + th: ({node, ...props}) => <th className="px-4 py-3 text-base font-semibold text-gray-800 border-b border-gray-200 text-center whitespace-nowrap" {...props} />, + td: ({node, ...props}) => <td className="px-4 py-3 text-base text-gray-800 border-t border-gray-100 text-center" {...props} />, + tr: ({node, ...props}) => <tr className="hover:bg-gray-50" {...props} /> + }} + > + {markdownContent} + </ReactMarkdown> </div> </div> </div> @@ -250,47 +286,6 @@ </p> </div> </div> - <ReactMarkdown - remarkPlugins={[remarkGfm]} - components={{ - h3: ({ node, ...props }) => ( - <h3 className="text-lg font-semibold text-gray-800 mt-8 mb-4 pb-2 border-b border-gray-200" {...props} /> - ), - table: ({ node, ...props }) => ( - <div className="overflow-x-auto my-6 rounded-lg border border-gray-200 shadow-sm"> - <table className="min-w-full divide-y divide-gray-200" {...props} /> - </div> - ), - thead: ({ node, ...props }) => ( - <thead className="bg-gray-50" {...props} /> - ), - th: ({ node, children, ...props }) => { - // 鏍规嵁琛ㄥご鍐呭鍔ㄦ�佽皟鏁村搴� - let className = "px-4 py-3 text-center text-sm font-semibold text-gray-700"; - - if (typeof children === 'string') { - // 鏍规嵁琛ㄥご鍐呭璁剧疆鍚堥�傜殑瀹藉害绫� - if (children === '宸ヤ綅' || children === '鏁伴噺' || children === '搴撲綅') { - className += " w-[15%]"; - } else if (children === '鍘熸潗鏂�' || children === '鍘熸潗鏂欓渶姹�' || children === '浜х嚎鍚�') { - className += " w-[20%]"; - } else if (children === '鍘熸潗鏂欐秷鑰楅�熺巼' || children === '鐢熶骇鐨勪骇鍝�') { - className += " w-[25%]"; - } - } - - return <th className={className} {...props}>{children}</th>; - }, - td: ({ node, ...props }) => ( - <td className="px-4 py-3 text-sm text-gray-600 border-t border-gray-200 text-center whitespace-nowrap" {...props} /> - ), - tr: ({ node, ...props }) => ( - <tr className="hover:bg-gray-50 transition-colors duration-150" {...props} /> - ) - }} - > - {markdownContent} - </ReactMarkdown> </div> </div> </Dialog.Panel> -- Gitblit v1.9.3